pax_global_header00006660000000000000000000000064134000534360014510gustar00rootroot0000000000000052 comment=028e1e7780292168c59d0010e6362d27cf68b46e plantuml-1.2018.13+ds/000077500000000000000000000000001340005343600142635ustar00rootroot00000000000000plantuml-1.2018.13+ds/.travis.yml000066400000000000000000000000161340005343600163710ustar00rootroot00000000000000language: javaplantuml-1.2018.13+ds/README.md000066400000000000000000000026031340005343600155430ustar00rootroot00000000000000PlantUML ======== [![Build Status](https://travis-ci.org/plantuml/plantuml.png?branch=master)](https://travis-ci.org/plantuml/plantuml) Generate UML diagram from textual description PlantUML is a component that allows to quickly write : * [Sequence diagram](http://plantuml.com/sequence-diagram), * [Use case diagram](http://plantuml.com/use-case-diagram), * [Class diagram](http://plantuml.com/class-diagram), * [Activity diagram](http://plantuml.com/activity-diagram-beta), * [Component diagram](http://plantuml.com/component-diagram), * [State diagram](http://plantuml.com/state-diagram), * [Object diagram](http://plantuml.com/object-diagram), * [Deployment diagram](http://plantuml.com/deployment-diagram), * [Timing diagram](http://plantuml.com/timing-diagram) And also: * [Activity diagram (legacy syntax)](http://plantuml.com/activity-diagram-legacy) * [Archimate diagram](http://plantuml.com/archimate) * [Gantt charts](http://plantuml.com/gantt-diagram) * [SALT UI mockups](http://plantuml.com/salt) Furthermore: * [Hyperlinks and tooltips](http://plantuml.com/link) * [Creole](http://plantuml.com/creole): rich text, emoticons, unicode, icons * [OpenIconic icons](http://plantuml.com/openiconic) * [Sprite icons](http://plantuml.com/sprite) * [AsciiMath mathematical expressions](http://plantuml.com/ascii-math) To know more about PlantUML, please visit http://plantuml.com/ plantuml-1.2018.13+ds/build.xml000066400000000000000000000051561340005343600161130ustar00rootroot00000000000000 PlantUML Build File plantuml-1.2018.13+ds/license.txt000066400000000000000000000041561340005343600164540ustar00rootroot00000000000000======================================================================= PlantUML : a free UML diagram generator ======================================================================== (C) Copyright 2009-2017, Arnaud Roques Project Info: http://plantuml.com If you like this project or if you find it useful, you can support us at: http://plantuml.com/patreon (only 1$ per month!) http://plantuml.com/paypal PlantUML is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. PlantUML distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. PlantUML can occasionally display sponsored or advertising messages. Those messages are usually generated on welcome or error images and never on functional diagrams. Images (whatever their format : PNG, SVG, EPS...) generated by running PlantUML are owned by the author of their corresponding sources code (that is, their textual description in PlantUML language). Those images are not covered by the GPL license. The generated images can then be used without any reference to the GPL license. It is not even necessary to stipulate that they have been generated with PlantUML, also this will be appreciate by PlantUML team. There is an exception : if the textual description in PlantUML language is also covered by a license (like the GPL), then the generated images are logically covered by the very same license. Icons provided by OpenIconic : https://useiconic.com/open Archimate sprites provided by Archi : http://www.archimatetool.com ASCIIMathML (c) Peter Jipsen http://www.chapman.edu/~jipsen ASCIIMathML (c) David Lippman http://www.pierce.ctc.edu/dlippman plantuml-1.2018.13+ds/pom.xml000066400000000000000000000144331340005343600156050ustar00rootroot00000000000000 4.0.0 net.sourceforge.plantuml plantuml 1.2018.13-SNAPSHOT jar PlantUML PlantUML is a component that allows to quickly write : * sequence diagram, * use case diagram, * class diagram, * activity diagram, * component diagram, * state diagram * object diagram http://plantuml.sourceforge.net org.sonatype.oss oss-parent 5 org.apache.ant ant 1.8.1 provided The GNU General Public License http://www.gnu.org/licenses/gpl.txt repo scm:svn:svn://svn.code.sf.net/p/plantuml/code/trunk scm:svn:https://svn.code.sf.net/p/plantuml/code/trunk svn://svn.code.sf.net/p/plantuml/code/trunk Sourceforge http://sourceforge.net/tracker/?group_id=259736 arnaud.roques Arnaud Roques plantuml@gmail.com doclint-java8-disable [1.8,) -Xdoclint:none ${project.basedir}/src ${project.basedir}/src net/sourceforge/plantuml/version/*.png net/sourceforge/plantuml/openiconic/data/*.txt net/sourceforge/plantuml/openiconic/data/*.svg net/sourceforge/plantuml/fun/*.png sprites/archimate/*.png net/sourceforge/plantuml/dedication/*.png net/sourceforge/plantuml/math/*.js ${project.basedir} stdlib/**/*.repx maven-compiler-plugin 3.7.0 1.7 1.7 false maven-source-plugin attach-sources jar maven-javadoc-plugin attach-javadocs jar ${javadoc.opts} maven-jar-plugin net.sourceforge.plantuml.Run maven-release-plugin 2.1 forked-path plantuml-1.2018.13+ds/src/000077500000000000000000000000001340005343600150525ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/doc-files/000077500000000000000000000000001340005343600167175ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/doc-files/umls.html000066400000000000000000000022631340005343600205700ustar00rootroot00000000000000 @startuml img1.png title foo2 component PlantUML @enduml plantuml-1.2018.13+ds/src/ext/000077500000000000000000000000001340005343600156525ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/ext/plantuml/000077500000000000000000000000001340005343600175065ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/ext/plantuml/com/000077500000000000000000000000001340005343600202645ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/ext/plantuml/com/google/000077500000000000000000000000001340005343600215405ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/000077500000000000000000000000001340005343600226775ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/BarcodeFormat.java000066400000000000000000000060121340005343600262510ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing; import java.util.Hashtable; /** * Enumerates barcode formats known to this package. * * @author Sean Owen */ public final class BarcodeFormat { // No, we can't use an enum here. J2ME doesn't support it. private static final Hashtable VALUES = new Hashtable(); /** QR Code 2D barcode format. */ public static final BarcodeFormat QR_CODE = new BarcodeFormat("QR_CODE"); /** Data Matrix 2D barcode format. */ public static final BarcodeFormat DATA_MATRIX = new BarcodeFormat("DATA_MATRIX"); /** UPC-E 1D format. */ public static final BarcodeFormat UPC_E = new BarcodeFormat("UPC_E"); /** UPC-A 1D format. */ public static final BarcodeFormat UPC_A = new BarcodeFormat("UPC_A"); /** EAN-8 1D format. */ public static final BarcodeFormat EAN_8 = new BarcodeFormat("EAN_8"); /** EAN-13 1D format. */ public static final BarcodeFormat EAN_13 = new BarcodeFormat("EAN_13"); /** UPC/EAN extension format. Not a stand-alone format. */ public static final BarcodeFormat UPC_EAN_EXTENSION = new BarcodeFormat("UPC_EAN_EXTENSION"); /** Code 128 1D format. */ public static final BarcodeFormat CODE_128 = new BarcodeFormat("CODE_128"); /** Code 39 1D format. */ public static final BarcodeFormat CODE_39 = new BarcodeFormat("CODE_39"); /** Code 93 1D format. */ public static final BarcodeFormat CODE_93 = new BarcodeFormat("CODE_93"); /** CODABAR 1D format. */ public static final BarcodeFormat CODABAR = new BarcodeFormat("CODABAR"); /** ITF (Interleaved Two of Five) 1D format. */ public static final BarcodeFormat ITF = new BarcodeFormat("ITF"); /** RSS 14 */ public static final BarcodeFormat RSS14 = new BarcodeFormat("RSS14"); /** PDF417 format. */ public static final BarcodeFormat PDF417 = new BarcodeFormat("PDF417"); /** RSS EXPANDED */ public static final BarcodeFormat RSS_EXPANDED = new BarcodeFormat("RSS_EXPANDED"); private final String name; private BarcodeFormat(String name) { this.name = name; VALUES.put(name, this); } public String getName() { return name; } public String toString() { return name; } public static BarcodeFormat valueOf(String name) { if (name == null || name.length() == 0) { throw new IllegalArgumentException(); } BarcodeFormat format = (BarcodeFormat) VALUES.get(name); if (format == null) { throw new IllegalArgumentException(); } return format; } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/ChecksumException.java000066400000000000000000000020661340005343600271670ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing; /** * Thrown when a barcode was successfully detected and decoded, but * was not returned because its checksum feature failed. * * @author Sean Owen */ public final class ChecksumException extends ReaderException { private static final ChecksumException instance = new ChecksumException(); private ChecksumException() { // do nothing } public static ChecksumException getChecksumInstance() { return instance; } }plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/DecodeHintType.java000066400000000000000000000052671340005343600264240ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing; import java.io.Reader; /** * Encapsulates a type of hint that a caller may pass to a barcode reader to help it * more quickly or accurately decode it. It is up to implementations to decide what, * if anything, to do with the information that is supplied. * * @author Sean Owen * @author dswitkin@google.com (Daniel Switkin) * @see Reader#decode(BinaryBitmap,java.util.Hashtable) */ public final class DecodeHintType { // No, we can't use an enum here. J2ME doesn't support it. /** * Unspecified, application-specific hint. Maps to an unspecified {@link Object}. */ public static final DecodeHintType OTHER = new DecodeHintType(); /** * Image is a pure monochrome image of a barcode. Doesn't matter what it maps to; * use {@link Boolean#TRUE}. */ public static final DecodeHintType PURE_BARCODE = new DecodeHintType(); /** * Image is known to be of one of a few possible formats. * Maps to a {@link java.util.Vector} of {@link BarcodeFormat}s. */ public static final DecodeHintType POSSIBLE_FORMATS = new DecodeHintType(); /** * Spend more time to try to find a barcode; optimize for accuracy, not speed. * Doesn't matter what it maps to; use {@link Boolean#TRUE}. */ public static final DecodeHintType TRY_HARDER = new DecodeHintType(); /** * Specifies what character encoding to use when decoding, where applicable (type String) */ public static final DecodeHintType CHARACTER_SET = new DecodeHintType(); /** * Allowed lengths of encoded data -- reject anything else. Maps to an int[]. */ public static final DecodeHintType ALLOWED_LENGTHS = new DecodeHintType(); /** * Assume Code 39 codes employ a check digit. Maps to {@link Boolean}. */ public static final DecodeHintType ASSUME_CODE_39_CHECK_DIGIT = new DecodeHintType(); /** * The caller needs to be notified via callback when a possible {@link ResultPoint} * is found. Maps to a {@link ResultPointCallback}. */ public static final DecodeHintType NEED_RESULT_POINT_CALLBACK = new DecodeHintType(); private DecodeHintType() { } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/EncodeHintType.java000066400000000000000000000022661340005343600264320ustar00rootroot00000000000000/* * Copyright 2008 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing; /** * These are a set of hints that you may pass to Writers to specify their behavior. * * @author dswitkin@google.com (Daniel Switkin) */ public final class EncodeHintType { /** * Specifies what degree of error correction to use, for example in QR Codes (type Integer). */ public static final EncodeHintType ERROR_CORRECTION = new EncodeHintType(); /** * Specifies what character encoding to use where applicable (type String) */ public static final EncodeHintType CHARACTER_SET = new EncodeHintType(); private EncodeHintType() { } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/FormatException.java000066400000000000000000000021421340005343600266500ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing; /** * Thrown when a barcode was successfully detected, but some aspect of * the content did not conform to the barcode's format rules. This could have * been due to a mis-detection. * * @author Sean Owen */ public final class FormatException extends ReaderException { private static final FormatException instance = new FormatException(); private FormatException() { // do nothing } public static FormatException getFormatInstance() { return instance; } }plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/NotFoundException.java000066400000000000000000000020631340005343600271560ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing; /** * Thrown when a barcode was not found in the image. It might have been * partially detected but could not be confirmed. * * @author Sean Owen */ public final class NotFoundException extends ReaderException { private static final NotFoundException instance = new NotFoundException(); private NotFoundException() { // do nothing } public static NotFoundException getNotFoundInstance() { return instance; } }plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/ReaderException.java000066400000000000000000000072621340005343600266320ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing; /** * The general exception class throw when something goes wrong during decoding of a barcode. * This includes, but is not limited to, failing checksums / error correction algorithms, being * unable to locate finder timing patterns, and so on. * * @author Sean Owen */ public abstract class ReaderException extends Exception { // TODO: Currently we throw up to 400 ReaderExceptions while scanning a single 240x240 image before // rejecting it. This involves a lot of overhead and memory allocation, and affects both performance // and latency on continuous scan clients. In the future, we should change all the decoders not to // throw exceptions for routine events, like not finding a barcode on a given row. Instead, we // should return error codes back to the callers, and simply delete this class. In the mean time, I // have altered this class to be as lightweight as possible, by ignoring the exception string, and // by disabling the generation of stack traces, which is especially time consuming. These are just // temporary measures, pending the big cleanup. //private static final ReaderException instance = new ReaderException(); // EXCEPTION TRACKING SUPPORT // Identifies who is throwing exceptions and how often. To use: // // 1. Uncomment these lines and the code below which uses them. // 2. Uncomment the two corresponding lines in j2se/CommandLineRunner.decode() // 3. Change core to build as Java 1.5 temporarily // private static int exceptionCount = 0; // private static Map throwers = new HashMap(32); ReaderException() { // do nothing } //public static ReaderException getInstance() { // Exception e = new Exception(); // // Take the stack frame before this one. // StackTraceElement stack = e.getStackTrace()[1]; // String key = stack.getClassName() + "." + stack.getMethodName() + "(), line " + // stack.getLineNumber(); // if (throwers.containsKey(key)) { // Integer value = throwers.get(key); // value++; // throwers.put(key, value); // } else { // throwers.put(key, 1); // } // exceptionCount++; //return instance; //} // public static int getExceptionCountAndReset() { // int temp = exceptionCount; // exceptionCount = 0; // return temp; // } // // public static String getThrowersAndReset() { // StringBuilder builder = new StringBuilder(1024); // Object[] keys = throwers.keySet().toArray(); // for (int x = 0; x < keys.length; x++) { // String key = (String) keys[x]; // Integer value = throwers.get(key); // builder.append(key); // builder.append(": "); // builder.append(value); // builder.append("\n"); // } // throwers.clear(); // return builder.toString(); // } // Prevent stack traces from being taken // srowen says: huh, my IDE is saying this is not an override. native methods can't be overridden? // This, at least, does not hurt. Because we use a singleton pattern here, it doesn't matter anyhow. public final Throwable fillInStackTrace() { return null; } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/ResultPoint.java000066400000000000000000000073721340005343600260430ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing; /** *

Encapsulates a point of interest in an image containing a barcode. Typically, this * would be the location of a finder pattern or the corner of the barcode, for example.

* * @author Sean Owen */ public class ResultPoint { private final float x; private final float y; public ResultPoint(float x, float y) { this.x = x; this.y = y; } public final float getX() { return x; } public final float getY() { return y; } public boolean equals(Object other) { if (other instanceof ResultPoint) { ResultPoint otherPoint = (ResultPoint) other; return x == otherPoint.x && y == otherPoint.y; } return false; } public int hashCode() { return 31 * Float.floatToIntBits(x) + Float.floatToIntBits(y); } public String toString() { StringBuffer result = new StringBuffer(25); result.append('('); result.append(x); result.append(','); result.append(y); result.append(')'); return result.toString(); } /** *

Orders an array of three ResultPoints in an order [A,B,C] such that AB < AC and * BC < AC and the angle between BC and BA is less than 180 degrees. */ public static void orderBestPatterns(ResultPoint[] patterns) { // Find distances between pattern centers float zeroOneDistance = distance(patterns[0], patterns[1]); float oneTwoDistance = distance(patterns[1], patterns[2]); float zeroTwoDistance = distance(patterns[0], patterns[2]); ResultPoint pointA, pointB, pointC; // Assume one closest to other two is B; A and C will just be guesses at first if (oneTwoDistance >= zeroOneDistance && oneTwoDistance >= zeroTwoDistance) { pointB = patterns[0]; pointA = patterns[1]; pointC = patterns[2]; } else if (zeroTwoDistance >= oneTwoDistance && zeroTwoDistance >= zeroOneDistance) { pointB = patterns[1]; pointA = patterns[0]; pointC = patterns[2]; } else { pointB = patterns[2]; pointA = patterns[0]; pointC = patterns[1]; } // Use cross product to figure out whether A and C are correct or flipped. // This asks whether BC x BA has a positive z component, which is the arrangement // we want for A, B, C. If it's negative, then we've got it flipped around and // should swap A and C. if (crossProductZ(pointA, pointB, pointC) < 0.0f) { ResultPoint temp = pointA; pointA = pointC; pointC = temp; } patterns[0] = pointA; patterns[1] = pointB; patterns[2] = pointC; } /** * @return distance between two points */ public static float distance(ResultPoint pattern1, ResultPoint pattern2) { float xDiff = pattern1.getX() - pattern2.getX(); float yDiff = pattern1.getY() - pattern2.getY(); return (float) Math.sqrt((double) (xDiff * xDiff + yDiff * yDiff)); } /** * Returns the z component of the cross product between vectors BC and BA. */ private static float crossProductZ(ResultPoint pointA, ResultPoint pointB, ResultPoint pointC) { float bX = pointB.x; float bY = pointB.y; return ((pointC.x - bX) * (pointA.y - bY)) - ((pointC.y - bY) * (pointA.x - bX)); } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/Writer.java000066400000000000000000000034771340005343600250310ustar00rootroot00000000000000/* * Copyright 2008 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing; import java.util.Hashtable; import ext.plantuml.com.google.zxing.common.BitMatrix; /** * The base class for all objects which encode/generate a barcode image. * * @author dswitkin@google.com (Daniel Switkin) */ public interface Writer { /** * Encode a barcode using the default settings. * * @param contents The contents to encode in the barcode * @param format The barcode format to generate * @param width The preferred width in pixels * @param height The preferred height in pixels * @return The generated barcode as a Matrix of unsigned bytes (0 == black, 255 == white) */ BitMatrix encode(String contents, BarcodeFormat format, int multiple) throws WriterException; /** * * @param contents The contents to encode in the barcode * @param format The barcode format to generate * @param width The preferred width in pixels * @param height The preferred height in pixels * @param hints Additional parameters to supply to the encoder * @return The generated barcode as a Matrix of unsigned bytes (0 == black, 255 == white) */ BitMatrix encode(String contents, BarcodeFormat format, int multiple, Hashtable hints) throws WriterException; } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/WriterException.java000066400000000000000000000017431340005343600267020ustar00rootroot00000000000000/* * Copyright 2008 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing; /** * A base class which covers the range of exceptions which may occur when encoding a barcode using * the Writer framework. * * @author dswitkin@google.com (Daniel Switkin) */ public final class WriterException extends Exception { public WriterException() { super(); } public WriterException(String message) { super(message); } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/client/000077500000000000000000000000001340005343600241555ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/client/j2se/000077500000000000000000000000001340005343600250205ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/client/j2se/MatrixToImageWriter.java000066400000000000000000000046051340005343600315770ustar00rootroot00000000000000/* * Copyright 2009 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.client.j2se; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.io.OutputStream; import javax.imageio.ImageIO; import ext.plantuml.com.google.zxing.common.BitMatrix; /** * Writes a {@link BitMatrix} to {@link BufferedImage}, * file or stream. Provided here instead of core since it depends on * Java SE libraries. * * @author Sean Owen */ public final class MatrixToImageWriter { private static final int BLACK = 0xFF000000; private static final int WHITE = 0xFFFFFFFF; private MatrixToImageWriter() {} /** * Renders a {@link BitMatrix} as an image, where "false" bits are rendered * as white, and "true" bits are rendered as black. */ public static BufferedImage toBufferedImage(BitMatrix matrix, int fore, int back) { int width = matrix.getWidth(); int height = matrix.getHeight(); BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { image.setRGB(x, y, matrix.get(x, y) ? fore : back); } } return image; } // /** // * Writes a {@link BitMatrix} to a file. // * // * @see #toBufferedImage(BitMatrix) // */ // public static void writeToFile(BitMatrix matrix, String format, File file) // throws IOException { // BufferedImage image = toBufferedImage(matrix); // ImageIO.write(image, format, file); // } // // /** // * Writes a {@link BitMatrix} to a stream. // * // * @see #toBufferedImage(BitMatrix) // */ // public static void writeToStream(BitMatrix matrix, String format, OutputStream stream) // throws IOException { // BufferedImage image = toBufferedImage(matrix); // ImageIO.write(image, format, stream); // } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/common/000077500000000000000000000000001340005343600241675ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/common/BitArray.java000066400000000000000000000153111340005343600265500ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.common; /** *

A simple, fast array of bits, represented compactly by an array of ints internally.

* * @author Sean Owen */ public final class BitArray { // TODO: I have changed these members to be public so ProGuard can inline get() and set(). Ideally // they'd be private and we'd use the -allowaccessmodification flag, but Dalvik rejects the // resulting binary at runtime on Android. If we find a solution to this, these should be changed // back to private. public int[] bits; public int size; public BitArray() { this.size = 0; this.bits = new int[1]; } public BitArray(int size) { this.size = size; this.bits = makeArray(size); } public int getSize() { return size; } public int getSizeInBytes() { return (size + 7) >> 3; } private void ensureCapacity(int size) { if (size > bits.length << 5) { int[] newBits = makeArray(size); System.arraycopy(bits, 0, newBits, 0, bits.length); this.bits = newBits; } } /** * @param i bit to get * @return true iff bit i is set */ public boolean get(int i) { return (bits[i >> 5] & (1 << (i & 0x1F))) != 0; } /** * Sets bit i. * * @param i bit to set */ public void set(int i) { bits[i >> 5] |= 1 << (i & 0x1F); } /** * Flips bit i. * * @param i bit to set */ public void flip(int i) { bits[i >> 5] ^= 1 << (i & 0x1F); } /** * Sets a block of 32 bits, starting at bit i. * * @param i first bit to set * @param newBits the new value of the next 32 bits. Note again that the least-significant bit * corresponds to bit i, the next-least-significant to i+1, and so on. */ public void setBulk(int i, int newBits) { bits[i >> 5] = newBits; } /** * Clears all bits (sets to false). */ public void clear() { int max = bits.length; for (int i = 0; i < max; i++) { bits[i] = 0; } } /** * Efficient method to check if a range of bits is set, or not set. * * @param start start of range, inclusive. * @param end end of range, exclusive * @param value if true, checks that bits in range are set, otherwise checks that they are not set * @return true iff all bits are set or not set in range, according to value argument * @throws IllegalArgumentException if end is less than or equal to start */ public boolean isRange(int start, int end, boolean value) { if (end < start) { throw new IllegalArgumentException(); } if (end == start) { return true; // empty range matches } end--; // will be easier to treat this as the last actually set bit -- inclusive int firstInt = start >> 5; int lastInt = end >> 5; for (int i = firstInt; i <= lastInt; i++) { int firstBit = i > firstInt ? 0 : start & 0x1F; int lastBit = i < lastInt ? 31 : end & 0x1F; int mask; if (firstBit == 0 && lastBit == 31) { mask = -1; } else { mask = 0; for (int j = firstBit; j <= lastBit; j++) { mask |= 1 << j; } } // Return false if we're looking for 1s and the masked bits[i] isn't all 1s (that is, // equals the mask, or we're looking for 0s and the masked portion is not all 0s if ((bits[i] & mask) != (value ? mask : 0)) { return false; } } return true; } public void appendBit(boolean bit) { ensureCapacity(size + 1); if (bit) { bits[size >> 5] |= (1 << (size & 0x1F)); } size++; } /** * Appends the least-significant bits, from value, in order from most-significant to * least-significant. For example, appending 6 bits from 0x000001E will append the bits * 0, 1, 1, 1, 1, 0 in that order. */ public void appendBits(int value, int numBits) { if (numBits < 0 || numBits > 32) { throw new IllegalArgumentException("Num bits must be between 0 and 32"); } ensureCapacity(size + numBits); for (int numBitsLeft = numBits; numBitsLeft > 0; numBitsLeft--) { appendBit(((value >> (numBitsLeft - 1)) & 0x01) == 1); } } public void appendBitArray(BitArray other) { int otherSize = other.getSize(); ensureCapacity(size + otherSize); for (int i = 0; i < otherSize; i++) { appendBit(other.get(i)); } } public void xor(BitArray other) { if (bits.length != other.bits.length) { throw new IllegalArgumentException("Sizes don't match"); } for (int i = 0; i < bits.length; i++) { // The last byte could be incomplete (i.e. not have 8 bits in // it) but there is no problem since 0 XOR 0 == 0. bits[i] ^= other.bits[i]; } } /** * * @param bitOffset first bit to start writing * @param array array to write into. Bytes are written most-significant byte first. This is the opposite * of the internal representation, which is exposed by {@link #getBitArray()} * @param offset position in array to start writing * @param numBytes how many bytes to write */ public void toBytes(int bitOffset, byte[] array, int offset, int numBytes) { for (int i = 0; i < numBytes; i++) { int theByte = 0; for (int j = 0; j < 8; j++) { if (get(bitOffset)) { theByte |= 1 << (7 - j); } bitOffset++; } array[offset + i] = (byte) theByte; } } /** * @return underlying array of ints. The first element holds the first 32 bits, and the least * significant bit is bit 0. */ public int[] getBitArray() { return bits; } /** * Reverses all bits in the array. */ public void reverse() { int[] newBits = new int[bits.length]; int size = this.size; for (int i = 0; i < size; i++) { if (get(size - i - 1)) { newBits[i >> 5] |= 1 << (i & 0x1F); } } bits = newBits; } private static int[] makeArray(int size) { return new int[(size + 31) >> 5]; } public String toString() { StringBuffer result = new StringBuffer(size); for (int i = 0; i < size; i++) { if ((i & 0x07) == 0) { result.append(' '); } result.append(get(i) ? 'X' : '.'); } return result.toString(); } }plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/common/BitMatrix.java000066400000000000000000000145571340005343600267510ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.common; /** *

Represents a 2D matrix of bits. In function arguments below, and throughout the common * module, x is the column position, and y is the row position. The ordering is always x, y. * The origin is at the top-left.

* *

Internally the bits are represented in a 1-D array of 32-bit ints. However, each row begins * with a new int. This is done intentionally so that we can copy out a row into a BitArray very * efficiently.

* *

The ordering of bits is row-major. Within each int, the least significant bits are used first, * meaning they represent lower x values. This is compatible with BitArray's implementation.

* * @author Sean Owen * @author dswitkin@google.com (Daniel Switkin) */ public final class BitMatrix { // TODO: Just like BitArray, these need to be public so ProGuard can inline them. public final int width; public final int height; public final int rowSize; public final int[] bits; // A helper to construct a square matrix. public BitMatrix(int dimension) { this(dimension, dimension); } public BitMatrix(int width, int height) { if (width < 1 || height < 1) { throw new IllegalArgumentException("Both dimensions must be greater than 0"); } this.width = width; this.height = height; this.rowSize = (width + 31) >> 5; bits = new int[rowSize * height]; } /** *

Gets the requested bit, where true means black.

* * @param x The horizontal component (i.e. which column) * @param y The vertical component (i.e. which row) * @return value of given bit in matrix */ public boolean get(int x, int y) { int offset = y * rowSize + (x >> 5); return ((bits[offset] >>> (x & 0x1f)) & 1) != 0; } /** *

Sets the given bit to true.

* * @param x The horizontal component (i.e. which column) * @param y The vertical component (i.e. which row) */ public void set(int x, int y) { int offset = y * rowSize + (x >> 5); bits[offset] |= 1 << (x & 0x1f); } /** *

Flips the given bit.

* * @param x The horizontal component (i.e. which column) * @param y The vertical component (i.e. which row) */ public void flip(int x, int y) { int offset = y * rowSize + (x >> 5); bits[offset] ^= 1 << (x & 0x1f); } /** * Clears all bits (sets to false). */ public void clear() { int max = bits.length; for (int i = 0; i < max; i++) { bits[i] = 0; } } /** *

Sets a square region of the bit matrix to true.

* * @param left The horizontal position to begin at (inclusive) * @param top The vertical position to begin at (inclusive) * @param width The width of the region * @param height The height of the region */ public void setRegion(int left, int top, int width, int height) { if (top < 0 || left < 0) { throw new IllegalArgumentException("Left and top must be nonnegative"); } if (height < 1 || width < 1) { throw new IllegalArgumentException("Height and width must be at least 1"); } int right = left + width; int bottom = top + height; if (bottom > this.height || right > this.width) { throw new IllegalArgumentException("The region must fit inside the matrix"); } for (int y = top; y < bottom; y++) { int offset = y * rowSize; for (int x = left; x < right; x++) { bits[offset + (x >> 5)] |= 1 << (x & 0x1f); } } } /** * A fast method to retrieve one row of data from the matrix as a BitArray. * * @param y The row to retrieve * @param row An optional caller-allocated BitArray, will be allocated if null or too small * @return The resulting BitArray - this reference should always be used even when passing * your own row */ public BitArray getRow(int y, BitArray row) { if (row == null || row.getSize() < width) { row = new BitArray(width); } int offset = y * rowSize; for (int x = 0; x < rowSize; x++) { row.setBulk(x << 5, bits[offset + x]); } return row; } /** * This is useful in detecting a corner of a 'pure' barcode. * * @return {x,y} coordinate of top-left-most 1 bit, or null if it is all white */ public int[] getTopLeftOnBit() { int bitsOffset = 0; while (bitsOffset < bits.length && bits[bitsOffset] == 0) { bitsOffset++; } if (bitsOffset == bits.length) { return null; } int y = bitsOffset / rowSize; int x = (bitsOffset % rowSize) << 5; int theBits = bits[bitsOffset]; int bit = 0; while ((theBits << (31-bit)) == 0) { bit++; } x += bit; return new int[] {x, y}; } /** * @return The width of the matrix */ public int getWidth() { return width; } /** * @return The height of the matrix */ public int getHeight() { return height; } public boolean equals(Object o) { if (!(o instanceof BitMatrix)) { return false; } BitMatrix other = (BitMatrix) o; if (width != other.width || height != other.height || rowSize != other.rowSize || bits.length != other.bits.length) { return false; } for (int i = 0; i < bits.length; i++) { if (bits[i] != other.bits[i]) { return false; } } return true; } public int hashCode() { int hash = width; hash = 31 * hash + width; hash = 31 * hash + height; hash = 31 * hash + rowSize; for (int i = 0; i < bits.length; i++) { hash = 31 * hash + bits[i]; } return hash; } public String toString() { StringBuffer result = new StringBuffer(height * (width + 1)); for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { result.append(get(x, y) ? "X " : " "); } result.append('\n'); } return result.toString(); } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/common/BitSource.java000066400000000000000000000055111340005343600267330ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.common; /** *

This provides an easy abstraction to read bits at a time from a sequence of bytes, where the * number of bits read is not often a multiple of 8.

* *

This class is thread-safe but not reentrant. Unless the caller modifies the bytes array * it passed in, in which case all bets are off.

* * @author Sean Owen */ public final class BitSource { private final byte[] bytes; private int byteOffset; private int bitOffset; /** * @param bytes bytes from which this will read bits. Bits will be read from the first byte first. * Bits are read within a byte from most-significant to least-significant bit. */ public BitSource(byte[] bytes) { this.bytes = bytes; } /** * @param numBits number of bits to read * @return int representing the bits read. The bits will appear as the least-significant * bits of the int * @throws IllegalArgumentException if numBits isn't in [1,32] */ public int readBits(int numBits) { if (numBits < 1 || numBits > 32) { throw new IllegalArgumentException(); } int result = 0; // First, read remainder from current byte if (bitOffset > 0) { int bitsLeft = 8 - bitOffset; int toRead = numBits < bitsLeft ? numBits : bitsLeft; int bitsToNotRead = bitsLeft - toRead; int mask = (0xFF >> (8 - toRead)) << bitsToNotRead; result = (bytes[byteOffset] & mask) >> bitsToNotRead; numBits -= toRead; bitOffset += toRead; if (bitOffset == 8) { bitOffset = 0; byteOffset++; } } // Next read whole bytes if (numBits > 0) { while (numBits >= 8) { result = (result << 8) | (bytes[byteOffset] & 0xFF); byteOffset++; numBits -= 8; } // Finally read a partial byte if (numBits > 0) { int bitsToNotRead = 8 - numBits; int mask = (0xFF >> bitsToNotRead) << bitsToNotRead; result = (result << numBits) | ((bytes[byteOffset] & mask) >> bitsToNotRead); bitOffset += numBits; } } return result; } /** * @return number of bits that can be read successfully */ public int available() { return 8 * (bytes.length - byteOffset) - bitOffset; } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/common/CharacterSetECI.java000066400000000000000000000070601340005343600277260ustar00rootroot00000000000000/* * Copyright 2008 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.common; import java.util.Hashtable; /** * Encapsulates a Character Set ECI, according to "Extended Channel Interpretations" 5.3.1.1 * of ISO 18004. * * @author Sean Owen */ public final class CharacterSetECI extends ECI { private static Hashtable VALUE_TO_ECI; private static Hashtable NAME_TO_ECI; private static void initialize() { VALUE_TO_ECI = new Hashtable(29); NAME_TO_ECI = new Hashtable(29); // TODO figure out if these values are even right! addCharacterSet(0, "Cp437"); addCharacterSet(1, new String[] {"ISO8859_1", "ISO-8859-1"}); addCharacterSet(2, "Cp437"); addCharacterSet(3, new String[] {"ISO8859_1", "ISO-8859-1"}); addCharacterSet(4, "ISO8859_2"); addCharacterSet(5, "ISO8859_3"); addCharacterSet(6, "ISO8859_4"); addCharacterSet(7, "ISO8859_5"); addCharacterSet(8, "ISO8859_6"); addCharacterSet(9, "ISO8859_7"); addCharacterSet(10, "ISO8859_8"); addCharacterSet(11, "ISO8859_9"); addCharacterSet(12, "ISO8859_10"); addCharacterSet(13, "ISO8859_11"); addCharacterSet(15, "ISO8859_13"); addCharacterSet(16, "ISO8859_14"); addCharacterSet(17, "ISO8859_15"); addCharacterSet(18, "ISO8859_16"); addCharacterSet(20, new String[] {"SJIS", "Shift_JIS"}); } private final String encodingName; private CharacterSetECI(int value, String encodingName) { super(value); this.encodingName = encodingName; } public String getEncodingName() { return encodingName; } private static void addCharacterSet(int value, String encodingName) { CharacterSetECI eci = new CharacterSetECI(value, encodingName); VALUE_TO_ECI.put(new Integer(value), eci); // can't use valueOf NAME_TO_ECI.put(encodingName, eci); } private static void addCharacterSet(int value, String[] encodingNames) { CharacterSetECI eci = new CharacterSetECI(value, encodingNames[0]); VALUE_TO_ECI.put(new Integer(value), eci); // can't use valueOf for (int i = 0; i < encodingNames.length; i++) { NAME_TO_ECI.put(encodingNames[i], eci); } } /** * @param value character set ECI value * @return {@link CharacterSetECI} representing ECI of given value, or null if it is legal but * unsupported * @throws IllegalArgumentException if ECI value is invalid */ public static CharacterSetECI getCharacterSetECIByValue(int value) { if (VALUE_TO_ECI == null) { initialize(); } if (value < 0 || value >= 900) { throw new IllegalArgumentException("Bad ECI value: " + value); } return (CharacterSetECI) VALUE_TO_ECI.get(new Integer(value)); } /** * @param name character set ECI encoding name * @return {@link CharacterSetECI} representing ECI for character encoding, or null if it is legal * but unsupported */ public static CharacterSetECI getCharacterSetECIByName(String name) { if (NAME_TO_ECI == null) { initialize(); } return (CharacterSetECI) NAME_TO_ECI.get(name); } }plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/common/DecoderResult.java000066400000000000000000000033331340005343600276000ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.common; import java.util.Vector; import ext.plantuml.com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; /** *

Encapsulates the result of decoding a matrix of bits. This typically * applies to 2D barcode formats. For now it contains the raw bytes obtained, * as well as a String interpretation of those bytes, if applicable.

* * @author Sean Owen */ public final class DecoderResult { private final byte[] rawBytes; private final String text; private final Vector byteSegments; private final ErrorCorrectionLevel ecLevel; public DecoderResult(byte[] rawBytes, String text, Vector byteSegments, ErrorCorrectionLevel ecLevel) { if (rawBytes == null && text == null) { throw new IllegalArgumentException(); } this.rawBytes = rawBytes; this.text = text; this.byteSegments = byteSegments; this.ecLevel = ecLevel; } public byte[] getRawBytes() { return rawBytes; } public String getText() { return text; } public Vector getByteSegments() { return byteSegments; } public ErrorCorrectionLevel getECLevel() { return ecLevel; } }plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/common/DetectorResult.java000066400000000000000000000025051340005343600300040ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.common; import ext.plantuml.com.google.zxing.ResultPoint; /** *

Encapsulates the result of detecting a barcode in an image. This includes the raw * matrix of black/white pixels corresponding to the barcode, and possibly points of interest * in the image, like the location of finder patterns or corners of the barcode in the image.

* * @author Sean Owen */ public final class DetectorResult { private final BitMatrix bits; private final ResultPoint[] points; public DetectorResult(BitMatrix bits, ResultPoint[] points) { this.bits = bits; this.points = points; } public BitMatrix getBits() { return bits; } public ResultPoint[] getPoints() { return points; } }plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/common/ECI.java000066400000000000000000000026761340005343600254450ustar00rootroot00000000000000/* * Copyright 2008 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.common; /** * Superclass of classes encapsulating types ECIs, according to "Extended Channel Interpretations" * 5.3 of ISO 18004. * * @author Sean Owen */ public abstract class ECI { private final int value; ECI(int value) { this.value = value; } public int getValue() { return value; } /** * @param value ECI value * @return {@link ECI} representing ECI of given value, or null if it is legal but unsupported * @throws IllegalArgumentException if ECI value is invalid */ public static ECI getECIByValue(int value) { if (value < 0 || value > 999999) { throw new IllegalArgumentException("Bad ECI value: " + value); } if (value < 900) { // Character set ECIs use 000000 - 000899 return CharacterSetECI.getCharacterSetECIByValue(value); } return null; } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/common/StringUtils.java000066400000000000000000000160521340005343600273250ustar00rootroot00000000000000/* * Copyright (C) 2010 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.common; import java.util.Hashtable; import ext.plantuml.com.google.zxing.DecodeHintType; /** * Common string-related functions. * * @author Sean Owen */ public final class StringUtils { private static final String PLATFORM_DEFAULT_ENCODING = System.getProperty("file.encoding"); public static final String SHIFT_JIS = "SJIS"; private static final String EUC_JP = "EUC_JP"; private static final String UTF8 = "UTF8"; private static final String ISO88591 = "ISO8859_1"; private static final boolean ASSUME_SHIFT_JIS = SHIFT_JIS.equalsIgnoreCase(PLATFORM_DEFAULT_ENCODING) || EUC_JP.equalsIgnoreCase(PLATFORM_DEFAULT_ENCODING); private StringUtils() {} /** * @param bytes bytes encoding a string, whose encoding should be guessed * @param hints decode hints if applicable * @return name of guessed encoding; at the moment will only guess one of: * {@link #SHIFT_JIS}, {@link #UTF8}, {@link #ISO88591}, or the platform * default encoding if none of these can possibly be correct */ public static String guessEncoding(byte[] bytes, Hashtable hints) { if (hints != null) { String characterSet = (String) hints.get(DecodeHintType.CHARACTER_SET); if (characterSet != null) { return characterSet; } } // Does it start with the UTF-8 byte order mark? then guess it's UTF-8 if (bytes.length > 3 && bytes[0] == (byte) 0xEF && bytes[1] == (byte) 0xBB && bytes[2] == (byte) 0xBF) { return UTF8; } // For now, merely tries to distinguish ISO-8859-1, UTF-8 and Shift_JIS, // which should be by far the most common encodings. ISO-8859-1 // should not have bytes in the 0x80 - 0x9F range, while Shift_JIS // uses this as a first byte of a two-byte character. If we see this // followed by a valid second byte in Shift_JIS, assume it is Shift_JIS. // If we see something else in that second byte, we'll make the risky guess // that it's UTF-8. int length = bytes.length; boolean canBeISO88591 = true; boolean canBeShiftJIS = true; boolean canBeUTF8 = true; int utf8BytesLeft = 0; int maybeDoubleByteCount = 0; int maybeSingleByteKatakanaCount = 0; boolean sawLatin1Supplement = false; boolean sawUTF8Start = false; boolean lastWasPossibleDoubleByteStart = false; for (int i = 0; i < length && (canBeISO88591 || canBeShiftJIS || canBeUTF8); i++) { int value = bytes[i] & 0xFF; // UTF-8 stuff if (value >= 0x80 && value <= 0xBF) { if (utf8BytesLeft > 0) { utf8BytesLeft--; } } else { if (utf8BytesLeft > 0) { canBeUTF8 = false; } if (value >= 0xC0 && value <= 0xFD) { sawUTF8Start = true; int valueCopy = value; while ((valueCopy & 0x40) != 0) { utf8BytesLeft++; valueCopy <<= 1; } } } // ISO-8859-1 stuff if ((value == 0xC2 || value == 0xC3) && i < length - 1) { // This is really a poor hack. The slightly more exotic characters people might want to put in // a QR Code, by which I mean the Latin-1 supplement characters (e.g. u-umlaut) have encodings // that start with 0xC2 followed by [0xA0,0xBF], or start with 0xC3 followed by [0x80,0xBF]. int nextValue = bytes[i + 1] & 0xFF; if (nextValue <= 0xBF && ((value == 0xC2 && nextValue >= 0xA0) || (value == 0xC3 && nextValue >= 0x80))) { sawLatin1Supplement = true; } } if (value >= 0x7F && value <= 0x9F) { canBeISO88591 = false; } // Shift_JIS stuff if (value >= 0xA1 && value <= 0xDF) { // count the number of characters that might be a Shift_JIS single-byte Katakana character if (!lastWasPossibleDoubleByteStart) { maybeSingleByteKatakanaCount++; } } if (!lastWasPossibleDoubleByteStart && ((value >= 0xF0 && value <= 0xFF) || value == 0x80 || value == 0xA0)) { canBeShiftJIS = false; } if (((value >= 0x81 && value <= 0x9F) || (value >= 0xE0 && value <= 0xEF))) { // These start double-byte characters in Shift_JIS. Let's see if it's followed by a valid // second byte. if (lastWasPossibleDoubleByteStart) { // If we just checked this and the last byte for being a valid double-byte // char, don't check starting on this byte. If this and the last byte // formed a valid pair, then this shouldn't be checked to see if it starts // a double byte pair of course. lastWasPossibleDoubleByteStart = false; } else { // ... otherwise do check to see if this plus the next byte form a valid // double byte pair encoding a character. lastWasPossibleDoubleByteStart = true; if (i >= bytes.length - 1) { canBeShiftJIS = false; } else { int nextValue = bytes[i + 1] & 0xFF; if (nextValue < 0x40 || nextValue > 0xFC) { canBeShiftJIS = false; } else { maybeDoubleByteCount++; } // There is some conflicting information out there about which bytes can follow which in // double-byte Shift_JIS characters. The rule above seems to be the one that matches practice. } } } else { lastWasPossibleDoubleByteStart = false; } } if (utf8BytesLeft > 0) { canBeUTF8 = false; } // Easy -- if assuming Shift_JIS and no evidence it can't be, done if (canBeShiftJIS && ASSUME_SHIFT_JIS) { return SHIFT_JIS; } if (canBeUTF8 && sawUTF8Start) { return UTF8; } // Distinguishing Shift_JIS and ISO-8859-1 can be a little tough. The crude heuristic is: // - If we saw // - at least 3 bytes that starts a double-byte value (bytes that are rare in ISO-8859-1), or // - over 5% of bytes could be single-byte Katakana (also rare in ISO-8859-1), // - and, saw no sequences that are invalid in Shift_JIS, then we conclude Shift_JIS if (canBeShiftJIS && (maybeDoubleByteCount >= 3 || 20 * maybeSingleByteKatakanaCount > length)) { return SHIFT_JIS; } // Otherwise, we default to ISO-8859-1 unless we know it can't be if (!sawLatin1Supplement && canBeISO88591) { return ISO88591; } // Otherwise, we take a wild guess with platform encoding return PLATFORM_DEFAULT_ENCODING; } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/common/reedsolomon/000077500000000000000000000000001340005343600265155ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/common/reedsolomon/GF256.java000066400000000000000000000072261340005343600301200ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.common.reedsolomon; /** *

This class contains utility methods for performing mathematical operations over * the Galois Field GF(256). Operations use a given primitive polynomial in calculations.

* *

Throughout this package, elements of GF(256) are represented as an int * for convenience and speed (but at the cost of memory). * Only the bottom 8 bits are really used.

* * @author Sean Owen */ public final class GF256 { public static final GF256 QR_CODE_FIELD = new GF256(0x011D); // x^8 + x^4 + x^3 + x^2 + 1 public static final GF256 DATA_MATRIX_FIELD = new GF256(0x012D); // x^8 + x^5 + x^3 + x^2 + 1 private final int[] expTable; private final int[] logTable; private final GF256Poly zero; private final GF256Poly one; /** * Create a representation of GF(256) using the given primitive polynomial. * * @param primitive irreducible polynomial whose coefficients are represented by * the bits of an int, where the least-significant bit represents the constant * coefficient */ private GF256(int primitive) { expTable = new int[256]; logTable = new int[256]; int x = 1; for (int i = 0; i < 256; i++) { expTable[i] = x; x <<= 1; // x = x * 2; we're assuming the generator alpha is 2 if (x >= 0x100) { x ^= primitive; } } for (int i = 0; i < 255; i++) { logTable[expTable[i]] = i; } // logTable[0] == 0 but this should never be used zero = new GF256Poly(this, new int[]{0}); one = new GF256Poly(this, new int[]{1}); } GF256Poly getZero() { return zero; } GF256Poly getOne() { return one; } /** * @return the monomial representing coefficient * x^degree */ GF256Poly buildMonomial(int degree, int coefficient) { if (degree < 0) { throw new IllegalArgumentException(); } if (coefficient == 0) { return zero; } int[] coefficients = new int[degree + 1]; coefficients[0] = coefficient; return new GF256Poly(this, coefficients); } /** * Implements both addition and subtraction -- they are the same in GF(256). * * @return sum/difference of a and b */ static int addOrSubtract(int a, int b) { return a ^ b; } /** * @return 2 to the power of a in GF(256) */ int exp(int a) { return expTable[a]; } /** * @return base 2 log of a in GF(256) */ int log(int a) { if (a == 0) { throw new IllegalArgumentException(); } return logTable[a]; } /** * @return multiplicative inverse of a */ int inverse(int a) { if (a == 0) { throw new ArithmeticException(); } return expTable[255 - logTable[a]]; } /** * @param a * @param b * @return product of a and b in GF(256) */ int multiply(int a, int b) { if (a == 0 || b == 0) { return 0; } int logSum = logTable[a] + logTable[b]; // index is a sped-up alternative to logSum % 255 since sum // is in [0,510]. Thanks to jmsachs for the idea return expTable[(logSum & 0xFF) + (logSum >>> 8)]; } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/common/reedsolomon/GF256Poly.java000066400000000000000000000201611340005343600307550ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.common.reedsolomon; /** *

Represents a polynomial whose coefficients are elements of GF(256). * Instances of this class are immutable.

* *

Much credit is due to William Rucklidge since portions of this code are an indirect * port of his C++ Reed-Solomon implementation.

* * @author Sean Owen */ final class GF256Poly { private final GF256 field; private final int[] coefficients; /** * @param field the {@link GF256} instance representing the field to use * to perform computations * @param coefficients coefficients as ints representing elements of GF(256), arranged * from most significant (highest-power term) coefficient to least significant * @throws IllegalArgumentException if argument is null or empty, * or if leading coefficient is 0 and this is not a * constant polynomial (that is, it is not the monomial "0") */ GF256Poly(GF256 field, int[] coefficients) { if (coefficients == null || coefficients.length == 0) { throw new IllegalArgumentException(); } this.field = field; int coefficientsLength = coefficients.length; if (coefficientsLength > 1 && coefficients[0] == 0) { // Leading term must be non-zero for anything except the constant polynomial "0" int firstNonZero = 1; while (firstNonZero < coefficientsLength && coefficients[firstNonZero] == 0) { firstNonZero++; } if (firstNonZero == coefficientsLength) { this.coefficients = field.getZero().coefficients; } else { this.coefficients = new int[coefficientsLength - firstNonZero]; System.arraycopy(coefficients, firstNonZero, this.coefficients, 0, this.coefficients.length); } } else { this.coefficients = coefficients; } } int[] getCoefficients() { return coefficients; } /** * @return degree of this polynomial */ int getDegree() { return coefficients.length - 1; } /** * @return true iff this polynomial is the monomial "0" */ boolean isZero() { return coefficients[0] == 0; } /** * @return coefficient of x^degree term in this polynomial */ int getCoefficient(int degree) { return coefficients[coefficients.length - 1 - degree]; } /** * @return evaluation of this polynomial at a given point */ int evaluateAt(int a) { if (a == 0) { // Just return the x^0 coefficient return getCoefficient(0); } int size = coefficients.length; if (a == 1) { // Just the sum of the coefficients int result = 0; for (int i = 0; i < size; i++) { result = GF256.addOrSubtract(result, coefficients[i]); } return result; } int result = coefficients[0]; for (int i = 1; i < size; i++) { result = GF256.addOrSubtract(field.multiply(a, result), coefficients[i]); } return result; } GF256Poly addOrSubtract(GF256Poly other) { if (!field.equals(other.field)) { throw new IllegalArgumentException("GF256Polys do not have same GF256 field"); } if (isZero()) { return other; } if (other.isZero()) { return this; } int[] smallerCoefficients = this.coefficients; int[] largerCoefficients = other.coefficients; if (smallerCoefficients.length > largerCoefficients.length) { int[] temp = smallerCoefficients; smallerCoefficients = largerCoefficients; largerCoefficients = temp; } int[] sumDiff = new int[largerCoefficients.length]; int lengthDiff = largerCoefficients.length - smallerCoefficients.length; // Copy high-order terms only found in higher-degree polynomial's coefficients System.arraycopy(largerCoefficients, 0, sumDiff, 0, lengthDiff); for (int i = lengthDiff; i < largerCoefficients.length; i++) { sumDiff[i] = GF256.addOrSubtract(smallerCoefficients[i - lengthDiff], largerCoefficients[i]); } return new GF256Poly(field, sumDiff); } GF256Poly multiply(GF256Poly other) { if (!field.equals(other.field)) { throw new IllegalArgumentException("GF256Polys do not have same GF256 field"); } if (isZero() || other.isZero()) { return field.getZero(); } int[] aCoefficients = this.coefficients; int aLength = aCoefficients.length; int[] bCoefficients = other.coefficients; int bLength = bCoefficients.length; int[] product = new int[aLength + bLength - 1]; for (int i = 0; i < aLength; i++) { int aCoeff = aCoefficients[i]; for (int j = 0; j < bLength; j++) { product[i + j] = GF256.addOrSubtract(product[i + j], field.multiply(aCoeff, bCoefficients[j])); } } return new GF256Poly(field, product); } GF256Poly multiply(int scalar) { if (scalar == 0) { return field.getZero(); } if (scalar == 1) { return this; } int size = coefficients.length; int[] product = new int[size]; for (int i = 0; i < size; i++) { product[i] = field.multiply(coefficients[i], scalar); } return new GF256Poly(field, product); } GF256Poly multiplyByMonomial(int degree, int coefficient) { if (degree < 0) { throw new IllegalArgumentException(); } if (coefficient == 0) { return field.getZero(); } int size = coefficients.length; int[] product = new int[size + degree]; for (int i = 0; i < size; i++) { product[i] = field.multiply(coefficients[i], coefficient); } return new GF256Poly(field, product); } GF256Poly[] divide(GF256Poly other) { if (!field.equals(other.field)) { throw new IllegalArgumentException("GF256Polys do not have same GF256 field"); } if (other.isZero()) { throw new IllegalArgumentException("Divide by 0"); } GF256Poly quotient = field.getZero(); GF256Poly remainder = this; int denominatorLeadingTerm = other.getCoefficient(other.getDegree()); int inverseDenominatorLeadingTerm = field.inverse(denominatorLeadingTerm); while (remainder.getDegree() >= other.getDegree() && !remainder.isZero()) { int degreeDifference = remainder.getDegree() - other.getDegree(); int scale = field.multiply(remainder.getCoefficient(remainder.getDegree()), inverseDenominatorLeadingTerm); GF256Poly term = other.multiplyByMonomial(degreeDifference, scale); GF256Poly iterationQuotient = field.buildMonomial(degreeDifference, scale); quotient = quotient.addOrSubtract(iterationQuotient); remainder = remainder.addOrSubtract(term); } return new GF256Poly[] { quotient, remainder }; } public String toString() { StringBuffer result = new StringBuffer(8 * getDegree()); for (int degree = getDegree(); degree >= 0; degree--) { int coefficient = getCoefficient(degree); if (coefficient != 0) { if (coefficient < 0) { result.append(" - "); coefficient = -coefficient; } else { if (result.length() > 0) { result.append(" + "); } } if (degree == 0 || coefficient != 1) { int alphaPower = field.log(coefficient); if (alphaPower == 0) { result.append('1'); } else if (alphaPower == 1) { result.append('a'); } else { result.append("a^"); result.append(alphaPower); } } if (degree != 0) { if (degree == 1) { result.append('x'); } else { result.append("x^"); result.append(degree); } } } } return result.toString(); } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/common/reedsolomon/ReedSolomonEncoder.java000066400000000000000000000052631340005343600331140ustar00rootroot00000000000000/* * Copyright 2008 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.common.reedsolomon; import java.util.Vector; /** *

Implements Reed-Solomon enbcoding, as the name implies.

* * @author Sean Owen * @author William Rucklidge */ public final class ReedSolomonEncoder { private final GF256 field; private final Vector cachedGenerators; public ReedSolomonEncoder(GF256 field) { if (!GF256.QR_CODE_FIELD.equals(field)) { throw new IllegalArgumentException("Only QR Code is supported at this time"); } this.field = field; this.cachedGenerators = new Vector(); cachedGenerators.addElement(new GF256Poly(field, new int[] { 1 })); } private GF256Poly buildGenerator(int degree) { if (degree >= cachedGenerators.size()) { GF256Poly lastGenerator = (GF256Poly) cachedGenerators.elementAt(cachedGenerators.size() - 1); for (int d = cachedGenerators.size(); d <= degree; d++) { GF256Poly nextGenerator = lastGenerator.multiply(new GF256Poly(field, new int[] { 1, field.exp(d - 1) })); cachedGenerators.addElement(nextGenerator); lastGenerator = nextGenerator; } } return (GF256Poly) cachedGenerators.elementAt(degree); } public void encode(int[] toEncode, int ecBytes) { if (ecBytes == 0) { throw new IllegalArgumentException("No error correction bytes"); } int dataBytes = toEncode.length - ecBytes; if (dataBytes <= 0) { throw new IllegalArgumentException("No data bytes provided"); } GF256Poly generator = buildGenerator(ecBytes); int[] infoCoefficients = new int[dataBytes]; System.arraycopy(toEncode, 0, infoCoefficients, 0, dataBytes); GF256Poly info = new GF256Poly(field, infoCoefficients); info = info.multiplyByMonomial(ecBytes, 1); GF256Poly remainder = info.divide(generator)[1]; int[] coefficients = remainder.getCoefficients(); int numZeroCoefficients = ecBytes - coefficients.length; for (int i = 0; i < numZeroCoefficients; i++) { toEncode[dataBytes + i] = 0; } System.arraycopy(coefficients, 0, toEncode, dataBytes + numZeroCoefficients, coefficients.length); } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/common/reedsolomon/ReedSolomonException.java000066400000000000000000000016671340005343600334770ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.common.reedsolomon; /** *

Thrown when an exception occurs during Reed-Solomon decoding, such as when * there are too many errors to correct.

* * @author Sean Owen */ public final class ReedSolomonException extends Exception { public ReedSolomonException(String message) { super(message); } }plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/datamatrix/000077500000000000000000000000001340005343600250355ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/datamatrix/decoder/000077500000000000000000000000001340005343600264425ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/datamatrix/decoder/BitMatrixParser.java000066400000000000000000000351371340005343600323760ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.datamatrix.decoder; import ext.plantuml.com.google.zxing.FormatException; import ext.plantuml.com.google.zxing.common.BitMatrix; /** * @author bbrown@google.com (Brian Brown) */ final class BitMatrixParser { private final BitMatrix mappingBitMatrix; private final BitMatrix readMappingMatrix; private final Version version; /** * @param bitMatrix {@link BitMatrix} to parse * @throws FormatException if dimension is < 10 or > 144 or not 0 mod 2 */ BitMatrixParser(BitMatrix bitMatrix) throws FormatException { int dimension = bitMatrix.getHeight(); if (dimension < 10 || dimension > 144 || (dimension & 0x01) != 0) { throw FormatException.getFormatInstance(); } version = readVersion(bitMatrix); this.mappingBitMatrix = extractDataRegion(bitMatrix); // TODO(bbrown): Make this work for rectangular symbols this.readMappingMatrix = new BitMatrix(this.mappingBitMatrix.getHeight()); } /** *

Creates the version object based on the dimension of the original bit matrix from * the datamatrix code.

* *

See ISO 16022:2006 Table 7 - ECC 200 symbol attributes

* * @param bitMatrix Original {@link BitMatrix} including alignment patterns * @return {@link Version} encapsulating the Data Matrix Code's "version" * @throws FormatException if the dimensions of the mapping matrix are not valid * Data Matrix dimensions. */ Version readVersion(BitMatrix bitMatrix) throws FormatException { if (version != null) { return version; } // TODO(bbrown): make this work for rectangular dimensions as well. int numRows = bitMatrix.getHeight(); int numColumns = numRows; return Version.getVersionForDimensions(numRows, numColumns); } /** *

Reads the bits in the {@link BitMatrix} representing the mapping matrix (No alignment patterns) * in the correct order in order to reconstitute the codewords bytes contained within the * Data Matrix Code.

* * @return bytes encoded within the Data Matrix Code * @throws FormatException if the exact number of bytes expected is not read */ byte[] readCodewords() throws FormatException { byte[] result = new byte[version.getTotalCodewords()]; int resultOffset = 0; int row = 4; int column = 0; // TODO(bbrown): Data Matrix can be rectangular, assuming square for now int numRows = mappingBitMatrix.getHeight(); int numColumns = numRows; boolean corner1Read = false; boolean corner2Read = false; boolean corner3Read = false; boolean corner4Read = false; // Read all of the codewords do { // Check the four corner cases if ((row == numRows) && (column == 0) && !corner1Read) { result[resultOffset++] = (byte) readCorner1(numRows, numColumns); row -= 2; column +=2; corner1Read = true; } else if ((row == numRows-2) && (column == 0) && ((numColumns & 0x03) != 0) && !corner2Read) { result[resultOffset++] = (byte) readCorner2(numRows, numColumns); row -= 2; column +=2; corner2Read = true; } else if ((row == numRows+4) && (column == 2) && ((numColumns & 0x07) == 0) && !corner3Read) { result[resultOffset++] = (byte) readCorner3(numRows, numColumns); row -= 2; column +=2; corner3Read = true; } else if ((row == numRows-2) && (column == 0) && ((numColumns & 0x07) == 4) && !corner4Read) { result[resultOffset++] = (byte) readCorner4(numRows, numColumns); row -= 2; column +=2; corner4Read = true; } else { // Sweep upward diagonally to the right do { if ((row < numRows) && (column >= 0) && !readMappingMatrix.get(column, row)) { result[resultOffset++] = (byte) readUtah(row, column, numRows, numColumns); } row -= 2; column +=2; } while ((row >= 0) && (column < numColumns)); row += 1; column +=3; // Sweep downward diagonally to the left do { if ((row >= 0) && (column < numColumns) && !readMappingMatrix.get(column, row)) { result[resultOffset++] = (byte) readUtah(row, column, numRows, numColumns); } row += 2; column -=2; } while ((row < numRows) && (column >= 0)); row += 3; column +=1; } } while ((row < numRows) || (column < numColumns)); if (resultOffset != version.getTotalCodewords()) { throw FormatException.getFormatInstance(); } return result; } /** *

Reads a bit of the mapping matrix accounting for boundary wrapping.

* * @param row Row to read in the mapping matrix * @param column Column to read in the mapping matrix * @param numRows Number of rows in the mapping matrix * @param numColumns Number of columns in the mapping matrix * @return value of the given bit in the mapping matrix */ boolean readModule(int row, int column, int numRows, int numColumns) { // Adjust the row and column indices based on boundary wrapping if (row < 0) { row += numRows; column += 4 - ((numRows + 4) & 0x07); } if (column < 0) { column += numColumns; row += 4 - ((numColumns + 4) & 0x07); } readMappingMatrix.set(column, row); return mappingBitMatrix.get(column, row); } /** *

Reads the 8 bits of the standard Utah-shaped pattern.

* *

See ISO 16022:2006, 5.8.1 Figure 6

* * @param row Current row in the mapping matrix, anchored at the 8th bit (LSB) of the pattern * @param column Current column in the mapping matrix, anchored at the 8th bit (LSB) of the pattern * @param numRows Number of rows in the mapping matrix * @param numColumns Number of columns in the mapping matrix * @return byte from the utah shape */ int readUtah(int row, int column, int numRows, int numColumns) { int currentByte = 0; if (readModule(row - 2, column - 2, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(row - 2, column - 1, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(row - 1, column - 2, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(row - 1, column - 1, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(row - 1, column, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(row, column - 2, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(row, column - 1, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(row, column, numRows, numColumns)) { currentByte |= 1; } return currentByte; } /** *

Reads the 8 bits of the special corner condition 1.

* *

See ISO 16022:2006, Figure F.3

* * @param numRows Number of rows in the mapping matrix * @param numColumns Number of columns in the mapping matrix * @return byte from the Corner condition 1 */ int readCorner1(int numRows, int numColumns) { int currentByte = 0; if (readModule(numRows - 1, 0, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(numRows - 1, 1, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(numRows - 1, 2, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(0, numColumns - 2, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(0, numColumns - 1, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(1, numColumns - 1, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(2, numColumns - 1, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(3, numColumns - 1, numRows, numColumns)) { currentByte |= 1; } return currentByte; } /** *

Reads the 8 bits of the special corner condition 2.

* *

See ISO 16022:2006, Figure F.4

* * @param numRows Number of rows in the mapping matrix * @param numColumns Number of columns in the mapping matrix * @return byte from the Corner condition 2 */ int readCorner2(int numRows, int numColumns) { int currentByte = 0; if (readModule(numRows - 3, 0, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(numRows - 2, 0, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(numRows - 1, 0, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(0, numColumns - 4, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(0, numColumns - 3, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(0, numColumns - 2, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(0, numColumns - 1, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(1, numColumns - 1, numRows, numColumns)) { currentByte |= 1; } return currentByte; } /** *

Reads the 8 bits of the special corner condition 3.

* *

See ISO 16022:2006, Figure F.5

* * @param numRows Number of rows in the mapping matrix * @param numColumns Number of columns in the mapping matrix * @return byte from the Corner condition 3 */ int readCorner3(int numRows, int numColumns) { int currentByte = 0; if (readModule(numRows - 1, 0, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(numRows - 1, numColumns - 1, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(0, numColumns - 3, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(0, numColumns - 2, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(0, numColumns - 1, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(1, numColumns - 3, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(1, numColumns - 2, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(1, numColumns - 1, numRows, numColumns)) { currentByte |= 1; } return currentByte; } /** *

Reads the 8 bits of the special corner condition 4.

* *

See ISO 16022:2006, Figure F.6

* * @param numRows Number of rows in the mapping matrix * @param numColumns Number of columns in the mapping matrix * @return byte from the Corner condition 4 */ int readCorner4(int numRows, int numColumns) { int currentByte = 0; if (readModule(numRows - 3, 0, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(numRows - 2, 0, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(numRows - 1, 0, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(0, numColumns - 2, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(0, numColumns - 1, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(1, numColumns - 1, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(2, numColumns - 1, numRows, numColumns)) { currentByte |= 1; } currentByte <<= 1; if (readModule(3, numColumns - 1, numRows, numColumns)) { currentByte |= 1; } return currentByte; } /** *

Extracts the data region from a {@link BitMatrix} that contains * alignment patterns.

* * @param bitMatrix Original {@link BitMatrix} with alignment patterns * @return BitMatrix that has the alignment patterns removed */ BitMatrix extractDataRegion(BitMatrix bitMatrix) { int symbolSizeRows = version.getSymbolSizeRows(); int symbolSizeColumns = version.getSymbolSizeColumns(); // TODO(bbrown): Make this work with rectangular codes if (bitMatrix.getHeight() != symbolSizeRows) { throw new IllegalArgumentException("Dimension of bitMarix must match the version size"); } int dataRegionSizeRows = version.getDataRegionSizeRows(); int dataRegionSizeColumns = version.getDataRegionSizeColumns(); int numDataRegionsRow = symbolSizeRows / dataRegionSizeRows; int numDataRegionsColumn = symbolSizeColumns / dataRegionSizeColumns; int sizeDataRegionRow = numDataRegionsRow * dataRegionSizeRows; //int sizeDataRegionColumn = numDataRegionsColumn * dataRegionSizeColumns; // TODO(bbrown): Make this work with rectangular codes BitMatrix bitMatrixWithoutAlignment = new BitMatrix(sizeDataRegionRow); for (int dataRegionRow = 0; dataRegionRow < numDataRegionsRow; ++dataRegionRow) { int dataRegionRowOffset = dataRegionRow * dataRegionSizeRows; for (int dataRegionColumn = 0; dataRegionColumn < numDataRegionsColumn; ++dataRegionColumn) { int dataRegionColumnOffset = dataRegionColumn * dataRegionSizeColumns; for (int i = 0; i < dataRegionSizeRows; ++i) { int readRowOffset = dataRegionRow * (dataRegionSizeRows + 2) + 1 + i; int writeRowOffset = dataRegionRowOffset + i; for (int j = 0; j < dataRegionSizeColumns; ++j) { int readColumnOffset = dataRegionColumn * (dataRegionSizeColumns + 2) + 1 + j; if (bitMatrix.get(readColumnOffset, readRowOffset)) { int writeColumnOffset = dataRegionColumnOffset + j; bitMatrixWithoutAlignment.set(writeColumnOffset, writeRowOffset); } } } } } return bitMatrixWithoutAlignment; } }plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/datamatrix/decoder/DataBlock.java000066400000000000000000000110621340005343600311310ustar00rootroot00000000000000/* * Copyright 2008 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.datamatrix.decoder; /** *

Encapsulates a block of data within a Data Matrix Code. Data Matrix Codes may split their data into * multiple blocks, each of which is a unit of data and error-correction codewords. Each * is represented by an instance of this class.

* * @author bbrown@google.com (Brian Brown) */ final class DataBlock { private final int numDataCodewords; private final byte[] codewords; private DataBlock(int numDataCodewords, byte[] codewords) { this.numDataCodewords = numDataCodewords; this.codewords = codewords; } /** *

When Data Matrix Codes use multiple data blocks, they actually interleave the bytes of each of them. * That is, the first byte of data block 1 to n is written, then the second bytes, and so on. This * method will separate the data into original blocks.

* * @param rawCodewords bytes as read directly from the Data Matrix Code * @param version version of the Data Matrix Code * @return {@link DataBlock}s containing original bytes, "de-interleaved" from representation in the * Data Matrix Code */ static DataBlock[] getDataBlocks(byte[] rawCodewords, Version version) { // Figure out the number and size of data blocks used by this version Version.ECBlocks ecBlocks = version.getECBlocks(); // First count the total number of data blocks int totalBlocks = 0; Version.ECB[] ecBlockArray = ecBlocks.getECBlocks(); for (int i = 0; i < ecBlockArray.length; i++) { totalBlocks += ecBlockArray[i].getCount(); } // Now establish DataBlocks of the appropriate size and number of data codewords DataBlock[] result = new DataBlock[totalBlocks]; int numResultBlocks = 0; for (int j = 0; j < ecBlockArray.length; j++) { Version.ECB ecBlock = ecBlockArray[j]; for (int i = 0; i < ecBlock.getCount(); i++) { int numDataCodewords = ecBlock.getDataCodewords(); int numBlockCodewords = ecBlocks.getECCodewords() + numDataCodewords; result[numResultBlocks++] = new DataBlock(numDataCodewords, new byte[numBlockCodewords]); } } // All blocks have the same amount of data, except that the last n // (where n may be 0) have 1 less byte. Figure out where these start. // TODO(bbrown): There is only one case where there is a difference for Data Matrix for size 144 int longerBlocksTotalCodewords = result[0].codewords.length; //int shorterBlocksTotalCodewords = longerBlocksTotalCodewords - 1; int longerBlocksNumDataCodewords = longerBlocksTotalCodewords - ecBlocks.getECCodewords(); int shorterBlocksNumDataCodewords = longerBlocksNumDataCodewords - 1; // The last elements of result may be 1 element shorter for 144 matrix // first fill out as many elements as all of them have minus 1 int rawCodewordsOffset = 0; for (int i = 0; i < shorterBlocksNumDataCodewords; i++) { for (int j = 0; j < numResultBlocks; j++) { result[j].codewords[i] = rawCodewords[rawCodewordsOffset++]; } } // Fill out the last data block in the longer ones boolean specialVersion = version.getVersionNumber() == 24; int numLongerBlocks = specialVersion ? 8 : numResultBlocks; for (int j = 0; j < numLongerBlocks; j++) { result[j].codewords[longerBlocksNumDataCodewords - 1] = rawCodewords[rawCodewordsOffset++]; } // Now add in error correction blocks int max = result[0].codewords.length; for (int i = longerBlocksNumDataCodewords; i < max; i++) { for (int j = 0; j < numResultBlocks; j++) { int iOffset = (specialVersion && j > 7) ? i - 1 : i; result[j].codewords[iOffset] = rawCodewords[rawCodewordsOffset++]; } } if (rawCodewordsOffset != rawCodewords.length) { throw new IllegalArgumentException(); } return result; } int getNumDataCodewords() { return numDataCodewords; } byte[] getCodewords() { return codewords; } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/datamatrix/decoder/Version.java000066400000000000000000000174751340005343600307500ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.datamatrix.decoder; import ext.plantuml.com.google.zxing.FormatException; /** * The Version object encapsulates attributes about a particular * size Data Matrix Code. * * @author bbrown@google.com (Brian Brown) */ public final class Version { private static final Version[] VERSIONS = buildVersions(); private final int versionNumber; private final int symbolSizeRows; private final int symbolSizeColumns; private final int dataRegionSizeRows; private final int dataRegionSizeColumns; private final ECBlocks ecBlocks; private final int totalCodewords; private Version(int versionNumber, int symbolSizeRows, int symbolSizeColumns, int dataRegionSizeRows, int dataRegionSizeColumns, ECBlocks ecBlocks) { this.versionNumber = versionNumber; this.symbolSizeRows = symbolSizeRows; this.symbolSizeColumns = symbolSizeColumns; this.dataRegionSizeRows = dataRegionSizeRows; this.dataRegionSizeColumns = dataRegionSizeColumns; this.ecBlocks = ecBlocks; // Calculate the total number of codewords int total = 0; int ecCodewords = ecBlocks.getECCodewords(); ECB[] ecbArray = ecBlocks.getECBlocks(); for (int i = 0; i < ecbArray.length; i++) { ECB ecBlock = ecbArray[i]; total += ecBlock.getCount() * (ecBlock.getDataCodewords() + ecCodewords); } this.totalCodewords = total; } public int getVersionNumber() { return versionNumber; } public int getSymbolSizeRows() { return symbolSizeRows; } public int getSymbolSizeColumns() { return symbolSizeColumns; } public int getDataRegionSizeRows() { return dataRegionSizeRows; } public int getDataRegionSizeColumns() { return dataRegionSizeColumns; } public int getTotalCodewords() { return totalCodewords; } ECBlocks getECBlocks() { return ecBlocks; } /** *

Deduces version information from Data Matrix dimensions.

* * @param numRows Number of rows in modules * @param numColumns Number of columns in modules * @return {@link Version} for a Data Matrix Code of those dimensions * @throws FormatException if dimensions do correspond to a valid Data Matrix size */ public static Version getVersionForDimensions(int numRows, int numColumns) throws FormatException { if ((numRows & 0x01) != 0 || (numColumns & 0x01) != 0) { throw FormatException.getFormatInstance(); } // TODO(bbrown): This is doing a linear search through the array of versions. // If we interleave the rectangular versions with the square versions we could // do a binary search. int numVersions = VERSIONS.length; for (int i = 0; i < numVersions; ++i){ Version version = VERSIONS[i]; if (version.symbolSizeRows == numRows && version.symbolSizeColumns == numColumns) { return version; } } throw FormatException.getFormatInstance(); } /** *

Encapsulates a set of error-correction blocks in one symbol version. Most versions will * use blocks of differing sizes within one version, so, this encapsulates the parameters for * each set of blocks. It also holds the number of error-correction codewords per block since it * will be the same across all blocks within one version.

*/ static final class ECBlocks { private final int ecCodewords; private final ECB[] ecBlocks; private ECBlocks(int ecCodewords, ECB ecBlocks) { this.ecCodewords = ecCodewords; this.ecBlocks = new ECB[] { ecBlocks }; } private ECBlocks(int ecCodewords, ECB ecBlocks1, ECB ecBlocks2) { this.ecCodewords = ecCodewords; this.ecBlocks = new ECB[] { ecBlocks1, ecBlocks2 }; } int getECCodewords() { return ecCodewords; } ECB[] getECBlocks() { return ecBlocks; } } /** *

Encapsualtes the parameters for one error-correction block in one symbol version. * This includes the number of data codewords, and the number of times a block with these * parameters is used consecutively in the Data Matrix code version's format.

*/ static final class ECB { private final int count; private final int dataCodewords; private ECB(int count, int dataCodewords) { this.count = count; this.dataCodewords = dataCodewords; } int getCount() { return count; } int getDataCodewords() { return dataCodewords; } } public String toString() { return String.valueOf(versionNumber); } /** * See ISO 16022:2006 5.5.1 Table 7 */ private static Version[] buildVersions() { return new Version[]{ new Version(1, 10, 10, 8, 8, new ECBlocks(5, new ECB(1, 3))), new Version(2, 12, 12, 10, 10, new ECBlocks(7, new ECB(1, 5))), new Version(3, 14, 14, 12, 12, new ECBlocks(10, new ECB(1, 8))), new Version(4, 16, 16, 14, 14, new ECBlocks(12, new ECB(1, 12))), new Version(5, 18, 18, 16, 16, new ECBlocks(14, new ECB(1, 18))), new Version(6, 20, 20, 18, 18, new ECBlocks(18, new ECB(1, 22))), new Version(7, 22, 22, 20, 20, new ECBlocks(20, new ECB(1, 30))), new Version(8, 24, 24, 22, 22, new ECBlocks(24, new ECB(1, 36))), new Version(9, 26, 26, 24, 24, new ECBlocks(28, new ECB(1, 44))), new Version(10, 32, 32, 14, 14, new ECBlocks(36, new ECB(1, 62))), new Version(11, 36, 36, 16, 16, new ECBlocks(42, new ECB(1, 86))), new Version(12, 40, 40, 18, 18, new ECBlocks(48, new ECB(1, 114))), new Version(13, 44, 44, 20, 20, new ECBlocks(56, new ECB(1, 144))), new Version(14, 48, 48, 22, 22, new ECBlocks(68, new ECB(1, 174))), new Version(15, 52, 52, 24, 24, new ECBlocks(42, new ECB(2, 102))), new Version(16, 64, 64, 14, 14, new ECBlocks(56, new ECB(2, 140))), new Version(17, 72, 72, 16, 16, new ECBlocks(36, new ECB(4, 92))), new Version(18, 80, 80, 18, 18, new ECBlocks(48, new ECB(4, 114))), new Version(19, 88, 88, 20, 20, new ECBlocks(56, new ECB(4, 144))), new Version(20, 96, 96, 22, 22, new ECBlocks(68, new ECB(4, 174))), new Version(21, 104, 104, 24, 24, new ECBlocks(56, new ECB(6, 136))), new Version(22, 120, 120, 18, 18, new ECBlocks(68, new ECB(6, 175))), new Version(23, 132, 132, 20, 20, new ECBlocks(62, new ECB(8, 163))), new Version(24, 144, 144, 22, 22, new ECBlocks(62, new ECB(8, 156), new ECB(2, 155))), new Version(25, 8, 18, 6, 16, new ECBlocks(7, new ECB(1, 5))), new Version(26, 8, 32, 6, 14, new ECBlocks(11, new ECB(1, 10))), new Version(27, 12, 26, 10, 24, new ECBlocks(14, new ECB(1, 16))), new Version(28, 12, 36, 10, 16, new ECBlocks(18, new ECB(1, 22))), new Version(29, 16, 36, 10, 16, new ECBlocks(24, new ECB(1, 32))), new Version(30, 16, 48, 14, 22, new ECBlocks(28, new ECB(1, 49))) }; } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/qrcode/000077500000000000000000000000001340005343600241545ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/qrcode/QRCodeWriter.java000066400000000000000000000076011340005343600273350ustar00rootroot00000000000000/* * Copyright 2008 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.qrcode; import java.util.Hashtable; import ext.plantuml.com.google.zxing.BarcodeFormat; import ext.plantuml.com.google.zxing.EncodeHintType; import ext.plantuml.com.google.zxing.Writer; import ext.plantuml.com.google.zxing.WriterException; import ext.plantuml.com.google.zxing.common.BitMatrix; import ext.plantuml.com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; import ext.plantuml.com.google.zxing.qrcode.encoder.ByteMatrix; import ext.plantuml.com.google.zxing.qrcode.encoder.Encoder; import ext.plantuml.com.google.zxing.qrcode.encoder.QRCode; /** * This object renders a QR Code as a BitMatrix 2D array of greyscale values. * * @author dswitkin@google.com (Daniel Switkin) */ public final class QRCodeWriter implements Writer { private static final int QUIET_ZONE_SIZE = 4; public BitMatrix encode(String contents, BarcodeFormat format, int multiple) throws WriterException { return encode(contents, format, multiple, null); } public BitMatrix encode(String contents, BarcodeFormat format, int multiple, Hashtable hints) throws WriterException { if (contents == null || contents.length() == 0) { throw new IllegalArgumentException("Found empty contents"); } if (format != BarcodeFormat.QR_CODE) { throw new IllegalArgumentException("Can only encode QR_CODE, but got " + format); } ErrorCorrectionLevel errorCorrectionLevel = ErrorCorrectionLevel.L; if (hints != null) { ErrorCorrectionLevel requestedECLevel = (ErrorCorrectionLevel) hints.get(EncodeHintType.ERROR_CORRECTION); if (requestedECLevel != null) { errorCorrectionLevel = requestedECLevel; } } QRCode code = new QRCode(); Encoder.encode(contents, errorCorrectionLevel, hints, code); return renderResult(code, multiple); } // Note that the input matrix uses 0 == white, 1 == black, while the output // matrix uses // 0 == black, 255 == white (i.e. an 8 bit greyscale bitmap). private static BitMatrix renderResult(QRCode code, int multiple) { ByteMatrix input = code.getMatrix(); int inputWidth = input.getWidth(); int inputHeight = input.getHeight(); int qrWidth = inputWidth + (QUIET_ZONE_SIZE << 1); int qrHeight = inputHeight + (QUIET_ZONE_SIZE << 1); // int outputWidth = Math.max(width, qrWidth); // int outputHeight = Math.max(height, qrHeight); // int multiple = Math.min(outputWidth / qrWidth, outputHeight / // qrHeight); // Padding includes both the quiet zone and the extra white pixels to // accommodate the requested // dimensions. For example, if input is 25x25 the QR will be 33x33 // including the quiet zone. // If the requested size is 200x160, the multiple will be 4, for a QR of // 132x132. These will // handle all the padding from 100x100 (the actual QR) up to 200x160. int leftPadding = QUIET_ZONE_SIZE * multiple; int topPadding = QUIET_ZONE_SIZE * multiple; BitMatrix output = new BitMatrix(qrWidth * multiple, qrHeight * multiple); for (int inputY = 0, outputY = topPadding; inputY < inputHeight; inputY++, outputY += multiple) { // Write the contents of this row of the barcode for (int inputX = 0, outputX = leftPadding; inputX < inputWidth; inputX++, outputX += multiple) { if (input.get(inputX, inputY) == 1) { output.setRegion(outputX, outputY, multiple, multiple); } } } return output; } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/qrcode/decoder/000077500000000000000000000000001340005343600255615ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/qrcode/decoder/BitMatrixParser.java000066400000000000000000000153121340005343600315060ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.qrcode.decoder; import ext.plantuml.com.google.zxing.FormatException; import ext.plantuml.com.google.zxing.common.BitMatrix; /** * @author Sean Owen */ final class BitMatrixParser { private final BitMatrix bitMatrix; private Version parsedVersion; private FormatInformation parsedFormatInfo; /** * @param bitMatrix {@link BitMatrix} to parse * @throws FormatException if dimension is not >= 21 and 1 mod 4 */ BitMatrixParser(BitMatrix bitMatrix) throws FormatException { int dimension = bitMatrix.getHeight(); if (dimension < 21 || (dimension & 0x03) != 1) { throw FormatException.getFormatInstance(); } this.bitMatrix = bitMatrix; } /** *

Reads format information from one of its two locations within the QR Code.

* * @return {@link FormatInformation} encapsulating the QR Code's format info * @throws FormatException if both format information locations cannot be parsed as * the valid encoding of format information */ FormatInformation readFormatInformation() throws FormatException { if (parsedFormatInfo != null) { return parsedFormatInfo; } // Read top-left format info bits int formatInfoBits1 = 0; for (int i = 0; i < 6; i++) { formatInfoBits1 = copyBit(i, 8, formatInfoBits1); } // .. and skip a bit in the timing pattern ... formatInfoBits1 = copyBit(7, 8, formatInfoBits1); formatInfoBits1 = copyBit(8, 8, formatInfoBits1); formatInfoBits1 = copyBit(8, 7, formatInfoBits1); // .. and skip a bit in the timing pattern ... for (int j = 5; j >= 0; j--) { formatInfoBits1 = copyBit(8, j, formatInfoBits1); } // Read the top-right/bottom-left pattern too int dimension = bitMatrix.getHeight(); int formatInfoBits2 = 0; int iMin = dimension - 8; for (int i = dimension - 1; i >= iMin; i--) { formatInfoBits2 = copyBit(i, 8, formatInfoBits2); } for (int j = dimension - 7; j < dimension; j++) { formatInfoBits2 = copyBit(8, j, formatInfoBits2); } parsedFormatInfo = FormatInformation.decodeFormatInformation(formatInfoBits1, formatInfoBits2); if (parsedFormatInfo != null) { return parsedFormatInfo; } throw FormatException.getFormatInstance(); } /** *

Reads version information from one of its two locations within the QR Code.

* * @return {@link Version} encapsulating the QR Code's version * @throws FormatException if both version information locations cannot be parsed as * the valid encoding of version information */ Version readVersion() throws FormatException { if (parsedVersion != null) { return parsedVersion; } int dimension = bitMatrix.getHeight(); int provisionalVersion = (dimension - 17) >> 2; if (provisionalVersion <= 6) { return Version.getVersionForNumber(provisionalVersion); } // Read top-right version info: 3 wide by 6 tall int versionBits = 0; int ijMin = dimension - 11; for (int j = 5; j >= 0; j--) { for (int i = dimension - 9; i >= ijMin; i--) { versionBits = copyBit(i, j, versionBits); } } parsedVersion = Version.decodeVersionInformation(versionBits); if (parsedVersion != null && parsedVersion.getDimensionForVersion() == dimension) { return parsedVersion; } // Hmm, failed. Try bottom left: 6 wide by 3 tall versionBits = 0; for (int i = 5; i >= 0; i--) { for (int j = dimension - 9; j >= ijMin; j--) { versionBits = copyBit(i, j, versionBits); } } parsedVersion = Version.decodeVersionInformation(versionBits); if (parsedVersion != null && parsedVersion.getDimensionForVersion() == dimension) { return parsedVersion; } throw FormatException.getFormatInstance(); } private int copyBit(int i, int j, int versionBits) { return bitMatrix.get(i, j) ? (versionBits << 1) | 0x1 : versionBits << 1; } /** *

Reads the bits in the {@link BitMatrix} representing the finder pattern in the * correct order in order to reconstitute the codewords bytes contained within the * QR Code.

* * @return bytes encoded within the QR Code * @throws FormatException if the exact number of bytes expected is not read */ byte[] readCodewords() throws FormatException { FormatInformation formatInfo = readFormatInformation(); Version version = readVersion(); // Get the data mask for the format used in this QR Code. This will exclude // some bits from reading as we wind through the bit matrix. DataMask dataMask = DataMask.forReference((int) formatInfo.getDataMask()); int dimension = bitMatrix.getHeight(); dataMask.unmaskBitMatrix(bitMatrix, dimension); BitMatrix functionPattern = version.buildFunctionPattern(); boolean readingUp = true; byte[] result = new byte[version.getTotalCodewords()]; int resultOffset = 0; int currentByte = 0; int bitsRead = 0; // Read columns in pairs, from right to left for (int j = dimension - 1; j > 0; j -= 2) { if (j == 6) { // Skip whole column with vertical alignment pattern; // saves time and makes the other code proceed more cleanly j--; } // Read alternatingly from bottom to top then top to bottom for (int count = 0; count < dimension; count++) { int i = readingUp ? dimension - 1 - count : count; for (int col = 0; col < 2; col++) { // Ignore bits covered by the function pattern if (!functionPattern.get(j - col, i)) { // Read a bit bitsRead++; currentByte <<= 1; if (bitMatrix.get(j - col, i)) { currentByte |= 1; } // If we've made a whole byte, save it off if (bitsRead == 8) { result[resultOffset++] = (byte) currentByte; bitsRead = 0; currentByte = 0; } } } } readingUp ^= true; // readingUp = !readingUp; // switch directions } if (resultOffset != version.getTotalCodewords()) { throw FormatException.getFormatInstance(); } return result; } }plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/qrcode/decoder/DataBlock.java000066400000000000000000000110711340005343600302500ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.qrcode.decoder; /** *

Encapsulates a block of data within a QR Code. QR Codes may split their data into * multiple blocks, each of which is a unit of data and error-correction codewords. Each * is represented by an instance of this class.

* * @author Sean Owen */ final class DataBlock { private final int numDataCodewords; private final byte[] codewords; private DataBlock(int numDataCodewords, byte[] codewords) { this.numDataCodewords = numDataCodewords; this.codewords = codewords; } /** *

When QR Codes use multiple data blocks, they are actually interleaved. * That is, the first byte of data block 1 to n is written, then the second bytes, and so on. This * method will separate the data into original blocks.

* * @param rawCodewords bytes as read directly from the QR Code * @param version version of the QR Code * @param ecLevel error-correction level of the QR Code * @return {@link DataBlock}s containing original bytes, "de-interleaved" from representation in the * QR Code */ static DataBlock[] getDataBlocks(byte[] rawCodewords, Version version, ErrorCorrectionLevel ecLevel) { if (rawCodewords.length != version.getTotalCodewords()) { throw new IllegalArgumentException(); } // Figure out the number and size of data blocks used by this version and // error correction level Version.ECBlocks ecBlocks = version.getECBlocksForLevel(ecLevel); // First count the total number of data blocks int totalBlocks = 0; Version.ECB[] ecBlockArray = ecBlocks.getECBlocks(); for (int i = 0; i < ecBlockArray.length; i++) { totalBlocks += ecBlockArray[i].getCount(); } // Now establish DataBlocks of the appropriate size and number of data codewords DataBlock[] result = new DataBlock[totalBlocks]; int numResultBlocks = 0; for (int j = 0; j < ecBlockArray.length; j++) { Version.ECB ecBlock = ecBlockArray[j]; for (int i = 0; i < ecBlock.getCount(); i++) { int numDataCodewords = ecBlock.getDataCodewords(); int numBlockCodewords = ecBlocks.getECCodewordsPerBlock() + numDataCodewords; result[numResultBlocks++] = new DataBlock(numDataCodewords, new byte[numBlockCodewords]); } } // All blocks have the same amount of data, except that the last n // (where n may be 0) have 1 more byte. Figure out where these start. int shorterBlocksTotalCodewords = result[0].codewords.length; int longerBlocksStartAt = result.length - 1; while (longerBlocksStartAt >= 0) { int numCodewords = result[longerBlocksStartAt].codewords.length; if (numCodewords == shorterBlocksTotalCodewords) { break; } longerBlocksStartAt--; } longerBlocksStartAt++; int shorterBlocksNumDataCodewords = shorterBlocksTotalCodewords - ecBlocks.getECCodewordsPerBlock(); // The last elements of result may be 1 element longer; // first fill out as many elements as all of them have int rawCodewordsOffset = 0; for (int i = 0; i < shorterBlocksNumDataCodewords; i++) { for (int j = 0; j < numResultBlocks; j++) { result[j].codewords[i] = rawCodewords[rawCodewordsOffset++]; } } // Fill out the last data block in the longer ones for (int j = longerBlocksStartAt; j < numResultBlocks; j++) { result[j].codewords[shorterBlocksNumDataCodewords] = rawCodewords[rawCodewordsOffset++]; } // Now add in error correction blocks int max = result[0].codewords.length; for (int i = shorterBlocksNumDataCodewords; i < max; i++) { for (int j = 0; j < numResultBlocks; j++) { int iOffset = j < longerBlocksStartAt ? i : i + 1; result[j].codewords[iOffset] = rawCodewords[rawCodewordsOffset++]; } } return result; } int getNumDataCodewords() { return numDataCodewords; } byte[] getCodewords() { return codewords; } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/qrcode/decoder/DataMask.java000066400000000000000000000103241340005343600301110ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.qrcode.decoder; import ext.plantuml.com.google.zxing.common.BitMatrix; /** *

Encapsulates data masks for the data bits in a QR code, per ISO 18004:2006 6.8. Implementations * of this class can un-mask a raw BitMatrix. For simplicity, they will unmask the entire BitMatrix, * including areas used for finder patterns, timing patterns, etc. These areas should be unused * after the point they are unmasked anyway.

* *

Note that the diagram in section 6.8.1 is misleading since it indicates that i is column position * and j is row position. In fact, as the text says, i is row position and j is column position.

* * @author Sean Owen */ abstract class DataMask { /** * See ISO 18004:2006 6.8.1 */ private static final DataMask[] DATA_MASKS = { new DataMask000(), new DataMask001(), new DataMask010(), new DataMask011(), new DataMask100(), new DataMask101(), new DataMask110(), new DataMask111(), }; private DataMask() { } /** *

Implementations of this method reverse the data masking process applied to a QR Code and * make its bits ready to read.

* * @param bits representation of QR Code bits * @param dimension dimension of QR Code, represented by bits, being unmasked */ final void unmaskBitMatrix(BitMatrix bits, int dimension) { for (int i = 0; i < dimension; i++) { for (int j = 0; j < dimension; j++) { if (isMasked(i, j)) { bits.flip(j, i); } } } } abstract boolean isMasked(int i, int j); /** * @param reference a value between 0 and 7 indicating one of the eight possible * data mask patterns a QR Code may use * @return {@link DataMask} encapsulating the data mask pattern */ static DataMask forReference(int reference) { if (reference < 0 || reference > 7) { throw new IllegalArgumentException(); } return DATA_MASKS[reference]; } /** * 000: mask bits for which (x + y) mod 2 == 0 */ private static class DataMask000 extends DataMask { boolean isMasked(int i, int j) { return ((i + j) & 0x01) == 0; } } /** * 001: mask bits for which x mod 2 == 0 */ private static class DataMask001 extends DataMask { boolean isMasked(int i, int j) { return (i & 0x01) == 0; } } /** * 010: mask bits for which y mod 3 == 0 */ private static class DataMask010 extends DataMask { boolean isMasked(int i, int j) { return j % 3 == 0; } } /** * 011: mask bits for which (x + y) mod 3 == 0 */ private static class DataMask011 extends DataMask { boolean isMasked(int i, int j) { return (i + j) % 3 == 0; } } /** * 100: mask bits for which (x/2 + y/3) mod 2 == 0 */ private static class DataMask100 extends DataMask { boolean isMasked(int i, int j) { return (((i >>> 1) + (j /3)) & 0x01) == 0; } } /** * 101: mask bits for which xy mod 2 + xy mod 3 == 0 */ private static class DataMask101 extends DataMask { boolean isMasked(int i, int j) { int temp = i * j; return (temp & 0x01) + (temp % 3) == 0; } } /** * 110: mask bits for which (xy mod 2 + xy mod 3) mod 2 == 0 */ private static class DataMask110 extends DataMask { boolean isMasked(int i, int j) { int temp = i * j; return (((temp & 0x01) + (temp % 3)) & 0x01) == 0; } } /** * 111: mask bits for which ((x+y)mod 2 + xy mod 3) mod 2 == 0 */ private static class DataMask111 extends DataMask { boolean isMasked(int i, int j) { return ((((i + j) & 0x01) + ((i * j) % 3)) & 0x01) == 0; } } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/qrcode/decoder/ErrorCorrectionLevel.java000066400000000000000000000043711340005343600325420ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.qrcode.decoder; /** *

See ISO 18004:2006, 6.5.1. This enum encapsulates the four error correction levels * defined by the QR code standard.

* * @author Sean Owen */ public final class ErrorCorrectionLevel { // No, we can't use an enum here. J2ME doesn't support it. /** * L = ~7% correction */ public static final ErrorCorrectionLevel L = new ErrorCorrectionLevel(0, 0x01, "L"); /** * M = ~15% correction */ public static final ErrorCorrectionLevel M = new ErrorCorrectionLevel(1, 0x00, "M"); /** * Q = ~25% correction */ public static final ErrorCorrectionLevel Q = new ErrorCorrectionLevel(2, 0x03, "Q"); /** * H = ~30% correction */ public static final ErrorCorrectionLevel H = new ErrorCorrectionLevel(3, 0x02, "H"); private static final ErrorCorrectionLevel[] FOR_BITS = {M, L, H, Q}; private final int ordinal; private final int bits; private final String name; private ErrorCorrectionLevel(int ordinal, int bits, String name) { this.ordinal = ordinal; this.bits = bits; this.name = name; } public int ordinal() { return ordinal; } public int getBits() { return bits; } public String getName() { return name; } public String toString() { return name; } /** * @param bits int containing the two bits encoding a QR Code's error correction level * @return {@link ErrorCorrectionLevel} representing the encoded error correction level */ public static ErrorCorrectionLevel forBits(int bits) { if (bits < 0 || bits >= FOR_BITS.length) { throw new IllegalArgumentException(); } return FOR_BITS[bits]; } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/qrcode/decoder/FormatInformation.java000066400000000000000000000127511340005343600320700ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.qrcode.decoder; /** *

Encapsulates a QR Code's format information, including the data mask used and * error correction level.

* * @author Sean Owen * @see DataMask * @see ErrorCorrectionLevel */ final class FormatInformation { private static final int FORMAT_INFO_MASK_QR = 0x5412; /** * See ISO 18004:2006, Annex C, Table C.1 */ private static final int[][] FORMAT_INFO_DECODE_LOOKUP = { {0x5412, 0x00}, {0x5125, 0x01}, {0x5E7C, 0x02}, {0x5B4B, 0x03}, {0x45F9, 0x04}, {0x40CE, 0x05}, {0x4F97, 0x06}, {0x4AA0, 0x07}, {0x77C4, 0x08}, {0x72F3, 0x09}, {0x7DAA, 0x0A}, {0x789D, 0x0B}, {0x662F, 0x0C}, {0x6318, 0x0D}, {0x6C41, 0x0E}, {0x6976, 0x0F}, {0x1689, 0x10}, {0x13BE, 0x11}, {0x1CE7, 0x12}, {0x19D0, 0x13}, {0x0762, 0x14}, {0x0255, 0x15}, {0x0D0C, 0x16}, {0x083B, 0x17}, {0x355F, 0x18}, {0x3068, 0x19}, {0x3F31, 0x1A}, {0x3A06, 0x1B}, {0x24B4, 0x1C}, {0x2183, 0x1D}, {0x2EDA, 0x1E}, {0x2BED, 0x1F}, }; /** * Offset i holds the number of 1 bits in the binary representation of i */ private static final int[] BITS_SET_IN_HALF_BYTE = {0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4}; private final ErrorCorrectionLevel errorCorrectionLevel; private final byte dataMask; private FormatInformation(int formatInfo) { // Bits 3,4 errorCorrectionLevel = ErrorCorrectionLevel.forBits((formatInfo >> 3) & 0x03); // Bottom 3 bits dataMask = (byte) (formatInfo & 0x07); } static int numBitsDiffering(int a, int b) { a ^= b; // a now has a 1 bit exactly where its bit differs with b's // Count bits set quickly with a series of lookups: return BITS_SET_IN_HALF_BYTE[a & 0x0F] + BITS_SET_IN_HALF_BYTE[(a >>> 4 & 0x0F)] + BITS_SET_IN_HALF_BYTE[(a >>> 8 & 0x0F)] + BITS_SET_IN_HALF_BYTE[(a >>> 12 & 0x0F)] + BITS_SET_IN_HALF_BYTE[(a >>> 16 & 0x0F)] + BITS_SET_IN_HALF_BYTE[(a >>> 20 & 0x0F)] + BITS_SET_IN_HALF_BYTE[(a >>> 24 & 0x0F)] + BITS_SET_IN_HALF_BYTE[(a >>> 28 & 0x0F)]; } /** * @param maskedFormatInfo1 format info indicator, with mask still applied * @param maskedFormatInfo2 second copy of same info; both are checked at the same time * to establish best match * @return information about the format it specifies, or null * if doesn't seem to match any known pattern */ static FormatInformation decodeFormatInformation(int maskedFormatInfo1, int maskedFormatInfo2) { FormatInformation formatInfo = doDecodeFormatInformation(maskedFormatInfo1, maskedFormatInfo2); if (formatInfo != null) { return formatInfo; } // Should return null, but, some QR codes apparently // do not mask this info. Try again by actually masking the pattern // first return doDecodeFormatInformation(maskedFormatInfo1 ^ FORMAT_INFO_MASK_QR, maskedFormatInfo2 ^ FORMAT_INFO_MASK_QR); } private static FormatInformation doDecodeFormatInformation(int maskedFormatInfo1, int maskedFormatInfo2) { // Find the int in FORMAT_INFO_DECODE_LOOKUP with fewest bits differing int bestDifference = Integer.MAX_VALUE; int bestFormatInfo = 0; for (int i = 0; i < FORMAT_INFO_DECODE_LOOKUP.length; i++) { int[] decodeInfo = FORMAT_INFO_DECODE_LOOKUP[i]; int targetInfo = decodeInfo[0]; if (targetInfo == maskedFormatInfo1 || targetInfo == maskedFormatInfo2) { // Found an exact match return new FormatInformation(decodeInfo[1]); } int bitsDifference = numBitsDiffering(maskedFormatInfo1, targetInfo); if (bitsDifference < bestDifference) { bestFormatInfo = decodeInfo[1]; bestDifference = bitsDifference; } if (maskedFormatInfo1 != maskedFormatInfo2) { // also try the other option bitsDifference = numBitsDiffering(maskedFormatInfo2, targetInfo); if (bitsDifference < bestDifference) { bestFormatInfo = decodeInfo[1]; bestDifference = bitsDifference; } } } // Hamming distance of the 32 masked codes is 7, by construction, so <= 3 bits // differing means we found a match if (bestDifference <= 3) { return new FormatInformation(bestFormatInfo); } return null; } ErrorCorrectionLevel getErrorCorrectionLevel() { return errorCorrectionLevel; } byte getDataMask() { return dataMask; } public int hashCode() { return (errorCorrectionLevel.ordinal() << 3) | (int) dataMask; } public boolean equals(Object o) { if (!(o instanceof FormatInformation)) { return false; } FormatInformation other = (FormatInformation) o; return this.errorCorrectionLevel == other.errorCorrectionLevel && this.dataMask == other.dataMask; } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/qrcode/decoder/Mode.java000066400000000000000000000070661340005343600273210ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.qrcode.decoder; /** *

See ISO 18004:2006, 6.4.1, Tables 2 and 3. This enum encapsulates the various modes in which * data can be encoded to bits in the QR code standard.

* * @author Sean Owen */ public final class Mode { // No, we can't use an enum here. J2ME doesn't support it. public static final Mode TERMINATOR = new Mode(new int[]{0, 0, 0}, 0x00, "TERMINATOR"); // Not really a mode... public static final Mode NUMERIC = new Mode(new int[]{10, 12, 14}, 0x01, "NUMERIC"); public static final Mode ALPHANUMERIC = new Mode(new int[]{9, 11, 13}, 0x02, "ALPHANUMERIC"); public static final Mode STRUCTURED_APPEND = new Mode(new int[]{0, 0, 0}, 0x03, "STRUCTURED_APPEND"); // Not supported public static final Mode BYTE = new Mode(new int[]{8, 16, 16}, 0x04, "BYTE"); public static final Mode ECI = new Mode(null, 0x07, "ECI"); // character counts don't apply public static final Mode KANJI = new Mode(new int[]{8, 10, 12}, 0x08, "KANJI"); public static final Mode FNC1_FIRST_POSITION = new Mode(null, 0x05, "FNC1_FIRST_POSITION"); public static final Mode FNC1_SECOND_POSITION = new Mode(null, 0x09, "FNC1_SECOND_POSITION"); private final int[] characterCountBitsForVersions; private final int bits; private final String name; private Mode(int[] characterCountBitsForVersions, int bits, String name) { this.characterCountBitsForVersions = characterCountBitsForVersions; this.bits = bits; this.name = name; } /** * @param bits four bits encoding a QR Code data mode * @return {@link Mode} encoded by these bits * @throws IllegalArgumentException if bits do not correspond to a known mode */ public static Mode forBits(int bits) { switch (bits) { case 0x0: return TERMINATOR; case 0x1: return NUMERIC; case 0x2: return ALPHANUMERIC; case 0x3: return STRUCTURED_APPEND; case 0x4: return BYTE; case 0x5: return FNC1_FIRST_POSITION; case 0x7: return ECI; case 0x8: return KANJI; case 0x9: return FNC1_SECOND_POSITION; default: throw new IllegalArgumentException(); } } /** * @param version version in question * @return number of bits used, in this QR Code symbol {@link Version}, to encode the * count of characters that will follow encoded in this {@link Mode} */ public int getCharacterCountBits(Version version) { if (characterCountBitsForVersions == null) { throw new IllegalArgumentException("Character count doesn't apply to this mode"); } int number = version.getVersionNumber(); int offset; if (number <= 9) { offset = 0; } else if (number <= 26) { offset = 1; } else { offset = 2; } return characterCountBitsForVersions[offset]; } public int getBits() { return bits; } public String getName() { return name; } public String toString() { return name; } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/qrcode/decoder/Version.java000066400000000000000000000523661340005343600300650ustar00rootroot00000000000000/* * Copyright 2007 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.qrcode.decoder; import ext.plantuml.com.google.zxing.FormatException; import ext.plantuml.com.google.zxing.common.BitMatrix; /** * See ISO 18004:2006 Annex D * * @author Sean Owen */ public final class Version { /** * See ISO 18004:2006 Annex D. * Element i represents the raw version bits that specify version i + 7 */ private static final int[] VERSION_DECODE_INFO = { 0x07C94, 0x085BC, 0x09A99, 0x0A4D3, 0x0BBF6, 0x0C762, 0x0D847, 0x0E60D, 0x0F928, 0x10B78, 0x1145D, 0x12A17, 0x13532, 0x149A6, 0x15683, 0x168C9, 0x177EC, 0x18EC4, 0x191E1, 0x1AFAB, 0x1B08E, 0x1CC1A, 0x1D33F, 0x1ED75, 0x1F250, 0x209D5, 0x216F0, 0x228BA, 0x2379F, 0x24B0B, 0x2542E, 0x26A64, 0x27541, 0x28C69 }; private static final Version[] VERSIONS = buildVersions(); private final int versionNumber; private final int[] alignmentPatternCenters; private final ECBlocks[] ecBlocks; private final int totalCodewords; private Version(int versionNumber, int[] alignmentPatternCenters, ECBlocks ecBlocks1, ECBlocks ecBlocks2, ECBlocks ecBlocks3, ECBlocks ecBlocks4) { this.versionNumber = versionNumber; this.alignmentPatternCenters = alignmentPatternCenters; this.ecBlocks = new ECBlocks[]{ecBlocks1, ecBlocks2, ecBlocks3, ecBlocks4}; int total = 0; int ecCodewords = ecBlocks1.getECCodewordsPerBlock(); ECB[] ecbArray = ecBlocks1.getECBlocks(); for (int i = 0; i < ecbArray.length; i++) { ECB ecBlock = ecbArray[i]; total += ecBlock.getCount() * (ecBlock.getDataCodewords() + ecCodewords); } this.totalCodewords = total; } public int getVersionNumber() { return versionNumber; } public int[] getAlignmentPatternCenters() { return alignmentPatternCenters; } public int getTotalCodewords() { return totalCodewords; } public int getDimensionForVersion() { return 17 + 4 * versionNumber; } public ECBlocks getECBlocksForLevel(ErrorCorrectionLevel ecLevel) { return ecBlocks[ecLevel.ordinal()]; } /** *

Deduces version information purely from QR Code dimensions.

* * @param dimension dimension in modules * @return {@link Version} for a QR Code of that dimension * @throws FormatException if dimension is not 1 mod 4 */ public static Version getProvisionalVersionForDimension(int dimension) throws FormatException { if (dimension % 4 != 1) { throw FormatException.getFormatInstance(); } try { return getVersionForNumber((dimension - 17) >> 2); } catch (IllegalArgumentException iae) { throw FormatException.getFormatInstance(); } } public static Version getVersionForNumber(int versionNumber) { if (versionNumber < 1 || versionNumber > 40) { throw new IllegalArgumentException(); } return VERSIONS[versionNumber - 1]; } static Version decodeVersionInformation(int versionBits) { int bestDifference = Integer.MAX_VALUE; int bestVersion = 0; for (int i = 0; i < VERSION_DECODE_INFO.length; i++) { int targetVersion = VERSION_DECODE_INFO[i]; // Do the version info bits match exactly? done. if (targetVersion == versionBits) { return getVersionForNumber(i + 7); } // Otherwise see if this is the closest to a real version info bit string // we have seen so far int bitsDifference = FormatInformation.numBitsDiffering(versionBits, targetVersion); if (bitsDifference < bestDifference) { bestVersion = i + 7; bestDifference = bitsDifference; } } // We can tolerate up to 3 bits of error since no two version info codewords will // differ in less than 8 bits. if (bestDifference <= 3) { return getVersionForNumber(bestVersion); } // If we didn't find a close enough match, fail return null; } /** * See ISO 18004:2006 Annex E */ BitMatrix buildFunctionPattern() { int dimension = getDimensionForVersion(); BitMatrix bitMatrix = new BitMatrix(dimension); // Top left finder pattern + separator + format bitMatrix.setRegion(0, 0, 9, 9); // Top right finder pattern + separator + format bitMatrix.setRegion(dimension - 8, 0, 8, 9); // Bottom left finder pattern + separator + format bitMatrix.setRegion(0, dimension - 8, 9, 8); // Alignment patterns int max = alignmentPatternCenters.length; for (int x = 0; x < max; x++) { int i = alignmentPatternCenters[x] - 2; for (int y = 0; y < max; y++) { if ((x == 0 && (y == 0 || y == max - 1)) || (x == max - 1 && y == 0)) { // No alignment patterns near the three finder paterns continue; } bitMatrix.setRegion(alignmentPatternCenters[y] - 2, i, 5, 5); } } // Vertical timing pattern bitMatrix.setRegion(6, 9, 1, dimension - 17); // Horizontal timing pattern bitMatrix.setRegion(9, 6, dimension - 17, 1); if (versionNumber > 6) { // Version info, top right bitMatrix.setRegion(dimension - 11, 0, 3, 6); // Version info, bottom left bitMatrix.setRegion(0, dimension - 11, 6, 3); } return bitMatrix; } /** *

Encapsulates a set of error-correction blocks in one symbol version. Most versions will * use blocks of differing sizes within one version, so, this encapsulates the parameters for * each set of blocks. It also holds the number of error-correction codewords per block since it * will be the same across all blocks within one version.

*/ public static final class ECBlocks { private final int ecCodewordsPerBlock; private final ECB[] ecBlocks; ECBlocks(int ecCodewordsPerBlock, ECB ecBlocks) { this.ecCodewordsPerBlock = ecCodewordsPerBlock; this.ecBlocks = new ECB[]{ecBlocks}; } ECBlocks(int ecCodewordsPerBlock, ECB ecBlocks1, ECB ecBlocks2) { this.ecCodewordsPerBlock = ecCodewordsPerBlock; this.ecBlocks = new ECB[]{ecBlocks1, ecBlocks2}; } public int getECCodewordsPerBlock() { return ecCodewordsPerBlock; } public int getNumBlocks() { int total = 0; for (int i = 0; i < ecBlocks.length; i++) { total += ecBlocks[i].getCount(); } return total; } public int getTotalECCodewords() { return ecCodewordsPerBlock * getNumBlocks(); } public ECB[] getECBlocks() { return ecBlocks; } } /** *

Encapsualtes the parameters for one error-correction block in one symbol version. * This includes the number of data codewords, and the number of times a block with these * parameters is used consecutively in the QR code version's format.

*/ public static final class ECB { private final int count; private final int dataCodewords; ECB(int count, int dataCodewords) { this.count = count; this.dataCodewords = dataCodewords; } public int getCount() { return count; } public int getDataCodewords() { return dataCodewords; } } public String toString() { return String.valueOf(versionNumber); } /** * See ISO 18004:2006 6.5.1 Table 9 */ private static Version[] buildVersions() { return new Version[]{ new Version(1, new int[]{}, new ECBlocks(7, new ECB(1, 19)), new ECBlocks(10, new ECB(1, 16)), new ECBlocks(13, new ECB(1, 13)), new ECBlocks(17, new ECB(1, 9))), new Version(2, new int[]{6, 18}, new ECBlocks(10, new ECB(1, 34)), new ECBlocks(16, new ECB(1, 28)), new ECBlocks(22, new ECB(1, 22)), new ECBlocks(28, new ECB(1, 16))), new Version(3, new int[]{6, 22}, new ECBlocks(15, new ECB(1, 55)), new ECBlocks(26, new ECB(1, 44)), new ECBlocks(18, new ECB(2, 17)), new ECBlocks(22, new ECB(2, 13))), new Version(4, new int[]{6, 26}, new ECBlocks(20, new ECB(1, 80)), new ECBlocks(18, new ECB(2, 32)), new ECBlocks(26, new ECB(2, 24)), new ECBlocks(16, new ECB(4, 9))), new Version(5, new int[]{6, 30}, new ECBlocks(26, new ECB(1, 108)), new ECBlocks(24, new ECB(2, 43)), new ECBlocks(18, new ECB(2, 15), new ECB(2, 16)), new ECBlocks(22, new ECB(2, 11), new ECB(2, 12))), new Version(6, new int[]{6, 34}, new ECBlocks(18, new ECB(2, 68)), new ECBlocks(16, new ECB(4, 27)), new ECBlocks(24, new ECB(4, 19)), new ECBlocks(28, new ECB(4, 15))), new Version(7, new int[]{6, 22, 38}, new ECBlocks(20, new ECB(2, 78)), new ECBlocks(18, new ECB(4, 31)), new ECBlocks(18, new ECB(2, 14), new ECB(4, 15)), new ECBlocks(26, new ECB(4, 13), new ECB(1, 14))), new Version(8, new int[]{6, 24, 42}, new ECBlocks(24, new ECB(2, 97)), new ECBlocks(22, new ECB(2, 38), new ECB(2, 39)), new ECBlocks(22, new ECB(4, 18), new ECB(2, 19)), new ECBlocks(26, new ECB(4, 14), new ECB(2, 15))), new Version(9, new int[]{6, 26, 46}, new ECBlocks(30, new ECB(2, 116)), new ECBlocks(22, new ECB(3, 36), new ECB(2, 37)), new ECBlocks(20, new ECB(4, 16), new ECB(4, 17)), new ECBlocks(24, new ECB(4, 12), new ECB(4, 13))), new Version(10, new int[]{6, 28, 50}, new ECBlocks(18, new ECB(2, 68), new ECB(2, 69)), new ECBlocks(26, new ECB(4, 43), new ECB(1, 44)), new ECBlocks(24, new ECB(6, 19), new ECB(2, 20)), new ECBlocks(28, new ECB(6, 15), new ECB(2, 16))), new Version(11, new int[]{6, 30, 54}, new ECBlocks(20, new ECB(4, 81)), new ECBlocks(30, new ECB(1, 50), new ECB(4, 51)), new ECBlocks(28, new ECB(4, 22), new ECB(4, 23)), new ECBlocks(24, new ECB(3, 12), new ECB(8, 13))), new Version(12, new int[]{6, 32, 58}, new ECBlocks(24, new ECB(2, 92), new ECB(2, 93)), new ECBlocks(22, new ECB(6, 36), new ECB(2, 37)), new ECBlocks(26, new ECB(4, 20), new ECB(6, 21)), new ECBlocks(28, new ECB(7, 14), new ECB(4, 15))), new Version(13, new int[]{6, 34, 62}, new ECBlocks(26, new ECB(4, 107)), new ECBlocks(22, new ECB(8, 37), new ECB(1, 38)), new ECBlocks(24, new ECB(8, 20), new ECB(4, 21)), new ECBlocks(22, new ECB(12, 11), new ECB(4, 12))), new Version(14, new int[]{6, 26, 46, 66}, new ECBlocks(30, new ECB(3, 115), new ECB(1, 116)), new ECBlocks(24, new ECB(4, 40), new ECB(5, 41)), new ECBlocks(20, new ECB(11, 16), new ECB(5, 17)), new ECBlocks(24, new ECB(11, 12), new ECB(5, 13))), new Version(15, new int[]{6, 26, 48, 70}, new ECBlocks(22, new ECB(5, 87), new ECB(1, 88)), new ECBlocks(24, new ECB(5, 41), new ECB(5, 42)), new ECBlocks(30, new ECB(5, 24), new ECB(7, 25)), new ECBlocks(24, new ECB(11, 12), new ECB(7, 13))), new Version(16, new int[]{6, 26, 50, 74}, new ECBlocks(24, new ECB(5, 98), new ECB(1, 99)), new ECBlocks(28, new ECB(7, 45), new ECB(3, 46)), new ECBlocks(24, new ECB(15, 19), new ECB(2, 20)), new ECBlocks(30, new ECB(3, 15), new ECB(13, 16))), new Version(17, new int[]{6, 30, 54, 78}, new ECBlocks(28, new ECB(1, 107), new ECB(5, 108)), new ECBlocks(28, new ECB(10, 46), new ECB(1, 47)), new ECBlocks(28, new ECB(1, 22), new ECB(15, 23)), new ECBlocks(28, new ECB(2, 14), new ECB(17, 15))), new Version(18, new int[]{6, 30, 56, 82}, new ECBlocks(30, new ECB(5, 120), new ECB(1, 121)), new ECBlocks(26, new ECB(9, 43), new ECB(4, 44)), new ECBlocks(28, new ECB(17, 22), new ECB(1, 23)), new ECBlocks(28, new ECB(2, 14), new ECB(19, 15))), new Version(19, new int[]{6, 30, 58, 86}, new ECBlocks(28, new ECB(3, 113), new ECB(4, 114)), new ECBlocks(26, new ECB(3, 44), new ECB(11, 45)), new ECBlocks(26, new ECB(17, 21), new ECB(4, 22)), new ECBlocks(26, new ECB(9, 13), new ECB(16, 14))), new Version(20, new int[]{6, 34, 62, 90}, new ECBlocks(28, new ECB(3, 107), new ECB(5, 108)), new ECBlocks(26, new ECB(3, 41), new ECB(13, 42)), new ECBlocks(30, new ECB(15, 24), new ECB(5, 25)), new ECBlocks(28, new ECB(15, 15), new ECB(10, 16))), new Version(21, new int[]{6, 28, 50, 72, 94}, new ECBlocks(28, new ECB(4, 116), new ECB(4, 117)), new ECBlocks(26, new ECB(17, 42)), new ECBlocks(28, new ECB(17, 22), new ECB(6, 23)), new ECBlocks(30, new ECB(19, 16), new ECB(6, 17))), new Version(22, new int[]{6, 26, 50, 74, 98}, new ECBlocks(28, new ECB(2, 111), new ECB(7, 112)), new ECBlocks(28, new ECB(17, 46)), new ECBlocks(30, new ECB(7, 24), new ECB(16, 25)), new ECBlocks(24, new ECB(34, 13))), new Version(23, new int[]{6, 30, 54, 78, 102}, new ECBlocks(30, new ECB(4, 121), new ECB(5, 122)), new ECBlocks(28, new ECB(4, 47), new ECB(14, 48)), new ECBlocks(30, new ECB(11, 24), new ECB(14, 25)), new ECBlocks(30, new ECB(16, 15), new ECB(14, 16))), new Version(24, new int[]{6, 28, 54, 80, 106}, new ECBlocks(30, new ECB(6, 117), new ECB(4, 118)), new ECBlocks(28, new ECB(6, 45), new ECB(14, 46)), new ECBlocks(30, new ECB(11, 24), new ECB(16, 25)), new ECBlocks(30, new ECB(30, 16), new ECB(2, 17))), new Version(25, new int[]{6, 32, 58, 84, 110}, new ECBlocks(26, new ECB(8, 106), new ECB(4, 107)), new ECBlocks(28, new ECB(8, 47), new ECB(13, 48)), new ECBlocks(30, new ECB(7, 24), new ECB(22, 25)), new ECBlocks(30, new ECB(22, 15), new ECB(13, 16))), new Version(26, new int[]{6, 30, 58, 86, 114}, new ECBlocks(28, new ECB(10, 114), new ECB(2, 115)), new ECBlocks(28, new ECB(19, 46), new ECB(4, 47)), new ECBlocks(28, new ECB(28, 22), new ECB(6, 23)), new ECBlocks(30, new ECB(33, 16), new ECB(4, 17))), new Version(27, new int[]{6, 34, 62, 90, 118}, new ECBlocks(30, new ECB(8, 122), new ECB(4, 123)), new ECBlocks(28, new ECB(22, 45), new ECB(3, 46)), new ECBlocks(30, new ECB(8, 23), new ECB(26, 24)), new ECBlocks(30, new ECB(12, 15), new ECB(28, 16))), new Version(28, new int[]{6, 26, 50, 74, 98, 122}, new ECBlocks(30, new ECB(3, 117), new ECB(10, 118)), new ECBlocks(28, new ECB(3, 45), new ECB(23, 46)), new ECBlocks(30, new ECB(4, 24), new ECB(31, 25)), new ECBlocks(30, new ECB(11, 15), new ECB(31, 16))), new Version(29, new int[]{6, 30, 54, 78, 102, 126}, new ECBlocks(30, new ECB(7, 116), new ECB(7, 117)), new ECBlocks(28, new ECB(21, 45), new ECB(7, 46)), new ECBlocks(30, new ECB(1, 23), new ECB(37, 24)), new ECBlocks(30, new ECB(19, 15), new ECB(26, 16))), new Version(30, new int[]{6, 26, 52, 78, 104, 130}, new ECBlocks(30, new ECB(5, 115), new ECB(10, 116)), new ECBlocks(28, new ECB(19, 47), new ECB(10, 48)), new ECBlocks(30, new ECB(15, 24), new ECB(25, 25)), new ECBlocks(30, new ECB(23, 15), new ECB(25, 16))), new Version(31, new int[]{6, 30, 56, 82, 108, 134}, new ECBlocks(30, new ECB(13, 115), new ECB(3, 116)), new ECBlocks(28, new ECB(2, 46), new ECB(29, 47)), new ECBlocks(30, new ECB(42, 24), new ECB(1, 25)), new ECBlocks(30, new ECB(23, 15), new ECB(28, 16))), new Version(32, new int[]{6, 34, 60, 86, 112, 138}, new ECBlocks(30, new ECB(17, 115)), new ECBlocks(28, new ECB(10, 46), new ECB(23, 47)), new ECBlocks(30, new ECB(10, 24), new ECB(35, 25)), new ECBlocks(30, new ECB(19, 15), new ECB(35, 16))), new Version(33, new int[]{6, 30, 58, 86, 114, 142}, new ECBlocks(30, new ECB(17, 115), new ECB(1, 116)), new ECBlocks(28, new ECB(14, 46), new ECB(21, 47)), new ECBlocks(30, new ECB(29, 24), new ECB(19, 25)), new ECBlocks(30, new ECB(11, 15), new ECB(46, 16))), new Version(34, new int[]{6, 34, 62, 90, 118, 146}, new ECBlocks(30, new ECB(13, 115), new ECB(6, 116)), new ECBlocks(28, new ECB(14, 46), new ECB(23, 47)), new ECBlocks(30, new ECB(44, 24), new ECB(7, 25)), new ECBlocks(30, new ECB(59, 16), new ECB(1, 17))), new Version(35, new int[]{6, 30, 54, 78, 102, 126, 150}, new ECBlocks(30, new ECB(12, 121), new ECB(7, 122)), new ECBlocks(28, new ECB(12, 47), new ECB(26, 48)), new ECBlocks(30, new ECB(39, 24), new ECB(14, 25)), new ECBlocks(30, new ECB(22, 15), new ECB(41, 16))), new Version(36, new int[]{6, 24, 50, 76, 102, 128, 154}, new ECBlocks(30, new ECB(6, 121), new ECB(14, 122)), new ECBlocks(28, new ECB(6, 47), new ECB(34, 48)), new ECBlocks(30, new ECB(46, 24), new ECB(10, 25)), new ECBlocks(30, new ECB(2, 15), new ECB(64, 16))), new Version(37, new int[]{6, 28, 54, 80, 106, 132, 158}, new ECBlocks(30, new ECB(17, 122), new ECB(4, 123)), new ECBlocks(28, new ECB(29, 46), new ECB(14, 47)), new ECBlocks(30, new ECB(49, 24), new ECB(10, 25)), new ECBlocks(30, new ECB(24, 15), new ECB(46, 16))), new Version(38, new int[]{6, 32, 58, 84, 110, 136, 162}, new ECBlocks(30, new ECB(4, 122), new ECB(18, 123)), new ECBlocks(28, new ECB(13, 46), new ECB(32, 47)), new ECBlocks(30, new ECB(48, 24), new ECB(14, 25)), new ECBlocks(30, new ECB(42, 15), new ECB(32, 16))), new Version(39, new int[]{6, 26, 54, 82, 110, 138, 166}, new ECBlocks(30, new ECB(20, 117), new ECB(4, 118)), new ECBlocks(28, new ECB(40, 47), new ECB(7, 48)), new ECBlocks(30, new ECB(43, 24), new ECB(22, 25)), new ECBlocks(30, new ECB(10, 15), new ECB(67, 16))), new Version(40, new int[]{6, 30, 58, 86, 114, 142, 170}, new ECBlocks(30, new ECB(19, 118), new ECB(6, 119)), new ECBlocks(28, new ECB(18, 47), new ECB(31, 48)), new ECBlocks(30, new ECB(34, 24), new ECB(34, 25)), new ECBlocks(30, new ECB(20, 15), new ECB(61, 16))) }; } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/qrcode/encoder/000077500000000000000000000000001340005343600255735ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/qrcode/encoder/BlockPair.java000066400000000000000000000020011340005343600302750ustar00rootroot00000000000000/* * Copyright 2008 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.qrcode.encoder; final class BlockPair { private final byte[] dataBytes; private final byte[] errorCorrectionBytes; BlockPair(byte[] data, byte[] errorCorrection) { dataBytes = data; errorCorrectionBytes = errorCorrection; } public byte[] getDataBytes() { return dataBytes; } public byte[] getErrorCorrectionBytes() { return errorCorrectionBytes; } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/qrcode/encoder/ByteMatrix.java000066400000000000000000000046201340005343600305300ustar00rootroot00000000000000/* * Copyright 2008 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.qrcode.encoder; /** * A class which wraps a 2D array of bytes. The default usage is signed. If you want to use it as a * unsigned container, it's up to you to do byteValue & 0xff at each location. * * JAVAPORT: The original code was a 2D array of ints, but since it only ever gets assigned * -1, 0, and 1, I'm going to use less memory and go with bytes. * * @author dswitkin@google.com (Daniel Switkin) */ public final class ByteMatrix { private final byte[][] bytes; private final int width; private final int height; public ByteMatrix(int width, int height) { bytes = new byte[height][width]; this.width = width; this.height = height; } public int getHeight() { return height; } public int getWidth() { return width; } public byte get(int x, int y) { return bytes[y][x]; } public byte[][] getArray() { return bytes; } public void set(int x, int y, byte value) { bytes[y][x] = value; } public void set(int x, int y, int value) { bytes[y][x] = (byte) value; } public void set(int x, int y, boolean value) { bytes[y][x] = (byte) (value ? 1 : 0); } public void clear(byte value) { for (int y = 0; y < height; ++y) { for (int x = 0; x < width; ++x) { bytes[y][x] = value; } } } public String toString() { StringBuffer result = new StringBuffer(2 * width * height + 2); for (int y = 0; y < height; ++y) { for (int x = 0; x < width; ++x) { switch (bytes[y][x]) { case 0: result.append(" 0"); break; case 1: result.append(" 1"); break; default: result.append(" "); break; } } result.append('\n'); } return result.toString(); } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/qrcode/encoder/Encoder.java000066400000000000000000000512141340005343600300200ustar00rootroot00000000000000/* * Copyright 2008 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.qrcode.encoder; import java.io.UnsupportedEncodingException; import java.util.Hashtable; import java.util.Vector; import ext.plantuml.com.google.zxing.EncodeHintType; import ext.plantuml.com.google.zxing.WriterException; import ext.plantuml.com.google.zxing.common.BitArray; import ext.plantuml.com.google.zxing.common.CharacterSetECI; import ext.plantuml.com.google.zxing.common.ECI; import ext.plantuml.com.google.zxing.common.reedsolomon.GF256; import ext.plantuml.com.google.zxing.common.reedsolomon.ReedSolomonEncoder; import ext.plantuml.com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; import ext.plantuml.com.google.zxing.qrcode.decoder.Mode; import ext.plantuml.com.google.zxing.qrcode.decoder.Version; /** * @author satorux@google.com (Satoru Takabayashi) - creator * @author dswitkin@google.com (Daniel Switkin) - ported from C++ */ public final class Encoder { // The original table is defined in the table 5 of JISX0510:2004 (p.19). private static final int[] ALPHANUMERIC_TABLE = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 0x00-0x0f -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 0x10-0x1f 36, -1, -1, -1, 37, 38, -1, -1, -1, -1, 39, 40, -1, 41, 42, 43, // 0x20-0x2f 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 44, -1, -1, -1, -1, -1, // 0x30-0x3f -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, // 0x40-0x4f 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, // 0x50-0x5f }; static final String DEFAULT_BYTE_MODE_ENCODING = "ISO-8859-1"; private Encoder() { } // The mask penalty calculation is complicated. See Table 21 of JISX0510:2004 (p.45) for details. // Basically it applies four rules and summate all penalties. private static int calculateMaskPenalty(ByteMatrix matrix) { int penalty = 0; penalty += MaskUtil.applyMaskPenaltyRule1(matrix); penalty += MaskUtil.applyMaskPenaltyRule2(matrix); penalty += MaskUtil.applyMaskPenaltyRule3(matrix); penalty += MaskUtil.applyMaskPenaltyRule4(matrix); return penalty; } /** * Encode "bytes" with the error correction level "ecLevel". The encoding mode will be chosen * internally by chooseMode(). On success, store the result in "qrCode". * * We recommend you to use QRCode.EC_LEVEL_L (the lowest level) for * "getECLevel" since our primary use is to show QR code on desktop screens. We don't need very * strong error correction for this purpose. * * Note that there is no way to encode bytes in MODE_KANJI. We might want to add EncodeWithMode() * with which clients can specify the encoding mode. For now, we don't need the functionality. */ public static void encode(String content, ErrorCorrectionLevel ecLevel, QRCode qrCode) throws WriterException { encode(content, ecLevel, null, qrCode); } public static void encode(String content, ErrorCorrectionLevel ecLevel, Hashtable hints, QRCode qrCode) throws WriterException { String encoding = hints == null ? null : (String) hints.get(EncodeHintType.CHARACTER_SET); if (encoding == null) { encoding = DEFAULT_BYTE_MODE_ENCODING; } // Step 1: Choose the mode (encoding). Mode mode = chooseMode(content, encoding); // Step 2: Append "bytes" into "dataBits" in appropriate encoding. BitArray dataBits = new BitArray(); appendBytes(content, mode, dataBits, encoding); // Step 3: Initialize QR code that can contain "dataBits". int numInputBytes = dataBits.getSizeInBytes(); initQRCode(numInputBytes, ecLevel, mode, qrCode); // Step 4: Build another bit vector that contains header and data. BitArray headerAndDataBits = new BitArray(); // Step 4.5: Append ECI message if applicable if (mode == Mode.BYTE && !DEFAULT_BYTE_MODE_ENCODING.equals(encoding)) { CharacterSetECI eci = CharacterSetECI.getCharacterSetECIByName(encoding); if (eci != null) { appendECI(eci, headerAndDataBits); } } appendModeInfo(mode, headerAndDataBits); int numLetters = mode.equals(Mode.BYTE) ? dataBits.getSizeInBytes() : content.length(); appendLengthInfo(numLetters, qrCode.getVersion(), mode, headerAndDataBits); headerAndDataBits.appendBitArray(dataBits); // Step 5: Terminate the bits properly. terminateBits(qrCode.getNumDataBytes(), headerAndDataBits); // Step 6: Interleave data bits with error correction code. BitArray finalBits = new BitArray(); interleaveWithECBytes(headerAndDataBits, qrCode.getNumTotalBytes(), qrCode.getNumDataBytes(), qrCode.getNumRSBlocks(), finalBits); // Step 7: Choose the mask pattern and set to "qrCode". ByteMatrix matrix = new ByteMatrix(qrCode.getMatrixWidth(), qrCode.getMatrixWidth()); qrCode.setMaskPattern(chooseMaskPattern(finalBits, qrCode.getECLevel(), qrCode.getVersion(), matrix)); // Step 8. Build the matrix and set it to "qrCode". MatrixUtil.buildMatrix(finalBits, qrCode.getECLevel(), qrCode.getVersion(), qrCode.getMaskPattern(), matrix); qrCode.setMatrix(matrix); // Step 9. Make sure we have a valid QR Code. if (!qrCode.isValid()) { throw new WriterException("Invalid QR code: " + qrCode.toString()); } } /** * @return the code point of the table used in alphanumeric mode or * -1 if there is no corresponding code in the table. */ static int getAlphanumericCode(int code) { if (code < ALPHANUMERIC_TABLE.length) { return ALPHANUMERIC_TABLE[code]; } return -1; } public static Mode chooseMode(String content) { return chooseMode(content, null); } /** * Choose the best mode by examining the content. Note that 'encoding' is used as a hint; * if it is Shift_JIS, and the input is only double-byte Kanji, then we return {@link Mode#KANJI}. */ public static Mode chooseMode(String content, String encoding) { if ("Shift_JIS".equals(encoding)) { // Choose Kanji mode if all input are double-byte characters return isOnlyDoubleByteKanji(content) ? Mode.KANJI : Mode.BYTE; } boolean hasNumeric = false; boolean hasAlphanumeric = false; for (int i = 0; i < content.length(); ++i) { char c = content.charAt(i); if (c >= '0' && c <= '9') { hasNumeric = true; } else if (getAlphanumericCode(c) != -1) { hasAlphanumeric = true; } else { return Mode.BYTE; } } if (hasAlphanumeric) { return Mode.ALPHANUMERIC; } else if (hasNumeric) { return Mode.NUMERIC; } return Mode.BYTE; } private static boolean isOnlyDoubleByteKanji(String content) { byte[] bytes; try { bytes = content.getBytes("Shift_JIS"); } catch (UnsupportedEncodingException uee) { return false; } int length = bytes.length; if (length % 2 != 0) { return false; } for (int i = 0; i < length; i += 2) { int byte1 = bytes[i] & 0xFF; if ((byte1 < 0x81 || byte1 > 0x9F) && (byte1 < 0xE0 || byte1 > 0xEB)) { return false; } } return true; } private static int chooseMaskPattern(BitArray bits, ErrorCorrectionLevel ecLevel, int version, ByteMatrix matrix) throws WriterException { int minPenalty = Integer.MAX_VALUE; // Lower penalty is better. int bestMaskPattern = -1; // We try all mask patterns to choose the best one. for (int maskPattern = 0; maskPattern < QRCode.NUM_MASK_PATTERNS; maskPattern++) { MatrixUtil.buildMatrix(bits, ecLevel, version, maskPattern, matrix); int penalty = calculateMaskPenalty(matrix); if (penalty < minPenalty) { minPenalty = penalty; bestMaskPattern = maskPattern; } } return bestMaskPattern; } /** * Initialize "qrCode" according to "numInputBytes", "ecLevel", and "mode". On success, * modify "qrCode". */ private static void initQRCode(int numInputBytes, ErrorCorrectionLevel ecLevel, Mode mode, QRCode qrCode) throws WriterException { qrCode.setECLevel(ecLevel); qrCode.setMode(mode); // In the following comments, we use numbers of Version 7-H. for (int versionNum = 1; versionNum <= 40; versionNum++) { Version version = Version.getVersionForNumber(versionNum); // numBytes = 196 int numBytes = version.getTotalCodewords(); // getNumECBytes = 130 Version.ECBlocks ecBlocks = version.getECBlocksForLevel(ecLevel); int numEcBytes = ecBlocks.getTotalECCodewords(); // getNumRSBlocks = 5 int numRSBlocks = ecBlocks.getNumBlocks(); // getNumDataBytes = 196 - 130 = 66 int numDataBytes = numBytes - numEcBytes; // We want to choose the smallest version which can contain data of "numInputBytes" + some // extra bits for the header (mode info and length info). The header can be three bytes // (precisely 4 + 16 bits) at most. Hence we do +3 here. if (numDataBytes >= numInputBytes + 3) { // Yay, we found the proper rs block info! qrCode.setVersion(versionNum); qrCode.setNumTotalBytes(numBytes); qrCode.setNumDataBytes(numDataBytes); qrCode.setNumRSBlocks(numRSBlocks); // getNumECBytes = 196 - 66 = 130 qrCode.setNumECBytes(numEcBytes); // matrix width = 21 + 6 * 4 = 45 qrCode.setMatrixWidth(version.getDimensionForVersion()); return; } } throw new WriterException("Cannot find proper rs block info (input data too big?)"); } /** * Terminate bits as described in 8.4.8 and 8.4.9 of JISX0510:2004 (p.24). */ static void terminateBits(int numDataBytes, BitArray bits) throws WriterException { int capacity = numDataBytes << 3; if (bits.getSize() > capacity) { throw new WriterException("data bits cannot fit in the QR Code" + bits.getSize() + " > " + capacity); } for (int i = 0; i < 4 && bits.getSize() < capacity; ++i) { bits.appendBit(false); } // Append termination bits. See 8.4.8 of JISX0510:2004 (p.24) for details. // If the last byte isn't 8-bit aligned, we'll add padding bits. int numBitsInLastByte = bits.getSize() & 0x07; if (numBitsInLastByte > 0) { for (int i = numBitsInLastByte; i < 8; i++) { bits.appendBit(false); } } // If we have more space, we'll fill the space with padding patterns defined in 8.4.9 (p.24). int numPaddingBytes = numDataBytes - bits.getSizeInBytes(); for (int i = 0; i < numPaddingBytes; ++i) { bits.appendBits(((i & 0x01) == 0) ? 0xEC : 0x11, 8); } if (bits.getSize() != capacity) { throw new WriterException("Bits size does not equal capacity"); } } /** * Get number of data bytes and number of error correction bytes for block id "blockID". Store * the result in "numDataBytesInBlock", and "numECBytesInBlock". See table 12 in 8.5.1 of * JISX0510:2004 (p.30) */ static void getNumDataBytesAndNumECBytesForBlockID(int numTotalBytes, int numDataBytes, int numRSBlocks, int blockID, int[] numDataBytesInBlock, int[] numECBytesInBlock) throws WriterException { if (blockID >= numRSBlocks) { throw new WriterException("Block ID too large"); } // numRsBlocksInGroup2 = 196 % 5 = 1 int numRsBlocksInGroup2 = numTotalBytes % numRSBlocks; // numRsBlocksInGroup1 = 5 - 1 = 4 int numRsBlocksInGroup1 = numRSBlocks - numRsBlocksInGroup2; // numTotalBytesInGroup1 = 196 / 5 = 39 int numTotalBytesInGroup1 = numTotalBytes / numRSBlocks; // numTotalBytesInGroup2 = 39 + 1 = 40 int numTotalBytesInGroup2 = numTotalBytesInGroup1 + 1; // numDataBytesInGroup1 = 66 / 5 = 13 int numDataBytesInGroup1 = numDataBytes / numRSBlocks; // numDataBytesInGroup2 = 13 + 1 = 14 int numDataBytesInGroup2 = numDataBytesInGroup1 + 1; // numEcBytesInGroup1 = 39 - 13 = 26 int numEcBytesInGroup1 = numTotalBytesInGroup1 - numDataBytesInGroup1; // numEcBytesInGroup2 = 40 - 14 = 26 int numEcBytesInGroup2 = numTotalBytesInGroup2 - numDataBytesInGroup2; // Sanity checks. // 26 = 26 if (numEcBytesInGroup1 != numEcBytesInGroup2) { throw new WriterException("EC bytes mismatch"); } // 5 = 4 + 1. if (numRSBlocks != numRsBlocksInGroup1 + numRsBlocksInGroup2) { throw new WriterException("RS blocks mismatch"); } // 196 = (13 + 26) * 4 + (14 + 26) * 1 if (numTotalBytes != ((numDataBytesInGroup1 + numEcBytesInGroup1) * numRsBlocksInGroup1) + ((numDataBytesInGroup2 + numEcBytesInGroup2) * numRsBlocksInGroup2)) { throw new WriterException("Total bytes mismatch"); } if (blockID < numRsBlocksInGroup1) { numDataBytesInBlock[0] = numDataBytesInGroup1; numECBytesInBlock[0] = numEcBytesInGroup1; } else { numDataBytesInBlock[0] = numDataBytesInGroup2; numECBytesInBlock[0] = numEcBytesInGroup2; } } /** * Interleave "bits" with corresponding error correction bytes. On success, store the result in * "result". The interleave rule is complicated. See 8.6 of JISX0510:2004 (p.37) for details. */ static void interleaveWithECBytes(BitArray bits, int numTotalBytes, int numDataBytes, int numRSBlocks, BitArray result) throws WriterException { // "bits" must have "getNumDataBytes" bytes of data. if (bits.getSizeInBytes() != numDataBytes) { throw new WriterException("Number of bits and data bytes does not match"); } // Step 1. Divide data bytes into blocks and generate error correction bytes for them. We'll // store the divided data bytes blocks and error correction bytes blocks into "blocks". int dataBytesOffset = 0; int maxNumDataBytes = 0; int maxNumEcBytes = 0; // Since, we know the number of reedsolmon blocks, we can initialize the vector with the number. Vector blocks = new Vector(numRSBlocks); for (int i = 0; i < numRSBlocks; ++i) { int[] numDataBytesInBlock = new int[1]; int[] numEcBytesInBlock = new int[1]; getNumDataBytesAndNumECBytesForBlockID( numTotalBytes, numDataBytes, numRSBlocks, i, numDataBytesInBlock, numEcBytesInBlock); int size = numDataBytesInBlock[0]; byte[] dataBytes = new byte[size]; bits.toBytes(8*dataBytesOffset, dataBytes, 0, size); byte[] ecBytes = generateECBytes(dataBytes, numEcBytesInBlock[0]); blocks.addElement(new BlockPair(dataBytes, ecBytes)); maxNumDataBytes = Math.max(maxNumDataBytes, size); maxNumEcBytes = Math.max(maxNumEcBytes, ecBytes.length); dataBytesOffset += numDataBytesInBlock[0]; } if (numDataBytes != dataBytesOffset) { throw new WriterException("Data bytes does not match offset"); } // First, place data blocks. for (int i = 0; i < maxNumDataBytes; ++i) { for (int j = 0; j < blocks.size(); ++j) { byte[] dataBytes = ((BlockPair) blocks.elementAt(j)).getDataBytes(); if (i < dataBytes.length) { result.appendBits(dataBytes[i], 8); } } } // Then, place error correction blocks. for (int i = 0; i < maxNumEcBytes; ++i) { for (int j = 0; j < blocks.size(); ++j) { byte[] ecBytes = ((BlockPair) blocks.elementAt(j)).getErrorCorrectionBytes(); if (i < ecBytes.length) { result.appendBits(ecBytes[i], 8); } } } if (numTotalBytes != result.getSizeInBytes()) { // Should be same. throw new WriterException("Interleaving error: " + numTotalBytes + " and " + result.getSizeInBytes() + " differ."); } } static byte[] generateECBytes(byte[] dataBytes, int numEcBytesInBlock) { int numDataBytes = dataBytes.length; int[] toEncode = new int[numDataBytes + numEcBytesInBlock]; for (int i = 0; i < numDataBytes; i++) { toEncode[i] = dataBytes[i] & 0xFF; } new ReedSolomonEncoder(GF256.QR_CODE_FIELD).encode(toEncode, numEcBytesInBlock); byte[] ecBytes = new byte[numEcBytesInBlock]; for (int i = 0; i < numEcBytesInBlock; i++) { ecBytes[i] = (byte) toEncode[numDataBytes + i]; } return ecBytes; } /** * Append mode info. On success, store the result in "bits". */ static void appendModeInfo(Mode mode, BitArray bits) { bits.appendBits(mode.getBits(), 4); } /** * Append length info. On success, store the result in "bits". */ static void appendLengthInfo(int numLetters, int version, Mode mode, BitArray bits) throws WriterException { int numBits = mode.getCharacterCountBits(Version.getVersionForNumber(version)); if (numLetters > ((1 << numBits) - 1)) { throw new WriterException(numLetters + "is bigger than" + ((1 << numBits) - 1)); } bits.appendBits(numLetters, numBits); } /** * Append "bytes" in "mode" mode (encoding) into "bits". On success, store the result in "bits". */ static void appendBytes(String content, Mode mode, BitArray bits, String encoding) throws WriterException { if (mode.equals(Mode.NUMERIC)) { appendNumericBytes(content, bits); } else if (mode.equals(Mode.ALPHANUMERIC)) { appendAlphanumericBytes(content, bits); } else if (mode.equals(Mode.BYTE)) { append8BitBytes(content, bits, encoding); } else if (mode.equals(Mode.KANJI)) { appendKanjiBytes(content, bits); } else { throw new WriterException("Invalid mode: " + mode); } } static void appendNumericBytes(String content, BitArray bits) { int length = content.length(); int i = 0; while (i < length) { int num1 = content.charAt(i) - '0'; if (i + 2 < length) { // Encode three numeric letters in ten bits. int num2 = content.charAt(i + 1) - '0'; int num3 = content.charAt(i + 2) - '0'; bits.appendBits(num1 * 100 + num2 * 10 + num3, 10); i += 3; } else if (i + 1 < length) { // Encode two numeric letters in seven bits. int num2 = content.charAt(i + 1) - '0'; bits.appendBits(num1 * 10 + num2, 7); i += 2; } else { // Encode one numeric letter in four bits. bits.appendBits(num1, 4); i++; } } } static void appendAlphanumericBytes(String content, BitArray bits) throws WriterException { int length = content.length(); int i = 0; while (i < length) { int code1 = getAlphanumericCode(content.charAt(i)); if (code1 == -1) { throw new WriterException(); } if (i + 1 < length) { int code2 = getAlphanumericCode(content.charAt(i + 1)); if (code2 == -1) { throw new WriterException(); } // Encode two alphanumeric letters in 11 bits. bits.appendBits(code1 * 45 + code2, 11); i += 2; } else { // Encode one alphanumeric letter in six bits. bits.appendBits(code1, 6); i++; } } } static void append8BitBytes(String content, BitArray bits, String encoding) throws WriterException { byte[] bytes; try { bytes = content.getBytes(encoding); } catch (UnsupportedEncodingException uee) { throw new WriterException(uee.toString()); } for (int i = 0; i < bytes.length; ++i) { bits.appendBits(bytes[i], 8); } } static void appendKanjiBytes(String content, BitArray bits) throws WriterException { byte[] bytes; try { bytes = content.getBytes("Shift_JIS"); } catch (UnsupportedEncodingException uee) { throw new WriterException(uee.toString()); } int length = bytes.length; for (int i = 0; i < length; i += 2) { int byte1 = bytes[i] & 0xFF; int byte2 = bytes[i + 1] & 0xFF; int code = (byte1 << 8) | byte2; int subtracted = -1; if (code >= 0x8140 && code <= 0x9ffc) { subtracted = code - 0x8140; } else if (code >= 0xe040 && code <= 0xebbf) { subtracted = code - 0xc140; } if (subtracted == -1) { throw new WriterException("Invalid byte sequence"); } int encoded = ((subtracted >> 8) * 0xc0) + (subtracted & 0xff); bits.appendBits(encoded, 13); } } private static void appendECI(ECI eci, BitArray bits) { bits.appendBits(Mode.ECI.getBits(), 4); // This is correct for values up to 127, which is all we need now. bits.appendBits(eci.getValue(), 8); } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/qrcode/encoder/MaskUtil.java000066400000000000000000000165261340005343600302010ustar00rootroot00000000000000/* * Copyright 2008 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.qrcode.encoder; /** * @author satorux@google.com (Satoru Takabayashi) - creator * @author dswitkin@google.com (Daniel Switkin) - ported from C++ */ public final class MaskUtil { private MaskUtil() { // do nothing } // Apply mask penalty rule 1 and return the penalty. Find repetitive cells with the same color and // give penalty to them. Example: 00000 or 11111. public static int applyMaskPenaltyRule1(ByteMatrix matrix) { return applyMaskPenaltyRule1Internal(matrix, true) + applyMaskPenaltyRule1Internal(matrix, false); } // Apply mask penalty rule 2 and return the penalty. Find 2x2 blocks with the same color and give // penalty to them. public static int applyMaskPenaltyRule2(ByteMatrix matrix) { int penalty = 0; byte[][] array = matrix.getArray(); int width = matrix.getWidth(); int height = matrix.getHeight(); for (int y = 0; y < height - 1; ++y) { for (int x = 0; x < width - 1; ++x) { int value = array[y][x]; if (value == array[y][x + 1] && value == array[y + 1][x] && value == array[y + 1][x + 1]) { penalty += 3; } } } return penalty; } // Apply mask penalty rule 3 and return the penalty. Find consecutive cells of 00001011101 or // 10111010000, and give penalty to them. If we find patterns like 000010111010000, we give // penalties twice (i.e. 40 * 2). public static int applyMaskPenaltyRule3(ByteMatrix matrix) { int penalty = 0; byte[][] array = matrix.getArray(); int width = matrix.getWidth(); int height = matrix.getHeight(); for (int y = 0; y < height; ++y) { for (int x = 0; x < width; ++x) { // Tried to simplify following conditions but failed. if (x + 6 < width && array[y][x] == 1 && array[y][x + 1] == 0 && array[y][x + 2] == 1 && array[y][x + 3] == 1 && array[y][x + 4] == 1 && array[y][x + 5] == 0 && array[y][x + 6] == 1 && ((x + 10 < width && array[y][x + 7] == 0 && array[y][x + 8] == 0 && array[y][x + 9] == 0 && array[y][x + 10] == 0) || (x - 4 >= 0 && array[y][x - 1] == 0 && array[y][x - 2] == 0 && array[y][x - 3] == 0 && array[y][x - 4] == 0))) { penalty += 40; } if (y + 6 < height && array[y][x] == 1 && array[y + 1][x] == 0 && array[y + 2][x] == 1 && array[y + 3][x] == 1 && array[y + 4][x] == 1 && array[y + 5][x] == 0 && array[y + 6][x] == 1 && ((y + 10 < height && array[y + 7][x] == 0 && array[y + 8][x] == 0 && array[y + 9][x] == 0 && array[y + 10][x] == 0) || (y - 4 >= 0 && array[y - 1][x] == 0 && array[y - 2][x] == 0 && array[y - 3][x] == 0 && array[y - 4][x] == 0))) { penalty += 40; } } } return penalty; } // Apply mask penalty rule 4 and return the penalty. Calculate the ratio of dark cells and give // penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance. Examples: // - 0% => 100 // - 40% => 20 // - 45% => 10 // - 50% => 0 // - 55% => 10 // - 55% => 20 // - 100% => 100 public static int applyMaskPenaltyRule4(ByteMatrix matrix) { int numDarkCells = 0; byte[][] array = matrix.getArray(); int width = matrix.getWidth(); int height = matrix.getHeight(); for (int y = 0; y < height; ++y) { for (int x = 0; x < width; ++x) { if (array[y][x] == 1) { numDarkCells += 1; } } } int numTotalCells = matrix.getHeight() * matrix.getWidth(); double darkRatio = (double) numDarkCells / numTotalCells; return Math.abs((int) (darkRatio * 100 - 50)) / 5 * 10; } // Return the mask bit for "getMaskPattern" at "x" and "y". See 8.8 of JISX0510:2004 for mask // pattern conditions. public static boolean getDataMaskBit(int maskPattern, int x, int y) { if (!QRCode.isValidMaskPattern(maskPattern)) { throw new IllegalArgumentException("Invalid mask pattern"); } int intermediate, temp; switch (maskPattern) { case 0: intermediate = (y + x) & 0x1; break; case 1: intermediate = y & 0x1; break; case 2: intermediate = x % 3; break; case 3: intermediate = (y + x) % 3; break; case 4: intermediate = ((y >>> 1) + (x / 3)) & 0x1; break; case 5: temp = y * x; intermediate = (temp & 0x1) + (temp % 3); break; case 6: temp = y * x; intermediate = (((temp & 0x1) + (temp % 3)) & 0x1); break; case 7: temp = y * x; intermediate = (((temp % 3) + ((y + x) & 0x1)) & 0x1); break; default: throw new IllegalArgumentException("Invalid mask pattern: " + maskPattern); } return intermediate == 0; } // Helper function for applyMaskPenaltyRule1. We need this for doing this calculation in both // vertical and horizontal orders respectively. private static int applyMaskPenaltyRule1Internal(ByteMatrix matrix, boolean isHorizontal) { int penalty = 0; int numSameBitCells = 0; int prevBit = -1; // Horizontal mode: // for (int i = 0; i < matrix.height(); ++i) { // for (int j = 0; j < matrix.width(); ++j) { // int bit = matrix.get(i, j); // Vertical mode: // for (int i = 0; i < matrix.width(); ++i) { // for (int j = 0; j < matrix.height(); ++j) { // int bit = matrix.get(j, i); int iLimit = isHorizontal ? matrix.getHeight() : matrix.getWidth(); int jLimit = isHorizontal ? matrix.getWidth() : matrix.getHeight(); byte[][] array = matrix.getArray(); for (int i = 0; i < iLimit; ++i) { for (int j = 0; j < jLimit; ++j) { int bit = isHorizontal ? array[i][j] : array[j][i]; if (bit == prevBit) { numSameBitCells += 1; // Found five repetitive cells with the same color (bit). // We'll give penalty of 3. if (numSameBitCells == 5) { penalty += 3; } else if (numSameBitCells > 5) { // After five repetitive cells, we'll add the penalty one // by one. penalty += 1; } } else { numSameBitCells = 1; // Include the cell itself. prevBit = bit; } } numSameBitCells = 0; // Clear at each row/column. } return penalty; } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/qrcode/encoder/MatrixUtil.java000066400000000000000000000472601340005343600305510ustar00rootroot00000000000000/* * Copyright 2008 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.qrcode.encoder; import ext.plantuml.com.google.zxing.WriterException; import ext.plantuml.com.google.zxing.common.BitArray; import ext.plantuml.com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; /** * @author satorux@google.com (Satoru Takabayashi) - creator * @author dswitkin@google.com (Daniel Switkin) - ported from C++ */ public final class MatrixUtil { private MatrixUtil() { // do nothing } private static final int[][] POSITION_DETECTION_PATTERN = { {1, 1, 1, 1, 1, 1, 1}, {1, 0, 0, 0, 0, 0, 1}, {1, 0, 1, 1, 1, 0, 1}, {1, 0, 1, 1, 1, 0, 1}, {1, 0, 1, 1, 1, 0, 1}, {1, 0, 0, 0, 0, 0, 1}, {1, 1, 1, 1, 1, 1, 1}, }; private static final int[][] HORIZONTAL_SEPARATION_PATTERN = { {0, 0, 0, 0, 0, 0, 0, 0}, }; private static final int[][] VERTICAL_SEPARATION_PATTERN = { {0}, {0}, {0}, {0}, {0}, {0}, {0}, }; private static final int[][] POSITION_ADJUSTMENT_PATTERN = { {1, 1, 1, 1, 1}, {1, 0, 0, 0, 1}, {1, 0, 1, 0, 1}, {1, 0, 0, 0, 1}, {1, 1, 1, 1, 1}, }; // From Appendix E. Table 1, JIS0510X:2004 (p 71). The table was double-checked by komatsu. private static final int[][] POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE = { {-1, -1, -1, -1, -1, -1, -1}, // Version 1 { 6, 18, -1, -1, -1, -1, -1}, // Version 2 { 6, 22, -1, -1, -1, -1, -1}, // Version 3 { 6, 26, -1, -1, -1, -1, -1}, // Version 4 { 6, 30, -1, -1, -1, -1, -1}, // Version 5 { 6, 34, -1, -1, -1, -1, -1}, // Version 6 { 6, 22, 38, -1, -1, -1, -1}, // Version 7 { 6, 24, 42, -1, -1, -1, -1}, // Version 8 { 6, 26, 46, -1, -1, -1, -1}, // Version 9 { 6, 28, 50, -1, -1, -1, -1}, // Version 10 { 6, 30, 54, -1, -1, -1, -1}, // Version 11 { 6, 32, 58, -1, -1, -1, -1}, // Version 12 { 6, 34, 62, -1, -1, -1, -1}, // Version 13 { 6, 26, 46, 66, -1, -1, -1}, // Version 14 { 6, 26, 48, 70, -1, -1, -1}, // Version 15 { 6, 26, 50, 74, -1, -1, -1}, // Version 16 { 6, 30, 54, 78, -1, -1, -1}, // Version 17 { 6, 30, 56, 82, -1, -1, -1}, // Version 18 { 6, 30, 58, 86, -1, -1, -1}, // Version 19 { 6, 34, 62, 90, -1, -1, -1}, // Version 20 { 6, 28, 50, 72, 94, -1, -1}, // Version 21 { 6, 26, 50, 74, 98, -1, -1}, // Version 22 { 6, 30, 54, 78, 102, -1, -1}, // Version 23 { 6, 28, 54, 80, 106, -1, -1}, // Version 24 { 6, 32, 58, 84, 110, -1, -1}, // Version 25 { 6, 30, 58, 86, 114, -1, -1}, // Version 26 { 6, 34, 62, 90, 118, -1, -1}, // Version 27 { 6, 26, 50, 74, 98, 122, -1}, // Version 28 { 6, 30, 54, 78, 102, 126, -1}, // Version 29 { 6, 26, 52, 78, 104, 130, -1}, // Version 30 { 6, 30, 56, 82, 108, 134, -1}, // Version 31 { 6, 34, 60, 86, 112, 138, -1}, // Version 32 { 6, 30, 58, 86, 114, 142, -1}, // Version 33 { 6, 34, 62, 90, 118, 146, -1}, // Version 34 { 6, 30, 54, 78, 102, 126, 150}, // Version 35 { 6, 24, 50, 76, 102, 128, 154}, // Version 36 { 6, 28, 54, 80, 106, 132, 158}, // Version 37 { 6, 32, 58, 84, 110, 136, 162}, // Version 38 { 6, 26, 54, 82, 110, 138, 166}, // Version 39 { 6, 30, 58, 86, 114, 142, 170}, // Version 40 }; // Type info cells at the left top corner. private static final int[][] TYPE_INFO_COORDINATES = { {8, 0}, {8, 1}, {8, 2}, {8, 3}, {8, 4}, {8, 5}, {8, 7}, {8, 8}, {7, 8}, {5, 8}, {4, 8}, {3, 8}, {2, 8}, {1, 8}, {0, 8}, }; // From Appendix D in JISX0510:2004 (p. 67) private static final int VERSION_INFO_POLY = 0x1f25; // 1 1111 0010 0101 // From Appendix C in JISX0510:2004 (p.65). private static final int TYPE_INFO_POLY = 0x537; private static final int TYPE_INFO_MASK_PATTERN = 0x5412; // Set all cells to -1. -1 means that the cell is empty (not set yet). // // JAVAPORT: We shouldn't need to do this at all. The code should be rewritten to begin encoding // with the ByteMatrix initialized all to zero. public static void clearMatrix(ByteMatrix matrix) { matrix.clear((byte) -1); } // Build 2D matrix of QR Code from "dataBits" with "ecLevel", "version" and "getMaskPattern". On // success, store the result in "matrix" and return true. public static void buildMatrix(BitArray dataBits, ErrorCorrectionLevel ecLevel, int version, int maskPattern, ByteMatrix matrix) throws WriterException { clearMatrix(matrix); embedBasicPatterns(version, matrix); // Type information appear with any version. embedTypeInfo(ecLevel, maskPattern, matrix); // Version info appear if version >= 7. maybeEmbedVersionInfo(version, matrix); // Data should be embedded at end. embedDataBits(dataBits, maskPattern, matrix); } // Embed basic patterns. On success, modify the matrix and return true. // The basic patterns are: // - Position detection patterns // - Timing patterns // - Dark dot at the left bottom corner // - Position adjustment patterns, if need be public static void embedBasicPatterns(int version, ByteMatrix matrix) throws WriterException { // Let's get started with embedding big squares at corners. embedPositionDetectionPatternsAndSeparators(matrix); // Then, embed the dark dot at the left bottom corner. embedDarkDotAtLeftBottomCorner(matrix); // Position adjustment patterns appear if version >= 2. maybeEmbedPositionAdjustmentPatterns(version, matrix); // Timing patterns should be embedded after position adj. patterns. embedTimingPatterns(matrix); } // Embed type information. On success, modify the matrix. public static void embedTypeInfo(ErrorCorrectionLevel ecLevel, int maskPattern, ByteMatrix matrix) throws WriterException { BitArray typeInfoBits = new BitArray(); makeTypeInfoBits(ecLevel, maskPattern, typeInfoBits); for (int i = 0; i < typeInfoBits.getSize(); ++i) { // Place bits in LSB to MSB order. LSB (least significant bit) is the last value in // "typeInfoBits". boolean bit = typeInfoBits.get(typeInfoBits.getSize() - 1 - i); // Type info bits at the left top corner. See 8.9 of JISX0510:2004 (p.46). int x1 = TYPE_INFO_COORDINATES[i][0]; int y1 = TYPE_INFO_COORDINATES[i][1]; matrix.set(x1, y1, bit); if (i < 8) { // Right top corner. int x2 = matrix.getWidth() - i - 1; int y2 = 8; matrix.set(x2, y2, bit); } else { // Left bottom corner. int x2 = 8; int y2 = matrix.getHeight() - 7 + (i - 8); matrix.set(x2, y2, bit); } } } // Embed version information if need be. On success, modify the matrix and return true. // See 8.10 of JISX0510:2004 (p.47) for how to embed version information. public static void maybeEmbedVersionInfo(int version, ByteMatrix matrix) throws WriterException { if (version < 7) { // Version info is necessary if version >= 7. return; // Don't need version info. } BitArray versionInfoBits = new BitArray(); makeVersionInfoBits(version, versionInfoBits); int bitIndex = 6 * 3 - 1; // It will decrease from 17 to 0. for (int i = 0; i < 6; ++i) { for (int j = 0; j < 3; ++j) { // Place bits in LSB (least significant bit) to MSB order. boolean bit = versionInfoBits.get(bitIndex); bitIndex--; // Left bottom corner. matrix.set(i, matrix.getHeight() - 11 + j, bit); // Right bottom corner. matrix.set(matrix.getHeight() - 11 + j, i, bit); } } } // Embed "dataBits" using "getMaskPattern". On success, modify the matrix and return true. // For debugging purposes, it skips masking process if "getMaskPattern" is -1. // See 8.7 of JISX0510:2004 (p.38) for how to embed data bits. public static void embedDataBits(BitArray dataBits, int maskPattern, ByteMatrix matrix) throws WriterException { int bitIndex = 0; int direction = -1; // Start from the right bottom cell. int x = matrix.getWidth() - 1; int y = matrix.getHeight() - 1; while (x > 0) { // Skip the vertical timing pattern. if (x == 6) { x -= 1; } while (y >= 0 && y < matrix.getHeight()) { for (int i = 0; i < 2; ++i) { int xx = x - i; // Skip the cell if it's not empty. if (!isEmpty(matrix.get(xx, y))) { continue; } boolean bit; if (bitIndex < dataBits.getSize()) { bit = dataBits.get(bitIndex); ++bitIndex; } else { // Padding bit. If there is no bit left, we'll fill the left cells with 0, as described // in 8.4.9 of JISX0510:2004 (p. 24). bit = false; } // Skip masking if mask_pattern is -1. if (maskPattern != -1) { if (MaskUtil.getDataMaskBit(maskPattern, xx, y)) { bit = !bit; } } matrix.set(xx, y, bit); } y += direction; } direction = -direction; // Reverse the direction. y += direction; x -= 2; // Move to the left. } // All bits should be consumed. if (bitIndex != dataBits.getSize()) { throw new WriterException("Not all bits consumed: " + bitIndex + '/' + dataBits.getSize()); } } // Return the position of the most significant bit set (to one) in the "value". The most // significant bit is position 32. If there is no bit set, return 0. Examples: // - findMSBSet(0) => 0 // - findMSBSet(1) => 1 // - findMSBSet(255) => 8 public static int findMSBSet(int value) { int numDigits = 0; while (value != 0) { value >>>= 1; ++numDigits; } return numDigits; } // Calculate BCH (Bose-Chaudhuri-Hocquenghem) code for "value" using polynomial "poly". The BCH // code is used for encoding type information and version information. // Example: Calculation of version information of 7. // f(x) is created from 7. // - 7 = 000111 in 6 bits // - f(x) = x^2 + x^1 + x^0 // g(x) is given by the standard (p. 67) // - g(x) = x^12 + x^11 + x^10 + x^9 + x^8 + x^5 + x^2 + 1 // Multiply f(x) by x^(18 - 6) // - f'(x) = f(x) * x^(18 - 6) // - f'(x) = x^14 + x^13 + x^12 // Calculate the remainder of f'(x) / g(x) // x^2 // __________________________________________________ // g(x) )x^14 + x^13 + x^12 // x^14 + x^13 + x^12 + x^11 + x^10 + x^7 + x^4 + x^2 // -------------------------------------------------- // x^11 + x^10 + x^7 + x^4 + x^2 // // The remainder is x^11 + x^10 + x^7 + x^4 + x^2 // Encode it in binary: 110010010100 // The return value is 0xc94 (1100 1001 0100) // // Since all coefficients in the polynomials are 1 or 0, we can do the calculation by bit // operations. We don't care if cofficients are positive or negative. public static int calculateBCHCode(int value, int poly) { // If poly is "1 1111 0010 0101" (version info poly), msbSetInPoly is 13. We'll subtract 1 // from 13 to make it 12. int msbSetInPoly = findMSBSet(poly); value <<= msbSetInPoly - 1; // Do the division business using exclusive-or operations. while (findMSBSet(value) >= msbSetInPoly) { value ^= poly << (findMSBSet(value) - msbSetInPoly); } // Now the "value" is the remainder (i.e. the BCH code) return value; } // Make bit vector of type information. On success, store the result in "bits" and return true. // Encode error correction level and mask pattern. See 8.9 of // JISX0510:2004 (p.45) for details. public static void makeTypeInfoBits(ErrorCorrectionLevel ecLevel, int maskPattern, BitArray bits) throws WriterException { if (!QRCode.isValidMaskPattern(maskPattern)) { throw new WriterException("Invalid mask pattern"); } int typeInfo = (ecLevel.getBits() << 3) | maskPattern; bits.appendBits(typeInfo, 5); int bchCode = calculateBCHCode(typeInfo, TYPE_INFO_POLY); bits.appendBits(bchCode, 10); BitArray maskBits = new BitArray(); maskBits.appendBits(TYPE_INFO_MASK_PATTERN, 15); bits.xor(maskBits); if (bits.getSize() != 15) { // Just in case. throw new WriterException("should not happen but we got: " + bits.getSize()); } } // Make bit vector of version information. On success, store the result in "bits" and return true. // See 8.10 of JISX0510:2004 (p.45) for details. public static void makeVersionInfoBits(int version, BitArray bits) throws WriterException { bits.appendBits(version, 6); int bchCode = calculateBCHCode(version, VERSION_INFO_POLY); bits.appendBits(bchCode, 12); if (bits.getSize() != 18) { // Just in case. throw new WriterException("should not happen but we got: " + bits.getSize()); } } // Check if "value" is empty. private static boolean isEmpty(int value) { return value == -1; } // Check if "value" is valid. private static boolean isValidValue(int value) { return (value == -1 || // Empty. value == 0 || // Light (white). value == 1); // Dark (black). } private static void embedTimingPatterns(ByteMatrix matrix) throws WriterException { // -8 is for skipping position detection patterns (size 7), and two horizontal/vertical // separation patterns (size 1). Thus, 8 = 7 + 1. for (int i = 8; i < matrix.getWidth() - 8; ++i) { int bit = (i + 1) % 2; // Horizontal line. if (!isValidValue(matrix.get(i, 6))) { throw new WriterException(); } if (isEmpty(matrix.get(i, 6))) { matrix.set(i, 6, bit); } // Vertical line. if (!isValidValue(matrix.get(6, i))) { throw new WriterException(); } if (isEmpty(matrix.get(6, i))) { matrix.set(6, i, bit); } } } // Embed the lonely dark dot at left bottom corner. JISX0510:2004 (p.46) private static void embedDarkDotAtLeftBottomCorner(ByteMatrix matrix) throws WriterException { if (matrix.get(8, matrix.getHeight() - 8) == 0) { throw new WriterException(); } matrix.set(8, matrix.getHeight() - 8, 1); } private static void embedHorizontalSeparationPattern(int xStart, int yStart, ByteMatrix matrix) throws WriterException { // We know the width and height. if (HORIZONTAL_SEPARATION_PATTERN[0].length != 8 || HORIZONTAL_SEPARATION_PATTERN.length != 1) { throw new WriterException("Bad horizontal separation pattern"); } for (int x = 0; x < 8; ++x) { if (!isEmpty(matrix.get(xStart + x, yStart))) { throw new WriterException(); } matrix.set(xStart + x, yStart, HORIZONTAL_SEPARATION_PATTERN[0][x]); } } private static void embedVerticalSeparationPattern(int xStart, int yStart, ByteMatrix matrix) throws WriterException { // We know the width and height. if (VERTICAL_SEPARATION_PATTERN[0].length != 1 || VERTICAL_SEPARATION_PATTERN.length != 7) { throw new WriterException("Bad vertical separation pattern"); } for (int y = 0; y < 7; ++y) { if (!isEmpty(matrix.get(xStart, yStart + y))) { throw new WriterException(); } matrix.set(xStart, yStart + y, VERTICAL_SEPARATION_PATTERN[y][0]); } } // Note that we cannot unify the function with embedPositionDetectionPattern() despite they are // almost identical, since we cannot write a function that takes 2D arrays in different sizes in // C/C++. We should live with the fact. private static void embedPositionAdjustmentPattern(int xStart, int yStart, ByteMatrix matrix) throws WriterException { // We know the width and height. if (POSITION_ADJUSTMENT_PATTERN[0].length != 5 || POSITION_ADJUSTMENT_PATTERN.length != 5) { throw new WriterException("Bad position adjustment"); } for (int y = 0; y < 5; ++y) { for (int x = 0; x < 5; ++x) { if (!isEmpty(matrix.get(xStart + x, yStart + y))) { throw new WriterException(); } matrix.set(xStart + x, yStart + y, POSITION_ADJUSTMENT_PATTERN[y][x]); } } } private static void embedPositionDetectionPattern(int xStart, int yStart, ByteMatrix matrix) throws WriterException { // We know the width and height. if (POSITION_DETECTION_PATTERN[0].length != 7 || POSITION_DETECTION_PATTERN.length != 7) { throw new WriterException("Bad position detection pattern"); } for (int y = 0; y < 7; ++y) { for (int x = 0; x < 7; ++x) { if (!isEmpty(matrix.get(xStart + x, yStart + y))) { throw new WriterException(); } matrix.set(xStart + x, yStart + y, POSITION_DETECTION_PATTERN[y][x]); } } } // Embed position detection patterns and surrounding vertical/horizontal separators. private static void embedPositionDetectionPatternsAndSeparators(ByteMatrix matrix) throws WriterException { // Embed three big squares at corners. int pdpWidth = POSITION_DETECTION_PATTERN[0].length; // Left top corner. embedPositionDetectionPattern(0, 0, matrix); // Right top corner. embedPositionDetectionPattern(matrix.getWidth() - pdpWidth, 0, matrix); // Left bottom corner. embedPositionDetectionPattern(0, matrix.getWidth() - pdpWidth, matrix); // Embed horizontal separation patterns around the squares. int hspWidth = HORIZONTAL_SEPARATION_PATTERN[0].length; // Left top corner. embedHorizontalSeparationPattern(0, hspWidth - 1, matrix); // Right top corner. embedHorizontalSeparationPattern(matrix.getWidth() - hspWidth, hspWidth - 1, matrix); // Left bottom corner. embedHorizontalSeparationPattern(0, matrix.getWidth() - hspWidth, matrix); // Embed vertical separation patterns around the squares. int vspSize = VERTICAL_SEPARATION_PATTERN.length; // Left top corner. embedVerticalSeparationPattern(vspSize, 0, matrix); // Right top corner. embedVerticalSeparationPattern(matrix.getHeight() - vspSize - 1, 0, matrix); // Left bottom corner. embedVerticalSeparationPattern(vspSize, matrix.getHeight() - vspSize, matrix); } // Embed position adjustment patterns if need be. private static void maybeEmbedPositionAdjustmentPatterns(int version, ByteMatrix matrix) throws WriterException { if (version < 2) { // The patterns appear if version >= 2 return; } int index = version - 1; int[] coordinates = POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE[index]; int numCoordinates = POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE[index].length; for (int i = 0; i < numCoordinates; ++i) { for (int j = 0; j < numCoordinates; ++j) { int y = coordinates[i]; int x = coordinates[j]; if (x == -1 || y == -1) { continue; } // If the cell is unset, we embed the position adjustment pattern here. if (isEmpty(matrix.get(x, y))) { // -2 is necessary since the x/y coordinates point to the center of the pattern, not the // left top corner. embedPositionAdjustmentPattern(x - 2, y - 2, matrix); } } } } } plantuml-1.2018.13+ds/src/ext/plantuml/com/google/zxing/qrcode/encoder/QRCode.java000066400000000000000000000144651340005343600275650ustar00rootroot00000000000000/* * Copyright 2008 ZXing authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ext.plantuml.com.google.zxing.qrcode.encoder; import ext.plantuml.com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; import ext.plantuml.com.google.zxing.qrcode.decoder.Mode; /** * @author satorux@google.com (Satoru Takabayashi) - creator * @author dswitkin@google.com (Daniel Switkin) - ported from C++ */ public final class QRCode { public static final int NUM_MASK_PATTERNS = 8; private Mode mode; private ErrorCorrectionLevel ecLevel; private int version; private int matrixWidth; private int maskPattern; private int numTotalBytes; private int numDataBytes; private int numECBytes; private int numRSBlocks; private ByteMatrix matrix; public QRCode() { mode = null; ecLevel = null; version = -1; matrixWidth = -1; maskPattern = -1; numTotalBytes = -1; numDataBytes = -1; numECBytes = -1; numRSBlocks = -1; matrix = null; } // Mode of the QR Code. public Mode getMode() { return mode; } // Error correction level of the QR Code. public ErrorCorrectionLevel getECLevel() { return ecLevel; } // Version of the QR Code. The bigger size, the bigger version. public int getVersion() { return version; } // ByteMatrix width of the QR Code. public int getMatrixWidth() { return matrixWidth; } // Mask pattern of the QR Code. public int getMaskPattern() { return maskPattern; } // Number of total bytes in the QR Code. public int getNumTotalBytes() { return numTotalBytes; } // Number of data bytes in the QR Code. public int getNumDataBytes() { return numDataBytes; } // Number of error correction bytes in the QR Code. public int getNumECBytes() { return numECBytes; } // Number of Reedsolomon blocks in the QR Code. public int getNumRSBlocks() { return numRSBlocks; } // ByteMatrix data of the QR Code. public ByteMatrix getMatrix() { return matrix; } // Return the value of the module (cell) pointed by "x" and "y" in the matrix of the QR Code. They // call cells in the matrix "modules". 1 represents a black cell, and 0 represents a white cell. public int at(int x, int y) { // The value must be zero or one. int value = matrix.get(x, y); if (!(value == 0 || value == 1)) { // this is really like an assert... not sure what better exception to use? throw new RuntimeException("Bad value"); } return value; } // Checks all the member variables are set properly. Returns true on success. Otherwise, returns // false. public boolean isValid() { return // First check if all version are not uninitialized. mode != null && ecLevel != null && version != -1 && matrixWidth != -1 && maskPattern != -1 && numTotalBytes != -1 && numDataBytes != -1 && numECBytes != -1 && numRSBlocks != -1 && // Then check them in other ways.. isValidMaskPattern(maskPattern) && numTotalBytes == numDataBytes + numECBytes && // ByteMatrix stuff. matrix != null && matrixWidth == matrix.getWidth() && // See 7.3.1 of JISX0510:2004 (p.5). matrix.getWidth() == matrix.getHeight(); // Must be square. } // Return debug String. public String toString() { StringBuffer result = new StringBuffer(200); result.append("<<\n"); result.append(" mode: "); result.append(mode); result.append("\n ecLevel: "); result.append(ecLevel); result.append("\n version: "); result.append(version); result.append("\n matrixWidth: "); result.append(matrixWidth); result.append("\n maskPattern: "); result.append(maskPattern); result.append("\n numTotalBytes: "); result.append(numTotalBytes); result.append("\n numDataBytes: "); result.append(numDataBytes); result.append("\n numECBytes: "); result.append(numECBytes); result.append("\n numRSBlocks: "); result.append(numRSBlocks); if (matrix == null) { result.append("\n matrix: null\n"); } else { result.append("\n matrix:\n"); result.append(matrix.toString()); } result.append(">>\n"); return result.toString(); } public void setMode(Mode value) { mode = value; } public void setECLevel(ErrorCorrectionLevel value) { ecLevel = value; } public void setVersion(int value) { version = value; } public void setMatrixWidth(int value) { matrixWidth = value; } public void setMaskPattern(int value) { maskPattern = value; } public void setNumTotalBytes(int value) { numTotalBytes = value; } public void setNumDataBytes(int value) { numDataBytes = value; } public void setNumECBytes(int value) { numECBytes = value; } public void setNumRSBlocks(int value) { numRSBlocks = value; } // This takes ownership of the 2D array. public void setMatrix(ByteMatrix value) { matrix = value; } // Check if "mask_pattern" is valid. public static boolean isValidMaskPattern(int maskPattern) { return maskPattern >= 0 && maskPattern < NUM_MASK_PATTERNS; } // Return true if the all values in the matrix are binary numbers. // // JAVAPORT: This is going to be super expensive and unnecessary, we should not call this in // production. I'm leaving it because it may be useful for testing. It should be removed entirely // if ByteMatrix is changed never to contain a -1. /* private static boolean EverythingIsBinary(final ByteMatrix matrix) { for (int y = 0; y < matrix.height(); ++y) { for (int x = 0; x < matrix.width(); ++x) { int value = matrix.get(y, x); if (!(value == 0 || value == 1)) { // Found non zero/one value. return false; } } } return true; } */ } plantuml-1.2018.13+ds/src/gen/000077500000000000000000000000001340005343600156235ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/gen/lib/000077500000000000000000000000001340005343600163715ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/gen/lib/cdt/000077500000000000000000000000001340005343600171435ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/gen/lib/cdt/dtclose__c.java000066400000000000000000000105061340005343600221060ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cdt; import static gen.lib.cdt.dtsize__c.dtsize_; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import h.ST_dt_s; import h.ST_dtdisc_s; import smetana.core.Memory; public class dtclose__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //3 7ggbhlblmrfr1wq1k20npwyxb // int dtclose(register Dt_t* dt) public static int dtclose(ST_dt_s dt) { ENTERING("7ggbhlblmrfr1wq1k20npwyxb","dtclose"); try { ST_dtdisc_s disc; int ev = 0; if(N(dt) || dt.nview > 0 ) /* can't close if being viewed */ return -1; /* announce the close event to see if we should continue */ disc = (ST_dtdisc_s) dt.disc; if(disc.eventf!=null && (ev = (Integer)disc.eventf.exe(dt, 2, null, disc)) < 0) return -1; if(dt.view!=null) /* turn off viewing */ UNSUPPORTED("1xbo7gf92fmqmu2tzpfeuc0wk"); // dtview(dt,((Dt_t*)0)); if(ev == 0) /* release all allocated data */ { dt.meth.searchf.exe(dt, null, 0000100); if(dtsize_(dt) > 0) return -1; if(dt.data.ntab > 0) UNSUPPORTED("4ugmcpi8vkb013vuo4wykn0a3"); // (*dt->memoryf)(dt,(void*)dt->data->hh._htab,0,disc); dt.memoryf.exe(dt, dt.data, null, disc); } if(dt.type == 0) Memory.free(dt); else if(ev == 0 && dt.type == 1) UNSUPPORTED("6wqxv1f7tzvjk0lwmqdrcq8la"); // (*dt->memoryf)(dt, (void*)dt, 0, disc); if(disc.eventf!=null) UNSUPPORTED("8bce06bdd64ypwb17ddloqzu8"); // (void)(*disc->eventf)(dt, 6, ((void*)0), disc); return 0; } finally { LEAVING("7ggbhlblmrfr1wq1k20npwyxb","dtclose"); } } } plantuml-1.2018.13+ds/src/gen/lib/cdt/dtdisc__c.java000066400000000000000000000165531340005343600217330ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cdt; import static gen.lib.cdt.dtflatten__c.dtflatten; import static gen.lib.cdt.dtrestore__c.dtrestore; import static smetana.core.JUtils.function; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import h.Dtsearch_f; import h.ST_dt_s; import h.ST_dtdisc_s; import h.ST_dtlink_s; import smetana.core.CString; import smetana.core.Memory; import smetana.core.size_t; public class dtdisc__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //3 507t9jcy6v9twvl30rs9i2nwi // static void* dtmemory(Dt_t* dt,void* addr,size_t size,Dtdisc_t* disc) public static Object dtmemory(ST_dt_s dt, Object addr, size_t size, ST_dtdisc_s disc) { ENTERING("507t9jcy6v9twvl30rs9i2nwi","dtmemory"); try { if(addr!=null) { if(size == null) { Memory.free(addr); return null; } UNSUPPORTED("9ed8imo9cbvwtwe92qmavoqko"); // else return realloc(addr,size); } else return size.isStrictPositive() ? size.malloc() : null; throw new UnsupportedOperationException(); } finally { LEAVING("507t9jcy6v9twvl30rs9i2nwi","dtmemory"); } } //3 axpvuswclmi9bx3qtlh4quyah // Dtdisc_t* dtdisc(Dt_t* dt, Dtdisc_t* disc, int type) public static ST_dtdisc_s dtdisc(ST_dt_s dt, ST_dtdisc_s disc, int type) { ENTERING("axpvuswclmi9bx3qtlh4quyah","dtdisc"); try { Dtsearch_f searchf; ST_dtlink_s r, t; CString k; ST_dtdisc_s old; if(N(old = (ST_dtdisc_s) dt.disc) ) /* initialization call from dtopen() */ { dt.setPtr("disc", disc); if(N(dt.setPtr("memoryf", disc.memoryf ))) dt.setPtr("memoryf", function(dtdisc__c.class, "dtmemory")); return disc; } if(N(disc)) /* only want to know current discipline */ return old; searchf = (Dtsearch_f) dt.meth.searchf; if((dt.data.type&010000)!=0) dtrestore(dt,null); if(old.eventf!=null && ((Integer)old.eventf.exe(dt,3, disc,old)) < 0) return null; dt.setPtr("disc", disc); if(N(dt.setPtr("memoryf", disc.memoryf))) dt.setPtr("memoryf", function(dtdisc__c.class, "dtmemory")); if((dt.data.type&(0000040|0000100|0000020))!=0) UNSUPPORTED("e2tzh95k1lvjl6wbtpwizam8q"); // goto done; else if((dt.data.type&0000002)!=0) { UNSUPPORTED("3q5nyguq8mgdfwmm0yrzq2br8"); // if(type&0000002) UNSUPPORTED("93q6zqzlgfz2qd0yl6koyw99c"); // goto done; UNSUPPORTED("6d1rfacssm8768oz9fu5o66t8"); // else goto dt_renew; } else if((dt.data.type&(0000001|0000002))!=0) { UNSUPPORTED("8xmm1djjds55s86jodixkp72u"); // if((type&0000002) && (type&0000001)) UNSUPPORTED("93q6zqzlgfz2qd0yl6koyw99c"); // goto done; UNSUPPORTED("6d1rfacssm8768oz9fu5o66t8"); // else goto dt_renew; } else /*if(dt->data->type&(DT_OSET|DT_OBAG))*/ { if((type&0000001)!=0) UNSUPPORTED("93q6zqzlgfz2qd0yl6koyw99c"); // goto done; // dt_renew: r = dtflatten(dt); UNSUPPORTED("1rry7yjzos90pgbf3li2qpa18"); // dt->data->type &= ~010000; UNSUPPORTED("6vkn7padspfbtju9g5b65b34w"); // dt->data->here = ((Dtlink_t*)0); UNSUPPORTED("2jfi30wa60xp7iqlk9yyf4k5j"); // dt->data->size = 0; UNSUPPORTED("1i3oayy7gy36lar9kfhuq6rur"); // if(dt->data->type&(0000001|0000002)) UNSUPPORTED("ay51d19gimt3gpqjact2t0ypm"); // { register Dtlink_t **s, **ends; UNSUPPORTED("5p6g054kk7snvpwuxudelseir"); // ends = (s = dt->data->hh._htab) + dt->data->ntab; UNSUPPORTED("3zu1r6orkvmsvbjbzqqx9wedr"); // while(s < ends) UNSUPPORTED("9wq8eycc78fg8sqi6bjce4q7f"); // *s++ = ((Dtlink_t*)0); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("3rfhc462a0qx53yecw933hkk8"); // /* reinsert them */ UNSUPPORTED("ctmfjzioo5q7mzsmb6rf9mxoy"); // while(r) UNSUPPORTED("9qxb0eqp3ujnnuum1bggqarjh"); // { t = r->right; UNSUPPORTED("ddltpk94i08fyy6x03ozyc7s1"); // if(!(type&0000002)) /* new hash value */ UNSUPPORTED("8mj2vd7idro90tjnvl6b9trnc"); // { k = (char*)(disc->link < 0 ? ((Dthold_t*)(r))->obj : (void*)((char*)(r) - disc->link) ); UNSUPPORTED("1dvo2602az1wcigxx20czskv9"); // k = (void*)(disc->size < 0 ? *((char**)((char*)((void*)k)+disc->key)) : ((char*)((void*)k)+disc->key)); UNSUPPORTED("269t5qi8m2ujfjvmbqvyjvr1s"); // r->hl._hash = (disc->hashf ? (*disc->hashf)(dt,k,disc) : dtstrhash(0,k,disc->size) ); UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("2e2tx3ch32oxo5y01bflgbf2h"); // (void)(*searchf)(dt,(void*)r,0000040); UNSUPPORTED("8tob14cb9u9q0mnud0wovaioi"); // r = t; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cerydbb7i6l7c4pgeygvwoqk2"); // done: UNSUPPORTED("bi0p581nen18ypj0ey48s6ete"); // return old; } throw new UnsupportedOperationException(); } finally { LEAVING("axpvuswclmi9bx3qtlh4quyah","dtdisc"); } } } plantuml-1.2018.13+ds/src/gen/lib/cdt/dtextract__c.java000066400000000000000000000076001340005343600224540ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cdt; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_dt_s; import h.ST_dtlink_s; public class dtextract__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //3 ar89jjwhuitmbhut1o3ft3zpb // Dtlink_t* dtextract(register Dt_t* dt) public static ST_dtlink_s dtextract(ST_dt_s dt) { ENTERING("ar89jjwhuitmbhut1o3ft3zpb","dtextract"); try { ST_dtlink_s list = null; ST_dtlink_s s[], ends[]; if((dt.data.type&(0000004|0000010) )!=0) list = (ST_dtlink_s) dt.data.here; else if((dt.data.type&(0000001|0000002))!=0) { UNSUPPORTED("list = dtflatten(dt)"); UNSUPPORTED("8i2mufw9f604gvj48u8nbdazp"); // for(ends = (s = dt->data->hh._htab) + dt->data->ntab; s < ends; ++s) UNSUPPORTED("4sml4zdr938yth6x815jt1dlm"); // *s = ((Dtlink_t*)0); } else /*if(dt->data->type&(DT_LIST|DT_STACK|DT_QUEUE))*/ { list = (ST_dtlink_s) dt.data._head; dt.data._head = null; } dt.data.setInt("type", dt.data.type & ~010000); dt.data.setInt("size", 0); dt.data.here = null; return list; } finally { LEAVING("ar89jjwhuitmbhut1o3ft3zpb","dtextract"); } } } plantuml-1.2018.13+ds/src/gen/lib/cdt/dtflatten__c.java000066400000000000000000000131751340005343600224430ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cdt; import static smetana.core.Macro.UNSUPPORTED; import h.ST_dt_s; import h.ST_dtlink_s; public class dtflatten__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //3 5zkzkycgp4e90pajuq4tczdbu // Dtlink_t* dtflatten(Dt_t* dt) public static ST_dtlink_s dtflatten(ST_dt_s dt) { UNSUPPORTED("1u9gaaespn5nsfpluy23yon7s"); // Dtlink_t* dtflatten(Dt_t* dt) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("82qvflv3akadrlktyouix927i"); // register Dtlink_t *t, *r, *list, *last, **s, **ends; UNSUPPORTED("3ku8njvyle1rle6f9ipn7rggg"); // /* already flattened */ UNSUPPORTED("88rit68bon46m42ei6oby73oo"); // if(dt->data->type&010000 ) UNSUPPORTED("d43szif4rveu1dyhv72xv101u"); // return dt->data->here; UNSUPPORTED("1se1h7w1gasp0ag8tisjl5pox"); // list = last = ((Dtlink_t*)0); UNSUPPORTED("32ow9kmsxf47y1h17vyj3ef11"); // if(dt->data->type&(0000001|0000002)) UNSUPPORTED("9tn2ho5yddz96m6l7hzk1m1v7"); // { for(ends = (s = dt->data->hh._htab) + dt->data->ntab; s < ends; ++s) UNSUPPORTED("5n6odtt738etawc5nprf2q25r"); // { if((t = *s) ) UNSUPPORTED("7bsf06vm0raykokk6wn5303yf"); // { if(last) UNSUPPORTED("9albzpygbxkhbrb2e3af7z7b9"); // last->right = t; UNSUPPORTED("3flwmlcisbdjifpiw5azq841e"); // else list = last = t; UNSUPPORTED("1pn5heoey2lil0muuixlrz154"); // while(last->right) UNSUPPORTED("14t2izprf2nq8tnxy4yre0zso"); // last = last->right; UNSUPPORTED("bgkf4krgjdc0kzlz7de3kbj2u"); // *s = last; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2lqxby7q5n5w5w5uuujup7o8a"); // else if(dt->data->type&(0000020|0000040|0000100) ) UNSUPPORTED("13uczemwz6rongidozoryhb8e"); // list = dt->data->hh._head; UNSUPPORTED("6amw1s4wntui27fzf3qls02u5"); // else if((r = dt->data->here) ) /*if(dt->data->type&(DT_OSET|DT_OBAG))*/ UNSUPPORTED("solulu57qiizpqhr11tmch0h"); // { while((t = r->hl._left) ) UNSUPPORTED("em247yaxylt9wh0lfmqk531iy"); // (((r)->hl._left = (t)->right, (t)->right = (r)), (r) = (t)); UNSUPPORTED("6ggr0z59qqyosbseo6wdmvkc3"); // for(list = last = r, r = r->right; r; last = r, r = r->right) UNSUPPORTED("2jldxtvoid7uy4yqdouts2ysu"); // { if((t = r->hl._left) ) UNSUPPORTED("ecb7vosojs9ov68ty9m0hzegp"); // { do (((r)->hl._left = (t)->right, (t)->right = (r)), (r) = (t)); UNSUPPORTED("f2e7di1g7bvt88336jnz0ogd5"); // while((t = r->hl._left) ); UNSUPPORTED("dol9o0lco748q0ap9l7afdbcs"); // last->right = r; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("e880ypqj4mv8ru940eyjo5ene"); // dt->data->here = list; UNSUPPORTED("8hv4u1n328awal8yfoqykdhxi"); // dt->data->type |= 010000; UNSUPPORTED("bq8fdnp0ptlj82raupu7egafd"); // return list; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cdt/dthash__c.java000066400000000000000000000601631340005343600217300ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cdt; import static smetana.core.Macro.UNSUPPORTED; public class dthash__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //3 7akctm4caciv9haxdk4zlrwu2 // static void dthtab(Dt_t* dt) public static Object dthtab(Object... arg) { UNSUPPORTED("2d2m2vzj4zvzgd4r2zn2s1kqn"); // static void dthtab(Dt_t* dt) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dmm9rj1e4gzk6xftk0ezcsact"); // register Dtlink_t *t, *r, *p, **s, **hs, **is, **olds; UNSUPPORTED("54n8pasotrjhynrhaueagwuhz"); // int n, k; UNSUPPORTED("axpkyw9uz8rvnmklligok2e2f"); // if(dt->data->minp > 0 && dt->data->ntab > 0) /* fixed table size */ UNSUPPORTED("6bj8inpmr5ulm16jmfxsstjtn"); // return; UNSUPPORTED("2eqdiqvcsxis68sccmci5sslk"); // dt->data->minp = 0; UNSUPPORTED("74tln6sb3yrn1nfwgllf1vfj1"); // n = dt->data->ntab; UNSUPPORTED("6bgqjnz4t47feeoy1br9ew29p"); // if(dt->disc && dt->disc->eventf && UNSUPPORTED("cr75vmjji1xsei24agv44wqxh"); // (*dt->disc->eventf)(dt, 7, &n, dt->disc) > 0 ) UNSUPPORTED("4jwe6txgxjvpban5zstx09mx8"); // { if(n < 0) /* fix table size */ UNSUPPORTED("7chn136gsjv69n13yovn16f3b"); // { dt->data->minp = 1; UNSUPPORTED("4dlk72qfzjf2r39ukyq7yzfyp"); // if(dt->data->ntab > 0 ) UNSUPPORTED("49xixhkg85008801z87qmxkgl"); // return; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("7yuj23uvw15fcmez2o1pzkjrl"); // else /* set a particular size */ UNSUPPORTED("14rrn3w4adtaiolijjyulmjsn"); // { for(k = 2; k < n; k *= 2) UNSUPPORTED("8c0hnggfgcchqp0vr4bwobm4t"); // ; UNSUPPORTED("dvmpnz9ncerzmb5v8gidr7eis"); // n = k; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("932vaq51fbf5l8i420kesqfg0"); // else n = 0; UNSUPPORTED("bh1ire4hwludcleecmxv0smag"); // /* compute new table size */ UNSUPPORTED("abhbgzrg4q5z2vkoed72su98y"); // if(n <= 0) UNSUPPORTED("dab3gyaa9l6c1zsdv75gwesrh"); // { if((n = dt->data->ntab) == 0) UNSUPPORTED("4021uenum9y6sgeuboex8d0on"); // n = (256); UNSUPPORTED("c1uorlajtkwlvx1a2h6ajr0bp"); // while(dt->data->size > ((n) << 1)) UNSUPPORTED("99wvpps4p28ykwrtq32whiwrd"); // n = ((n) << 1); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("b2ppghcwec8d3i5y20q5cibn2"); // if(n == dt->data->ntab) UNSUPPORTED("6bj8inpmr5ulm16jmfxsstjtn"); // return; UNSUPPORTED("ui70t5x7lzm4cg4q5hqswo74"); // /* allocate new table */ UNSUPPORTED("710t2p2pi32z07r1o6a8imf9j"); // olds = dt->data->ntab == 0 ? ((Dtlink_t**)0) : dt->data->hh._htab; UNSUPPORTED("400z1yutimeajug4gd8t0opt6"); // if(!(s = (Dtlink_t**)(*dt->memoryf)(dt,olds,n*sizeof(Dtlink_t*),dt->disc)) ) UNSUPPORTED("6bj8inpmr5ulm16jmfxsstjtn"); // return; UNSUPPORTED("a4y1edr0vk9beqab7n7td6s29"); // olds = s + dt->data->ntab; UNSUPPORTED("2rycm855gyv5lww7scwom17j3"); // dt->data->hh._htab = s; UNSUPPORTED("duhcyhub67fpfsay0dkflcxt6"); // dt->data->ntab = n; UNSUPPORTED("7ksrj2u284dwkngf2km9jg4xj"); // /* rehash elements */ UNSUPPORTED("1hz692vbawik1ma02xl4o6i21"); // for(hs = s+n-1; hs >= olds; --hs) UNSUPPORTED("s5sbwingw26r7aehxbc0ii4z"); // *hs = ((Dtlink_t*)0); UNSUPPORTED("9ymwe2szhthzd4w5m4zv4jag6"); // for(hs = s; hs < olds; ++hs) UNSUPPORTED("clyaoquug0nyscqmgfstnd3um"); // { for(p = ((Dtlink_t*)0), t = *hs; t; t = r) UNSUPPORTED("ccbd2da5hrf94txyeadl64rj4"); // { r = t->right; UNSUPPORTED("84b31s29uevgnrutqi5beo35a"); // if((is = s + ((t->hl._hash)&((n)-1))) == hs) UNSUPPORTED("59zqwaqjkez5xrkcft9rm1ddg"); // p = t; UNSUPPORTED("9cm22gi5ztcly2xp8i8bnnrq0"); // else /* move to a new chain */ UNSUPPORTED("apvgwu04dgxcsjo6z3uw5k0mn"); // { if(p) UNSUPPORTED("boivlg1vuin099locovgrmxuy"); // p->right = r; UNSUPPORTED("340ftcld884g4rid6m0z4sco1"); // else *hs = r; UNSUPPORTED("8tchzpmze0ll3y75ehijf6rye"); // t->right = *is; *is = t; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 78zfgu6jzim09d5xvj1qs9bk0 // static void* dthash(Dt_t* dt, register void* obj, int type) public static Object dthash(Object... arg) { UNSUPPORTED("95hr4hrc6nbqqdqdce5tg8l5p"); // static void* dthash(Dt_t* dt, register void* obj, int type) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dfpfp02iblqj4mzvjx0fueyhf"); // register Dtlink_t *t, *r, *p; UNSUPPORTED("283qljx9jxfsqlak87k7jg5ny"); // register void *k, *key; UNSUPPORTED("59o4ibfersjospolmfoujpzrx"); // register unsigned int hsh; UNSUPPORTED("660kbsr1gj2c3whxtgelujyj1"); // register int lk, sz, ky; UNSUPPORTED("d7uh8kuvwiwc4dkgh3xeqa7o"); // register Dtcompar_f cmpf; UNSUPPORTED("boylfimuhvbo4nqzby3ew5tld"); // register Dtdisc_t* disc; UNSUPPORTED("9sfwn5sp00p82cc2ivzw480ta"); // register Dtlink_t **s, **ends; UNSUPPORTED("ckjxpmega2z5oju8xk72wsy0q"); // ((dt->data->type&010000) ? dtrestore(dt,((Dtlink_t*)0)) : 0); UNSUPPORTED("5ggzdi5wqxinikmv0anb4peay"); // /* initialize discipline data */ UNSUPPORTED("a9vwj28gsu58hp4ocpvno985d"); // disc = dt->disc; (ky = disc->key, sz = disc->size, lk = disc->link, cmpf = disc->comparf); UNSUPPORTED("dpg99ryukgexcc5n31wdbvraz"); // dt->type &= ~0100000; UNSUPPORTED("e4rxlgclvydwuznpw7rk0rksa"); // if(!obj) UNSUPPORTED("8htaux93kinbjvm9ooz891eng"); // { if(type&(0000010|0000020)) UNSUPPORTED("6hku2pc4tqgui5evf317yqvfm"); // goto end_walk; UNSUPPORTED("1v2lqr5htt1euj04jfa98gjdv"); // if(dt->data->size <= 0 || !(type&(0000100|0000200|0000400)) ) UNSUPPORTED("aihzmr4oo3tuh6kkxwtn9tlbd"); // return ((void*)0); UNSUPPORTED("24ilchev6xpf5y6z34hqa9glk"); // ends = (s = dt->data->hh._htab) + dt->data->ntab; UNSUPPORTED("92nrnv2rh044z4gtldl61vus0"); // if(type&0000100) UNSUPPORTED("dhfqwls50q72zxh2fxlvobk33"); // { /* clean out all objects */ UNSUPPORTED("5vi45e0h8c9ymrwgqotzsu9t1"); // for(; s < ends; ++s) UNSUPPORTED("6pj3i74r6sowp2uu910mr4yg"); // { t = *s; UNSUPPORTED("6155l1hofhfyspasyb3ahizbd"); // *s = ((Dtlink_t*)0); UNSUPPORTED("9jtw72qjx20vdh59dfe1phhyr"); // if(!disc->freef && disc->link >= 0) UNSUPPORTED("6cgu609p2i9fp9atj1fw3s5cy"); // continue; UNSUPPORTED("4y5ojoi4p0ic91exb1rfs9s86"); // while(t) UNSUPPORTED("amls96qnaqczr04p9eg8uyu6l"); // { r = t->right; UNSUPPORTED("9la822tbyggyiqojilsi237uo"); // if(disc->freef) UNSUPPORTED("3idn1ydm0vaxkb4b0mv2tez2s"); // (*disc->freef)(dt,(lk < 0 ? ((Dthold_t*)(t))->obj : (void*)((char*)(t) - lk) ),disc); UNSUPPORTED("7hdvwe89xp5vg9m4l8lpmgvap"); // if(disc->link < 0) UNSUPPORTED("6km3uqqb8gzn7n83vngsax7up"); // (*dt->memoryf)(dt,(void*)t,0,disc); UNSUPPORTED("3fq4aglnc1p3fjid7sxse643h"); // t = r; UNSUPPORTED("cysnuxd51taci3hbg5lifz8ce"); // } UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("3joovo5f92ue2fnvked57dbbi"); // dt->data->here = ((Dtlink_t*)0); UNSUPPORTED("196oh3ma81y2lao0qwcvuwvga"); // dt->data->size = 0; UNSUPPORTED("8kl1r7cphdbs40t2grhkyhall"); // dt->data->loop = 0; UNSUPPORTED("aihzmr4oo3tuh6kkxwtn9tlbd"); // return ((void*)0); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("9sifrmemn97t14u5b9ib87dh3"); // else /* computing the first/last object */ UNSUPPORTED("2oievk2z0s9n8fqc9ug1sbb6p"); // { t = ((Dtlink_t*)0); UNSUPPORTED("ems59hbo02yf35j3szsgvnu3p"); // while(s < ends && !t ) UNSUPPORTED("6smbnv0v11g3t6zcnn0gw1cb1"); // t = (type&0000400) ? *--ends : *s++; UNSUPPORTED("7kk99glk5rm9xs40c8htgo3k"); // if(t && (type&0000400)) UNSUPPORTED("40b46zexoifo1zv4zz3pqip7m"); // for(; t->right; t = t->right) UNSUPPORTED("6f76030mwgybzczalesd54a9q"); // ; UNSUPPORTED("194sa4x6u6hxxh2wes9ola1wt"); // dt->data->loop += 1; UNSUPPORTED("cqadxs0pgykzd2tkrn18wef8"); // dt->data->here = t; UNSUPPORTED("2txpn83o34o6qwamy2wb7757o"); // return t ? (lk < 0 ? ((Dthold_t*)(t))->obj : (void*)((char*)(t) - lk) ) : ((void*)0); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("7klmk5043gbxzy2n25b5d1dz6"); // /* allow apps to delete an object "actually" in the dictionary */ UNSUPPORTED("dt29n4tw5mutzyr4fm34jru8t"); // if(dt->meth->type == 0000002 && (type&(0000002|0010000)) ) UNSUPPORTED("7sbjzi3lqgrnk2dukj4saoqhr"); // { if(!(*(((Dt_t*)(dt))->searchf))((dt),(void*)(obj),0000004) ) UNSUPPORTED("aihzmr4oo3tuh6kkxwtn9tlbd"); // return ((void*)0); UNSUPPORTED("eq489drc6t4nw9jr6scwaf47r"); // s = dt->data->hh._htab + ((dt->data->here->hl._hash)&((dt->data->ntab)-1)); UNSUPPORTED("716ly4m21se00kv1jixe0abvv"); // r = ((Dtlink_t*)0); UNSUPPORTED("ee5wwcf1ozo1pwrw5cqvta4ye"); // for(p = ((Dtlink_t*)0), t = *s; t; p = t, t = t->right) UNSUPPORTED("8s0kw91pqx35e9cb8bnmjfpxd"); // { if((lk < 0 ? ((Dthold_t*)(t))->obj : (void*)((char*)(t) - lk) ) == obj) /* delete this specific object */ UNSUPPORTED("cazdlksn7swkecr1zwj7u20e7"); // goto do_delete; UNSUPPORTED("9zezhzqukdf30pddcygujrvm4"); // if(t == dt->data->here) UNSUPPORTED("e8vu7jceswis3y29jjwhq9ng9"); // r = p; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("eqykdmanwamw75kiyy2znwojp"); // /* delete some matching object */ UNSUPPORTED("3jvj5fms81a41732hc1ygnn8l"); // p = r; t = dt->data->here; UNSUPPORTED("8a5ic396b1zd3ypknh2ni33pl"); // goto do_delete; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("ctx8452ml6zkglwpzkrei4r8p"); // if(type&(0001000|0000004|0000001|0004000) ) UNSUPPORTED("dow6c5q06mynnixn0dg629l8s"); // { key = (type&0001000) ? obj : (void*)(sz < 0 ? *((char**)((char*)(obj)+ky)) : ((char*)(obj)+ky)); UNSUPPORTED("ki4jtqbenojcbm9xo3cw0acj"); // hsh = (disc->hashf ? (*disc->hashf)(dt,key,disc) : dtstrhash(0,key,sz) ); UNSUPPORTED("5qfstwhbyczhb45awkns4w6s2"); // goto do_search; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("17mzyz618jog9kxscctj849qn"); // else if(type&(0000040|0002000) ) UNSUPPORTED("a1tr8ku0sxlizc02em1xpti9m"); // { r = (Dtlink_t*)obj; UNSUPPORTED("5z333zdlm5fisvkd28wdk08lb"); // obj = (lk < 0 ? ((Dthold_t*)(r))->obj : (void*)((char*)(r) - lk) ); UNSUPPORTED("4mu735y1gatwqfcwvw32kyv4b"); // key = (void*)(sz < 0 ? *((char**)((char*)(obj)+ky)) : ((char*)(obj)+ky)); UNSUPPORTED("9nsf0jvmpu3ekpif3tgtn9bfj"); // hsh = r->hl._hash; UNSUPPORTED("5qfstwhbyczhb45awkns4w6s2"); // goto do_search; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6demt9oump237iqswn7lymci2"); // else /*if(type&(DT_DELETE|DT_DETACH|DT_NEXT|DT_PREV))*/ UNSUPPORTED("8ftvpvpaincodxzo3trgtpjw6"); // { if((t = dt->data->here) && (lk < 0 ? ((Dthold_t*)(t))->obj : (void*)((char*)(t) - lk) ) == obj) UNSUPPORTED("9081zc00zn4etyvhw0gwp2pr1"); // { hsh = t->hl._hash; UNSUPPORTED("q62hm6hsn7w01e8d040wd36q"); // s = dt->data->hh._htab + ((hsh)&((dt->data->ntab)-1)); UNSUPPORTED("bq7yqk7ac7ar48epr0ntxlu34"); // p = ((Dtlink_t*)0); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("9e1xg9ecdgp2asux0oagyok6z"); // { key = (void*)(sz < 0 ? *((char**)((char*)(obj)+ky)) : ((char*)(obj)+ky)); UNSUPPORTED("7iiuizt4e3k2puwkokgnwk9fl"); // hsh = (disc->hashf ? (*disc->hashf)(dt,key,disc) : dtstrhash(0,key,sz) ); UNSUPPORTED("2w8sqwcszvntntnfpandwatxf"); // do_search: UNSUPPORTED("904ox6qqmbvtgeqaalo2krcxq"); // t = dt->data->ntab <= 0 ? ((Dtlink_t*)0) : UNSUPPORTED("anysrymqqdewimlodxh4vnnf0"); // *(s = dt->data->hh._htab + ((hsh)&((dt->data->ntab)-1))); UNSUPPORTED("1urtk6yxjydqmp6auwlxz1mry"); // for(p = ((Dtlink_t*)0); t; p = t, t = t->right) UNSUPPORTED("a94c3oi4jicbke9656azbdmxw"); // { if(hsh == t->hl._hash) UNSUPPORTED("aba8e4nanbm4v7i73vtichn3a"); // { k = (lk < 0 ? ((Dthold_t*)(t))->obj : (void*)((char*)(t) - lk) ); k = (void*)(sz < 0 ? *((char**)((char*)(k)+ky)) : ((char*)(k)+ky)); UNSUPPORTED("6q8ct40por7odz1fi4kqawhu6"); // if((cmpf ? (*cmpf)(dt,key,k,disc) : (sz <= 0 ? strcmp(key,k) : memcmp(key,k,sz)) ) == 0) UNSUPPORTED("3s0v3cbomg51jgxsi6nrpjbab"); // break; UNSUPPORTED("cysnuxd51taci3hbg5lifz8ce"); // } UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("12o3l2uuqwkn6zu5n9ag5b6tv"); // if(t) /* found matching object */ UNSUPPORTED("b2cn93r7r83xjuylu9s3s7srd"); // dt->type |= 0100000; UNSUPPORTED("a99qjy1ylbnckiqdhzekz7iaj"); // if(type&(0001000|0000004|0002000)) UNSUPPORTED("afvq5mw03wvx0n3mvvbrqldkw"); // { if(!t) UNSUPPORTED("aihzmr4oo3tuh6kkxwtn9tlbd"); // return ((void*)0); UNSUPPORTED("4lorj98ma2upixa5rr5xwzij7"); // if(p && (dt->data->type&0000001) && dt->data->loop <= 0) UNSUPPORTED("e12cfa3i62c3w5e93s2snz2io"); // { /* move-to-front heuristic */ UNSUPPORTED("3rwbnud1fhq4g3dgtggb8ivmp"); // p->right = t->right; UNSUPPORTED("7w9vk40tp93lbthf68mymuvl7"); // t->right = *s; UNSUPPORTED("47dhsbny95udoaz2m518jipnd"); // *s = t; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("3yx8gco1u2rbh7pp98bmhshcv"); // dt->data->here = t; UNSUPPORTED("38zm3lu1kmess9k4fq9vw7307"); // return (lk < 0 ? ((Dthold_t*)(t))->obj : (void*)((char*)(t) - lk) ); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5s9uhnjsikxyxacq0a5avxqlu"); // else if(type&(0000001|0004000)) UNSUPPORTED("m0dd3fl2j1h8l4v5qcbx8pe3"); // { if(t && (dt->data->type&0000001) ) UNSUPPORTED("2gqu6oymjvcnv26ghvpj8uw8q"); // { dt->data->here = t; UNSUPPORTED("7y3981d1t51r85enkkeisu5o"); // return (lk < 0 ? ((Dthold_t*)(t))->obj : (void*)((char*)(t) - lk) ); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("by4sdf3z0t5wzasnh0mn7qynq"); // if(disc->makef && (type&0000001) && UNSUPPORTED("819jcvpr9y2bgzfligpibwpw3"); // !(obj = (*disc->makef)(dt,obj,disc)) ) UNSUPPORTED("aihzmr4oo3tuh6kkxwtn9tlbd"); // return ((void*)0); UNSUPPORTED("293ajmk1i2zgdsq0l7383qwh3"); // if(lk >= 0) UNSUPPORTED("3zy0ha2od6p4le2e9q0z8fp5t"); // r = ((Dtlink_t*)((char*)(obj) + lk) ); UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("98qmqsabqfk3u0p0lk7ea0p5t"); // { r = (Dtlink_t*)(*dt->memoryf) UNSUPPORTED("2t8zht6j7v4lkeafea2xf5hyg"); // (dt,((void*)0),sizeof(Dthold_t),disc); UNSUPPORTED("cd514pac1r4g4n22vahs1hysz"); // if(r) UNSUPPORTED("9t49z1jdnrgb6bhq6nkkue1ic"); // ((Dthold_t*)r)->obj = obj; UNSUPPORTED("cqgi8f4d37bqva8z6bx5rvn7w"); // else UNSUPPORTED("1v509jpumhakfypnj2ti3gu5c"); // { if(disc->makef && disc->freef && (type&0000001)) UNSUPPORTED("9mpf4sqfgdx785iln3tc53xtk"); // (*disc->freef)(dt,obj,disc); UNSUPPORTED("aa9atfxr38jo3q71l1xw0bq6k"); // return ((void*)0); UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("s0qtzqe9ppt5wefo9x8w939l"); // r->hl._hash = hsh; UNSUPPORTED("3bloaq1kau0kxrhfjsbw3ww7t"); // /* insert object */ UNSUPPORTED("94p1b6yx4z1w4h646vfezwz82"); // do_insert: UNSUPPORTED("nkb78kwk99oj3n3899azwlch"); // if((dt->data->size += 1) > ((dt->data->ntab) << 1) && dt->data->loop <= 0 ) UNSUPPORTED("9airb3ddrtasz9ic8vmjmmb3d"); // dthtab(dt); UNSUPPORTED("atoexyb2y1uyfcvz9fsj28sgk"); // if(dt->data->ntab == 0) UNSUPPORTED("dod3zpy4g6u8jgmxup50qqys9"); // { dt->data->size -= 1; UNSUPPORTED("bzc6n7f7vqj21bnxsl91xkwby"); // if(disc->freef && (type&0000001)) UNSUPPORTED("6tpn7nvqe9d7xas7x5oayr89e"); // (*disc->freef)(dt,obj,disc); UNSUPPORTED("4jky808nj7nqoi0xqghkq71hu"); // if(disc->link < 0) UNSUPPORTED("7c6rtwyp4m40lrj88mpgnpb21"); // (*disc->memoryf)(dt,(void*)r,0,disc); UNSUPPORTED("aihzmr4oo3tuh6kkxwtn9tlbd"); // return ((void*)0); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("4vk743730me6fvf2qfsyeksur"); // s = dt->data->hh._htab + ((hsh)&((dt->data->ntab)-1)); UNSUPPORTED("xlqibqplgtj358b7ra1xzef6"); // if(t) UNSUPPORTED("7o4qhqtysg0296gjwygjc528s"); // { r->right = t->right; UNSUPPORTED("dkl4v64gxr1lec2474603kdmj"); // t->right = r; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("bzix5h9vod9ss1htxqdqpq1de"); // { r->right = *s; UNSUPPORTED("4ihgxtxxn05e6la642e1lt0de"); // *s = r; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("7nqs3a1rtwdoaksqwklk6h9mr"); // dt->data->here = r; UNSUPPORTED("62u47ehg5sw7ibh04rvqqdaws"); // return obj; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5k3wkmt1521n2igrbw361wdxw"); // else if(type&0000010) UNSUPPORTED("9he18g2ou1k5oep0depme6a0l"); // { if(t && !(p = t->right) ) UNSUPPORTED("dda3cpvj9gd3ckayd4vtx06jw"); // { for(ends = dt->data->hh._htab+dt->data->ntab, s += 1; s < ends; ++s) UNSUPPORTED("2f8x3x8q9d4l3zxkrdo3tgqug"); // if((p = *s) ) UNSUPPORTED("6ioth986rfbv208dp59shjy15"); // break; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6fbjgrqdc634wlamdggxuyx1y"); // goto done_adj; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("eeak67ajn02aq4hfkpb1houzf"); // else if(type&0000020) UNSUPPORTED("83v3fyui557cjpsucdnk29bcy"); // { if(t && !p) UNSUPPORTED("19279rks7tm3qlocyny8mcg8s"); // { if((p = *s) != t) UNSUPPORTED("9bho5o6g8z5l0obq611t4vwmt"); // { while(p->right != t) UNSUPPORTED("3vlcvd5o5mws86v5elocljl8c"); // p = p->right; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("cqgi8f4d37bqva8z6bx5rvn7w"); // else UNSUPPORTED("2l2cjmve22qwyzxs3nemslsrm"); // { p = ((Dtlink_t*)0); UNSUPPORTED("7x0y3os4rhu1qmyy6cyigcbxn"); // for(s -= 1, ends = dt->data->hh._htab; s >= ends; --s) UNSUPPORTED("2qzit70v2wvo0hfwhzxndjyet"); // { if((p = *s) ) UNSUPPORTED("9cd19hzlnsuko7qjdica4avwk"); // { while(p->right) UNSUPPORTED("cz431qj39zg4imh6mbgcczxqs"); // p = p->right; UNSUPPORTED("3s0v3cbomg51jgxsi6nrpjbab"); // break; UNSUPPORTED("7qewsve9tto7ge11dkittrbpg"); // } UNSUPPORTED("cysnuxd51taci3hbg5lifz8ce"); // } UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("7h31eyrxx5hm6w9t1georb00j"); // done_adj: UNSUPPORTED("706rjqsb7a7mnl0viqsd8nsuq"); // if(!(dt->data->here = p) ) UNSUPPORTED("e2m9axtrsvwabp4prolti6gfx"); // { end_walk: UNSUPPORTED("8mrt3rbp7uw89ql159auu6mmj"); // if((dt->data->loop -= 1) < 0) UNSUPPORTED("c7fwpv4db3vo9qpsu295z0oxy"); // dt->data->loop = 0; UNSUPPORTED("7zu532dfsu93magh8miv6p5k7"); // if(dt->data->size > ((dt->data->ntab) << 1) && dt->data->loop <= 0) UNSUPPORTED("9ev3kbmw9lx3kf7go6zdr7joo"); // dthtab(dt); UNSUPPORTED("aihzmr4oo3tuh6kkxwtn9tlbd"); // return ((void*)0); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("3y0vfsjtwsjvd3iwojbfm5b7p"); // { dt->data->type |= 020000; UNSUPPORTED("1lts79855usdqaw6d8govltbd"); // return (lk < 0 ? ((Dthold_t*)(p))->obj : (void*)((char*)(p) - lk) ); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9z9fbich950cta699a2c3p0as"); // else if(type&0000040) UNSUPPORTED("bupkrulrc2t9aibwzcu7vup7w"); // { if(!t || (dt->data->type&0000002) ) UNSUPPORTED("1xk47swi87x8a68r3ieehnit6"); // goto do_insert; UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("9lkixvm4kipsvy4n793m09ss3"); // { if(disc->freef) UNSUPPORTED("6tpn7nvqe9d7xas7x5oayr89e"); // (*disc->freef)(dt,obj,disc); UNSUPPORTED("4jky808nj7nqoi0xqghkq71hu"); // if(disc->link < 0) UNSUPPORTED("9jdzpj2hhktj69wgcvdr063s"); // (*dt->memoryf)(dt,(void*)r,0,disc); UNSUPPORTED("2txpn83o34o6qwamy2wb7757o"); // return t ? (lk < 0 ? ((Dthold_t*)(t))->obj : (void*)((char*)(t) - lk) ) : ((void*)0); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3mg6hhndwfct91qjn7bg6gadw"); // else /*if(type&(DT_DELETE|DT_DETACH))*/ UNSUPPORTED("aqnn8gxdjwjn8bj1jmn893w4c"); // { /* take an element out of the dictionary */ UNSUPPORTED("3lpfu6n28scyhfqq2c0zpty59"); // do_delete: UNSUPPORTED("22j08xpxd771hlal238zomv7l"); // if(!t) UNSUPPORTED("aihzmr4oo3tuh6kkxwtn9tlbd"); // return ((void*)0); UNSUPPORTED("1wcdapl55tiv1q3u4xsoltmsb"); // else if(p) UNSUPPORTED("3rwbnud1fhq4g3dgtggb8ivmp"); // p->right = t->right; UNSUPPORTED("blm4o9icjcy4qqrndqfpqqskz"); // else if((p = *s) == t) UNSUPPORTED("4it0csugmcnk8ky4nutyv355f"); // p = *s = t->right; UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("ab3bg0ss7wkmrlthm6d2cwuau"); // { while(p->right != t) UNSUPPORTED("27m25gnbutgbfo7ek5u2t0l5w"); // p = p->right; UNSUPPORTED("3rwbnud1fhq4g3dgtggb8ivmp"); // p->right = t->right; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("hy98ituujoflafzec4f3ggok"); // obj = (lk < 0 ? ((Dthold_t*)(t))->obj : (void*)((char*)(t) - lk) ); UNSUPPORTED("bhx4ntuz9q54vz0qyvxhuu0vd"); // dt->data->size -= 1; UNSUPPORTED("c8l936qbhd0ofjozm9bngu6sg"); // dt->data->here = p; UNSUPPORTED("e1emcft87tamqtb3x6zxbes7w"); // if(disc->freef && (type&0000002)) UNSUPPORTED("e4inyabba5878wlc02vhj5bos"); // (*disc->freef)(dt,obj,disc); UNSUPPORTED("azvf369rtz6gyaywwhk7fgjk2"); // if(disc->link < 0) UNSUPPORTED("3tov74p8twbpi30dtilg9m6my"); // (*dt->memoryf)(dt,(void*)t,0,disc); UNSUPPORTED("62u47ehg5sw7ibh04rvqqdaws"); // return obj; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 4n0vhm7fg6h57qkecnis5gtj3 // static Dtmethod_t _Dtset = //1 9sqlu54dfqsrwxxtvmwmq2jpg // static Dtmethod_t _Dtbag = //1 879dwfn818v9vidj17x5zmfgb // Dtmethod_t* Dtset = &_Dtset //1 5m11g50hbrc4sn2ajk23ydg4l // Dtmethod_t* Dtbag = &_Dtbag //1 9e6zvz6pkjqohy0uo1p257pj6 // Dtmethod_t _Dthash = //1 bagavrxgzbv4by8jydwtj88mn // Dtmethod_t* Dthash = &_Dthash } plantuml-1.2018.13+ds/src/gen/lib/cdt/dtlist__c.java000066400000000000000000000344221340005343600217570ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cdt; import static smetana.core.Macro.UNSUPPORTED; public class dtlist__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //3 dyc3bu1thij9v7t35zhwd5nsq // static void* dtlist(register Dt_t* dt, register void* obj, register int type) public static Object dtlist(Object... arg) { UNSUPPORTED("2zck894ixnu9hdr876kp5kkil"); // static void* dtlist(register Dt_t* dt, register void* obj, register int type) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("660kbsr1gj2c3whxtgelujyj1"); // register int lk, sz, ky; UNSUPPORTED("d7uh8kuvwiwc4dkgh3xeqa7o"); // register Dtcompar_f cmpf; UNSUPPORTED("boylfimuhvbo4nqzby3ew5tld"); // register Dtdisc_t* disc; UNSUPPORTED("3wo04u3bwxjm2adizil0k6dlz"); // register Dtlink_t *r, *t; UNSUPPORTED("323rs06etsryh0uezhkjtbd04"); // register void *key, *k; UNSUPPORTED("ckjxpmega2z5oju8xk72wsy0q"); // ((dt->data->type&010000) ? dtrestore(dt,((Dtlink_t*)0)) : 0); UNSUPPORTED("a9vwj28gsu58hp4ocpvno985d"); // disc = dt->disc; (ky = disc->key, sz = disc->size, lk = disc->link, cmpf = disc->comparf); UNSUPPORTED("dpg99ryukgexcc5n31wdbvraz"); // dt->type &= ~0100000; UNSUPPORTED("e4rxlgclvydwuznpw7rk0rksa"); // if(!obj) UNSUPPORTED("9vsb4m488mn6r0xd65c3b0ngc"); // { if(type&(0000400|0000200) ) UNSUPPORTED("34qzq70onioczf5s82mjobdhc"); // { if((r = dt->data->hh._head) ) UNSUPPORTED("a1ikx5viqbw7iuszqxrdkfa5j"); // { if(type&0000400) UNSUPPORTED("aiwt2i7u6w149zbfq2c4f66g9"); // r = r->hl._left; UNSUPPORTED("c1wfwlzje3qf7cn9yrd58r8km"); // dt->data->here = r; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("1ccr1wu363pwoqxfhz7hj4sho"); // return r ? (lk < 0 ? ((Dthold_t*)(r))->obj : (void*)((char*)(r) - lk) ) : ((void*)0); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("71r0p0szovteqd7xetljof9k9"); // else if(type&(0000002|0010000)) UNSUPPORTED("rrsc72yw16kb4a9padzlgblh"); // { if((dt->data->type&(0000020|0000200)) || !(r = dt->data->hh._head)) UNSUPPORTED("aa9atfxr38jo3q71l1xw0bq6k"); // return ((void*)0); UNSUPPORTED("4btdyuasa2zps0lqshubsiulz"); // else goto dt_delete; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("bg2msoyh5n8nbv3jrv98xl6jr"); // else if(type&0000100) UNSUPPORTED("8ema02xdl88j1cg663kqjjmoy"); // { if(disc->freef || disc->link < 0) UNSUPPORTED("8yt6l4wvynb2dh7majp6twtg0"); // { for(r = dt->data->hh._head; r; r = t) UNSUPPORTED("5hywksyjo83f15ogrt3lyqs9e"); // { t = r->right; UNSUPPORTED("9la822tbyggyiqojilsi237uo"); // if(disc->freef) UNSUPPORTED("eglki07oisy1jcm5hyv0ot6so"); // (*disc->freef)(dt,(lk < 0 ? ((Dthold_t*)(r))->obj : (void*)((char*)(r) - lk) ),disc); UNSUPPORTED("7hdvwe89xp5vg9m4l8lpmgvap"); // if(disc->link < 0) UNSUPPORTED("dy8c0o748cjxxm1qbvkm09kh7"); // (*dt->memoryf)(dt,(void*)r,0,disc); UNSUPPORTED("cysnuxd51taci3hbg5lifz8ce"); // } UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("340j9mmtga6x1r9zokywny8a5"); // dt->data->hh._head = dt->data->here = ((Dtlink_t*)0); UNSUPPORTED("196oh3ma81y2lao0qwcvuwvga"); // dt->data->size = 0; UNSUPPORTED("aihzmr4oo3tuh6kkxwtn9tlbd"); // return ((void*)0); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("buskbis6zqn7fgycezsnmb765"); // else return ((void*)0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("17p4kgmskj2wc3ay0ttkyyj16"); // if(type&(0000001|0004000)) UNSUPPORTED("69mih5ilj4h72bp4vqpelae3s"); // { if(disc->makef && (type&0000001) && UNSUPPORTED("819jcvpr9y2bgzfligpibwpw3"); // !(obj = (*disc->makef)(dt,obj,disc)) ) UNSUPPORTED("aihzmr4oo3tuh6kkxwtn9tlbd"); // return ((void*)0); UNSUPPORTED("293ajmk1i2zgdsq0l7383qwh3"); // if(lk >= 0) UNSUPPORTED("3zy0ha2od6p4le2e9q0z8fp5t"); // r = ((Dtlink_t*)((char*)(obj) + lk) ); UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("98qmqsabqfk3u0p0lk7ea0p5t"); // { r = (Dtlink_t*)(*dt->memoryf) UNSUPPORTED("2t8zht6j7v4lkeafea2xf5hyg"); // (dt,((void*)0),sizeof(Dthold_t),disc); UNSUPPORTED("cd514pac1r4g4n22vahs1hysz"); // if(r) UNSUPPORTED("9t49z1jdnrgb6bhq6nkkue1ic"); // ((Dthold_t*)r)->obj = obj; UNSUPPORTED("cqgi8f4d37bqva8z6bx5rvn7w"); // else UNSUPPORTED("1v509jpumhakfypnj2ti3gu5c"); // { if(disc->makef && disc->freef && (type&0000001)) UNSUPPORTED("9mpf4sqfgdx785iln3tc53xtk"); // (*disc->freef)(dt,obj,disc); UNSUPPORTED("aa9atfxr38jo3q71l1xw0bq6k"); // return ((void*)0); UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("9xarci6m8xoxbhm19aicfu6op"); // if(dt->data->type&0000200) UNSUPPORTED("4oa8mskcvinqc3ghe4qb3z2dn"); // { if(type&0020000) UNSUPPORTED("6x0vnmjxngk10oi72383wrqdf"); // goto dt_queue; UNSUPPORTED("2nk49e7v4apz4sgkwea1rocq3"); // else goto dt_stack; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("d772otym2gfcniiga03pmsruf"); // else if(dt->data->type&0000020) UNSUPPORTED("4oa8mskcvinqc3ghe4qb3z2dn"); // { if(type&0020000) UNSUPPORTED("4ojwnzwt744lvh40g1sz5nks1"); // { if(!(t = dt->data->here) || !t->right) UNSUPPORTED("e3u46nsizxj0zzm1yuz6mkm5t"); // goto dt_queue; UNSUPPORTED("90e3icond38fe55d3t9mohnek"); // r->right = t->right; UNSUPPORTED("esezu2zro83gvkxdm9xhz9ogd"); // r->right->hl._left = r; UNSUPPORTED("2221i8wr1imn1ch4agvlotbvu"); // r->hl._left = t; UNSUPPORTED("bdrsml91tltn4duaj0fics6nd"); // r->hl._left->right = r; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("cqgi8f4d37bqva8z6bx5rvn7w"); // else UNSUPPORTED("2k0cdvd207renm6g59nxxjqs8"); // { if(!(t = dt->data->here) || t == dt->data->hh._head) UNSUPPORTED("8b34roshgo8gwffhg9ma3gsi5"); // goto dt_stack; UNSUPPORTED("8g4y8anmfv0cidynh11kl3g24"); // r->hl._left = t->hl._left; UNSUPPORTED("bdrsml91tltn4duaj0fics6nd"); // r->hl._left->right = r; UNSUPPORTED("bpwbkzd8dztbberjy54bqwr9r"); // r->right = t; UNSUPPORTED("esezu2zro83gvkxdm9xhz9ogd"); // r->right->hl._left = r; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("22wam4b54ielgtcvtdx3fxy3r"); // else if(dt->data->type&0000040) UNSUPPORTED("7eyhwlknuhbf62yfdojjgchdk"); // { dt_stack: UNSUPPORTED("4ikujhrb5r2ufyhi6857ek42v"); // r->right = t = dt->data->hh._head; UNSUPPORTED("9onfbw0e4egk5q69g1khqbzd"); // if(t) UNSUPPORTED("35wihezut0mc3f7nshp29ate5"); // { r->hl._left = t->hl._left; UNSUPPORTED("638235mxuepku23w4hxkl3ep6"); // t->hl._left = r; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("2du87rzew8rt0830ob1tnqxo6"); // else r->hl._left = r; UNSUPPORTED("7u6umzefjt96rok3qemy1f717"); // dt->data->hh._head = r; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("5tttas5l0qfvco787vns2uan4"); // else /* if(dt->data->type&DT_QUEUE) */ UNSUPPORTED("ew3f4m8ld77ai8s7ndfdee9v4"); // { dt_queue: UNSUPPORTED("1aeq93f540gclms5vcjs7rg6a"); // if((t = dt->data->hh._head) ) UNSUPPORTED("4pksv1ru7zqlljrja5f514o1j"); // { t->hl._left->right = r; UNSUPPORTED("8g4y8anmfv0cidynh11kl3g24"); // r->hl._left = t->hl._left; UNSUPPORTED("638235mxuepku23w4hxkl3ep6"); // t->hl._left = r; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("cqgi8f4d37bqva8z6bx5rvn7w"); // else UNSUPPORTED("4rj7250ci10tq7lo05uezv8w4"); // { dt->data->hh._head = r; UNSUPPORTED("dg1qkalat0zmys95gxdc4j24o"); // r->hl._left = r; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("my81njr3zdj3gj3b86jcc8o3"); // r->right = ((Dtlink_t*)0); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("4p7dqfnzg979k37w3hvqbjhbq"); // if(dt->data->size >= 0) UNSUPPORTED("1ot5ghc6sf3uiepe9suupzcy4"); // dt->data->size += 1; UNSUPPORTED("7nqs3a1rtwdoaksqwklk6h9mr"); // dt->data->here = r; UNSUPPORTED("6q9hi4nb5yoxs4rcb8mon9vdb"); // return (lk < 0 ? ((Dthold_t*)(r))->obj : (void*)((char*)(r) - lk) ); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("69r6haab9votyq47nu1m8m9mo"); // if((type&0001000) || !(r = dt->data->here) || (lk < 0 ? ((Dthold_t*)(r))->obj : (void*)((char*)(r) - lk) ) != obj) UNSUPPORTED("dow6c5q06mynnixn0dg629l8s"); // { key = (type&0001000) ? obj : (void*)(sz < 0 ? *((char**)((char*)(obj)+ky)) : ((char*)(obj)+ky)); UNSUPPORTED("5o1yjgbu0qjlg99lqs1h06iyv"); // for(r = dt->data->hh._head; r; r = r->right) UNSUPPORTED("9d15odjmf2hxhhdsf9s2up2fd"); // { k = (lk < 0 ? ((Dthold_t*)(r))->obj : (void*)((char*)(r) - lk) ); k = (void*)(sz < 0 ? *((char**)((char*)(k)+ky)) : ((char*)(k)+ky)); UNSUPPORTED("dnok81nrhi3pajt355zkqm76w"); // if((cmpf ? (*cmpf)(dt,key,k,disc) : (sz <= 0 ? strcmp(key,k) : memcmp(key,k,sz)) ) == 0) UNSUPPORTED("1dhrv6aj5eq8ntuvb7qbs8aot"); // break; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("be1db0r6fggnry37s9bjem8so"); // if(!r) UNSUPPORTED("5p6q7ip4om6y4nrsjz07ua456"); // return ((void*)0); UNSUPPORTED("esjg4ndwtf9ryvxfle5f1awdw"); // dt->type |= 0100000; UNSUPPORTED("2ptdjk4ijgvrjv9sjqrx5b08n"); // if(type&(0000002|0010000)) UNSUPPORTED("83b3sp1f1vvsa2w5nqdh831ux"); // { dt_delete: UNSUPPORTED("3ohzd40a39b2h609ckmcpsxvw"); // if(r->right) UNSUPPORTED("2p8p0mpv6dnqncm0ewg9gtn53"); // r->right->hl._left = r->hl._left; UNSUPPORTED("2ankbgvq7yr3z93tl1xnbfgpr"); // if(r == (t = dt->data->hh._head) ) UNSUPPORTED("8ee45f3kh06ajncucnq4d4zn3"); // { dt->data->hh._head = r->right; UNSUPPORTED("58dd1wmd3q6hu7jmyttutbtjp"); // if(dt->data->hh._head) UNSUPPORTED("24pdk7685q5i3eyip2b52xc1a"); // dt->data->hh._head->hl._left = t->hl._left; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("uo5j3uk44ezbi34a4lez0vko"); // { r->hl._left->right = r->right; UNSUPPORTED("122rcml8ecn8royyv655mfxp7"); // if(r == t->hl._left) UNSUPPORTED("crlanj0wz66t4lpcauaoonqsc"); // t->hl._left = r->hl._left; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("2550dhcfkngbylvb1phmq8ebq"); // dt->data->here = r == dt->data->here ? r->right : ((Dtlink_t*)0); UNSUPPORTED("bhx4ntuz9q54vz0qyvxhuu0vd"); // dt->data->size -= 1; UNSUPPORTED("5z333zdlm5fisvkd28wdk08lb"); // obj = (lk < 0 ? ((Dthold_t*)(r))->obj : (void*)((char*)(r) - lk) ); UNSUPPORTED("e1emcft87tamqtb3x6zxbes7w"); // if(disc->freef && (type&0000002)) UNSUPPORTED("e4inyabba5878wlc02vhj5bos"); // (*disc->freef)(dt,obj,disc); UNSUPPORTED("azvf369rtz6gyaywwhk7fgjk2"); // if(disc->link < 0) UNSUPPORTED("16tb09hfz1sv26gfi60t8ji16"); // (*dt->memoryf)(dt,(void*)r,0,disc); UNSUPPORTED("62u47ehg5sw7ibh04rvqqdaws"); // return obj; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5k3wkmt1521n2igrbw361wdxw"); // else if(type&0000010) UNSUPPORTED("4zcwolmq8zlneya8ew49t1qc4"); // r = r->right; UNSUPPORTED("eeak67ajn02aq4hfkpb1houzf"); // else if(type&0000020) UNSUPPORTED("80ghi58dnl87w9e87qt2lw3jn"); // r = r == dt->data->hh._head ? ((Dtlink_t*)0) : r->hl._left; UNSUPPORTED("1osns9frhkriafbjyob0sbz8z"); // dt->data->here = r; UNSUPPORTED("cij46y936bg1ikv3ztksloy91"); // return r ? (lk < 0 ? ((Dthold_t*)(r))->obj : (void*)((char*)(r) - lk) ) : ((void*)0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 9hopil17a8eg1agt37070u73q // Dtmethod_t _Dtlist = //1 1fxnvjagcf621oxjj3ciypwfy // Dtmethod_t _Dtdeque = //1 40f33oiu7l21l1jxw9wfoux8f // Dtmethod_t _Dtstack = //1 14hp9ggjclgs43wn0uwmfw77d // Dtmethod_t _Dtqueue = //1 b1q50g67csjki72iuef5of8zy // Dtmethod_t* Dtlist = &_Dtlist //1 62b2csa6dv66okdkjb7evy47o // Dtmethod_t* Dtdeque = &_Dtdeque //1 4e88n3c3ml5i5mf3oqr7si856 // Dtmethod_t* Dtstack = &_Dtstack //1 zroiycxvakotau1jgb16sjzz // Dtmethod_t* Dtqueue = &_Dtqueue } plantuml-1.2018.13+ds/src/gen/lib/cdt/dtmethod__c.java000066400000000000000000000174221340005343600222650ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cdt; import static smetana.core.Macro.UNSUPPORTED; public class dtmethod__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //3 5y8zard8q0t7wd1fznlyiu0is // Dtmethod_t* dtmethod(Dt_t* dt, Dtmethod_t* meth) public static Object dtmethod(Object... arg) { UNSUPPORTED("3km1xhxqsi1kc6xhl15kcri1f"); // Dtmethod_t* dtmethod(Dt_t* dt, Dtmethod_t* meth) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bf4mmzf6u2tqotgqbd6k8eqp0"); // register Dtlink_t *list, *r; UNSUPPORTED("ab9fv18fhjzwp3wngyyqarrns"); // register Dtdisc_t* disc = dt->disc; UNSUPPORTED("crjx4y1aesvbz4wkqg5642nj4"); // register Dtmethod_t* oldmeth = dt->meth; UNSUPPORTED("5c6whtsf2a3glrlh1kczzpqe9"); // if(!meth || meth->type == oldmeth->type) UNSUPPORTED("8ttmhoaftdijn5bkmfimd9x7"); // return oldmeth; UNSUPPORTED("8gsk9kzxnlwgo3aceze9c6gl7"); // if(disc->eventf && UNSUPPORTED("fwq3340fa0pnag7j0f4o7wzm"); // (*disc->eventf)(dt,4,(void*)meth,disc) < 0) UNSUPPORTED("2igwwp2cx3n29p50m7m8ioyv2"); // return ((Dtmethod_t*)0); UNSUPPORTED("2eqdiqvcsxis68sccmci5sslk"); // dt->data->minp = 0; UNSUPPORTED("3lnvvw51l9ruzql33ygokb3l9"); // /* get the list of elements */ UNSUPPORTED("458eivbagnsewjl8xhw519qcg"); // list = dtflatten(dt); UNSUPPORTED("9qekjyedz55m5wna2o1oggk12"); // if(dt->data->type&(0000020|0000040|0000100) ) UNSUPPORTED("3v40gkacc2m6me0zor7nhpjmw"); // dt->data->hh._head = ((Dtlink_t*)0); UNSUPPORTED("9l8vi2w86i0txe17utistljqu"); // else if(dt->data->type&(0000001|0000002) ) UNSUPPORTED("hysmhouy1ud6hsdj0cubiudt"); // { if(dt->data->ntab > 0) UNSUPPORTED("4ugmcpi8vkb013vuo4wykn0a3"); // (*dt->memoryf)(dt,(void*)dt->data->hh._htab,0,disc); UNSUPPORTED("daqygvp6d794yl5eu8d06g3gi"); // dt->data->ntab = 0; UNSUPPORTED("1wghucytlosmvwxh9hs06gqnv"); // dt->data->hh._htab = ((Dtlink_t**)0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("bl1pmhqf3x1in1wvwhq1v00u2"); // dt->data->here = ((Dtlink_t*)0); UNSUPPORTED("762s6dooy1oj4wiqk2j8mtcs7"); // dt->data->type = (dt->data->type&~(0000377|010000)) | meth->type; UNSUPPORTED("62j00tqtfsxxmirwb05ur7z0t"); // dt->meth = meth; UNSUPPORTED("3hek07go1qr5flyhweyvb88hh"); // if(dt->searchf == oldmeth->searchf) UNSUPPORTED("7d7hyoujq87agx8focnjapazd"); // dt->searchf = meth->searchf; UNSUPPORTED("c0iupu78ptdjv7tkp4fp5eoem"); // if(meth->type&(0000020|0000040|0000100) ) UNSUPPORTED("10dxbmrp9w60lb4wyi4c6ze8a"); // { if(!(oldmeth->type&(0000020|0000040|0000100)) ) UNSUPPORTED("c6eshgqlcm9am6oih7mqy27cx"); // { if((r = list) ) UNSUPPORTED("cxw84g4fps5l02s4epfyl6n2r"); // { register Dtlink_t* t; UNSUPPORTED("et4fiw7yaciidg54t59if0gz"); // for(t = r->right; t; r = t, t = t->right ) UNSUPPORTED("6y5abi7x957jjhe2rscd9ufjx"); // t->hl._left = r; UNSUPPORTED("8nfo3btdkjap25oecr3r2t9zz"); // list->hl._left = r; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("7duc1evkuyrgnx1k6sqnyoc1e"); // dt->data->hh._head = list; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("99xc5unqmtom8dp50z8en6k79"); // else if(meth->type&(0000004|0000010)) UNSUPPORTED("dejooawjmch41k0n8wz35280p"); // { dt->data->size = 0; UNSUPPORTED("dzuwpmnfrpq395y1ou6zll3u2"); // while(list) UNSUPPORTED("4b3ko2bznm8f1y9qeju4acfua"); // { r = list->right; UNSUPPORTED("bdgaa5aljhk83mgc5oupnofue"); // (*meth->searchf)(dt,(void*)list,0000040); UNSUPPORTED("eoujol9u634bcw14kwkb2lm5x"); // list = r; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5i0ckqkt3yzykzquvm6nd08wf"); // else if(!((meth->type&0000002) && (oldmeth->type&0000001)) ) UNSUPPORTED("34wwvljvfvcvyh3obzyhgmnpo"); // { int rehash; UNSUPPORTED("6akycohy5byonwsy0g7a3l1nk"); // if((meth->type&(0000001|0000002)) && !(oldmeth->type&(0000001|0000002))) UNSUPPORTED("4o1gcrc4m2r1348akifhsvudt"); // rehash = 1; UNSUPPORTED("1byx9oyi0ig37sdx42lv59xv"); // else rehash = 0; UNSUPPORTED("4zu0hy7teh1cxc74ifeho8ej3"); // dt->data->size = dt->data->loop = 0; UNSUPPORTED("dzuwpmnfrpq395y1ou6zll3u2"); // while(list) UNSUPPORTED("4b3ko2bznm8f1y9qeju4acfua"); // { r = list->right; UNSUPPORTED("20x8nlwk3x08qy0vwwzj6qtad"); // if(rehash) UNSUPPORTED("30b8etf9nx2grv2w7rsytmgxk"); // { register void* key = (disc->link < 0 ? ((Dthold_t*)(list))->obj : (void*)((char*)(list) - disc->link) ); UNSUPPORTED("8h5rhllokrgydtbfodokfa8tk"); // key = (void*)(disc->size < 0 ? *((char**)((char*)(key)+disc->key)) : ((char*)(key)+disc->key)); UNSUPPORTED("t4uwrmevpnx4doh1anexa33y"); // list->hl._hash = (disc->hashf ? (*disc->hashf)(dt,key,disc) : dtstrhash(0,key,disc->size) ); UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("9dj4v9f2xppzoxbumhwauuzk6"); // (void)(*meth->searchf)(dt,(void*)list,0000040); UNSUPPORTED("eoujol9u634bcw14kwkb2lm5x"); // list = r; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("37bs415tc2fi47jgdzwr9kyeu"); // return oldmeth; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cdt/dtopen__c.java000066400000000000000000000121321340005343600217370ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cdt; import static gen.lib.cdt.dtdisc__c.dtdisc; import static smetana.core.JUtils.sizeof; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.N; import h.ST_dt_s; import h.ST_dtdata_s; import h.ST_dtdisc_s; import h.ST_dtmethod_s; import smetana.core.Memory; public class dtopen__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 emxrtwweklud1b14cstc9z3bb // static char* Version = //3 34nbfbdgwe34hb4vmfr5p6kbh // Dt_t* dtopen(Dtdisc_t* disc, Dtmethod_t* meth) public static ST_dt_s dtopen(ST_dtdisc_s disc, ST_dtmethod_s meth) { ENTERING("34nbfbdgwe34hb4vmfr5p6kbh","dtopen"); try { ST_dt_s dt = null; int e; ST_dtdata_s data; if(N(disc) || N(meth)) return null; /* allocate space for dictionary */ if(N(dt = new ST_dt_s())) return null; // /* initialize all absolutely private data */ dt.setPtr("searchf", null); dt.setPtr("meth", null); dt.setPtr("disc", null); dtdisc(dt,disc,0); dt.setInt("type", 0); dt.setInt("nview", 0); dt.setPtr("view", null); dt.setPtr("walk", null); dt.setPtr("user", null); if(disc.eventf!=null) { /* if shared/persistent dictionary, get existing data */ throw new UnsupportedOperationException(); // data = ((Dtdata_t*)0); // if((e = (*disc->eventf)(dt,1,(void*)(&data),disc)) < 0) // goto err_open; // else if(e > 0) // { if(data) // { if(data->type&meth->type) // goto done; // else goto err_open; // } // if(!disc->memoryf) // goto err_open; // free((void*)dt); // if(!(dt = (*disc->memoryf)(0, 0, sizeof(Dt_t), disc)) ) // return ((Dt_t*)0); // dt->searchf = ((Dtsearch_f)0); // dt->meth = ((Dtmethod_t*)0); // dt->disc = ((Dtdisc_t*)0); // dtdisc(dt,disc,0); // dt->type = 1; // dt->nview = 0; // dt->view = dt->walk = ((Dt_t*)0); // } } /* allocate sharable data */ if(N(data = (ST_dtdata_s) (dt.memoryf.exe(dt,null,sizeof(ST_dtdata_s.class),disc)) )) { err_open: Memory.free(dt); return (null); } data.type = meth.type; data.here = null; data._htab = null; data.ntab = 0; data.size = 0; data.loop = 0; data.minp = 0; //done: dt.data = data; dt.searchf = meth.searchf; dt.meth = meth; if(disc.eventf!=null) throw new UnsupportedOperationException(); // (*disc->eventf)(dt, 5, (void*)dt, disc); return dt; } finally { LEAVING("34nbfbdgwe34hb4vmfr5p6kbh","dtopen"); } } } plantuml-1.2018.13+ds/src/gen/lib/cdt/dtrenew__c.java000066400000000000000000000140421340005343600221200ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cdt; import static smetana.core.Macro.UNSUPPORTED; public class dtrenew__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //3 dpntyaoee84n51hi5hei3meki // void* dtrenew(Dt_t* dt, register void* obj) public static Object dtrenew(Object... arg) { UNSUPPORTED("c1icavxc4bdl41jaglud7ov9y"); // void* dtrenew(Dt_t* dt, register void* obj) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("75g1y88zfpqk2mdy0p3bzcp5u"); // register void* key; UNSUPPORTED("7hzc11j4z5915otom5ec9sc1p"); // register Dtlink_t *e, *t, **s; UNSUPPORTED("ab9fv18fhjzwp3wngyyqarrns"); // register Dtdisc_t* disc = dt->disc; UNSUPPORTED("ckjxpmega2z5oju8xk72wsy0q"); // ((dt->data->type&010000) ? dtrestore(dt,((Dtlink_t*)0)) : 0); UNSUPPORTED("afazqxuj3nf5t37agp5loypap"); // if(!(e = dt->data->here) || (disc->link < 0 ? ((Dthold_t*)(e))->obj : (void*)((char*)(e) - disc->link) ) != obj) UNSUPPORTED("5p6q7ip4om6y4nrsjz07ua456"); // return ((void*)0); UNSUPPORTED("epetks7tchxd027a5fogh5s8y"); // if(dt->data->type&(0000040|0000100|0000020)) UNSUPPORTED("62u47ehg5sw7ibh04rvqqdaws"); // return obj; UNSUPPORTED("d0a3msvhdhl5w8ezkp8afz1ay"); // else if(dt->data->type&(0000004|0000010) ) UNSUPPORTED("6nk9lof9sqibzqlvn7z3v0adk"); // { if(!e->right ) /* make left child the new root */ UNSUPPORTED("ca72p6wo0wlrje8mc1clzkgd"); // dt->data->here = e->hl._left; UNSUPPORTED("9kvzz8qhw1tc87iizefkx7jux"); // else /* make right child the new root */ UNSUPPORTED("bw0zxd3ks2tqu4oa88193x30s"); // { dt->data->here = e->right; UNSUPPORTED("7xxvhxwnjmtln4k5iqxwas7gy"); // /* merge left subtree to right subtree */ UNSUPPORTED("b5hfkdgjlasjtdi2d8j9cnsfl"); // if(e->hl._left) UNSUPPORTED("7qj77o9upzr06q7w290ppiijf"); // { for(t = e->right; t->hl._left; t = t->hl._left) UNSUPPORTED("6f76030mwgybzczalesd54a9q"); // ; UNSUPPORTED("31m2jyxntk5bvmxrlz7e1060n"); // t->hl._left = e->hl._left; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9jvkhuwh0wij26qmyu1sft73s"); // else /*if(dt->data->type&(DT_SET|DT_BAG))*/ UNSUPPORTED("av4lr5g8w88ulq2cwdubl498l"); // { s = dt->data->hh._htab + ((e->hl._hash)&((dt->data->ntab)-1)); UNSUPPORTED("blraorobd8eq0hg3b3w3uxkwt"); // if((t = *s) == e) UNSUPPORTED("6bxfg7yydrmhsw5oysk7cxytq"); // *s = e->right; UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("z3sto7b7d7g3tgy1pobqnftq"); // { for(; t->right != e; t = t->right) UNSUPPORTED("8c0hnggfgcchqp0vr4bwobm4t"); // ; UNSUPPORTED("2bmnk8u0o0gw61p068qqsvd35"); // t->right = e->right; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("7i9supotcfsya189dptbk9mg6"); // key = (void*)(disc->size < 0 ? *((char**)((char*)(obj)+disc->key)) : ((char*)(obj)+disc->key)); UNSUPPORTED("6k8ldpnvi2limcrix2xyqga8a"); // e->hl._hash = (disc->hashf ? (*disc->hashf)(dt,key,disc) : dtstrhash(0,key,disc->size) ); UNSUPPORTED("6vkn7padspfbtju9g5b65b34w"); // dt->data->here = ((Dtlink_t*)0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("zjdphdwef22jifi7kl4wial9"); // dt->data->size -= 1; UNSUPPORTED("27sbkwn3jowh7b7zt5tzb2v4q"); // return (*dt->meth->searchf)(dt,(void*)e,0000040) ? obj : ((void*)0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cdt/dtrestore__c.java000066400000000000000000000124631340005343600224700ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cdt; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import h.Dtsearch_f; import h.ST_dt_s; import h.ST_dtlink_s; public class dtrestore__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //3 8dfut8799tvg4tjvn2yz48d7h // int dtrestore(register Dt_t* dt, register Dtlink_t* list) public static int dtrestore(ST_dt_s dt, ST_dtlink_s list) { ENTERING("8dfut8799tvg4tjvn2yz48d7h","dtrestore"); try { ST_dtlink_s t; //Dtlink_t **s, **ends; int type; Dtsearch_f searchf = (Dtsearch_f) dt.meth.searchf; type = dt.data.type&010000; if(N(list)) /* restoring a flattened dictionary */ { if(N(type)) return -1; list = (ST_dtlink_s) dt.data.here; } else /* restoring an extracted list of elements */ { if(dt.data.size != 0) return -1; type = 0; } dt.data.setInt("type", dt.data.type & ~010000); if((dt.data.type&(0000001|0000002))!=0) { //dt->data->here = ((Dtlink_t*)0); UNSUPPORTED("4xawc48hce5sov89n8h4j7xw0"); // if(type) /* restoring a flattened dictionary */ UNSUPPORTED("3yrjmgus9a9415ocrrtj1e733"); // { for(ends = (s = dt->data->hh._htab) + dt->data->ntab; s < ends; ++s) UNSUPPORTED("7s6h8lg0p1wwil85e1p2msogy"); // { if((t = *s) ) UNSUPPORTED("2j3e40zcb5znwl73hbk12t6va"); // { *s = list; UNSUPPORTED("ef469bao0q1pw0jwv7pmoly31"); // list = t->right; UNSUPPORTED("29gliugc08l5pj89nfqoctwqi"); // t->right = ((Dtlink_t*)0); UNSUPPORTED("cysnuxd51taci3hbg5lifz8ce"); // } UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("dri3t8bbbtcxexw436q0kqnxd"); // else /* restoring an extracted list of elements */ UNSUPPORTED("efiynrcqevfta9kp0bfbujmn5"); // { dt->data->size = 0; UNSUPPORTED("afqkqg6k8jxzgjyj7tb6kw1fc"); // while(list) UNSUPPORTED("4rgxhjb5r159n4fh7vilshms9"); // { t = list->right; UNSUPPORTED("6fq6k0xv0ofue3nmsm3tcbmxc"); // (*searchf)(dt,(void*)list,0000040); UNSUPPORTED("8dsqgg8k8zwg5ae8ltd5xs9yc"); // list = t; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } } else { if((dt.data.type&(0000004|0000010))!=0) dt.data.here = list; else /*if(dt->data->type&(DT_LIST|DT_STACK|DT_QUEUE))*/ {UNSUPPORTED("79wu0m7edfdq02msgoqkzb32"); // { dt->data->here = ((Dtlink_t*)0); UNSUPPORTED("c8q10nh3f6o4rjxtacmbgjxqj"); // dt->data->hh._head = list; } if(N(type)) dt.data.setInt("size", -1); } return 0; } finally { LEAVING("8dfut8799tvg4tjvn2yz48d7h","dtrestore"); } } } plantuml-1.2018.13+ds/src/gen/lib/cdt/dtsize__c.java000066400000000000000000000100261340005343600217500ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cdt; import static gen.lib.cdt.dtrestore__c.dtrestore; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import h.ST_dt_s; import h.ST_dtlink_s; public class dtsize__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //3 6j49zum5hqto1t7fyrz8qjv1u // static int treecount(register Dtlink_t* e) public static int treecount(ST_dtlink_s e) { ENTERING("6j49zum5hqto1t7fyrz8qjv1u","treecount"); try { return e!=null ? treecount((ST_dtlink_s) e._left) + treecount((ST_dtlink_s) e.right) + 1 : 0; } finally { LEAVING("6j49zum5hqto1t7fyrz8qjv1u","treecount"); } } //3 bci0ea1fa7egf4aads6gdgvsq // int dtsize(Dt_t* dt) public static int dtsize_(ST_dt_s dt) { ENTERING("bci0ea1fa7egf4aads6gdgvsq","dtsize"); try { ST_dtlink_s t; int size; if (((dt.data.type&010000)!=0)) dtrestore(dt,null); if(dt.data.size < 0) /* !(dt->data->type&(DT_SET|DT_BAG)) */ { if((dt.data.type&(0000004|0000010))!=0) dt.data.setInt("size", treecount((ST_dtlink_s) dt.data.here)); else if((dt.data.type&(0000020|0000040|0000100))!=0) { size=0; for(t = (ST_dtlink_s) dt.data._head; t!=null; t = (ST_dtlink_s) t.right) size += 1; dt.data.setInt("size", size); } } return dt.data.size; } finally { LEAVING("bci0ea1fa7egf4aads6gdgvsq","dtsize"); } } } plantuml-1.2018.13+ds/src/gen/lib/cdt/dtstat__c.java000066400000000000000000000205701340005343600217560ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cdt; import static smetana.core.Macro.UNSUPPORTED; public class dtstat__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //3 91c7rdavgvzhuigvve5ibdpn0 // static void dttstat(Dtstat_t* ds, Dtlink_t* root, int depth, int* level) public static Object dttstat(Object... arg) { UNSUPPORTED("96759a5l0ygg0om48m2a6t0ng"); // static void dttstat(Dtstat_t* ds, Dtlink_t* root, int depth, int* level) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("56ka5rmkoppf3hruu8g6m0xja"); // if(root->hl._left) UNSUPPORTED("cid9xp3s0qj3aabaka0l9zv7t"); // dttstat(ds,root->hl._left,depth+1,level); UNSUPPORTED("9s9ahe7p2w6fq5emj7g8wbjfr"); // if(root->right) UNSUPPORTED("87cqywe08opun9vcdypm5sngz"); // dttstat(ds,root->right,depth+1,level); UNSUPPORTED("1cpnp52f4qqoepwe6x0k1xfba"); // if(depth > ds->dt_n) UNSUPPORTED("7ufge640ert57jo7j225ab7pe"); // ds->dt_n = depth; UNSUPPORTED("3pj5kfo9kjuutf0og8g2j8geg"); // if(level) UNSUPPORTED("9gine8rpyhyyk5yrtmvl56o2p"); // level[depth] += 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a8o5okh4tw99gnboco3s2dmxd // static void dthstat(register Dtdata_t* data, Dtstat_t* ds, register int* count) public static Object dthstat(Object... arg) { UNSUPPORTED("48ylybwp2yevlr561pyv3jui"); // static void dthstat(register Dtdata_t* data, Dtstat_t* ds, register int* count) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bqowb8dyq0iy0kow4ic3v69rm"); // register Dtlink_t* t; UNSUPPORTED("1kv2h7mwh5yurbekfwfiewdhy"); // register int n, h; UNSUPPORTED("286ioif0j041zmjzncvg5xoll"); // for(h = data->ntab-1; h >= 0; --h) UNSUPPORTED("3q5ha8vx2tajjl4ufu2w0no4p"); // { n = 0; UNSUPPORTED("csnxwylxkitnmc1zga3njlqgd"); // for(t = data->hh._htab[h]; t; t = t->right) UNSUPPORTED("90p2oslbn5buyc5k0tkflj50d"); // n += 1; UNSUPPORTED("1pfuj1amofbpxyeubend5yxr5"); // if(count) UNSUPPORTED("5nwitx1rnfie4jd6ny8ssadzg"); // count[n] += 1; UNSUPPORTED("3w8in45yqqsl7kb6o0suodbq0"); // else if(n > 0) UNSUPPORTED("ck4u5h04gsnndyuthxg9kuixs"); // { ds->dt_n += 1; UNSUPPORTED("487tl3ivbjnaxewh91pw7xeuh"); // if(n > ds->dt_max) UNSUPPORTED("arga2k65qq28lxquyhcmmii6p"); // ds->dt_max = n; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1kbkj84h5jc45cmi7lzd45dp // int dtstat(register Dt_t* dt, Dtstat_t* ds, int all) public static Object dtstat(Object... arg) { UNSUPPORTED("ao2i3bpekp72m9gi7y5ckz4rk"); // int dtstat(register Dt_t* dt, Dtstat_t* ds, int all) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("44m1eek6bje0mjqjlsecsorod"); // register int i; UNSUPPORTED("26pvlo4hyfclsuk4h43qetsjw"); // static int *Count, Size; UNSUPPORTED("ckjxpmega2z5oju8xk72wsy0q"); // ((dt->data->type&010000) ? dtrestore(dt,((Dtlink_t*)0)) : 0); UNSUPPORTED("ec11eijzw85083qye8hp5eex0"); // ds->dt_n = ds->dt_max = 0; UNSUPPORTED("3tdmcypiwfwu1pn4i6zzf500z"); // ds->dt_count = ((int*)0); UNSUPPORTED("azymim1m9qe68uhp1mftu7fe1"); // ds->dt_size = dtsize(dt); UNSUPPORTED("av3q24lmuasi6ojxa3wldv6ta"); // ds->dt_meth = dt->data->type&0000377; UNSUPPORTED("7wb0sc472yga8vixhnog657ny"); // if(!all) UNSUPPORTED("5izxoao5ryte71964f8yjfd5y"); // return 0; UNSUPPORTED("32ow9kmsxf47y1h17vyj3ef11"); // if(dt->data->type&(0000001|0000002)) UNSUPPORTED("3h1ytwsfcbphbuuhvj29vqlpn"); // { dthstat(dt->data,ds,((int*)0)); UNSUPPORTED("cg0ykqnfk3ou03i5e9ykd3m5n"); // if(ds->dt_max+1 > Size) UNSUPPORTED("4ebwk82nv6oujn3zi64gvqqr7"); // { if(Size > 0) UNSUPPORTED("4dxxr85kxn2tyyzxi82w0iqak"); // free(Count); UNSUPPORTED("3a6ksysaw3s4hfdjvet2q2qxc"); // if(!(Count = (int*)malloc((ds->dt_max+1)*sizeof(int))) ) UNSUPPORTED("6pxdbvdu6loxn1ex6nm9i93gb"); // return -1; UNSUPPORTED("13xjtjclxu8ornn37l48jz2rv"); // Size = ds->dt_max+1; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("36u41cy59sloyiha209o4m5qy"); // for(i = ds->dt_max; i >= 0; --i) UNSUPPORTED("8aibp56k7f0yagfchektytbwy"); // Count[i] = 0; UNSUPPORTED("b5vi0pdbdr81ex0fk7lepptgm"); // dthstat(dt->data,ds,Count); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("av63gjdiqp6xi9w4vjwqpn5oo"); // else if(dt->data->type&(0000004|0000010)) UNSUPPORTED("bld1jk0owgrtf4hcqqhwoccpy"); // { if(dt->data->here) UNSUPPORTED("31bytekoo4eleuggsetk4m6de"); // { dttstat(ds,dt->data->here,0,((int*)0)); UNSUPPORTED("7hz6680zzj4qr9s3dm6v435sk"); // if(ds->dt_n+1 > Size) UNSUPPORTED("aq4shezrsmlv37xas7p8ho5sg"); // { if(Size > 0) UNSUPPORTED("3y929awdu2jrmw3aer6dqygxb"); // free(Count); UNSUPPORTED("ex3430euevoine0wgb82be0rc"); // if(!(Count = (int*)malloc((ds->dt_n+1)*sizeof(int))) ) UNSUPPORTED("9qiuahtnvh744qet6fj8wk596"); // return -1; UNSUPPORTED("e80mtvhrb447fuzvxw7tmlk79"); // Size = ds->dt_n+1; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("ce7lqmqeaeqmtpznl57wppd5n"); // for(i = ds->dt_n; i >= 0; --i) UNSUPPORTED("6j9e4nc2e8eecvywkpfm2ut9m"); // Count[i] = 0; UNSUPPORTED("7vm7v7g848394ourjpirftcq7"); // dttstat(ds,dt->data->here,0,Count); UNSUPPORTED("ce7lqmqeaeqmtpznl57wppd5n"); // for(i = ds->dt_n; i >= 0; --i) UNSUPPORTED("2t8ajn7ynd4ll8m6rug9gxbsx"); // if(Count[i] > ds->dt_max) UNSUPPORTED("8d36wfd4xwyzw0stap7i7dv8y"); // ds->dt_max = Count[i]; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cdj1cmsf0q45eayjhj4n0zpsn"); // ds->dt_count = Count; UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cdt/dtstrhash__c.java000066400000000000000000000104061340005343600224540ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cdt; import static smetana.core.Macro.UNSUPPORTED; public class dtstrhash__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //3 ilmfiy3q8awgqo01v4p6sxqo // unsigned int dtstrhash(register unsigned int h, void* args, register int n) public static Object dtstrhash(Object... arg) { UNSUPPORTED("2yykq92jf12qpgr2zziajbyzl"); // unsigned int dtstrhash(register unsigned int h, void* args, register int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5c17vk53xaiwjbt9ov98wzeer"); // register unsigned char* s = (unsigned char*)args; UNSUPPORTED("abhbgzrg4q5z2vkoed72su98y"); // if(n <= 0) UNSUPPORTED("25f9vqwrb3gtkdnfnn6tdi2sp"); // { for(; *s != 0; s += s[1] ? 2 : 1) UNSUPPORTED("27ugkho4hqjs3cxg13l52hssq"); // h = (h + (s[0]<<8) + s[1])*17109811; UNSUPPORTED("5b7raoyujdiyvk5amytm2iv8d"); // n = s - (unsigned char*)args; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("dr62hl39yt7u8lxzywzmph1wz"); // { register unsigned char* ends; UNSUPPORTED("4ytefr16blz6pxv5xh9f0u9v0"); // for(ends = s+n-1; s < ends; s += 2) UNSUPPORTED("27ugkho4hqjs3cxg13l52hssq"); // h = (h + (s[0]<<8) + s[1])*17109811; UNSUPPORTED("9luve3tuqafeir04r2fr5d20m"); // if(s <= ends) UNSUPPORTED("2hbqyzsyz69z1twg3his8qw03"); // h = (h + (s[0]<<8))*17109811; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2eaqcc4p1u1dwzxk8syb0lnws"); // return (h+n)*17109811; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cdt/dttree__c.java000066400000000000000000000424421340005343600217440ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cdt; import static gen.lib.cdt.dtrestore__c.dtrestore; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtils.sizeof; import static smetana.core.JUtils.strcmp; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import static smetana.core.Macro.UNSUPPORTED_INT; import h.Dtcompar_f; import h.ST_dt_s; import h.ST_dtdisc_s; import h.ST_dthold_s; import h.ST_dtlink_s; import h.ST_dthold_s; import smetana.core.CFunction; import smetana.core.CString; import smetana.core.__ptr__; public class dttree__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack static class no_root extends RuntimeException {} static class has_root extends RuntimeException {} static class do_search extends RuntimeException {} static class dt_delete extends RuntimeException {} static class dt_insert extends RuntimeException {} static class dt_next extends RuntimeException {} //3 abqfzg1d1vkzk51225tcdlik5 //static void* dttree(Dt_t* dt, void* obj, int type) public static Object dttree(ST_dt_s dt, __ptr__ obj, int type) { ENTERING("abqfzg1d1vkzk51225tcdlik5","dttree"); try { ST_dtlink_s root, t; int cmp, lk, sz, ky; ST_dtlink_s l, r, me=null; final ST_dtlink_s link = new ST_dtlink_s(); Object o, k, key = null; int n, minp; //, turn[(sizeof(size_t)*8 - 2)]; Dtcompar_f cmpf; ST_dtdisc_s disc; if (((dt.data.type) & 010000) !=0) { dtrestore(dt,null); } disc = (ST_dtdisc_s) dt.disc; ky = disc.key; sz = disc.size; lk = disc.link; cmpf = (Dtcompar_f) disc.comparf; dt.setInt("type", dt.type&~0100000); root = (ST_dtlink_s) dt.data.here; if(N(obj)) { if(N(root) || N(type&(0000100|0000200|0000400)) ) return null; if((type&0000100)!=0) /* delete all objects */ { if(disc.freef!=null || disc.link < 0) { do { while((t = (ST_dtlink_s) root._left)!=null ) { root._left = t.right; t.right = root; root = t; } t = (ST_dtlink_s) root.right; if(disc.freef!=null) throw new UnsupportedOperationException(); // (*disc->freef)(dt,(lk < 0 ? ((Dthold_t*)(root))->obj : (void*)((char*)(root) - lk) ),disc); if(disc.link < 0) dt.memoryf.exe(dt, root, null, disc); } while((root = t)!=null ); } dt.data.setInt("size", 0); dt.data.here = null; return null; } else /* computing largest/smallest element */ { if((type&0000400)!=0) { while((t = (ST_dtlink_s) root.right)!=null ) { root.right = t._left; t._left = root; root = t; } } else /* type&DT_FIRST */ { while((t = (ST_dtlink_s) root._left)!=null ) { root._left = t.right; t.right = root; root = t; } } dt.data.here = root; return (lk < 0 ? root.castTo_ST_dthold_s().obj : root.addVirtualBytes(-lk) ); } } /* note that link.right is LEFT tree and link.left is RIGHT tree */ l = r = link; /* allow apps to delete an object "actually" in the dictionary */ try { if(dt.meth.type == 0000010 && ((type&(0000002|0010000))!=0) ) { throw new UnsupportedOperationException(); // { key = (void*)(sz < 0 ? *((char**)((char*)(obj)+ky)) : ((char*)(obj)+ky)); // for(o = (*(((Dt_t*)(dt))->searchf))((dt),(void*)(obj),0000004); o; o = (*(((Dt_t*)(dt))->searchf))((dt),(void*)(o),0000010) ) // { k = (void*)(sz < 0 ? *((char**)((char*)(o)+ky)) : ((char*)(o)+ky)); // if((cmpf ? (*cmpf)(dt,key,k,disc) : (sz <= 0 ? strcmp(key,k) : memcmp(key,k,sz)) ) != 0) // break; // if(o == obj) // { root = dt->data->here; // l->right = root->hl._left; // r->hl._left = root->right; // goto dt_delete; // } // } } try { if(((type&(0001000|0000004|0000001|0004000))!=0)) { key = ((type&0001000)!=0) ? obj : (sz < 0 ? ((__ptr__)obj).addVirtualBytes(ky) : ((__ptr__)obj).addVirtualBytes(ky)); if(root!=null) throw new do_search(); } else if((type&0000040)!=0) { throw new UnsupportedOperationException(); // { me = (Dtlink_t*)obj; // obj = (lk < 0 ? ((Dthold_t*)(me))->obj : (void*)((char*)(me) - lk) ); // key = (void*)(sz < 0 ? *((char**)((char*)(obj)+ky)) : ((char*)(obj)+ky)); // if(root) // goto do_search; } else if(root!=null && (lk < 0 ? (root.castTo_ST_dthold_s().obj!=null): NEQ(root.addVirtualBytes(-lk), obj))) { key = (sz < 0 ? ((__ptr__)obj).addVirtualBytes(ky) : ((__ptr__)obj).addVirtualBytes(ky)); throw new do_search(); } } catch (do_search do_search) { // do_search: if(dt.meth.type == 0000004 && (minp = dt.data.minp) != 0 && (type&(0001000|0000004))!=0) { /* simple search, note that minp should be even */ // for(t = root, n = 0; n < minp; ++n) // { k = (lk < 0 ? ((Dthold_t*)(t))->obj : (void*)((char*)(t) - lk) ); k = (void*)(sz < 0 ? *((char**)((char*)(k)+ky)) : ((char*)(k)+ky)); // if((cmp = (cmpf ? (*cmpf)(dt,key,k,disc) : (sz <= 0 ? strcmp(key,k) : memcmp(key,k,sz)) )) == 0) // return (lk < 0 ? ((Dthold_t*)(t))->obj : (void*)((char*)(t) - lk) ); // else // { turn[n] = cmp; // if(!(t = cmp < 0 ? t->hl._left : t->right) ) // return ((void*)0); // } // } // /* exceed search length, top-down splay now */ // for(n = 0; n < minp; n += 2) // { if(turn[n] < 0) // { t = root->hl._left; // if(turn[n+1] < 0) // { ((root)->hl._left = (t)->right, (t)->right = (root)); // ((r) = (r)->hl._left = (t) ); // root = t->hl._left; // } // else // { ((l) = (l)->right = (t) ); // ((r) = (r)->hl._left = (root) ); // root = t->right; // } // } // else // { t = root->right; // if(turn[n+1] > 0) // { ((root)->right = (t)->hl._left, (t)->hl._left = (root)); // ((l) = (l)->right = (t) ); // root = t->right; // } // else // { ((r) = (r)->hl._left = (t) ); // ((l) = (l)->right = (root) ); // root = t->hl._left; // } // } // } throw new UnsupportedOperationException("do_search1"); } while(true) { k = lk < 0 ? root.castTo_ST_dthold_s().obj : root.addVirtualBytes(-lk); k = sz < 0 ? ((__ptr__)k).addVirtualBytes(ky) : ((__ptr__)k).addVirtualBytes(ky); if((cmp = (cmpf!=null ? (Integer)((CFunction)cmpf).exe(dt,key,k,disc) : (sz <= 0 ? strcmp((CString)key,(CString)k) : UNSUPPORTED_INT("memcmp(key,k,sz))") ))) == 0) break; else if(cmp < 0) { if((t = (ST_dtlink_s) root._left)!=null ) { k = lk < 0 ? t.castTo_ST_dthold_s().obj : t.addVirtualBytes(-lk); k = sz < 0 ? ((__ptr__)k).addVirtualBytes(ky) : ((__ptr__)k).addVirtualBytes(ky); if((cmp = (cmpf!=null ? (Integer)((CFunction)cmpf).exe(dt,key,k,disc) : (sz <= 0 ? strcmp((CString)key,(CString)k) : UNSUPPORTED_INT("memcmp(key,k,sz))") ))) < 0) { root._left = t.right; t.right = root; r._left = t; r = t; if(N(root = (ST_dtlink_s) t._left) ) break; } else if(cmp == 0) { r._left = root; r = root; root = t; break; } else /* if(cmp > 0) */ { l.right = t; l = t; r._left = root; r = root; if(N(root = (ST_dtlink_s) t.right) ) break; } } else { r._left = root; r = root; root = null; break; } } else /* if(cmp > 0) */ { if ((t = (ST_dtlink_s) root.right)!=null ) { k = (lk < 0 ? t.castTo_ST_dthold_s().obj : t.addVirtualBytes(-lk) ); k = sz < 0 ? ((__ptr__)k).addVirtualBytes(ky) : ((__ptr__)k).addVirtualBytes(ky); if((cmp = (cmpf!=null ? (Integer)((CFunction)cmpf).exe(dt,key,k,disc) : (sz <= 0 ? strcmp((CString)key,(CString)k) : UNSUPPORTED_INT("memcmp(key,k,sz))") ))) > 0) { root.right = t._left; t._left = root; l.right = t; l = t; if(N(root = (ST_dtlink_s) t.right )) break; } else if(cmp == 0) { l.right = root; l = root; root = t; break; } else /* if(cmp < 0) */ { r._left = t; r = t; l.right = root; l = root; if(N(root = (ST_dtlink_s) t._left )) break; } } else { l.right = root; l = root; root = null; break; } } } } if(root!=null) { /* found it, now isolate it */ dt.setInt("type", dt.type | 0100000); l.right = root._left; r._left = root.right; if((type&(0000004|0001000))!=0) { /*has_root:*/ throw new has_root(); } else if((type&0000010)!=0) { root._left = link.right; root.right = null; link.right = root; //dt_next: if((root = (ST_dtlink_s) link._left)!=null ) { while((t = (ST_dtlink_s) root._left)!=null ) { root._left = t.right; t.right = root; root = t; } link._left = root.right; throw new has_root(); } else throw new no_root(); } else if((type&0000020)!=0) { throw new UnsupportedOperationException(); // { root->right = link.hl._left; // root->hl._left = ((Dtlink_t*)0); // link.hl._left = root; // dt_prev: // if((root = link.right) ) // { while((t = root->right) ) // (((root)->right = (t)->hl._left, (t)->hl._left = (root)), (root) = (t)); // link.right = root->hl._left; // goto has_root; // } // else goto no_root; } else if((type&(0000002|0010000))!=0) { throw new UnsupportedOperationException(); // { /* taking an object out of the dictionary */ // dt_delete: // obj = (lk < 0 ? ((Dthold_t*)(root))->obj : (void*)((char*)(root) - lk) ); // if(disc->freef && (type&0000002)) // (*disc->freef)(dt,obj,disc); // if(disc->link < 0) // (*dt->memoryf)(dt,(void*)root,0,disc); // if((dt->data->size -= 1) < 0) // dt->data->size = -1; // goto no_root; } else if((type&(0000001|0004000))!=0) { if((dt.meth.type&0000004)!=0) throw new has_root(); else { root._left = null; root.right = link._left; link._left = root; /*dt_insert: DUPLICATION*/ if(disc.makef!=null && (type&0000001)!=0) obj = (__ptr__) disc.makef.exe(dt,obj,disc); if(obj!=null) { if(lk >= 0) root = (ST_dtlink_s) ((__ptr__)obj.addVirtualBytes(lk)).castTo(ST_dtlink_s.class); else { root = (ST_dtlink_s)(((ST_dthold_s)dt.memoryf.exe( dt,null,sizeof(ST_dthold_s.class),disc)).castTo(ST_dtlink_s.class)); if(root!=null) root.castTo(ST_dthold_s.class).setPtr("obj", obj); else if(disc.makef!=null && disc.freef!=null && ((type&0000001))!=0) UNSUPPORTED("(*disc->freef)(dt,obj,disc);"); } } if(root!=null) { if(dt.data.size >= 0) dt.data.setInt("size", dt.data.size+1 ); throw new has_root(); } else throw new UnsupportedOperationException("goto no_root"); } } else if((type&0000040)!=0) /* a duplicate */ { throw new UnsupportedOperationException(); // { if(dt->meth->type&0000004) // { if(disc->freef) // (*disc->freef)(dt,obj,disc); // if(disc->link < 0) // (*dt->memoryf)(dt,(void*)me,0,disc); // } // else // { me->hl._left = ((Dtlink_t*)0); // me->right = link.hl._left; // link.hl._left = me; // dt->data->size += 1; // } // goto has_root; } } else { /* not found, finish up LEFT and RIGHT trees */ r._left = null; l.right = null; if((type&0000010)!=0) { //goto dt_next: if((root = (ST_dtlink_s) link._left)!=null ) { while((t = (ST_dtlink_s) root._left)!=null ) { root._left = t.right; t.right = root; root = t; } link._left = root.right; throw new has_root(); } else throw new no_root(); } else if((type&0000020)!=0) throw new UnsupportedOperationException("goto dt_prev"); else if((type&(0000004|0001000))!=0) { throw new no_root(); } else if((type&(0000001|0004000))!=0) { /*dt_insert: DUPLICATION*/ if(disc.makef!=null && (type&0000001)!=0) obj = (__ptr__) disc.makef.exe(dt,obj,disc); if(obj!=null) { if(lk >= 0) root = (ST_dtlink_s) ((__ptr__)obj.addVirtualBytes(lk)).castTo(ST_dtlink_s.class); else { root = (ST_dtlink_s)(((ST_dthold_s)dt.memoryf.exe( dt,null,sizeof(ST_dthold_s.class),disc)).castTo(ST_dtlink_s.class)); if(root!=null) root.castTo(ST_dthold_s.class).setPtr("obj", obj); else if(disc.makef!=null && disc.freef!=null && ((type&0000001))!=0) UNSUPPORTED("(*disc->freef)(dt,obj,disc);"); } } if(root!=null) { if(dt.data.size >= 0) dt.data.setInt("size", dt.data.size+1 ); throw new has_root(); } else throw new UnsupportedOperationException("goto no_root"); } else if((type&0000040)!=0) { root = me; dt.data.setInt("size", dt.data.size+1 ); throw new UnsupportedOperationException("goto has_root"); } else /*if(type&DT_DELETE)*/ { obj = null; throw new UnsupportedOperationException("goto no_root"); } // throw new UnsupportedOperationException(); } // return ((void*)0); } catch (has_root has_root) { root = (ST_dtlink_s) root.castTo(ST_dtlink_s.class); root._left = link.right; root.right = link._left; if((dt.meth.type&0000010)!=0 && (type&(0000004|0001000))!=0 ) { //key = (lk < 0 ? ((Dthold_t*)(root))->obj : (void*)((char*)(root) - lk) ); key = (void*)(sz < 0 ? *((char**)((char*)(key)+ky)) : ((char*)(key)+ky)); throw new UnsupportedOperationException(); // while((t = root->hl._left) ) // { /* find max of left subtree */ // while((r = t->right) ) // (((t)->right = (r)->hl._left, (r)->hl._left = (t)), (t) = (r)); // root->hl._left = t; // /* now see if it's in the same group */ // k = (lk < 0 ? ((Dthold_t*)(t))->obj : (void*)((char*)(t) - lk) ); k = (void*)(sz < 0 ? *((char**)((char*)(k)+ky)) : ((char*)(k)+ky)); // if((cmpf ? (*cmpf)(dt,key,k,disc) : (sz <= 0 ? strcmp(key,k) : memcmp(key,k,sz)) ) != 0) // break; // (((root)->hl._left = (t)->right, (t)->right = (root)), (root) = (t)); // } } dt.data.here = root; return (lk < 0 ? root.castTo_ST_dthold_s().obj : root.addVirtualBytes(-lk)); } catch (no_root no_root) { while((t = (ST_dtlink_s) r._left)!=null) r = t; r._left = link.right; dt.data.here = link._left; return (type&0000002)!=0 ? obj : null; } throw new UnsupportedOperationException(); } finally { LEAVING("abqfzg1d1vkzk51225tcdlik5","dttree"); } } //1 9g22bw0wprm2n836sva9a545j // static Dtmethod_t _Dtoset = //1 6lntjtw57dbb52lukeu9qbjm0 // static Dtmethod_t _Dtobag = //1 23jnfpje5fw0aejl101d0mofi // Dtmethod_t* Dtoset = &_Dtoset //1 b8q5rjkvf93u0f27esfu3h9ay // Dtmethod_t* Dtobag = &_Dtobag //1 5kf1n1yhdy9ojgc0mc3pyowaz // Dtmethod_t _Dttree = /*public static final __struct__<_dtmethod_s> _Dttree = JUtils.from(_dtmethod_s.class); static { _Dttree.setPtr("searchf", function(dttree__c.class, "dttree")); _Dttree.setInt("type", 0000004); }*/ //1 bvfgwxg0ik8j0au3xhv5ear7h // Dtmethod_t* Dtorder = &_Dttree //1 avyrqfvu00yyj95dihtoiwmao // Dtmethod_t* Dttree = &_Dttree //public static _dtmethod_s Dttree = _Dttree.amp(); } plantuml-1.2018.13+ds/src/gen/lib/cdt/dttreeset__c.java000066400000000000000000000127311340005343600224560ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cdt; import static smetana.core.Macro.UNSUPPORTED; public class dttreeset__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //3 wsyenh3pav82eqg8t6irqmpa // static Dtlink_t* treebalance(Dtlink_t* list, int size) public static Object treebalance(Object... arg) { UNSUPPORTED("9upl561wy34u2kgottk3knhw7"); // static Dtlink_t* treebalance(Dtlink_t* list, int size) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e3svy3s8lap0wa9dpy4q3ppie"); // int n; UNSUPPORTED("4euymk8i174zc1zk143wb5qlq"); // Dtlink_t *l, *mid; UNSUPPORTED("8hf6osd37j483sgahmda5xn1j"); // if(size <= 2) UNSUPPORTED("4fl66qhxrdfm7i88fvwjalk6v"); // return list; UNSUPPORTED("7cjc57w4211pyb7xn4u5mv2p3"); // for(l = list, n = size/2 - 1; n > 0; n -= 1) UNSUPPORTED("dcdhqqjy6kk46tsxs923vyy6k"); // l = l->right; UNSUPPORTED("y7f7c2k7x27uc6ph132zknhi"); // mid = l->right; l->right = ((Dtlink_t*)0); UNSUPPORTED("6z99uyzu8i3gvzeo5lrxnw4vo"); // mid->hl._left = treebalance(list, (n = size/2) ); UNSUPPORTED("7pvd4214bcxozaimgklaq3qif"); // mid->right = treebalance(mid->right, size - (n + 1)); UNSUPPORTED("7zdak9tmoe5cam875dr3zz3wn"); // return mid; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7iha6xdoo376u861k6wv8c5pr // int dttreeset(Dt_t* dt, int minp, int balance) public static Object dttreeset(Object... arg) { UNSUPPORTED("3t7ugtrfg37d90rb22ee962hg"); // int dttreeset(Dt_t* dt, int minp, int balance) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dtghok0zzu4g8fnpx91sx0xav"); // int size; UNSUPPORTED("4mt1ak6xs18a3xe6dccf6hf3m"); // if(dt->meth->type != 0000004) UNSUPPORTED("b0epxudfxjm8kichhaautm2qi"); // return -1; UNSUPPORTED("e1eh9pmpa4fopxse0olzgtcum"); // size = dtsize(dt); UNSUPPORTED("aafwg5rqya20bgn3vhz3t2iqb"); // if(minp < 0) UNSUPPORTED("9ox4x4zosos0jeacd6v18u8ak"); // { for(minp = 0; minp < (sizeof(size_t)*8 - 2); ++minp) UNSUPPORTED("4a30x5e8menohy668n1iozj52"); // if((1 << minp) >= size) UNSUPPORTED("1dhrv6aj5eq8ntuvb7qbs8aot"); // break; UNSUPPORTED("7v4oowgea39cogwcgkt7np8iv"); // if(minp <= (sizeof(size_t)*8 - 2)-4) /* use log(size) + 4 */ UNSUPPORTED("aahg7tgohnhh704ric6b2h83i"); // minp += 4; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("80ideyp40y4dgch5lhho631ig"); // if((dt->data->minp = minp + (minp%2)) > (sizeof(size_t)*8 - 2)) UNSUPPORTED("c19ehve53a2rtc95cfpgwc2ua"); // dt->data->minp = (sizeof(size_t)*8 - 2); UNSUPPORTED("s52ssf9x1ga1f1e63jhd0caj"); // if(balance) UNSUPPORTED("3nozetyxtt4d04pcxdwbatake"); // dt->data->here = treebalance(dtflatten(dt), size); UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cdt/dtview__c.java000066400000000000000000000205011340005343600217470ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cdt; import static gen.lib.cdt.dtrestore__c.dtrestore; import static smetana.core.JUtils.EQ; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtils.function; import static smetana.core.JUtils.strcmp; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import static smetana.core.Macro.UNSUPPORTED_INT; import h.Dtcompar_f; import h.ST_dt_s; import smetana.core.CFunction; import smetana.core.CString; import smetana.core.__ptr__; public class dtview__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //3 6spidg45w8teb64726drdswaa // static void* dtvsearch(Dt_t* dt, register void* obj, register int type) public static __ptr__ dtvsearch(ST_dt_s dt, __ptr__ obj, int type) { ENTERING("6spidg45w8teb64726drdswaa","dtvsearch"); try { ST_dt_s d, p; __ptr__ o=null, n, ok, nk; int cmp, lk, sz, ky; Dtcompar_f cmpf; /* these operations only happen at the top level */ if ((type&(0000001|0000002|0000100|0000040))!=0) return (__ptr__) dt.meth.searchf.exe(dt, obj, type); if(((type&(0001000|0000004))!=0) || /* order sets first/last done below */ (((type&(0000200|0000400))!=0) && N(dt.meth.type&(0000010|0000004)) ) ) { for(d = dt; d!=null; d = (ST_dt_s) d.view) if((o = (__ptr__) d.meth.searchf.exe(d,obj,type))!=null ) break; dt.setPtr("walk", d); return o; } if((dt.meth.type & (0000010|0000004) )!=0) { if(N(type & (0000200|0000400|0000010|0000020)) ) return null; n = nk = null; p = null; for(d = dt; d!=null; d = (ST_dt_s) d.view) { if(N(o = (__ptr__) d.meth.searchf.exe(d, obj, type) )) continue; ky = d.disc.key; sz = d.disc.size; lk = d.disc.link; cmpf = (Dtcompar_f) d.disc.comparf; ok = (__ptr__) (sz < 0 ? ((__ptr__)o).addVirtualBytes(ky) : ((__ptr__)o).addVirtualBytes(ky)); if(n!=null) /* get the right one among all dictionaries */ { cmp = (cmpf!=null ? (Integer)((CFunction)cmpf).exe(d,ok,nk,d.disc) : (sz <= 0 ? strcmp((CString)ok,(CString)nk) : UNSUPPORTED_INT("memcmp(ok,nk,sz)")) ); if(((type & (0000010|0000200))!=0 && cmp < 0) || ((type & (0000020|0000400))!=0 && cmp > 0) ) UNSUPPORTED("5o3u9aaanyd9yh74sjfkkofmo"); // goto a_dj; } else /* looks good for now */ { a_dj: p = d; n = o; nk = ok; } } dt.setPtr("walk", p); return n; } /* non-ordered methods */ UNSUPPORTED("36qdhpbcwst6tc1gvwcyvg91u"); // if(!(type & (0000010|0000020)) ) UNSUPPORTED("5p6q7ip4om6y4nrsjz07ua456"); // return ((void*)0); UNSUPPORTED("bx84jj9durkqzcrq4l9h1b0za"); // if(!dt->walk || obj != (dt->walk->disc->link < 0 ? ((Dthold_t*)(dt->walk->data->here))->obj : (void*)((char*)(dt->walk->data->here) - dt->walk->disc->link) ) ) UNSUPPORTED("eh58afn12udc5q8yzr25advls"); // { for(d = dt; d; d = d->view) UNSUPPORTED("de5yx4s0nsbgshd9seabcy2g9"); // if((o = (*(d->meth->searchf))(d, obj, 0000004)) ) UNSUPPORTED("1dhrv6aj5eq8ntuvb7qbs8aot"); // break; UNSUPPORTED("66mzv36wy2mflr2u2a5pwa2vg"); // dt->walk = d; UNSUPPORTED("d4pllgr7b2ohssrhtxxtd1fbb"); // if(!(obj = o) ) UNSUPPORTED("aihzmr4oo3tuh6kkxwtn9tlbd"); // return ((void*)0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6he3c07r1xjfepuku37yav920"); // for(d = dt->walk, obj = (*d->meth->searchf)(d, obj, type);; ) UNSUPPORTED("d7hiatjof3gfyx3ab27oq4d74"); // { while(obj) /* keep moving until finding an uncovered object */ UNSUPPORTED("44tdztkynd140cqbaafbbxvqn"); // { for(p = dt; ; p = p->view) UNSUPPORTED("72t51pabtpfsnn4qrcjvd6gkb"); // { if(p == d) /* adjacent object is uncovered */ UNSUPPORTED("4an2jpd7xs9lm1jlfrbualsrv"); // return obj; UNSUPPORTED("bndt77eukkw8dnhl8sce4ts3d"); // if((*(p->meth->searchf))(p, obj, 0000004) ) UNSUPPORTED("6ioth986rfbv208dp59shjy15"); // break; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("5bx9ax8tembk4pweu41m5yw43"); // obj = (*d->meth->searchf)(d, obj, type); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("3diupilxwbi5nroolxiy7e8b0"); // if(!(d = dt->walk = d->view) ) /* move on to next dictionary */ UNSUPPORTED("aihzmr4oo3tuh6kkxwtn9tlbd"); // return ((void*)0); UNSUPPORTED("esje2igec9cwwteta36lbrdvc"); // else if(type&0000010) UNSUPPORTED("aeh2pn8gp2xj4lehv52n4hp6b"); // obj = (*(d->meth->searchf))(d,((void*)0),0000200); UNSUPPORTED("1lfqka4p8e7w15b16wquy0vjx"); // else obj = (*(d->meth->searchf))(d,((void*)0),0000400); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("6spidg45w8teb64726drdswaa","dtvsearch"); } } //3 dfryioch2xz35w8nq6lxbk5kh // Dt_t* dtview(register Dt_t* dt, register Dt_t* view) public static ST_dt_s dtview(ST_dt_s dt, ST_dt_s view) { ENTERING("dfryioch2xz35w8nq6lxbk5kh","dtview"); try { ST_dt_s d; if ((dt.data.type&010000)!=0) dtrestore(dt,null); if(view!=null) { if ((view.data.type&010000)!=0) dtrestore(view,null); if(NEQ(view.meth, dt.meth)) /* must use the same method */ UNSUPPORTED("return null;"); } /* make sure there won't be a cycle */ for(d = view; d!=null; d = (ST_dt_s)d.view) if(EQ(d, dt)) return null; /* no more viewing lower dictionary */ if((d = (ST_dt_s)dt.view)!=null ) d.setInt("nview", d.nview-1); dt.setPtr("walk", null); dt.setPtr("view", null); if(N(view)) { dt.setPtr("searchf", dt.meth.searchf); return d; } /* ok */ dt.setPtr("view", view); dt.setPtr("searchf", function(dtview__c.class, "dtvsearch")); view.setInt("nview", view.nview+1 ); return view; } finally { LEAVING("dfryioch2xz35w8nq6lxbk5kh","dtview"); } } } plantuml-1.2018.13+ds/src/gen/lib/cdt/dtwalk__c.java000066400000000000000000000102101340005343600217270ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cdt; import static smetana.core.Macro.UNSUPPORTED; public class dtwalk__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //3 8kcykvee64o5kutyoj5s6zlcd // int dtwalk(register Dt_t* dt, int (*userf)(Dt_t*, void*, void*), void* data) public static Object dtwalk(Object... arg) { UNSUPPORTED("b9srn3cj7cbdmgpkg7efd84gy"); // int dtwalk(register Dt_t* dt, int (*userf)(Dt_t*, void*, void*), void* data) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c1mo2va6tje36x5zdz4skrhr3"); // register void *obj, *next; UNSUPPORTED("38agwqn7uf7ph0hgh9rs1zj6o"); // register Dt_t* walk; UNSUPPORTED("f1idx4dy7rsiossb8rzdg9ytc"); // register int rv; UNSUPPORTED("5uhtyadbiw0no45jeogtdm8j1"); // for(obj = (*(((Dt_t*)(dt))->searchf))((dt),(void*)(0),0000200); obj; ) UNSUPPORTED("1yvxoworxpkhllf50ue62yykm"); // { if(!(walk = dt->walk) ) UNSUPPORTED("286hyyd6m1nj8sr0io04dorkh"); // walk = dt; UNSUPPORTED("e5vmvi9xteysydic3lz65s9ma"); // next = (*(((Dt_t*)(dt))->searchf))((dt),(void*)(obj),0000010); UNSUPPORTED("2wrbbpzkv9yaatkgjr87xt1z0"); // if((rv = (*userf)(walk, obj, data )) < 0) UNSUPPORTED("9loxyjy5zd52164vd43hrbwd2"); // return rv; UNSUPPORTED("c1ws7w4pwcfmyhsj7v1nsaiam"); // obj = next; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/000077500000000000000000000000001340005343600176355ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/gen/lib/cgraph/agerror__c.java000066400000000000000000000343311340005343600226060ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static smetana.core.Macro.UNSUPPORTED; public class agerror__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 6ayavpu39aihwyojkx093pcy3 // extern Agraph_t *Ag_G_global //1 871mxtg9l6ffpxdl9kniwusf7 // extern char *AgDataRecName //1 c0o2kmml0tn6hftuwo0u4shwd // extern Dtdisc_t Ag_subnode_id_disc //1 8k15pyu256unm2kpd9zf5pf7k // extern Dtdisc_t Ag_subnode_seq_disc //1 e3d820y06gpeusn6atgmj8bzd // extern Dtdisc_t Ag_mainedge_id_disc //1 cbr0772spix9h1aw7h5v7dv9j // extern Dtdisc_t Ag_subedge_id_disc //1 akd0c3v0j7m2npxcb9acit1fa // extern Dtdisc_t Ag_mainedge_seq_disc //1 12d8la07351ww7vwfzucjst8m // extern Dtdisc_t Ag_subedge_seq_disc //1 29eokk7v88e62g8o6lizmo967 // extern Dtdisc_t Ag_subgraph_id_disc //1 4xd9cbgy6hk5g6nhjcbpzkx14 // extern Agcbdisc_t AgAttrdisc //1 461g755qnm9wvxv8jui6a24t // static agerrlevel_t agerrno //1 e5usqd9mv6o7qtqhzn1ooq8f7 // static agerrlevel_t agerrlevel = AGWARN //1 65wyo1e2rqlpvn8cmykslgkdk // static int agmaxerr //1 cyxwkk5enwxhnbcphn28qfacp // static long aglast //1 5rorjmu2xqe7cz2swf6rpoim7 // static FILE *agerrout //1 bh4ymcg6wung4rp51y2goh1d4 // static agusererrf usererrf //3 4629q3lk91auv6a511v0x4vlz // agusererrf agseterrf (agusererrf newf) public static Object agseterrf(Object... arg) { UNSUPPORTED("8jzbxfdt0lvxx1g5lts7oux6h"); // agusererrf UNSUPPORTED("7ncs6gpd4ul7ye0ebi5sdte6g"); // agseterrf (agusererrf newf) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e1odaj7t2d733eovc749xtxoz"); // agusererrf oldf = usererrf; UNSUPPORTED("c1j7e26jj1cw14qzyy94k59pg"); // usererrf = newf; UNSUPPORTED("3ecn7hsti915o9tbvklji7c1a"); // return oldf; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e5jdgza2l5zc0kupfteq5aukb // agerrlevel_t agseterr(agerrlevel_t lvl) public static Object agseterr(Object... arg) { UNSUPPORTED("1jwdh9fku47yepwmadw9neu42"); // agerrlevel_t agseterr(agerrlevel_t lvl) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8wc85fvp4ue7rkh584kznlnga"); // agerrlevel_t oldv = agerrlevel; UNSUPPORTED("76wyk73unc469eyq5uv58o9r5"); // agerrlevel = lvl; UNSUPPORTED("bzei33ohmcbm4iyavn26ua9io"); // return oldv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 603i8wgwc04zi1eda5oxbfu3t // char *aglasterr() public static Object aglasterr(Object... arg) { UNSUPPORTED("7sb3l26vza0sr80wy19whq07s"); // char *aglasterr() UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4kj8gevgj79zghoenj66c47jd"); // long endpos; UNSUPPORTED("3k6eefo2ppnicc6mmsp8y2wtd"); // long len; UNSUPPORTED("6ik3p99apk5rihypipg0uxu8i"); // char *buf; UNSUPPORTED("5hxnce09gegtlijkrkjld0w6i"); // if (!agerrout) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("6rc2guy7n7l2kfuv44bitbkr9"); // fflush(agerrout); UNSUPPORTED("8nylts7ocqt9195btb9qnb915"); // endpos = ftell(agerrout); UNSUPPORTED("5i545onvth9wso94ub314pe4o"); // len = endpos - aglast; UNSUPPORTED("50nts7uovqys70g293t0b5amj"); // buf = (char*)malloc(len + 1); UNSUPPORTED("5tkqcw5p1pfzida9gmkbjsc5g"); // fseek(agerrout, aglast, SEEK_SET); UNSUPPORTED("474haq9m7a4n7kqe7paej6qbi"); // fread(buf, sizeof(char), len, agerrout); UNSUPPORTED("3w01p3l63zt07scumxz12foyc"); // buf[len] = '\0'; UNSUPPORTED("7ik9s8s97py1jire6mujjn05a"); // fseek(agerrout, endpos, SEEK_SET); UNSUPPORTED("5jfpogdyby101eyuw2dhtb5cg"); // return buf; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8nu6iilhr8fc6ltddy6ukbeav // static void userout (agerrlevel_t level, const char *fmt, va_list args) public static Object userout(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("a92ywlsdaen90yka53m479wkl"); // userout (agerrlevel_t level, const char *fmt, va_list args) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("xo6m9cruoz5kdd6mzt4sfknp"); // static char* buf; UNSUPPORTED("bptaq1iwtcs1mly3uja15t0j1"); // static int bufsz = 1024; UNSUPPORTED("d3z5r251dmhlyub2gj2x1w46q"); // char* np; UNSUPPORTED("5jiiwgyq1pv7khw5ygfo33wmr"); // int n; UNSUPPORTED("cjyiejw67ffjjsk60tgeebvif"); // if (!buf) { UNSUPPORTED("40oxx4fb70iotl4q5l9cft8qb"); // buf = (char*)malloc(bufsz); UNSUPPORTED("1qmkdostw44gpi19vfg7p7n4j"); // if (!buf) { UNSUPPORTED("91m823gnagh03x83drfk3mo8m"); // fputs("userout: could not allocate memory\n", stderr ); UNSUPPORTED("6cprbghvenu9ldc0ez1ifc63q"); // return; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6t1zqtkodps5c0ip5z9m4ys5c"); // if (level != AGPREV) { UNSUPPORTED("986dz74hfht24rg9hgakv8o54"); // usererrf ((level == AGERR) ? "Error" : "Warning"); UNSUPPORTED("auhftu1jph1rzzhrtj7f3pnou"); // usererrf (": "); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5ya9apu1bgpt462vp1v11qhyg"); // while (1) { UNSUPPORTED("4ybihr3u2ey4klcf9a6u65435"); // n = vsnprintf(buf, bufsz, fmt, args); UNSUPPORTED("qqfwwqxfm9i6sfc0lugd66nf"); // if ((n > -1) && (n < bufsz)) { UNSUPPORTED("4tqvj0fhss0ek9tp1adme5vk9"); // usererrf (buf); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dnk7v6jvu1uasfcyydkzf1jz2"); // bufsz = ((bufsz*2)>(n+1)?(bufsz*2):(n+1)); UNSUPPORTED("bbchby3jmfv3jbe401wrjuxzt"); // if ((np = (char*)realloc(buf, bufsz)) == NULL) { UNSUPPORTED("91m823gnagh03x83drfk3mo8m"); // fputs("userout: could not allocate memory\n", stderr ); UNSUPPORTED("6cprbghvenu9ldc0ez1ifc63q"); // return; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("46b127jugogkjrjxb2n977bmx"); // va_end(args); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bg9mt0ayklk7lbw3v07dtfigf // static int agerr_va(agerrlevel_t level, const char *fmt, va_list args) public static Object agerr_va(Object... arg) { UNSUPPORTED("863t2xdlf52lqifpg4efkawgu"); // static int agerr_va(agerrlevel_t level, const char *fmt, va_list args) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eyawtts92lihkxvbr369hkd5y"); // agerrlevel_t lvl; UNSUPPORTED("6lzzzfyhdb5tirbg1ccf9a5m3"); // /* Use previous error level if continuation message; UNSUPPORTED("czykt0ac8rrwoqsh6nt389fu3"); // * Convert AGMAX to AGERROR; UNSUPPORTED("4f8vlc80ixgxk5xc2y425pevt"); // * else use input level UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("9u6tfrdzyinkomy2qh16oj4d2"); // lvl = (level == AGPREV ? agerrno : (level == AGMAX) ? AGERR : level); UNSUPPORTED("ah9u8brmn3qarkrtj9yx70p41"); // /* store this error level */ UNSUPPORTED("9e0amfta5xoupadiuupa6cuk7"); // agerrno = lvl; UNSUPPORTED("bwyv65veemjr0y9un4vygtwxb"); // agmaxerr = ((agmaxerr)>(agerrno)?(agmaxerr):(agerrno)); UNSUPPORTED("8s6ysspbpufy37chp503snd3k"); // /* We report all messages whose level is bigger than the user set agerrlevel UNSUPPORTED("4e7jp3qf7pzapc314u0v666ze"); // * Setting agerrlevel to AGMAX turns off immediate error reporting. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("588lzo1simvq8koio5n8dzesh"); // if (lvl >= agerrlevel) { UNSUPPORTED("d201l1bxazbzd0nlukhvkxtcs"); // if (usererrf) UNSUPPORTED("3go4zq0x8ul8ywoga0jkifagx"); // userout (level, fmt, args); UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("19tsxpp6yrcfw8o24jbkr1vi2"); // if (level != AGPREV) UNSUPPORTED("bl903wgo0kk135i25d7zw09r6"); // fprintf(stderr, "%s: ", (level == AGERR) ? "Error" : "Warning"); UNSUPPORTED("6ua1mju1v7qfokep4q7orohn"); // vfprintf(stderr, fmt, args); UNSUPPORTED("8egqb590juz3lqxaevjssja42"); // va_end(args); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("alerbgdhkd2yzpj6s9lljgxfs"); // if (!agerrout) { UNSUPPORTED("ekzfh0kvyswlemi42n42ohs2g"); // agerrout = tmpfile(); UNSUPPORTED("5zhg56z3tqisbs9qbue0mopri"); // if (!agerrout) UNSUPPORTED("btmwubugs9vkexo4yb7a5nqel"); // return 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5ceb5u5voh8555yqssrjmx6gr"); // if (level != AGPREV) UNSUPPORTED("a0zpkl87k498gutehuvchd3nh"); // aglast = ftell(agerrout); UNSUPPORTED("85nv28rgbwdyknpacqqgv44mo"); // vfprintf(agerrout, fmt, args); UNSUPPORTED("46b127jugogkjrjxb2n977bmx"); // va_end(args); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 f1dcuhccwam2p309jxc9b2r0t // int agerr(agerrlevel_t level, const char *fmt, ...) public static Object agerr(Object... arg) { UNSUPPORTED("ducszxizpq2a6cql4p9bb47a0"); // int agerr(agerrlevel_t level, const char *fmt, ...) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e0w8vmmpk3wfxblsmz0uoazgs"); // va_list args; UNSUPPORTED("4k15snpcm2gg90dw68lllbtzl"); // va_start(args, fmt); UNSUPPORTED("13n0ghn77wo5crn8kvxkrhzbu"); // return agerr_va(level, fmt, args); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7e34h9jajkjs3ho44gntjj2j7 // void agerrorf(const char *fmt, ...) public static Object agerrorf(Object... arg) { UNSUPPORTED("6x8x6k3hp05ros0ch1hlv6581"); // void agerrorf(const char *fmt, ...) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e0w8vmmpk3wfxblsmz0uoazgs"); // va_list args; UNSUPPORTED("4k15snpcm2gg90dw68lllbtzl"); // va_start(args, fmt); UNSUPPORTED("30oktqf2os0275j4d3su6q4l"); // agerr_va(AGERR, fmt, args); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 gpzdsjhtcu403ei3vn2ux3bm // void agwarningf(const char *fmt, ...) public static Object agwarningf(Object... arg) { UNSUPPORTED("715xbkxnriyga0q1ic2xuml6n"); // void agwarningf(const char *fmt, ...) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e0w8vmmpk3wfxblsmz0uoazgs"); // va_list args; UNSUPPORTED("4k15snpcm2gg90dw68lllbtzl"); // va_start(args, fmt); UNSUPPORTED("dc1ifhst6g6drubm0t70yjtv"); // agerr_va(AGWARN, fmt, args); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6by0h6d4uor86q4dcd9xjw31m // int agerrors() public static Object agerrors(Object... arg) { UNSUPPORTED("92pi4jdtb8fnjjy0lzzbtg1so"); // int agerrors() { return agmaxerr; } throw new UnsupportedOperationException(); } //3 aj45yt9ph7b1gdx6hqrt0zr2s // int agreseterrors() public static Object agreseterrors(Object... arg) { UNSUPPORTED("dw5u39aul656iwk9wm0luqblz"); // int agreseterrors() UNSUPPORTED("yo7buicdiu29rv5vxhas0v3s"); // { UNSUPPORTED("48ud8ypoh34wmhdfdct9ihz28"); // int rc = agmaxerr; UNSUPPORTED("8qk2j9d2ppvfm7m5c7elh2hv1"); // agmaxerr = 0; UNSUPPORTED("3jqypku7gzo7r35oqqr8iwfss"); // return rc; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/agxbuf__c.java000066400000000000000000000163101340005343600224160ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static smetana.core.Macro.UNSUPPORTED; public class agxbuf__c { //3 688cb39nv214oqldmhd8roirz // void agxbinit(agxbuf * xb, unsigned int hint, unsigned char *init) public static Object agxbinit(Object... arg) { UNSUPPORTED("4l5fskgdbcbqssdclb6lwckwe"); // void agxbinit(agxbuf * xb, unsigned int hint, unsigned char *init) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3ctz7esjgupftv01eshc2dhx2"); // if (init) { UNSUPPORTED("7ccqm4ipez0mmdk6bv50shi8z"); // xb->buf = init; UNSUPPORTED("bgb2e1tveztx6w0nuo6t6kxbd"); // xb->dyna = 0; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("49jhfm9yw3megswomc4gzzgd7"); // if (hint == 0) UNSUPPORTED("5h1ggxg5ypn75rue18vgizp12"); // hint = BUFSIZ; UNSUPPORTED("bwuph2kus95n04yy45ff0ygwg"); // xb->dyna = 1; UNSUPPORTED("rowpmdm8bmtos5w0uxjinsts"); // xb->buf = (unsigned char*)malloc((hint)*sizeof(unsigned char)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1vqjbr0qaxnp1tks2ilwqgn3g"); // xb->eptr = xb->buf + hint; UNSUPPORTED("dtbxbzhkw05lut0ozk9a49lw6"); // xb->ptr = xb->buf; UNSUPPORTED("5ymin98xo0ermvpyhsuo8xwim"); // *xb->ptr = '\0'; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 lu77u8ojbx0os3eapudi7k0e // int agxbmore(agxbuf * xb, unsigned int ssz) public static Object agxbmore(Object... arg) { UNSUPPORTED("1zbuuoy42nrbwgmz0kzwxatml"); // int agxbmore(agxbuf * xb, unsigned int ssz) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ayzlme0ebe3j87lpz076cg2vq"); // int cnt; /* current no. of characters in buffer */ UNSUPPORTED("71r9w1f25l9h79jodjer7my8a"); // int size; /* current buffer size */ UNSUPPORTED("2bckq0rejaf94iovglem6hqko"); // int nsize; /* new buffer size */ UNSUPPORTED("dmokvf86b5kj3srnwwbr7ebmc"); // unsigned char *nbuf; /* new buffer */ UNSUPPORTED("347vqdgen21gpinnet4lkk7gk"); // size = xb->eptr - xb->buf; UNSUPPORTED("49rolm7orqt4aw3uud529g4qc"); // nsize = 2 * size; UNSUPPORTED("svb97awsbpziy0qhoaq68u7b"); // if (size + (int)ssz > nsize) UNSUPPORTED("7ykdy1xuvrmibubukfxhfmz91"); // nsize = size + ssz; UNSUPPORTED("bfinudkdiev8mwo6udbayoaex"); // cnt = xb->ptr - xb->buf; UNSUPPORTED("4cmq49lu7qhmui59rl36qd6fr"); // if (xb->dyna) { UNSUPPORTED("8vf8arbygb0610hkc403uiror"); // nbuf = realloc(xb->buf, nsize); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("3sajbfvh0ecfy6mdfwrwrojl6"); // nbuf = (unsigned char*)malloc((nsize)*sizeof(unsigned char)); UNSUPPORTED("do1ts7n0vopj00hs85yw95qjx"); // memcpy(nbuf, xb->buf, cnt); UNSUPPORTED("bwuph2kus95n04yy45ff0ygwg"); // xb->dyna = 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5a5gutjqda6fhdylt7vi64g71"); // xb->buf = nbuf; UNSUPPORTED("dodqzfdb41641741187lm9aci"); // xb->ptr = xb->buf + cnt; UNSUPPORTED("e45cf41wsuzfjfi2my7jn7odp"); // xb->eptr = xb->buf + nsize; UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7q04bdt3el30gta4bdtl0cr8s // int agxbput_n(agxbuf * xb, const char *s, unsigned int ssz) public static Object agxbput_n(Object... arg) { UNSUPPORTED("xj5zv8tlevqufi7kllkj6uu1"); // int agxbput_n(agxbuf * xb, const char *s, unsigned int ssz) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6q0wy2t9qi11079j0wyuhsmiw"); // if (xb->ptr + ssz > xb->eptr) UNSUPPORTED("82p9dlopf5tuzmyy5454sv4mm"); // agxbmore(xb, ssz); UNSUPPORTED("9tvk5ztcu9lg2u40sfmevitl2"); // memcpy(xb->ptr, s, ssz); UNSUPPORTED("2wy6om6o92zevnnevl5v0pr0c"); // xb->ptr += ssz; UNSUPPORTED("dzondrrxi2pe7xy72r0jstd20"); // return ssz; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 12y895mwxr60srt40guuma6j5 // int agxbput(agxbuf * xb, const char *s) public static Object agxbput(Object... arg) { UNSUPPORTED("3oqw629wj8yulgtvwwlxn8iyi"); // int agxbput(agxbuf * xb, const char *s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dmstj6pqesin7a4ufrtut65t5"); // unsigned int ssz = strlen(s); UNSUPPORTED("7i8gvckml5cbfmuhw2pjs8czl"); // return agxbput_n(xb, s, ssz); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2zlar00xk0a2nnqcmjb587kvc // void agxbfree(agxbuf * xb) public static Object agxbfree(Object... arg) { UNSUPPORTED("3zwjoplc2wp6x7lb2b5g59pl8"); // void agxbfree(agxbuf * xb) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("da8gv3dgf6bnks54n9mnlgzxk"); // if (xb->dyna) UNSUPPORTED("62irfu7vrq2ewolixn0ksp5f6"); // free(xb->buf); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cn9iiltxtts5ijjpixwt2uziu // int agxbpop(agxbuf * xb) public static Object agxbpop(Object... arg) { UNSUPPORTED("1hje4ns6ul7cj52y9n9wlgkkc"); // int agxbpop(agxbuf * xb) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("53xzwretgdbd0atozc0w6hagb"); // int c; UNSUPPORTED("a6gx1f2k9r1jreuxvg1n7jpiw"); // if (xb->ptr > xb->buf) { UNSUPPORTED("asuii09e2jl1px5timbisq3sx"); // c = *xb->ptr--; UNSUPPORTED("7q6l09k0u87z31e0nmv2lwr94"); // return c; UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/apply__c.java000066400000000000000000000201101340005343600222600ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static gen.lib.cgraph.subg__c.agfstsubg; import static gen.lib.cgraph.subg__c.agnxtsubg; import static smetana.core.JUtils.function; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.AGINEDGE; import static smetana.core.Macro.AGNODE; import static smetana.core.Macro.AGOUTEDGE; import static smetana.core.Macro.AGRAPH; import static smetana.core.Macro.AGTYPE; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agobj_s; import h.ST_Agraph_s; import smetana.core.CFunction; import smetana.core.__ptr__; public class apply__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 6ayavpu39aihwyojkx093pcy3 // extern Agraph_t *Ag_G_global //1 871mxtg9l6ffpxdl9kniwusf7 // extern char *AgDataRecName //1 c0o2kmml0tn6hftuwo0u4shwd // extern Dtdisc_t Ag_subnode_id_disc //1 8k15pyu256unm2kpd9zf5pf7k // extern Dtdisc_t Ag_subnode_seq_disc //1 e3d820y06gpeusn6atgmj8bzd // extern Dtdisc_t Ag_mainedge_id_disc //1 cbr0772spix9h1aw7h5v7dv9j // extern Dtdisc_t Ag_subedge_id_disc //1 akd0c3v0j7m2npxcb9acit1fa // extern Dtdisc_t Ag_mainedge_seq_disc //1 12d8la07351ww7vwfzucjst8m // extern Dtdisc_t Ag_subedge_seq_disc //1 29eokk7v88e62g8o6lizmo967 // extern Dtdisc_t Ag_subgraph_id_disc //1 4xd9cbgy6hk5g6nhjcbpzkx14 // extern Agcbdisc_t AgAttrdisc //3 dups4iqoegzha9tq6pupoim08 // static Agobj_t *subnode_search(Agraph_t * sub, Agobj_t * n) public static Object subnode_search(Object... arg) { UNSUPPORTED("pxacbw8fd49n7yuf74ww3m4o"); // static Agobj_t *subnode_search(Agraph_t * sub, Agobj_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5h609thtbczs8d02vo4tkt5av"); // if (agraphof(n) == sub) UNSUPPORTED("bp96fem54xcxrw16cmnlpell9"); // return n; UNSUPPORTED("bdb4i0co0gl0r87nhwlfqsbah"); // return (Agobj_t *) agsubnode(sub, (Agnode_t *) n, (0)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1qi7zit7howdl3n270k4whbgh // static Agobj_t *subedge_search(Agraph_t * sub, Agobj_t * e) public static Object subedge_search(Object... arg) { UNSUPPORTED("4hoc59s32d3n083o2rhe085zx"); // static Agobj_t *subedge_search(Agraph_t * sub, Agobj_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3y411cm763tnv8mvrigf8pg8y"); // if (agraphof(e) == sub) UNSUPPORTED("8ihpc010r3nccyfagedpc4nlv"); // return e; UNSUPPORTED("bha9r1zngfg6nmzgqmku0ji52"); // return (Agobj_t *) agsubedge(sub, (Agedge_t *) e, (0)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 95y4aknoddh42lieikrb72vxw // static Agobj_t *subgraph_search(Agraph_t * sub, Agobj_t * g) public static ST_Agobj_s subgraph_search(ST_Agraph_s sub, ST_Agobj_s g) { ENTERING("95y4aknoddh42lieikrb72vxw","subgraph_search"); try { return (ST_Agobj_s) sub.castTo_ST_Agobj_s(); } finally { LEAVING("95y4aknoddh42lieikrb72vxw","subgraph_search"); } } //3 8s9l15wqucf1glmbeb6fmya8e // static void rec_apply(Agraph_t * g, Agobj_t * obj, agobjfn_t fn, void *arg, agobjsearchfn_t objsearch, int preorder) public static void rec_apply(ST_Agraph_s g, ST_Agobj_s obj, CFunction fn, __ptr__ arg, CFunction objsearch, boolean preorder) { ENTERING("8s9l15wqucf1glmbeb6fmya8e","rec_apply"); try { ST_Agraph_s sub; ST_Agobj_s subobj; if (preorder) fn.exe(g, obj, arg); for (sub = agfstsubg(g); sub!=null; sub = agnxtsubg(sub)) { if ((subobj = (ST_Agobj_s) objsearch.exe(sub, obj))!=null) rec_apply(sub, subobj, fn, arg, objsearch, preorder); } if (N(preorder)) fn.exe(g, obj, arg); } finally { LEAVING("8s9l15wqucf1glmbeb6fmya8e","rec_apply"); } } //3 9hqql178zpl8iudlf6sgnv7aj // int agapply(Agraph_t * g, Agobj_t * obj, agobjfn_t fn, void *arg, int preorder) public static int agapply(ST_Agraph_s g, ST_Agobj_s obj, CFunction fn, __ptr__ arg, boolean preorder) { ENTERING("9hqql178zpl8iudlf6sgnv7aj","agapply"); try { ST_Agobj_s subobj; CFunction objsearch=null; switch (AGTYPE(obj)) { case AGRAPH: objsearch = function(apply__c.class, "subgraph_search"); break; case AGNODE: UNSUPPORTED("arkoj4niyfqe213zut6szzeji"); // objsearch = subnode_search; break; case AGOUTEDGE: case AGINEDGE: UNSUPPORTED("3h8kzrrsobdp839772gupdrbf"); // objsearch = subedge_search; break; default: UNSUPPORTED("2pc67byzirrkhe1cmdoguh6i1"); // agerr(AGERR, "agapply: unknown object type %d\n", AGTYPE(obj)); UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; break; } if ((subobj = (ST_Agobj_s) objsearch.exe(g, obj))!=null) { rec_apply(g, subobj, fn, arg, objsearch, preorder); return 0; } else UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("9hqql178zpl8iudlf6sgnv7aj","agapply"); } } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/attr__c.java000066400000000000000000000771311340005343600221240ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static gen.lib.cdt.dtsize__c.dtsize_; import static gen.lib.cdt.dtview__c.dtview; import static gen.lib.cgraph.apply__c.agapply; import static gen.lib.cgraph.edge__c.agfstout; import static gen.lib.cgraph.edge__c.agnxtout; import static gen.lib.cgraph.graph__c.agopen; import static gen.lib.cgraph.mem__c.agalloc; import static gen.lib.cgraph.node__c.agfstnode; import static gen.lib.cgraph.node__c.agnxtnode; import static gen.lib.cgraph.obj__c.agmethod_upd; import static gen.lib.cgraph.obj__c.agraphof; import static gen.lib.cgraph.obj__c.agroot; import static gen.lib.cgraph.rec__c.agbindrec; import static gen.lib.cgraph.rec__c.aggetrec; import static gen.lib.cgraph.refstr__c.agstrdup; import static gen.lib.cgraph.refstr__c.agstrfree; import static gen.lib.cgraph.subg__c.agparent; import static gen.lib.cgraph.utils__c.agdtopen; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtils.function; import static smetana.core.JUtils.sizeof; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.AGEDGE; import static smetana.core.Macro.AGINEDGE; import static smetana.core.Macro.AGNODE; import static smetana.core.Macro.AGOUTEDGE; import static smetana.core.Macro.AGRAPH; import static smetana.core.Macro.AGTYPE; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agattr_s; import h.ST_Agdatadict_s; import h.ST_Agdesc_s; import h.ST_Agedge_s; import h.ST_Agnode_s; import h.ST_Agobj_s; import h.ST_Agraph_s; import h.ST_Agrec_s; import h.ST_Agsym_s; import h.ST_Agtag_s; import h.ST_dt_s; import h.ST_dtdisc_s; import java.util.ArrayList; import smetana.core.CString; import smetana.core.Memory; import smetana.core.Z; import smetana.core.__ptr__; public class attr__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 6ayavpu39aihwyojkx093pcy3 // extern Agraph_t *Ag_G_global //1 871mxtg9l6ffpxdl9kniwusf7 // extern char *AgDataRecName //1 c0o2kmml0tn6hftuwo0u4shwd // extern Dtdisc_t Ag_subnode_id_disc //1 8k15pyu256unm2kpd9zf5pf7k // extern Dtdisc_t Ag_subnode_seq_disc //1 e3d820y06gpeusn6atgmj8bzd // extern Dtdisc_t Ag_mainedge_id_disc //1 cbr0772spix9h1aw7h5v7dv9j // extern Dtdisc_t Ag_subedge_id_disc //1 akd0c3v0j7m2npxcb9acit1fa // extern Dtdisc_t Ag_mainedge_seq_disc //1 12d8la07351ww7vwfzucjst8m // extern Dtdisc_t Ag_subedge_seq_disc //1 29eokk7v88e62g8o6lizmo967 // extern Dtdisc_t Ag_subgraph_id_disc //1 4xd9cbgy6hk5g6nhjcbpzkx14 // extern Agcbdisc_t AgAttrdisc //1 cwbgwzo8cprw4eobs3iji59dp // Dtdisc_t AgDataDictDisc = /*static public final __struct__<_dtdisc_s> AgDataDictDisc = JUtils.from(_dtdisc_s.class); static { AgDataDictDisc.setInt("key", OFFSET.create(Agsym_s.class, "name").toInt()); AgDataDictDisc.setInt("size", -1); AgDataDictDisc.setInt("link", OFFSET.create(Agsym_s.class, "link").toInt()); AgDataDictDisc.setPtr("makef", null); AgDataDictDisc.setPtr("freef", function(attr__c.class, "freesym")); AgDataDictDisc.setPtr("comparf", null); AgDataDictDisc.setPtr("hashf", null); }*/ //1 67blfrj9x850g8ccpo9qjer2 // static char DataDictName[] = public final static CString DataDictName = new CString("_AG_datadict"); //1 1qn6s7dwoq08ugdjnmsvdgj6u // static Agdesc_t ProtoDesc = /*static final public __struct__ ProtoDesc = JUtils.from(Agdesc_s.class); static { ProtoDesc.setInt("directed", 1); ProtoDesc.setInt("strict", 0); ProtoDesc.setInt("no_loop", 1); ProtoDesc.setInt("maingraph", 0); ProtoDesc.setInt("flatlock", 1); ProtoDesc.setInt("no_write", 1); }*/ //1 30ftenxl879wmnziizunr5vt1 // static Agraph_t *ProtoGraph //static public Agraph_s ProtoGraph; //3 4bm10isw1qq1eqcse8afbxee3 // Agdatadict_t *agdatadict(Agraph_t * g, int cflag) public static ST_Agdatadict_s agdatadict(ST_Agraph_s g, boolean cflag) { ENTERING("4bm10isw1qq1eqcse8afbxee3","agdatadict"); try { ST_Agdatadict_s rv; rv = (ST_Agdatadict_s) aggetrec(g, DataDictName, false).castTo(ST_Agdatadict_s.class); if (rv!=null || N(cflag)) return rv; init_all_attrs(g); rv = (ST_Agdatadict_s) aggetrec(g, DataDictName, false).castTo(ST_Agdatadict_s.class); return rv; } finally { LEAVING("4bm10isw1qq1eqcse8afbxee3","agdatadict"); } } //3 2b2cg0am9e1lwc0nqikl2wczb // Dict_t *agdictof(Agraph_t * g, int kind) public static ST_dt_s agdictof(ST_Agraph_s g, int kind) { ENTERING("2b2cg0am9e1lwc0nqikl2wczb","agdictof"); try { ST_Agdatadict_s dd; ST_dt_s dict; dd = agdatadict(g, false); if (dd!=null) switch (kind) { case AGRAPH: dict = (ST_dt_s) dd.dict_g; break; case AGNODE: dict = (ST_dt_s) dd.dict_n; break; case AGINEDGE: case AGOUTEDGE: dict = (ST_dt_s) dd.dict_e; break; default: System.err.println("agdictof: unknown kind "+ kind); dict = null; throw new UnsupportedOperationException(); } else dict = null; return dict; } finally { LEAVING("2b2cg0am9e1lwc0nqikl2wczb","agdictof"); } } //3 dbhw2q2jfsz9qwawchy0hxj4i // Agsym_t *agnewsym(Agraph_t * g, char *name, char *value, int id, int kind) public static ST_Agsym_s agnewsym(ST_Agraph_s g, CString name, CString value, int id, int kind) { ENTERING("dbhw2q2jfsz9qwawchy0hxj4i","agnewsym"); try { ST_Agsym_s sym; sym = (ST_Agsym_s) agalloc(g, sizeof(ST_Agsym_s.class)); sym.setInt("kind", kind); sym.setPtr("name", agstrdup(g, name)); sym.setPtr("defval", agstrdup(g, value)); sym.setInt("id", id); return sym; } finally { LEAVING("dbhw2q2jfsz9qwawchy0hxj4i","agnewsym"); } } //3 5s4tpjeh3jwf722izjq6cm6rq // static void agcopydict(Dict_t * src, Dict_t * dest, Agraph_t * g, int kind) public static Object agcopydict(Object... arg) { UNSUPPORTED("5x2q9spbx7y0k6l59z6oy8cuc"); // static void agcopydict(Dict_t * src, Dict_t * dest, Agraph_t * g, int kind) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1y11aotql5lts9njnreyq9t6r"); // Agsym_t *sym, *newsym; UNSUPPORTED("5i0sddp616zsw63jk38od62l4"); // ; UNSUPPORTED("5wsq1ipnwwy8yumrluztmye7f"); // for (sym = (Agsym_t *) (*(((Dt_t*)(src))->searchf))((src),(void*)(0),0000200); sym; UNSUPPORTED("aqq7o7hh4nwqvvtcdqetmidkg"); // sym = (Agsym_t *) (*(((Dt_t*)(src))->searchf))((src),(void*)(sym),0000010)) { UNSUPPORTED("2astc0oxlvew45mitrflnx0ar"); // newsym = agnewsym(g, sym->name, sym->defval, sym->id, kind); UNSUPPORTED("36os9hvg0e59rrhe68di2b5r3"); // newsym->print = sym->print; UNSUPPORTED("77sre49xpjwlyjqhek659u3tq"); // newsym->fixed = sym->fixed; UNSUPPORTED("3rc58hrkem2xey59d9ptss1sx"); // (*(((Dt_t*)(dest))->searchf))((dest),(void*)(newsym),0000001); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 alb1d5x6huba3q44ms1wt0rr5 // static Agdatadict_t *agmakedatadict(Agraph_t * g) public static ST_Agdatadict_s agmakedatadict(ST_Agraph_s g) { ENTERING("alb1d5x6huba3q44ms1wt0rr5","agmakedatadict"); try { ST_Agraph_s par; ST_Agdatadict_s parent_dd, dd; dd = (ST_Agdatadict_s) agbindrec(g, DataDictName, sizeof(ST_Agdatadict_s.class), false).castTo(ST_Agdatadict_s.class); dd.setPtr("dict.n", agdtopen(g, Z.z().AgDataDictDisc, Z.z().Dttree)); dd.setPtr("dict.e", agdtopen(g, Z.z().AgDataDictDisc,Z.z(). Dttree)); dd.setPtr("dict.g", agdtopen(g, Z.z().AgDataDictDisc, Z.z().Dttree)); if ((par = agparent(g))!=null) { parent_dd = agdatadict(par, false); dtview((ST_dt_s)dd.dict_n, (ST_dt_s)parent_dd.dict_n); dtview((ST_dt_s)dd.dict_e, (ST_dt_s)parent_dd.dict_e); dtview((ST_dt_s)dd.dict_g, (ST_dt_s)parent_dd.dict_g); } else { if (Z.z().ProtoGraph!=null && NEQ(g, Z.z().ProtoGraph)) { /* it's not ok to dtview here for several reasons. the proto graph could change, and the sym indices don't match */ parent_dd = agdatadict(Z.z().ProtoGraph, false); agcopydict(parent_dd.dict_n, dd.dict_n, g, AGNODE); agcopydict(parent_dd.dict_e, dd.dict_e, g, AGEDGE); agcopydict(parent_dd.dict_g, dd.dict_g, g, AGRAPH); } } return dd; } finally { LEAVING("alb1d5x6huba3q44ms1wt0rr5","agmakedatadict"); } } //3 50wfzq5wy8wc7vuyvs3mrx5ct // Agsym_t *agdictsym(Dict_t * dict, char *name) public static ST_Agsym_s agdictsym(ST_dt_s dict, CString name) { ENTERING("50wfzq5wy8wc7vuyvs3mrx5ct","agdictsym"); try { ST_Agsym_s key = (ST_Agsym_s) Memory.malloc(ST_Agsym_s.class); key.setPtr("name", name); return (ST_Agsym_s) dict.searchf.exe((dict),key,0000004); } finally { LEAVING("50wfzq5wy8wc7vuyvs3mrx5ct","agdictsym"); } } //3 4wy4ggu70d7harhix8xnh5w4l // Agsym_t *aglocaldictsym(Dict_t * dict, char *name) public static ST_Agsym_s aglocaldictsym(ST_dt_s dict, CString name) { ENTERING("4wy4ggu70d7harhix8xnh5w4l","aglocaldictsym"); try { ST_Agsym_s rv; ST_dt_s view; view = dtview(dict, null); rv = agdictsym(dict, name); dtview(dict, view); return rv; } finally { LEAVING("4wy4ggu70d7harhix8xnh5w4l","aglocaldictsym"); } } //3 8hy9sl3zmwobwm960jz466ufe // Agsym_t *agattrsym(void *obj, char *name) public static ST_Agsym_s agattrsym(__ptr__ obj, CString name) { ENTERING("8hy9sl3zmwobwm960jz466ufe","agattrsym"); try { ST_Agattr_s data; ST_Agsym_s rv; CString arg = name; data = agattrrec(obj.castTo(ST_Agobj_s.class)); if (data!=null) rv = agdictsym((ST_dt_s)data.dict, arg); else rv = null; return rv; } finally { LEAVING("8hy9sl3zmwobwm960jz466ufe","agattrsym"); } } //1 covyqfvabl7igx9g5rvlhgngz // char *AgDataRecName = public final static CString AgDataRecName = new CString("_AG_strdata"); //3 6az8xu0sgu1d6abu0xfpd89hi // static int topdictsize(Agobj_t * obj) public static int topdictsize(ST_Agobj_s obj) { ENTERING("6az8xu0sgu1d6abu0xfpd89hi","topdictsize"); try { ST_dt_s d; d = agdictof(agroot(agraphof(obj)), AGTYPE(obj)); return d!=null ? dtsize_(d) : 0; } finally { LEAVING("6az8xu0sgu1d6abu0xfpd89hi","topdictsize"); } } //3 3wjrlyjdlz8k9nfxenxsfiqmj // static Agrec_t *agmakeattrs(Agraph_t * context, void *obj) public static ST_Agrec_s agmakeattrs(ST_Agraph_s context, __ptr__ obj) { ENTERING("3wjrlyjdlz8k9nfxenxsfiqmj","agmakeattrs"); try { int sz; ST_Agattr_s rec; ST_Agsym_s sym; ST_dt_s datadict; rec = (ST_Agattr_s) agbindrec(obj, AgDataRecName, sizeof(ST_Agattr_s.class), false).castTo(ST_Agattr_s.class); datadict = agdictof(context, AGTYPE(obj)); if (rec.dict == null) { rec.dict = agdictof(agroot(context), AGTYPE(obj)); /* don't malloc(0) */ sz = topdictsize((ST_Agobj_s) obj.castTo(ST_Agobj_s.class)); if (sz < 4) sz = 4; rec.str = new ArrayList(); for (int i=0; istr[i]); UNSUPPORTED("5t1oinkxblld9xyoaz469i6dz"); // agfree(g, attr->str); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6b3c2syvj23lbf7kz0aal8vmc // static void freesym(Dict_t * d, void * obj, Dtdisc_t * disc) public static void freesym(ST_dt_s d, Object obj, ST_dtdisc_s disc) { ENTERING("6b3c2syvj23lbf7kz0aal8vmc","freesym"); try { UNSUPPORTED("bf9av4xbx61835st3og3wfqr8"); // static void freesym(Dict_t * d, void * obj, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("av59ae8c4mws46sf5dumz1k0s"); // Agsym_t *sym; UNSUPPORTED("6z29omss9ay00bqf6xael7t6t"); // (void) d; UNSUPPORTED("3wnut6i7v07q7n0fa538dyp7a"); // sym = (Agsym_t *) obj; UNSUPPORTED("8l8wg6vltx6d7vc9dzqb6n3wi"); // (void) disc; UNSUPPORTED("aka2fcwk9snppcvd59dzewx38"); // agstrfree(Ag_G_global, sym->name); UNSUPPORTED("89enhovojps3wt6zo6s4xqlu7"); // agstrfree(Ag_G_global, sym->defval); UNSUPPORTED("2ttw1xr5hp7fxq8w5bofu7cg9"); // agfree(Ag_G_global, sym); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("6b3c2syvj23lbf7kz0aal8vmc","freesym"); } } //3 13sfx74lme08ur04vkrqta25j // Agattr_t *agattrrec(void *obj) public static ST_Agattr_s agattrrec(__ptr__ obj) { ENTERING("13sfx74lme08ur04vkrqta25j","agattrrec"); try { return (ST_Agattr_s) aggetrec(obj, AgDataRecName, false).castTo(ST_Agattr_s.class); } finally { LEAVING("13sfx74lme08ur04vkrqta25j","agattrrec"); } } //3 2io7b26wq70e7kwdlzsh6bw7f // static void addattr(Agraph_t * g, Agobj_t * obj, Agsym_t * sym) public static void addattr(ST_Agraph_s g, ST_Agobj_s obj, ST_Agsym_s sym) { ENTERING("2io7b26wq70e7kwdlzsh6bw7f","addattr"); try { ST_Agattr_s attr; attr = (ST_Agattr_s) agattrrec(obj); if (sym.id >= 4) // attr.str = (StarArrayOfCString) g.clos.disc.mem.call("resize", g.clos.state.mem, // attr.str, // sizeof("char*", sym.id), // sizeof("char*", sym.id + 1)); attr.str.add(null); attr.str.set(sym.id, agstrdup(g, sym.defval)); /* agmethod_upd(g,obj,sym); JCE and GN didn't like this. */ } finally { LEAVING("2io7b26wq70e7kwdlzsh6bw7f","addattr"); } } //3 a3qr8ug1rkxp6ocieyp41ly3o // static Agsym_t *setattr(Agraph_t * g, int kind, char *name, char *value) public static ST_Agsym_s setattr(ST_Agraph_s g, int kind, CString name, CString value) { ENTERING("a3qr8ug1rkxp6ocieyp41ly3o","setattr"); try { ST_Agdatadict_s dd; ST_dt_s ldict, rdict; ST_Agsym_s lsym, psym, rsym, rv; ST_Agraph_s root; ST_Agnode_s n; ST_Agedge_s e; root = agroot(g); dd = agdatadict(g, (N(0))); /* force initialization of string attributes */ ldict = agdictof(g, kind); lsym = aglocaldictsym(ldict, name); if (lsym!=null) { /* update old local definiton */ agstrfree(g, lsym.defval); lsym.setPtr("defval", agstrdup(g, value)); rv = lsym; } else { psym = agdictsym(ldict, name); /* search with viewpath up to root */ if (psym!=null) { /* new local definition */ lsym = agnewsym(g, name, value, psym.id, kind); ldict.searchf.exe(ldict,lsym,0000001); rv = lsym; } else { /* new global definition */ rdict = agdictof(root, kind); rsym = agnewsym(g, name, value, dtsize_(rdict), kind); rdict.searchf.exe(rdict,rsym,0000001); switch (kind) { case AGRAPH: agapply(root, (ST_Agobj_s) root.castTo(ST_Agobj_s.class), function(attr__c.class, "addattr"), rsym, (N(0))); break; case AGNODE: for (n = agfstnode(root); n!=null; n = agnxtnode(root, n)) addattr(g, (ST_Agobj_s) n.castTo(ST_Agobj_s.class), rsym); break; case AGINEDGE: case AGOUTEDGE: for (n = agfstnode(root); n!=null; n = agnxtnode(root, n)) for (e = agfstout(root, n); e!=null; e = agnxtout(root, e)) addattr(g, (ST_Agobj_s) e.castTo(ST_Agobj_s.class), rsym); break; } rv = rsym; } } if (rv!=null && (kind == 0)) agxset(g, rv, value); agmethod_upd(g, g, rv); /* JCE and GN wanted this */ return rv; } finally { LEAVING("a3qr8ug1rkxp6ocieyp41ly3o","setattr"); } } //3 8f80aahwb8cqc2t9592v47ttd // static Agsym_t *getattr(Agraph_t * g, int kind, char *name) public static ST_Agsym_s getattr(ST_Agraph_s g, int kind, CString name) { ENTERING("8f80aahwb8cqc2t9592v47ttd","getattr"); try { ST_Agsym_s rv = null; ST_dt_s dict; dict = agdictof(g, kind); if (dict!=null) rv = agdictsym(dict, name); /* viewpath up to root */ return rv; } finally { LEAVING("8f80aahwb8cqc2t9592v47ttd","getattr"); } } //3 blr3drm2hxuzwd6gpeeb84yyg // Agsym_t *agattr(Agraph_t * g, int kind, char *name, char *value) public static ST_Agsym_s agattr(ST_Agraph_s g, int kind, CString name, CString value) { ENTERING("blr3drm2hxuzwd6gpeeb84yyg","agattr"); try { ST_Agsym_s rv; if (g == null) { if (Z.z().ProtoGraph == null) Z.z().ProtoGraph = agopen(null, (ST_Agdesc_s) Z.z().ProtoDesc.copy(), null); g = Z.z().ProtoGraph; } if (value!=null) rv = setattr(g, kind, name, value); else rv = getattr(g, kind, name); return rv; } finally { LEAVING("blr3drm2hxuzwd6gpeeb84yyg","agattr"); } } //3 9medmidrd61ljmzlswpxwuxjm // Agsym_t *agnxtattr(Agraph_t * g, int kind, Agsym_t * attr) public static Object agnxtattr(Object... arg) { UNSUPPORTED("1nquny99ik5rdqpdzl1efzzw5"); // Agsym_t *agnxtattr(Agraph_t * g, int kind, Agsym_t * attr) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("l4y6zpshfefue2m18wlswfkp"); // Dict_t *d; UNSUPPORTED("ekzntpxwtsedcg8uzmlsfbb5h"); // Agsym_t *rv; UNSUPPORTED("786h6jfmnfzp39fkdwa7fzz71"); // if ((d = agdictof(g, kind))) { UNSUPPORTED("4ftgdafqwlor792t6qye23xle"); // if (attr) UNSUPPORTED("ealluogofs9ig6hmoveplut40"); // rv = (Agsym_t *) (*(((Dt_t*)(d))->searchf))((d),(void*)(attr),0000010); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("8yv728l38cvhrasbkgvce3bsb"); // rv = (Agsym_t *) (*(((Dt_t*)(d))->searchf))((d),(void*)(0),0000200); UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("40zoypg37zonwb7nuewxdti29"); // rv = 0; UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ex2qtmuwz0o2e5svkujdbux78 // void agraphattr_init(Agraph_t * g) public static void agraphattr_init(ST_Agraph_s g) { ENTERING("ex2qtmuwz0o2e5svkujdbux78","agraphattr_init"); try { /* Agdatadict_t *dd; */ /* Agrec_t *attr; */ ST_Agraph_s context; ((ST_Agdesc_s)g.desc).has_attrs = 1; /* dd = */ agmakedatadict(g); if (N(context = agparent(g))) context = g; /* attr = */ agmakeattrs(context, g); } finally { LEAVING("ex2qtmuwz0o2e5svkujdbux78","agraphattr_init"); } } //3 ccqww3yvujvy82bw6i1m0rv96 // int agraphattr_delete(Agraph_t * g) public static Object agraphattr_delete(Object... arg) { UNSUPPORTED("4chc6o30l6nehselkvpo4xtao"); // int agraphattr_delete(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eq0gq1d7pmvj94j5nxbexze8p"); // Agdatadict_t *dd; UNSUPPORTED("4e7iq4f4pk0x2v3zvdc2tdbd1"); // Agattr_t *attr; UNSUPPORTED("6qvjz1ziwr3nwocahqvfzw14t"); // Ag_G_global = g; UNSUPPORTED("4t3qv06n62hquaihi33zqc8bi"); // if ((attr = agattrrec(g))) { UNSUPPORTED("31flnlx452d07y9bjvvk0nygk"); // freeattr((Agobj_t *) g, attr); UNSUPPORTED("ag6tzein6gkpxcarnafbxws91"); // agdelrec(g, attr->h.name); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4p9dsuje96h48qnpgn0m02aij"); // if ((dd = agdatadict(g, (0)))) { UNSUPPORTED("6ubrug572yhktadcj02muyr5e"); // if (agdtclose(g, dd->dict.n)) return 1; UNSUPPORTED("3msb0eqyxef8ye31vjnzxbkh6"); // if (agdtclose(g, dd->dict.e)) return 1; UNSUPPORTED("597gu9wfswglr8tbdrbqpr27p"); // if (agdtclose(g, dd->dict.g)) return 1; UNSUPPORTED("dhn07bfi40opq2qmakfkosz77"); // agdelrec(g, dd->h.name); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2pp4ot3pqy71jpfvu3g398y4y // void agnodeattr_init(Agraph_t * g, Agnode_t * n) public static void agnodeattr_init(ST_Agraph_s g, ST_Agnode_s n) { ENTERING("2pp4ot3pqy71jpfvu3g398y4y","agnodeattr_init"); try { ST_Agattr_s data; data = (ST_Agattr_s) agattrrec(n); if ((N(data)) || (N(data.dict))) agmakeattrs(g, n); } finally { LEAVING("2pp4ot3pqy71jpfvu3g398y4y","agnodeattr_init"); } } //3 7fbhjqpb2w17ahde2ie2l22n5 // void agnodeattr_delete(Agnode_t * n) public static Object agnodeattr_delete(Object... arg) { UNSUPPORTED("72jlvkhc0kqxzf6infgwjj96n"); // void agnodeattr_delete(Agnode_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cxk0x5bmjhvgv8b1uv960lx4"); // Agattr_t *rec; UNSUPPORTED("96w8m9uhl8904g83fqzl5a0fl"); // if ((rec = agattrrec(n))) { UNSUPPORTED("34er8hi05mpmz6cld4lt2pzyd"); // freeattr((Agobj_t *) n, rec); UNSUPPORTED("3vr5ktefaene3xr7wprole0q4"); // agdelrec(n, AgDataRecName); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ckfzmnxfi0jiiayxmq38giw0r // void agedgeattr_init(Agraph_t * g, Agedge_t * e) public static void agedgeattr_init(ST_Agraph_s g, ST_Agedge_s e) { ENTERING("ckfzmnxfi0jiiayxmq38giw0r","agedgeattr_init"); try { ST_Agattr_s data; data = agattrrec(e); if ((N(data)) || (N(data.dict))) agmakeattrs(g, e); } finally { LEAVING("ckfzmnxfi0jiiayxmq38giw0r","agedgeattr_init"); } } //3 3cm42f5o83187rwf4l7j7ie1k // void agedgeattr_delete(Agedge_t * e) public static Object agedgeattr_delete(Object... arg) { UNSUPPORTED("97nvxy8b8p4rmo31kk1qkusns"); // void agedgeattr_delete(Agedge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cxk0x5bmjhvgv8b1uv960lx4"); // Agattr_t *rec; UNSUPPORTED("5n6u4cfiymhx4a88tj9vpz5z8"); // if ((rec = agattrrec(e))) { UNSUPPORTED("1ct1lua1igkf5stpj1vcd2z0h"); // freeattr((Agobj_t *) e, rec); UNSUPPORTED("67nly1q6jgpe4ozoidte7zl4v"); // agdelrec(e, AgDataRecName); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eydjyhexv5jr6vi7uhk0cgphv // char *agget(void *obj, char *name) public static CString agget(__ptr__ obj, CString name) { ENTERING("eydjyhexv5jr6vi7uhk0cgphv","agget"); try { ST_Agsym_s sym; ST_Agattr_s data; CString rv = null; sym = agattrsym(obj, name); if (sym == null) rv = null; /* note was "", but this provides more info */ else { data = agattrrec(obj.castTo(ST_Agobj_s.class)); rv = data.str.get(sym.id); } return rv; } finally { LEAVING("eydjyhexv5jr6vi7uhk0cgphv","agget"); } } //3 9h5oymhfkp6k34zl0fonn10k9 // char *agxget(void *obj, Agsym_t * sym) public static CString agxget(__ptr__ obj, ST_Agsym_s sym) { ENTERING("9h5oymhfkp6k34zl0fonn10k9","agxget"); try { ST_Agattr_s data; CString rv; data = agattrrec(obj.castTo(ST_Agobj_s.class)); rv = data.str.get(sym.id); return rv; } finally { LEAVING("9h5oymhfkp6k34zl0fonn10k9","agxget"); } } //3 alc2i3vy4lm57qoc7qn69ppgr // int agset(void *obj, char *name, char *value) public static Object agset(Object... arg) { UNSUPPORTED("dw46ysqbvbb1syq3h2su8khpt"); // int agset(void *obj, char *name, char *value) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("av59ae8c4mws46sf5dumz1k0s"); // Agsym_t *sym; UNSUPPORTED("ecz4e03zumggc8tfymqvirexq"); // int rv; UNSUPPORTED("a5zpawq5lfz2h4k7xzaf5qtcl"); // sym = agattrsym(obj, name); UNSUPPORTED("4htetkykqre1tnc0i1ksxdqmx"); // if (sym == ((Agsym_t*)0)) UNSUPPORTED("71xur63dbv1df4fp5xw1bru2i"); // rv = -1; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("932tqrc73k3hieetx14jtfgk0"); // rv = agxset(obj, sym, value); UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4q8xvstvl6fbijhucfd1endxc // int agxset(void *obj, Agsym_t * sym, char *value) public static int agxset(__ptr__ obj, ST_Agsym_s sym, CString value) { ENTERING("4q8xvstvl6fbijhucfd1endxc","agxset"); try { ST_Agraph_s g; ST_Agobj_s hdr; ST_Agattr_s data; ST_Agsym_s lsym; g = agraphof(obj); hdr = (ST_Agobj_s) obj.castTo(ST_Agobj_s.class); data = agattrrec(hdr); agstrfree(g, data.str.get(sym.id)); data.str.set(sym.id, agstrdup(g, value)); if (((ST_Agtag_s)hdr.tag).objtype == AGRAPH) { /* also update dict default */ ST_dt_s dict; dict = (ST_dt_s) agdatadict(g, false).dict_g; if ((lsym = aglocaldictsym(dict, sym.name))!=null) { agstrfree(g, lsym.defval); lsym.setPtr("defval", agstrdup(g, value)); } else { lsym = agnewsym(g, sym.name, value, sym.id, AGTYPE(hdr)); dict.searchf.exe(dict, lsym, 0000001); } } agmethod_upd(g, obj, sym); return 0; } finally { LEAVING("4q8xvstvl6fbijhucfd1endxc","agxset"); } } //3 9b7vn95cin8o7mb2f21exh1qr // int agsafeset(void *obj, char *name, char *value, char *def) public static int agsafeset(__ptr__ obj, CString name, CString value, CString def) { ENTERING("9b7vn95cin8o7mb2f21exh1qr","agsafeset"); try { ST_Agsym_s a; a = agattr(agraphof(obj), AGTYPE(obj), name, null); if (N(a)) a = agattr(agraphof(obj), AGTYPE(obj), name, def); return agxset(obj, a, value); } finally { LEAVING("9b7vn95cin8o7mb2f21exh1qr","agsafeset"); } } //3 6gjlgo4s6r0bu7gjazfee6qv8 // static void init_all_attrs(Agraph_t * g) public static Object init_all_attrs(Object... arg) { UNSUPPORTED("bir8xur87cl8inhyrgimkboqq"); // static void init_all_attrs(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2hs0004nnparj6tt7elslt4zj"); // Agraph_t *root; UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("bnybowlbrgjx7x160vaxt6eok"); // root = agroot(g); UNSUPPORTED("et7b6czk7vef12o9ct0zlil6b"); // agapply(root, (Agobj_t *) root, (agobjfn_t) agraphattr_init, UNSUPPORTED("a1lzdxitcghqk0l63zsudijhj"); // ((Agdisc_t *)0), (!(0))); UNSUPPORTED("8uyptmsbxy8cnb2yc5e1zjy93"); // for (n = agfstnode(root); n; n = agnxtnode(root, n)) { UNSUPPORTED("149yfxxc7rsqn6goirepjpcf2"); // agnodeattr_init(g, n); UNSUPPORTED("1qcg6rx46tkna823mgf1786us"); // for (e = agfstout(root, n); e; e = agnxtout(root, e)) { UNSUPPORTED("555dsk5o3bvij5uz01q0cs74w"); // agedgeattr_init(g, e); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2fmwbgdlz116bdnivfr2gbst7 // int agcopyattr(void *oldobj, void *newobj) public static Object agcopyattr(Object... arg) { UNSUPPORTED("9hxxxad2s159e1mpaqdq32p1j"); // int agcopyattr(void *oldobj, void *newobj) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("av59ae8c4mws46sf5dumz1k0s"); // Agsym_t *sym; UNSUPPORTED("e0it3jbt5zhk1nsy4jog99dpu"); // Agsym_t *newsym; UNSUPPORTED("6bpbm2s85uk2e5o6cm49boc4w"); // char* val; UNSUPPORTED("85pgv5dfzc1lewmaoiherq9nf"); // char* nval; UNSUPPORTED("4lyqrf8bj8y0fbafzxuae0xqa"); // int r = 1; UNSUPPORTED("enr7x1oa4c50ne66ts6hvz0dx"); // g = agraphof(oldobj); UNSUPPORTED("6qj4ytcakj7t70xil9hxyy5c9"); // if (AGTYPE(oldobj) != AGTYPE(newobj)) UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("5btwvtgpjz0hx5y9ouikwsrc4"); // sym = 0; UNSUPPORTED("886wv340pnju68k6aejj7o3x0"); // while ((sym = agnxtattr(g, AGTYPE(oldobj), sym))) { UNSUPPORTED("cino0o0155s1h3gsr2l2uz7z"); // newsym = agattrsym(newobj, sym->name); UNSUPPORTED("daq5urcl5ihipluxk5sf4ccdx"); // if (!newsym) UNSUPPORTED("btmwubugs9vkexo4yb7a5nqel"); // return 1; UNSUPPORTED("aao8dsiq1evom55a3f4w4rha3"); // val = agxget(oldobj, sym); UNSUPPORTED("a078bakz1z0utl11856f4vk7w"); // r = agxset(newobj, newsym, val); UNSUPPORTED("cpxrqzz637g381bs344b2sj0u"); // /* FIX(?): Each graph has its own string cache, so a whole new refstr is possibly UNSUPPORTED("d41ayxc51x2hyvj9eo15qmgun"); // * allocated. If the original was an html string, make sure the new one is as well. UNSUPPORTED("3kp67yo7cfslm3l0o4e5cdnd8"); // * If cgraph goes to single string table, this can be removed. UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("ez0g3o1tj7ommhxsolcr2gsr"); // if (aghtmlstr (val)) { UNSUPPORTED("do57srwwkvwu30y5dd2pr6tkp"); // nval = agxget (newobj, newsym); UNSUPPORTED("9nzu0ckgyrqklwagcbye9wtx9"); // agmarkhtmlstr (nval); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/cmpnd__c.java000066400000000000000000000643351340005343600222550ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static smetana.core.Macro.UNSUPPORTED; public class cmpnd__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 6ayavpu39aihwyojkx093pcy3 // extern Agraph_t *Ag_G_global //1 871mxtg9l6ffpxdl9kniwusf7 // extern char *AgDataRecName //1 c0o2kmml0tn6hftuwo0u4shwd // extern Dtdisc_t Ag_subnode_id_disc //1 8k15pyu256unm2kpd9zf5pf7k // extern Dtdisc_t Ag_subnode_seq_disc //1 e3d820y06gpeusn6atgmj8bzd // extern Dtdisc_t Ag_mainedge_id_disc //1 cbr0772spix9h1aw7h5v7dv9j // extern Dtdisc_t Ag_subedge_id_disc //1 akd0c3v0j7m2npxcb9acit1fa // extern Dtdisc_t Ag_mainedge_seq_disc //1 12d8la07351ww7vwfzucjst8m // extern Dtdisc_t Ag_subedge_seq_disc //1 29eokk7v88e62g8o6lizmo967 // extern Dtdisc_t Ag_subgraph_id_disc //1 4xd9cbgy6hk5g6nhjcbpzkx14 // extern Agcbdisc_t AgAttrdisc //1 6sk0fkh49yyiz78kjyeyji8kc // static char Descriptor_id[] = //3 4rwqki94tjjugk2oy6kmp9538 // static save_stack_t *save_stack_of(Agedge_t * e, Agnode_t * node_being_saved) public static Object save_stack_of(Object... arg) { UNSUPPORTED("dwtd4ghruns6yb5wivsktmicy"); // static save_stack_t *save_stack_of(Agedge_t * e, UNSUPPORTED("8r63y462x0ogz32e14ocmtc7z"); // Agnode_t * node_being_saved) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("6ghvyg27wq05jvjsvouudi50c"); // Agcmpedge_t *edgerec; UNSUPPORTED("b1mh0xog6n5vpukibyv7u250j"); // edgerec = UNSUPPORTED("4adx48ujfm4pgwe84r22aveam"); // (Agcmpedge_t *) agbindrec(e, Descriptor_id, sizeof(*edgerec), UNSUPPORTED("68qk8aanfr03birvp6in33tmn"); // (0)); UNSUPPORTED("4wdjl8d0e9alxikx2venvybyt"); // if (node_being_saved == AGHEAD(e)) UNSUPPORTED("5or0zebpgtvozlmal8j2q1ymh"); // i = 0; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("ab64ie0vu9mgaoae2os5qcjjc"); // i = 1; UNSUPPORTED("aa7o5hl19ogzcf6gfenmnp78g"); // return &(edgerec->stack[i]); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bsses08e1nxxzo7v1nz6e5md6 // static void stackpush(save_stack_t * stk, Agnode_t * from, Agnode_t * to) public static Object stackpush(Object... arg) { UNSUPPORTED("lk08htngq4befknew1gfxoa9"); // static void stackpush(save_stack_t * stk, Agnode_t * from, Agnode_t * to) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("vdr4szogxxo3ysb964je8fqr"); // int i, osize, nsize; UNSUPPORTED("w0ejuypc1xk0nguosbcbgjs7"); // osize = (stk->stacksize) * sizeof(stk->mem); UNSUPPORTED("69vqrnfe69qiqljcpvbqzjhrt"); // i = stk->stacksize++; UNSUPPORTED("bp2iadkg384j7lqq7aojwgfdb"); // nsize = (stk->stacksize) * sizeof(stk->mem); UNSUPPORTED("8hkinct5qb2wnkfquvrbe5w5n"); // stk->mem = agrealloc(agraphof(from), stk->mem, osize, nsize); UNSUPPORTED("ede5rkve4x0iqpkclios2jmi6"); // stk->mem[i].from = from; UNSUPPORTED("1273u57z8yxvq24utrwrv8xau"); // stk->mem[i].to = to; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3bdssdhs8qmao1r28n4x05wla // static save_e_t stacktop(save_stack_t * stk) public static Object stacktop(Object... arg) { UNSUPPORTED("3oi8j1tra0jhtoedy30z1dceg"); // static save_e_t stacktop(save_stack_t * stk) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ceexozbsr12777awy1hzvd6ye"); // save_e_t rv; UNSUPPORTED("4i89irm9nu2qq9e5my0oyqw92"); // if (stk->stacksize > 0) UNSUPPORTED("muntii5uysvchbl8serzwm6q"); // rv = stk->mem[stk->stacksize - 1]; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("7iqu564wmk0151evpn81bi4al"); // rv.from = rv.to = ((Agnode_t*)0); UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 egn9apfhc7c3wd684jp5des9n // static save_e_t stackpop(save_stack_t * stk) public static Object stackpop(Object... arg) { UNSUPPORTED("6bswtdhkkqef505cf56ngupax"); // static save_e_t stackpop(save_stack_t * stk) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ceexozbsr12777awy1hzvd6ye"); // save_e_t rv; UNSUPPORTED("dq2r0ep189x1fmzlkrupwz7su"); // rv = stacktop(stk); UNSUPPORTED("4i89irm9nu2qq9e5my0oyqw92"); // if (stk->stacksize > 0) UNSUPPORTED("a754migqjxf0orir9je0hpzru"); // stk->stacksize--; UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 19fmhewiyatxc021gdknul20f // static void splice(Agobj_t * obj, void *arg) public static Object splice(Object... arg) { UNSUPPORTED("7wcsyoha9usni3nl1ai3tc3o7"); // static void splice(Agobj_t * obj, void *arg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("ukg32u37iiyg1hjpo3dju9dq"); // Agedge_t *e, *opp; UNSUPPORTED("dlkppm92zbj77gjcpefjxfgd8"); // Agnode_t *target, *t, *h; UNSUPPORTED("eub815wyz9gy5rrouxzf2o1g1"); // Agedge_t **dict_of_del, **dict_of_ins, **dict_of_relabel; UNSUPPORTED("4dutqsf49i6w169yrt0ikwdso"); // Agsplice_arg_t *spl; UNSUPPORTED("8g1zmagr94kv2f6q5qxprrtqf"); // e = (Agedge_t *) obj; UNSUPPORTED("dmucqaij4o1u2fxfg43y5j4ow"); // g = agraphof(e); UNSUPPORTED("5webprz21nzifr3m5zwnqxx6m"); // t = AGTAIL(e); UNSUPPORTED("ax8363bkxphvbre4n21ewb568"); // h = AGHEAD(e); UNSUPPORTED("884w4fs279f033u4kxa8xious"); // opp = AGOPP(e); UNSUPPORTED("bpxhfa46ntshzd0vqkqeoby5s"); // spl = arg; UNSUPPORTED("6m7avwuqg2ht4f1aihu7uemex"); // target = spl->target; UNSUPPORTED("2hpfw7zzxdd4qgijc1r9yjv1j"); // /* set e to variant side, opp to invariant */ UNSUPPORTED("5kqugw221oxim0s4luf2bbx60"); // if ((e->node == h) != spl->head_side) { UNSUPPORTED("8ulbtgatav4cex07ca2vunsq7"); // Agedge_t *t = e; UNSUPPORTED("5z8q89g66clummdq5apxn1lhf"); // e = opp; UNSUPPORTED("aj4xhgtcpcpsmtrs5shi25qly"); // opp = t; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dck6ar35hgorgugfjnx6bdi4h"); // if (spl->head_side) { UNSUPPORTED("7n0bzvgpc2xrp8zucytk2ub8z"); // dict_of_relabel = &(t->out); UNSUPPORTED("exrixiraze7t936j9gozi1i6"); // dict_of_del = &(h->in); UNSUPPORTED("cs1b4s5rzgvma08gnlw4kyi8a"); // dict_of_ins = &(target->in); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("9e37n1vt84uzrvxns8gkkpjrk"); // dict_of_relabel = &(h->in); UNSUPPORTED("dni9pi1ymdj2dx3kpudxdvex7"); // dict_of_del = &(t->out); UNSUPPORTED("3gw0vo5ns6u7r6c78h5i3fz8k"); // dict_of_ins = &(target->out); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("37tcvzpvyyi059h8kb294u1pw"); // agdeledgeimage(g, dict_of_del, opp); UNSUPPORTED("sbztl4163kwplex2051tj6kv"); // agdeledgeimage(g, dict_of_relabel, e); UNSUPPORTED("du0ylmc796qj4u7fpfcs9h29b"); // e->node = target; UNSUPPORTED("9frvpqh10msxmvvwlkkmplmnb"); // aginsedgeimage(g, dict_of_ins, opp); UNSUPPORTED("dqp4p3m2uqtll7k5qy0xfc5sn"); // aginsedgeimage(g, dict_of_relabel, e); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5j5g1wthbifddy3p9spuns8yr // int agsplice(Agedge_t * e, Agnode_t * target) public static Object agsplice(Object... arg) { UNSUPPORTED("axfzz9idalyza2vcuc3lxpm6"); // int agsplice(Agedge_t * e, Agnode_t * target) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4ybt6tm56tubmbuve8lp6rxhh"); // Agnode_t *t, *h; UNSUPPORTED("bdxq0k3myan9ze5fn881cmpd1"); // Agraph_t *g, *root; UNSUPPORTED("bil8jirl3ujy07bddvn7fu2tj"); // Agsplice_arg_t splice_arg; UNSUPPORTED("7tj8suoel784v4amwdbw5vgo0"); // if ((e == ((Agedge_t*)0)) || (e->node == target)) UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("dmucqaij4o1u2fxfg43y5j4ow"); // g = agraphof(e); UNSUPPORTED("5webprz21nzifr3m5zwnqxx6m"); // t = AGTAIL(e); UNSUPPORTED("ax8363bkxphvbre4n21ewb568"); // h = AGHEAD(e); UNSUPPORTED("dki2ntsgjodo47i5gijolwk9l"); // splice_arg.head_side = (e->node == h); UNSUPPORTED("5c8hd46y7z4m71nncma6imi91"); // splice_arg.target = target; UNSUPPORTED("bnybowlbrgjx7x160vaxt6eok"); // root = agroot(g); UNSUPPORTED("dezciasi2v303hk1sw0x8sdgu"); // agapply(root, (Agobj_t *) e, splice, &splice_arg, (!(0))); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1tlq3bzvd3l8vgfzqblufnrbl // Agnode_t *agcmpnode(Agraph_t * g, char *name) public static Object agcmpnode(Object... arg) { UNSUPPORTED("512bqm8afn34qet92ucsr48py"); // Agnode_t *agcmpnode(Agraph_t * g, char *name) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("c3tourf5k7groqyh71yjd5xec"); // Agraph_t *subg; UNSUPPORTED("65blkwcubnuk73fdazfmejbit"); // n = agnode(g, name, (!(0))); UNSUPPORTED("9tklhmm0c204xvppkor6fa27j"); // subg = agsubg(g, name); UNSUPPORTED("3f30xv09zuxursa8mirbicrop"); // if (n && g && agassociate(n, subg)) UNSUPPORTED("bp96fem54xcxrw16cmnlpell9"); // return n; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("afujljwagn2n2w7aqkq94dyud"); // return ((Agnode_t*)0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 55kt0ymvf8xwytjl27ldl9w47 // int agassociate(Agnode_t * n, Agraph_t * sub) public static Object agassociate(Object... arg) { UNSUPPORTED("4sypdgvq8ag9maceg6t7ybgh2"); // int agassociate(Agnode_t * n, Agraph_t * sub) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7f909qn3eh0n5jhwbdss7xsl7"); // Agcmpnode_t *noderec; UNSUPPORTED("7jdwhjw5hagvavcg0s7mzyvtw"); // Agcmpgraph_t *graphrec; UNSUPPORTED("a2s3hoak57qxwo7p26uwtl6tw"); // if (agsubnode(sub, n, (0))) UNSUPPORTED("5ul223252n4s0i9q8gmv7sqkr"); // return -1; /* avoid cycles */ UNSUPPORTED("2n0hbg501gaoso2zqjoe2w7m1"); // noderec = agbindrec(n, Descriptor_id, sizeof(*noderec), (0)); UNSUPPORTED("28wqx7jtqdh2nga91wmk9v4pp"); // graphrec = agbindrec(sub, Descriptor_id, sizeof(*graphrec), (0)); UNSUPPORTED("yhgoyzhuwjezwcawsm4ky6zq"); // if (noderec->subg || graphrec->node) UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("5m09ilomtgcifokk2saj5p7n6"); // noderec->subg = sub; UNSUPPORTED("284nqmn0r6jg3l13sp1j66tdn"); // graphrec->node = n; UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 b07pin7xj9eofda53ydvki64l // static void delete_outside_subg(Agraph_t * g, Agnode_t * node, Agraph_t * subg) public static Object delete_outside_subg(Object... arg) { UNSUPPORTED("kry3yfo20dytuxfnf38kcsam"); // static void delete_outside_subg(Agraph_t * g, Agnode_t * node, UNSUPPORTED("5y3h6zj5vt2f7wcth5pip26cj"); // Agraph_t * subg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6g19oav62phxzmj2to9fq3v1x"); // Agraph_t *s, **subglist; UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("7jdwhjw5hagvavcg0s7mzyvtw"); // Agcmpgraph_t *graphrec; UNSUPPORTED("l4y6zpshfefue2m18wlswfkp"); // Dict_t *d; UNSUPPORTED("7e89xw954lv4akbipty68ohbe"); // if ((g != subg) && (n = agsubnode(g, (Agnode_t *) node, (0)))) { UNSUPPORTED("1rogfljh6p2ad5nst1eypwpyi"); // (*(((Dt_t*)(g->n_dict))->searchf))((g->n_dict),(void*)(n),0000002); UNSUPPORTED("abe30iy9w3d0dl2w6a5lsop8v"); // graphrec = agbindrec(g, Descriptor_id, sizeof(*graphrec), (0)); UNSUPPORTED("f2oroo8l1jg4844ju7u0qqrvl"); // if ((d = graphrec->hidden_node_set) == ((Dict_t *)0)) { UNSUPPORTED("exx0k792od5v3lta50a7cc7ex"); // /* use name disc. to permit search for hidden node by name */ UNSUPPORTED("evqbx12s6gejd2x4ot3qp9mom"); // d = graphrec->hidden_node_set UNSUPPORTED("6sphuxp1saeruucoielhncdwi"); // = agdtopen(g, &Ag_node_name_disc, Dttree); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dc351e9qkjba5ljcn70ir8wok"); // (*(((Dt_t*)(d))->searchf))((d),(void*)(n),0000001); UNSUPPORTED("b6earq4vdf6hkqbiof5ld8o0f"); // subglist = agsubglist(g); UNSUPPORTED("1z7syfzy448v3csnwess0czr6"); // while ((s = *subglist++)) UNSUPPORTED("nec2jxb9w7x6umx24yslrcmt"); // delete_outside_subg(s, node, subg); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ayp78uwr34sz0qhg1h8t95kwv // int aghide(Agnode_t * cmpnode) public static Object aghide(Object... arg) { UNSUPPORTED("1g3pfblqoo1dgglsxstj9742s"); // int aghide(Agnode_t * cmpnode) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7f909qn3eh0n5jhwbdss7xsl7"); // Agcmpnode_t *noderec; UNSUPPORTED("b60qtrkk2j4xw71fl5cofd2cf"); // Agraph_t *g, *subg, *root; UNSUPPORTED("emedv9iv9jzdkfi9un2n7u1qd"); // Agnode_t *n, *nn, *rootn; UNSUPPORTED("52m1c5blj9go84x3gvfinhsxk"); // Agedge_t *e, *opp, *f; UNSUPPORTED("ckh341j07p4zctbd8z88pmxjs"); // g = agraphof(cmpnode); UNSUPPORTED("6gex4hni6g4u0xtyjv48g3qo"); // /* skip operation if node is not compound, or hidden */ UNSUPPORTED("ase6k94o0exmeya2beg8xxyrd"); // if (agcmpgraph_of(cmpnode) == ((Agraph_t*)0)) UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("1ngod2ph1meu972df8l6bc2b"); // noderec = (Agcmpnode_t *) aggetrec(cmpnode, Descriptor_id, (0)); UNSUPPORTED("4j153btiyrft10pvhp9s4o13l"); // subg = noderec->subg; UNSUPPORTED("bnybowlbrgjx7x160vaxt6eok"); // root = agroot(g); UNSUPPORTED("f2t4kmp1tlgz90kx88edbc1s8"); // /* make sure caller hasn't put a node "inside itself" */ UNSUPPORTED("d02v8hdosfh8948mx4a51khy4"); // if ((n = agsubnode(subg, cmpnode, (0)))) UNSUPPORTED("1kkhrgl1v3ojgulkhv2iho34m"); // agdelnode(n); UNSUPPORTED("aj0mf64ekwjmvyu6kqgvi66vl"); // /* remap edges by splicing and saving previous endpt */ UNSUPPORTED("58gpvx001o2jm2wb0zi9ykxhx"); // for (n = agfstnode(subg); n; n = agnxtnode(n)) { UNSUPPORTED("bdm41ygxu6ed5nfinjtmybqji"); // rootn = agsubnode(root, n, (0)); UNSUPPORTED("4q5u96f55k4ohv094om4hfom3"); // for (e = agfstedge(rootn); e; e = f) { UNSUPPORTED("c3p50uvstq31yp3nng2ig715m"); // f = agnxtedge(e, rootn); UNSUPPORTED("bkc2enueo6t9l7kv1jolsetmh"); // if (agsubedge(subg, e, (0))) UNSUPPORTED("2hw2snx42pro7p7hsy05vln4r"); // continue; /* an internal edge */ UNSUPPORTED("adb1bm65bqje5izc3vk2789io"); // opp = AGOPP(e); UNSUPPORTED("32kek6wlljhat9b0vfgu2j7vi"); // stackpush(save_stack_of(e, rootn), rootn, cmpnode); UNSUPPORTED("2qzlo72387x84q858f0813gkb"); // agsplice(opp, cmpnode); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("f415ngsv513d31vpdchhs95kb"); // /* hide nodes by deleting from the parent set. what if they also UNSUPPORTED("obzrdh816obcnhiv63ncejfj"); // belong to a sibling subg? weird. possible bug. */ UNSUPPORTED("4bd0uibjrx5ci9pbm9aoki6f5"); // for (n = agfstnode(subg); n; n = nn) { UNSUPPORTED("4l4330kwixp6e6vgyiy54ys17"); // nn = agnxtnode(n); UNSUPPORTED("kb51l7sewmn750p94rd43kg6"); // delete_outside_subg(root, n, subg); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("394ntxheuereknfzn3ztogs6r"); // /* hide subgraph is easy */ UNSUPPORTED("257s639mo6gp7eaozszsh1o7w"); // agdelsubg(agparent(subg), subg); UNSUPPORTED("6abloarv1gy1qzd7xxpla0dyf"); // noderec->collapsed = (!(0)); UNSUPPORTED("4kztab9wrg1e4rhrix10drw0d"); // g->desc.has_cmpnd = (!(0)); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1gb6h0a1ld4kfxblxauozwl1n // static void insert_outside_subg(Agraph_t * g, Agnode_t * node, Agraph_t * subg) public static Object insert_outside_subg(Object... arg) { UNSUPPORTED("76ij8hacl890v9sivg40zvbig"); // static void insert_outside_subg(Agraph_t * g, Agnode_t * node, UNSUPPORTED("5y3h6zj5vt2f7wcth5pip26cj"); // Agraph_t * subg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6g19oav62phxzmj2to9fq3v1x"); // Agraph_t *s, **subglist; UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("7jdwhjw5hagvavcg0s7mzyvtw"); // Agcmpgraph_t *graphrec; UNSUPPORTED("ckdhxacpy31hkxoiusj63w0s0"); // if ((g != subg) UNSUPPORTED("8swye54gpwwju751wheaso218"); // && ((n = agsubnode(g, (Agnode_t *) node, (0))) == ((Agnode_t*)0))) { UNSUPPORTED("dmahb56s8q8b4hcc3f5pvwham"); // graphrec = (Agcmpgraph_t *) aggetrec(g, Descriptor_id, (0)); UNSUPPORTED("lxl9n15bjuho7s84h5mnrfjh"); // if (graphrec UNSUPPORTED("2rld3bcrvvoa3aqorq9on3kof"); // && UNSUPPORTED("336e61s13ex1sqjdcjpvk13qs"); // ((n = (Agnode_t *) (*(((Dt_t*)(graphrec->hidden_node_set))->searchf))((graphrec->hidden_node_set),(void*)(node),0000004)))) UNSUPPORTED("2ermrtom5lyizwkjyyw8ubiij"); // (*(((Dt_t*)(g->n_dict))->searchf))((g->n_dict),(void*)(n),0000001); UNSUPPORTED("b6earq4vdf6hkqbiof5ld8o0f"); // subglist = agsubglist(g); UNSUPPORTED("1z7syfzy448v3csnwess0czr6"); // while ((s = *subglist++)) UNSUPPORTED("nec2jxb9w7x6umx24yslrcmt"); // delete_outside_subg(s, node, subg); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6lc402jyd31q9vuhqstq3cipf // int agexpose(Agnode_t * cmpnode) public static Object agexpose(Object... arg) { UNSUPPORTED("9apmbol4kwi7nzggmvu74lu8"); // int agexpose(Agnode_t * cmpnode) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7f909qn3eh0n5jhwbdss7xsl7"); // Agcmpnode_t *noderec; UNSUPPORTED("6ghvyg27wq05jvjsvouudi50c"); // Agcmpedge_t *edgerec; UNSUPPORTED("b60qtrkk2j4xw71fl5cofd2cf"); // Agraph_t *g, *subg, *root; UNSUPPORTED("don2z7bcidp3vh6u93uqylp6n"); // Agnode_t *n, *rootcmp; UNSUPPORTED("109gqpvjmuv5lwcih97x4uwqa"); // Agedge_t *e, *f; UNSUPPORTED("ac4ommdery6vqxemsczpw45pd"); // save_stack_t *stk; UNSUPPORTED("8lv2gwgeyznnvkn2sc4qtmsgg"); // save_e_t sav; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("ckh341j07p4zctbd8z88pmxjs"); // g = agraphof(cmpnode); UNSUPPORTED("cn5g532viw6fnn9qwqgjrg8ut"); // /* skip if this is not a collapsed subgraph */ UNSUPPORTED("1ngod2ph1meu972df8l6bc2b"); // noderec = (Agcmpnode_t *) aggetrec(cmpnode, Descriptor_id, (0)); UNSUPPORTED("bqsicd41l9yomlip35oj8xesq"); // if ((noderec == ((Agcmpnode_t *)0) || NOT(noderec->collapsed))) UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("euy8jfjxkm1u0yrzwson87j19"); // /* undo aghide (above) in reverse order. first, expose subgraph */ UNSUPPORTED("4j153btiyrft10pvhp9s4o13l"); // subg = noderec->subg; UNSUPPORTED("1sf8vp9dtnivh92y8rh0t1z25"); // agsubgrec_insert(agsubgrec(agparent(subg)), subg); UNSUPPORTED("98brku3wzqlj4ollbjtvk6fa5"); // /* re-insert nodes */ UNSUPPORTED("7nd099zwv098gk9rg5mpujtqi"); // for (n = agfstnode(subg); n; n = agnxtnode(n)) UNSUPPORTED("40fhgczx2v7xf4fj52ixa2ae1"); // insert_outside_subg(g, n, subg); UNSUPPORTED("q9tdqkpe3ypf3sokv2e9iunf"); // /* re-splice the affected edges */ UNSUPPORTED("bnybowlbrgjx7x160vaxt6eok"); // root = agroot(g); UNSUPPORTED("lbob6dh3k9ofz0eq54n0bfrf"); // rootcmp = agsubnode(root, cmpnode, (0)); UNSUPPORTED("6q870w22sh62rr3c3z713a08c"); // for (e = agfstedge(rootcmp); e; e = f) { UNSUPPORTED("4rk367peiayey75qn4p83rld9"); // f = agnxtedge(e, rootcmp); UNSUPPORTED("azqu6v7o6ogppzcpc7r4j32te"); // if ((edgerec = (Agcmpedge_t *) aggetrec(e, Descriptor_id, (0)))) { UNSUPPORTED("7q2kavn0hyciyjodmijsm5t72"); // /* anything interesting on either stack? */ UNSUPPORTED("49iuc4atzdynskzobe6v2v6by"); // for (i = 0; i < 2; i++) { UNSUPPORTED("cst8yfaj50yiqi2c79ylx8ipu"); // stk = &(edgerec->stack[i]); UNSUPPORTED("2jssfbw5q1ezanoj77xitfozx"); // sav = stacktop(stk); UNSUPPORTED("8ws9njxg0op6x2fecfio25com"); // if (sav.to && (AGID(sav.to) == AGID(cmpnode))) { UNSUPPORTED("ck3uwtfxhqv714xrb3sros513"); // if (e->node != sav.to) UNSUPPORTED("50lxrd15vtq2bqijmn3bb0s3d"); // e = AGOPP(e); UNSUPPORTED("4xrkvbkbiluczhf7ohqwe2f7j"); // agsplice(e, sav.from); UNSUPPORTED("a2z237r7jaraa3h9fcoipnsoq"); // stackpop(stk); UNSUPPORTED("2yi9az7ibt7j9bwztjilyo0v2"); // continue; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6lipw6f0pqk6r03nvkb5cjdbq"); // noderec->collapsed = (0); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 aduq2oedmk7tixfq937xsx8uk // Agraph_t *agcmpgraph_of(Agnode_t * n) public static Object agcmpgraph_of(Object... arg) { UNSUPPORTED("96w163plg7m5fs459ya5s4eyr"); // Agraph_t *agcmpgraph_of(Agnode_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7f909qn3eh0n5jhwbdss7xsl7"); // Agcmpnode_t *noderec; UNSUPPORTED("bsxlpjgnoko6pxkt2w15vzjoc"); // noderec = (Agcmpnode_t *) aggetrec(n, Descriptor_id, (0)); UNSUPPORTED("6xdbpq5pdwgfgmaekbtp5fvq2"); // if (noderec && NOT(noderec->collapsed)) UNSUPPORTED("euroyfixydmzdwgwiv0f2pihb"); // return noderec->subg; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("3jgcplzgc47d97c1hv6u71tpg"); // return ((Agraph_t*)0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5hzjwc4e1cfmit7v903028piu // Agnode_t *agcmpnode_of(Agraph_t * g) public static Object agcmpnode_of(Object... arg) { UNSUPPORTED("exxk55w9iak7ur9634a45037a"); // Agnode_t *agcmpnode_of(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7jdwhjw5hagvavcg0s7mzyvtw"); // Agcmpgraph_t *graphrec; UNSUPPORTED("9vifxckhgfio5f5ba0xie8roh"); // graphrec = (Agcmpgraph_t *) aggetrec(g, Descriptor_id, (0)); UNSUPPORTED("aixy4qcuhk04x6qoq3y286w8k"); // if (graphrec) UNSUPPORTED("b6qkfex5h0152pzytdftlh9sb"); // return graphrec->node; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("afujljwagn2n2w7aqkq94dyud"); // return ((Agnode_t*)0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2yirbmqshfrzkjrbay3m6j4ep // Agnode_t *agfindhidden(Agraph_t * g, char *name) public static Object agfindhidden(Object... arg) { UNSUPPORTED("8cv8z2j9nan9aew6qpjmibk2t"); // Agnode_t *agfindhidden(Agraph_t * g, char *name) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7jdwhjw5hagvavcg0s7mzyvtw"); // Agcmpgraph_t *graphrec; UNSUPPORTED("6ccnq25sjyc3hlxdu7hxx8lic"); // Agnode_t key; UNSUPPORTED("9vifxckhgfio5f5ba0xie8roh"); // graphrec = (Agcmpgraph_t *) aggetrec(g, Descriptor_id, (0)); UNSUPPORTED("anxj4l9dauyidns1gvnaacw6t"); // if (graphrec) { UNSUPPORTED("81vu48ydx08zss09rzp8ctgir"); // key.name = name; UNSUPPORTED("2hneo0tj9jekolndce4nhpax2"); // return (Agnode_t *) (*(((Dt_t*)(graphrec->hidden_node_set))->searchf))((graphrec->hidden_node_set),(void*)(&key),0000004); UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("afujljwagn2n2w7aqkq94dyud"); // return ((Agnode_t*)0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/edge__c.java000066400000000000000000000677311340005343600220630ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static gen.lib.cdt.dtextract__c.dtextract; import static gen.lib.cdt.dtrestore__c.dtrestore; import static gen.lib.cgraph.attr__c.AgDataRecName; import static gen.lib.cgraph.attr__c.agedgeattr_init; import static gen.lib.cgraph.graph__c.agisstrict; import static gen.lib.cgraph.graph__c.agisundirected; import static gen.lib.cgraph.graph__c.agnextseq; import static gen.lib.cgraph.id__c.agmapnametoid; import static gen.lib.cgraph.id__c.agregister; import static gen.lib.cgraph.mem__c.agalloc; import static gen.lib.cgraph.node__c.agsubnode; import static gen.lib.cgraph.obj__c.agmethod_init; import static gen.lib.cgraph.obj__c.agroot; import static gen.lib.cgraph.rec__c.agbindrec; import static gen.lib.cgraph.subg__c.agparent; import static smetana.core.JUtils.EQ; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtils.sizeof; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.AGEDGE; import static smetana.core.Macro.AGHEAD; import static smetana.core.Macro.AGID; import static smetana.core.Macro.AGINEDGE; import static smetana.core.Macro.AGMKIN; import static smetana.core.Macro.AGMKOUT; import static smetana.core.Macro.AGOPP; import static smetana.core.Macro.AGOUTEDGE; import static smetana.core.Macro.AGSEQ; import static smetana.core.Macro.AGTAG; import static smetana.core.Macro.AGTAIL; import static smetana.core.Macro.AGTYPE; import static smetana.core.Macro.N; import static smetana.core.Macro.NOT; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agattr_s; import h.ST_Agdesc_s; import h.ST_Agedge_s; import h.ST_Agedgepair_s; import h.ST_Agnode_s; import h.ST_Agraph_s; import h.ST_Agsubnode_s; import h.ST_Agtag_s; import h.ST_dt_s; import h.ST_dtdisc_s; import h.ST_dtlink_s; import smetana.core.ACCESS; import smetana.core.CString; import smetana.core.STARSTAR; import smetana.core.Z; import smetana.core.__ptr__; public class edge__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 6ayavpu39aihwyojkx093pcy3 // extern Agraph_t *Ag_G_global //1 871mxtg9l6ffpxdl9kniwusf7 // extern char *AgDataRecName //1 c0o2kmml0tn6hftuwo0u4shwd // extern Dtdisc_t Ag_subnode_id_disc //1 8k15pyu256unm2kpd9zf5pf7k // extern Dtdisc_t Ag_subnode_seq_disc //1 e3d820y06gpeusn6atgmj8bzd // extern Dtdisc_t Ag_mainedge_id_disc //1 cbr0772spix9h1aw7h5v7dv9j // extern Dtdisc_t Ag_subedge_id_disc //1 akd0c3v0j7m2npxcb9acit1fa // extern Dtdisc_t Ag_mainedge_seq_disc //1 12d8la07351ww7vwfzucjst8m // extern Dtdisc_t Ag_subedge_seq_disc //1 29eokk7v88e62g8o6lizmo967 // extern Dtdisc_t Ag_subgraph_id_disc //1 4xd9cbgy6hk5g6nhjcbpzkx14 // extern Agcbdisc_t AgAttrdisc //1 cee3kc2m61ml4f8le5ueoyrjb // static Agtag_t Tag //private final static __struct__ Tag = JUtils.from(Agtag_s.class); //3 9vamtktowqtk4955i546z9obw // Agedge_t *agfstout(Agraph_t * g, Agnode_t * n) public static ST_Agedge_s agfstout(ST_Agraph_s g, ST_Agnode_s n) { ENTERING("9vamtktowqtk4955i546z9obw","agfstout"); try { ST_Agsubnode_s sn; ST_Agedge_s e = null; sn = agsubrep(g, n); if (sn!=null) { dtrestore((ST_dt_s)g.e_seq, (ST_dtlink_s)sn.out_seq); e = (ST_Agedge_s) g.e_seq.searchf.exe(g.e_seq,null,0000200); sn.out_seq = dtextract((ST_dt_s)g.e_seq); } return e; } finally { LEAVING("9vamtktowqtk4955i546z9obw","agfstout"); } } //3 1qh7mgqwomkdqvczauv4ex1lu // Agedge_t *agnxtout(Agraph_t * g, Agedge_t * e) public static ST_Agedge_s agnxtout(ST_Agraph_s g, ST_Agedge_s e) { ENTERING("1qh7mgqwomkdqvczauv4ex1lu","agnxtout"); try { ST_Agnode_s n; ST_Agsubnode_s sn; ST_Agedge_s f = null; n = AGTAIL(e); sn = agsubrep(g, n); if (sn!=null) { dtrestore((ST_dt_s)g.e_seq, (ST_dtlink_s)sn.out_seq); f = (ST_Agedge_s) g.e_seq.searchf.exe(g.e_seq,e,0000010); sn.out_seq = dtextract((ST_dt_s)g.e_seq); } return f; } finally { LEAVING("1qh7mgqwomkdqvczauv4ex1lu","agnxtout"); } } //3 c60qt3ycq0xweabgtqt16xe93 // Agedge_t *agfstin(Agraph_t * g, Agnode_t * n) public static ST_Agedge_s agfstin(ST_Agraph_s g, ST_Agnode_s n) { ENTERING("c60qt3ycq0xweabgtqt16xe93","agfstin"); try { ST_Agsubnode_s sn; ST_Agedge_s e = null; sn = agsubrep(g, n); if (sn!=null) { dtrestore((ST_dt_s)g.e_seq, (ST_dtlink_s)sn.in_seq); e = (ST_Agedge_s) g.e_seq.searchf.exe(g.e_seq,null,0000200); sn.setPtr("in_seq", dtextract((ST_dt_s)g.e_seq)); } return e; } finally { LEAVING("c60qt3ycq0xweabgtqt16xe93","agfstin"); } } //3 f2af4x97mqn16npd6alsw7avs // Agedge_t *agnxtin(Agraph_t * g, Agedge_t * e) public static ST_Agedge_s agnxtin(ST_Agraph_s g, ST_Agedge_s e) { ENTERING("f2af4x97mqn16npd6alsw7avs","agnxtin"); try { ST_Agnode_s n; ST_Agsubnode_s sn; ST_Agedge_s f = null; n = AGHEAD(e); sn = agsubrep(g, n); if (sn!=null) { dtrestore((ST_dt_s)g.e_seq, (ST_dtlink_s)sn.in_seq); f = (ST_Agedge_s) g.e_seq.searchf.exe(g.e_seq,e,0000010); sn.setPtr("in_seq", dtextract((ST_dt_s)g.e_seq)); } return f; } finally { LEAVING("f2af4x97mqn16npd6alsw7avs","agnxtin"); } } //3 6nwyo5bklramr0d093aa1h25o // Agedge_t *agfstedge(Agraph_t * g, Agnode_t * n) public static ST_Agedge_s agfstedge(ST_Agraph_s g, ST_Agnode_s n) { ENTERING("6nwyo5bklramr0d093aa1h25o","agfstedge"); try { ST_Agedge_s rv; rv = agfstout(g, n); if (rv == null) rv = agfstin(g, n); return rv; } finally { LEAVING("6nwyo5bklramr0d093aa1h25o","agfstedge"); } } //3 8zy2u6gsi2xzv2ffv8o4v4uvf // Agedge_t *agnxtedge(Agraph_t * g, Agedge_t * e, Agnode_t * n) public static ST_Agedge_s agnxtedge(ST_Agraph_s g, ST_Agedge_s e, ST_Agnode_s n) { ENTERING("8zy2u6gsi2xzv2ffv8o4v4uvf","agnxtedge"); try { ST_Agedge_s rv; if (AGTYPE(e) == AGOUTEDGE) { rv = agnxtout(g, e); if (rv == null) { do { rv = N(rv) ? agfstin(g, n) : agnxtin(g,rv); } while (rv!=null && EQ(rv.node, n)); } } else { do { rv = agnxtin(g, e); /* so that we only see each edge once, */ e = rv; } while (rv!=null && EQ(rv.node, n)); /* ignore loops as in-edges */ } return rv; } finally { LEAVING("8zy2u6gsi2xzv2ffv8o4v4uvf","agnxtedge"); } } //3 c175o6j61jqmfnl4o1g1h1mie // static Agedge_t *agfindedge_by_key(Agraph_t * g, Agnode_t * t, Agnode_t * h, Agtag_t key) public static ST_Agedge_s agfindedge_by_key(ST_Agraph_s g, ST_Agnode_s t, ST_Agnode_s h, final ST_Agtag_s key) { // WARNING!! STRUCT return agfindedge_by_key_w_(g, t, h, (ST_Agtag_s) key.copy()); } private static ST_Agedge_s agfindedge_by_key_w_(ST_Agraph_s g, ST_Agnode_s t, ST_Agnode_s h, final ST_Agtag_s key) { ENTERING("c175o6j61jqmfnl4o1g1h1mie","agfindedge_by_key"); try { ST_Agedge_s e; final ST_Agedge_s template = new ST_Agedge_s(); ST_Agsubnode_s sn; if ((t == null) || (h == null)) return null; template.base.setStruct("tag", key); template.setPtr("node", t); /* guess that fan-in < fan-out */ sn = agsubrep(g, h); if (N(sn)) e = null; else { dtrestore((ST_dt_s)g.e_id, (ST_dtlink_s)sn.in_id); e = ((ST_Agedge_s)g.e_id.searchf.exe(g.e_id,template,0000004)); sn.setPtr("in_id", dtextract((ST_dt_s)g.e_id)); } return e; } finally { LEAVING("c175o6j61jqmfnl4o1g1h1mie","agfindedge_by_key"); } } //3 7ph1egysh0yp1kxmrerg5v40e // static Agedge_t *agfindedge_by_id(Agraph_t * g, Agnode_t * t, Agnode_t * h, unsigned long id) public static Object agfindedge_by_id(Object... arg) { UNSUPPORTED("ec9zslg8lac601i0b25y7zwto"); // static Agedge_t *agfindedge_by_id(Agraph_t * g, Agnode_t * t, Agnode_t * h, UNSUPPORTED("3aq1nzyk7buuizn5in1tizrxw"); // unsigned long id) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e1mtghvcaueacf53mmdm4tfy0"); // Agtag_t tag; UNSUPPORTED("9sao87j2usq1a87o75iju8s5b"); // tag = Tag; UNSUPPORTED("8ftb0g8ykm4jkjpro0pcai75y"); // tag.objtype = AGEDGE; UNSUPPORTED("4dwsgoqnwiy82putqjt97dagp"); // tag.id = id; UNSUPPORTED("57t26f9vd4vltjvoz5m7lo5lf"); // return agfindedge_by_key(g, t, h, tag); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 b32ssm6ex1pdz1b3nt4fwlhul // Agsubnode_t *agsubrep(Agraph_t * g, Agnode_t * n) public static ST_Agsubnode_s agsubrep(ST_Agraph_s g, ST_Agnode_s n) { ENTERING("b32ssm6ex1pdz1b3nt4fwlhul","agsubrep"); try { ST_Agsubnode_s sn; final ST_Agsubnode_s template = new ST_Agsubnode_s(); if (EQ(g, n.root)) sn = (ST_Agsubnode_s) n.mainsub; else { template.setPtr("node", n); sn = (ST_Agsubnode_s) g.n_id.searchf.exe(g.n_id, template, 0000004); } return sn; } finally { LEAVING("b32ssm6ex1pdz1b3nt4fwlhul","agsubrep"); } } //3 6u0niow33w9gva780waluva4n // static void ins(Dict_t * d, Dtlink_t ** set, Agedge_t * e) public static void ins(ST_dt_s d, STARSTAR set, ST_Agedge_s e) { ENTERING("6u0niow33w9gva780waluva4n","ins"); try { dtrestore(d, set.getMe()); d.searchf.exe(d,e,0000001); set.setMe(dtextract(d)); } finally { LEAVING("6u0niow33w9gva780waluva4n","ins"); } } //3 2h2dtr49b6fcn440sc4xrseg3 // static void del(Dict_t * d, Dtlink_t ** set, Agedge_t * e) public static Object del(Object... arg) { UNSUPPORTED("5lvsvkq5t8c8pj03debt0mwal"); // static void del(Dict_t * d, Dtlink_t ** set, Agedge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("atawgqln44t2lhf2j4q1dsw80"); // void *x; UNSUPPORTED("c1wraxzkcgmquqsiuypvr56tj"); // dtrestore(d, *set); UNSUPPORTED("9e6qtst4eze5ps8ukq79d6zf8"); // x = (*(((Dt_t*)(d))->searchf))((d),(void*)(e),0000002); UNSUPPORTED("5i0sddp616zsw63jk38od62l4"); // ; UNSUPPORTED("dgfo5c0o8ftxxwmcq8kxe7ht8"); // *set = dtextract(d); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8kizmg7gziussfgx8zs3qvkfw // static void installedge(Agraph_t * g, Agedge_t * e) public static void installedge(ST_Agraph_s g, ST_Agedge_s e) { ENTERING("8kizmg7gziussfgx8zs3qvkfw","installedge"); try { ST_Agnode_s t, h; ST_Agedge_s out, in; ST_Agsubnode_s sn; out = AGMKOUT(e); in = AGMKIN(e); t = agtail(e); h = aghead(e); while (g!=null) { if (agfindedge_by_key(g, t, h, AGTAG(e))!=null) break; sn = agsubrep(g, t); final ST_Agsubnode_s sn1 = sn; ins((ST_dt_s)g.e_seq, STARSTAR.amp(new ACCESS() { public ST_dtlink_s get() { return (ST_dtlink_s) sn1.out_seq; } public void set(ST_dtlink_s obj) { sn1.setPtr("out_seq", obj); }}) , (ST_Agedge_s)out); ins((ST_dt_s)g.e_id, STARSTAR.amp(new ACCESS() { public ST_dtlink_s get() { return (ST_dtlink_s) sn1.out_id; } public void set(ST_dtlink_s obj) { sn1.setPtr("out_id", obj); }}) , (ST_Agedge_s)out); sn = agsubrep(g, h); final ST_Agsubnode_s sn2 = sn; ins((ST_dt_s)g.e_seq, STARSTAR.amp(new ACCESS() { public ST_dtlink_s get() { return (ST_dtlink_s) sn2.in_seq; } public void set(ST_dtlink_s obj) { sn2.setPtr("in_seq", obj); }}) , (ST_Agedge_s)in); ins((ST_dt_s)g.e_id, STARSTAR.amp(new ACCESS() { public ST_dtlink_s get() { return (ST_dtlink_s) sn2.in_id; } public void set(ST_dtlink_s obj) { sn2.setPtr("in_id", obj); }}) , (ST_Agedge_s)in); g = agparent(g); } } finally { LEAVING("8kizmg7gziussfgx8zs3qvkfw","installedge"); } } //3 2vtt6zb0n3oru23okvw4pxasg // static void subedge(Agraph_t * g, Agedge_t * e) public static Object subedge(Object... arg) { UNSUPPORTED("1qslen16fp6w3yse2y311vtsf"); // static void subedge(Agraph_t * g, Agedge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3rvuc9rdxdwmvq3dtwv2hqwjo"); // installedge(g, e); UNSUPPORTED("4d70e4y79ekvafnx88hgwdrna"); // /* might an init method call be needed here? */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4rzjui6oo0k009o64bxwgjmvq // static Agedge_t *newedge(Agraph_t * g, Agnode_t * t, Agnode_t * h, unsigned long id) public static ST_Agedge_s newedge(ST_Agraph_s g, ST_Agnode_s t, ST_Agnode_s h, int id) { ENTERING("4rzjui6oo0k009o64bxwgjmvq","newedge"); try { ST_Agedgepair_s e2; ST_Agedge_s in, out; int seq; agsubnode(g,t,(N(0))); agsubnode(g,h,(N(0))); e2 = (ST_Agedgepair_s) agalloc(g, sizeof(ST_Agedgepair_s.class)); in = (ST_Agedge_s) e2.in; out = (ST_Agedge_s) e2.out; seq = agnextseq(g, AGEDGE); AGTYPE(in, AGINEDGE); AGTYPE(out, AGOUTEDGE); AGID(out, id); AGID(in, id); AGSEQ(in, seq); AGSEQ(out, seq); in.setPtr("node", t); out.setPtr("node", h); installedge(g, out); if (((ST_Agdesc_s)g.desc).has_attrs!=0) { agbindrec(out, AgDataRecName, sizeof(ST_Agattr_s.class), false); agedgeattr_init(g, out); } agmethod_init(g, out); return out; } finally { LEAVING("4rzjui6oo0k009o64bxwgjmvq","newedge"); } } //3 1ufxhg5xnmll1pe5339477823 // static int ok_to_make_edge(Agraph_t * g, Agnode_t * t, Agnode_t * h) public static boolean ok_to_make_edge(ST_Agraph_s g, ST_Agnode_s t, ST_Agnode_s h) { ENTERING("1ufxhg5xnmll1pe5339477823","ok_to_make_edge"); try { final ST_Agtag_s key = new ST_Agtag_s(); /* protect against self, multi-edges in strict graphs */ if (agisstrict(g)) { if (g.desc.no_loop!=0 && (EQ(t, h))) /* simple graphs */ return false; key.___(Z.z().Tag); key.setInt("objtype", 0); /* wild card */ if (agfindedge_by_key(g, t, h, key)!=null) return false; } return (N(0)); } finally { LEAVING("1ufxhg5xnmll1pe5339477823","ok_to_make_edge"); } } //3 75ua3fc3lvhnwftacueslv8e5 // Agedge_t *agidedge(Agraph_t * g, Agnode_t * t, Agnode_t * h, unsigned long id, int cflag) public static Object agidedge(Object... arg) { UNSUPPORTED("5pslnv27wv1h507npa2zxh90y"); // Agedge_t *agidedge(Agraph_t * g, Agnode_t * t, Agnode_t * h, UNSUPPORTED("e28xnrj58aci1fn3kunzmqxbv"); // unsigned long id, int cflag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2hs0004nnparj6tt7elslt4zj"); // Agraph_t *root; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("1v1wyp9m83obk7jvlhzzmbwqb"); // e = agfindedge_by_id(g, t, h, id); UNSUPPORTED("1gxwr1hr3zd8rrmnl1zq34xju"); // if ((e == ((Agedge_t*)0)) && agisundirected(g)) UNSUPPORTED("7jnnbxt6l29uby71ap2ioa94q"); // e = agfindedge_by_id(g, h, t, id); UNSUPPORTED("2m5yl6487z3nh60gz8x9otg16"); // if ((e == ((Agedge_t*)0)) && cflag && ok_to_make_edge(g, t, h)) { UNSUPPORTED("7zol2448bccu90sqoxkvnbuif"); // root = agroot(g); UNSUPPORTED("e9viv3tnfxask57of0bhahbev"); // if ((g != root) && ((e = agfindedge_by_id(root, t, h, id)))) { UNSUPPORTED("7u9o1s6uopqwva82fgnfbgr03"); // subedge(g, e); /* old */ UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("3nwzv8q6jwjadczk10hhrt14f"); // if (agallocid(g, AGEDGE, id)) { UNSUPPORTED("2zklsds1y3vegvq9xgmx9ayyn"); // e = newedge(g, t, h, id); /* new */ UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2bswif6w6ot01ynlvkimntfly"); // return e; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4361pvzr3ozft2ov0fgx6t8bo // Agedge_t *agedge(Agraph_t * g, Agnode_t * t, Agnode_t * h, char *name, int cflag) public static ST_Agedge_s agedge(ST_Agraph_s g, ST_Agnode_s t, ST_Agnode_s h, CString name, boolean cflag) { ENTERING("4361pvzr3ozft2ov0fgx6t8bo","agedge"); try { ST_Agedge_s e; int id[] = new int[1]; int have_id; have_id = agmapnametoid(g, AGEDGE, name, id, false); if (have_id!=0 || ((name == null) && ((NOT(cflag)) || agisstrict(g)))) { /* probe for pre-existing edge */ final ST_Agtag_s key = new ST_Agtag_s(); key.___(Z.z().Tag); if (have_id!=0) { key.id = id[0]; key.objtype = AGEDGE; } else { key.id = 0; key.objtype = 0; } /* might already exist locally */ e = agfindedge_by_key(g, t, h, key); if ((e == null && agisundirected(g))) e = agfindedge_by_key(g, h, t, key); if (e!=null) return e; if (cflag) { e = agfindedge_by_key(agroot(g), t, h, key); if ((e == null) && agisundirected(g)) e = agfindedge_by_key(agroot(g), h, t, key); if (e!=null) { subedge(g,e); return e; } } } if (cflag && ok_to_make_edge(g, t, h) && (agmapnametoid(g, AGEDGE, name, id, (N(0))))!=0) { /* reserve id */ e = newedge(g, t, h, id[0]); agregister(g, AGEDGE, e); /* register new object in external namespace */ } else e = null; return e; } finally { LEAVING("4361pvzr3ozft2ov0fgx6t8bo","agedge"); } } //3 bbzly9og4lr1fza64fjk04djp // void agdeledgeimage(Agraph_t * g, Agedge_t * e, void *ignored) public static Object agdeledgeimage(Object... arg) { UNSUPPORTED("7gzvhvwj0z152fzg3h94s4wa3"); // void agdeledgeimage(Agraph_t * g, Agedge_t * e, void *ignored) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("50fokbemxzgivcd3b6k3miqqn"); // Agedge_t *in, *out; UNSUPPORTED("4ybt6tm56tubmbuve8lp6rxhh"); // Agnode_t *t, *h; UNSUPPORTED("2llbfi4jrmre7cyhu90pgcm72"); // Agsubnode_t *sn; UNSUPPORTED("4pgl4pn1cad2whf242bntmjre"); // (void) ignored; UNSUPPORTED("65tqa3if9hwq2yshaaiw31i7p"); // if (AGTYPE(e) == AGINEDGE) { UNSUPPORTED("7awcpvsw7kw84dndmnqoe7jml"); // in = e; UNSUPPORTED("d4vc8t57wygctu4vl9tau8a6a"); // out = AGIN2OUT(e); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("54k8hnomk4mrwatjixro9a1yr"); // out = e; UNSUPPORTED("7qnm0e5czl4a8gcj7f5vo98h"); // in = AGOUT2IN(e); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("uc5fexr8h438pt7usvlh0ul3"); // t = in->node; UNSUPPORTED("9a1uo5zmwfnuphv9st2w2b7hh"); // h = out->node; UNSUPPORTED("dpshsqc8cs6ucoq4t0hnuxws6"); // sn = agsubrep(g, t); UNSUPPORTED("a1kpx292l61dmu7eqdcm7fd51"); // del(g->e_seq, &sn->out_seq, out); UNSUPPORTED("3xx2m5a0qzz8zcz61qn8mw44q"); // del(g->e_id, &sn->out_id, out); UNSUPPORTED("e1vy7p3xj8dfi23jli55il082"); // sn = agsubrep(g, h); UNSUPPORTED("dtt5k4axitnc0rvaop78flltt"); // del(g->e_seq, &sn->in_seq, in); UNSUPPORTED("3w1dtrerdp5ojxgix55ysgcd3"); // del(g->e_id, &sn->in_id, in); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5l2v1bqchqfkinhpae4ip3yvz // int agdeledge(Agraph_t * g, Agedge_t * e) public static Object agdeledge(Object... arg) { UNSUPPORTED("a87xum130tyatez3ic2nbxnna"); // int agdeledge(Agraph_t * g, Agedge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9tj8yk1m099w6420vq9obwqv6"); // e = AGMKOUT(e); UNSUPPORTED("58hfnwh2g7pubdk6wexuvksuo"); // if (agfindedge_by_key(g, agtail(e), aghead(e), AGTAG(e)) == ((Agedge_t*)0)) UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("ackx3cor82a94trjk4owh3083"); // if (g == agroot(g)) { UNSUPPORTED("5247bml3o0pwzg9fc9q1xhhnc"); // if (g->desc.has_attrs) UNSUPPORTED("4lf7sorcdbqef4eadxah45x08"); // agedgeattr_delete(e); UNSUPPORTED("dpp3uqwrwe9geok1zmxonosd3"); // agmethod_delete(g, e); UNSUPPORTED("6kvbonl2aylsja52uh6deu14c"); // agrecclose((Agobj_t *) e); UNSUPPORTED("dnmywe26u2d1rmgozlfonjw94"); // agfreeid(g, AGEDGE, AGID(e)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6ox33bv05arfuz70cp795jqlg"); // if (agapply (g, (Agobj_t *) e, (agobjfn_t) agdeledgeimage, ((Agedge_t*)0), (0)) == 0) { UNSUPPORTED("6tlwlx478gb1clm2fykihi2zk"); // if (g == agroot(g)) UNSUPPORTED("ebin71xd0muor7ysk74hizhw3"); // agfree(g, e); UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 30v8z3tlda81fbqbkzx6m9fkn // Agedge_t *agsubedge(Agraph_t * g, Agedge_t * e, int cflag) public static ST_Agedge_s agsubedge(ST_Agraph_s g, ST_Agedge_s e, boolean cflag) { ENTERING("30v8z3tlda81fbqbkzx6m9fkn","agsubedge"); try { ST_Agnode_s t, h; ST_Agedge_s rv; rv = null; t = agsubnode(g, AGTAIL(e), cflag); h = agsubnode(g, AGHEAD(e), cflag); if (t!=null && h!=null) { rv = agfindedge_by_key(g, t, h, AGTAG(e)); if (cflag && (rv == null)) { installedge(g, e); rv = e; } if (rv!=null && (AGTYPE(rv) != AGTYPE(e))) rv = AGOPP(rv); } return rv; } finally { LEAVING("30v8z3tlda81fbqbkzx6m9fkn","agsubedge"); } } //3 avk47eh26r45qk2dtoipwiqvz // int agedgeidcmpf(Dict_t * d, void *arg_e0, void *arg_e1, Dtdisc_t * disc) public static int agedgeidcmpf(ST_dt_s d, ST_Agedge_s arg_e0, ST_Agedge_s arg_e1, ST_dtdisc_s disc) { ENTERING("avk47eh26r45qk2dtoipwiqvz","agedgeidcmpf"); try { int v; ST_Agedge_s e0, e1; e0 = (ST_Agedge_s) arg_e0; e1 = (ST_Agedge_s) arg_e1; v = AGID(e0.node) - AGID(e1.node); if (v == 0) { /* same node */ if ((AGTYPE(e0) == 0) || (AGTYPE(e1) == 0)) v = 0; else v = AGID(e0) - AGID(e1); } return ((v==0)?0:(v<0?-1:1)); } finally { LEAVING("avk47eh26r45qk2dtoipwiqvz","agedgeidcmpf"); } } //3 b6jhzc16xvrknu4e7jp6zx0ue // int agedgeseqcmpf(Dict_t * d, void *arg_e0, void *arg_e1, Dtdisc_t * disc) public static int agedgeseqcmpf(ST_dt_s d, ST_Agedge_s arg_e0, ST_Agedge_s arg_e1, ST_dtdisc_s disc) { ENTERING("b6jhzc16xvrknu4e7jp6zx0ue","agedgeseqcmpf"); try { int v; ST_Agedge_s e0, e1; e0 = (ST_Agedge_s) arg_e0; e1 = (ST_Agedge_s) arg_e1; if (NEQ(e0.node, e1.node)) v = AGSEQ(e0.node) - AGSEQ(e1.node); else v = (AGSEQ(e0) - AGSEQ(e1)); return ((v==0)?0:(v<0?-1:1)); } finally { LEAVING("b6jhzc16xvrknu4e7jp6zx0ue","agedgeseqcmpf"); } } //1 d058zqckpiqls71p4vkuxe87o // Dtdisc_t Ag_mainedge_seq_disc = /*static final public __struct__<_dtdisc_s> Ag_mainedge_seq_disc = JUtils.from(_dtdisc_s.class); static { Ag_mainedge_seq_disc.setInt("key", 0); Ag_mainedge_seq_disc.setInt("size", 0); Ag_mainedge_seq_disc.setInt("link", OFFSET.create(Agedge_s.class, "seq_link").toInt()); // seq_link is the third field in Agedge_t Ag_mainedge_seq_disc.setPtr("makef", null); Ag_mainedge_seq_disc.setPtr("freef", null); Ag_mainedge_seq_disc.setPtr("comparf", function(edge__c.class, "agedgeseqcmpf")); Ag_mainedge_seq_disc.setPtr("hashf", null); Ag_mainedge_seq_disc.setPtr("memoryf", function(utils__c.class, "agdictobjmem")); Ag_mainedge_seq_disc.setPtr("eventf", null); }*/ //1 7n5e8w5zjp9b4oeecyvyl96il // Dtdisc_t Ag_subedge_seq_disc = /*static public final __struct__<_dtdisc_s> Ag_subedge_seq_disc = JUtils.from(_dtdisc_s.class); static { Ag_subedge_seq_disc.setInt("key", 0); Ag_subedge_seq_disc.setInt("size", 0); Ag_subedge_seq_disc.setInt("link", -1); Ag_subedge_seq_disc.setPtr("makef", null); Ag_subedge_seq_disc.setPtr("freef", null); Ag_subedge_seq_disc.setPtr("comparf", function(edge__c.class, "agedgeseqcmpf")); Ag_subedge_seq_disc.setPtr("hashf", null); Ag_subedge_seq_disc.setPtr("memoryf", function(utils__c.class, "agdictobjmem")); Ag_subedge_seq_disc.setPtr("eventf", null); }*/ //1 7grv8f2wvpg0db2pn1g7r5abv // Dtdisc_t Ag_mainedge_id_disc = /*static final public __struct__<_dtdisc_s> Ag_mainedge_id_disc = JUtils.from(_dtdisc_s.class); static { Ag_mainedge_id_disc.setInt("key", 0); Ag_mainedge_id_disc.setInt("size", 0); Ag_mainedge_id_disc.setInt("link", OFFSET.create(Agedge_s.class, "id_link").toInt()); // id_link is the second field in Agedge_t Ag_mainedge_id_disc.setPtr("makef", null); Ag_mainedge_id_disc.setPtr("freef", null); Ag_mainedge_id_disc.setPtr("comparf", function(edge__c.class, "agedgeidcmpf")); Ag_mainedge_id_disc.setPtr("hashf", null); Ag_mainedge_id_disc.setPtr("memoryf", function(utils__c.class, "agdictobjmem")); Ag_mainedge_id_disc.setPtr("eventf", null); }*/ //1 9u0ic8u2hrwlmlqalv37s053f // Dtdisc_t Ag_subedge_id_disc = /*static public final __struct__<_dtdisc_s> Ag_subedge_id_disc = JUtils.from(_dtdisc_s.class); static { Ag_subedge_id_disc.setInt("key", 0); Ag_subedge_id_disc.setInt("size", 0); Ag_subedge_id_disc.setInt("link", -1); Ag_subedge_id_disc.setPtr("makef", null); Ag_subedge_id_disc.setPtr("freef", null); Ag_subedge_id_disc.setPtr("comparf", function(edge__c.class, "agedgeidcmpf")); Ag_subedge_id_disc.setPtr("hashf", null); Ag_subedge_id_disc.setPtr("memoryf", function(utils__c.class, "agdictobjmem")); Ag_subedge_id_disc.setPtr("eventf", null); }*/ //3 ceexs6t1q4jxwz6h0g8fszxp4 // Agnode_t *agtail(Agedge_t * e) public static ST_Agnode_s agtail(ST_Agedge_s e) { ENTERING("ceexs6t1q4jxwz6h0g8fszxp4","agtail"); try { return AGTAIL(e); } finally { LEAVING("ceexs6t1q4jxwz6h0g8fszxp4","agtail"); } } //3 3tj9gj3dvrpox6grrdd3rftd8 // Agnode_t *aghead(Agedge_t * e) public static ST_Agnode_s aghead(__ptr__ e) { ENTERING("3tj9gj3dvrpox6grrdd3rftd8","aghead"); try { return AGHEAD((ST_Agedge_s) e); } finally { LEAVING("3tj9gj3dvrpox6grrdd3rftd8","aghead"); } } //3 15e6s5bh5hey2u79yoebir59w // Agedge_t *agopp(Agedge_t * e) public static ST_Agedge_s agopp(__ptr__ e) { ENTERING("15e6s5bh5hey2u79yoebir59w","agopp"); try { return AGOPP((ST_Agedge_s) e); } finally { LEAVING("15e6s5bh5hey2u79yoebir59w","agopp"); } } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/flatten__c.java000066400000000000000000000170251340005343600226030ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static smetana.core.Macro.UNSUPPORTED; public class flatten__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 6ayavpu39aihwyojkx093pcy3 // extern Agraph_t *Ag_G_global //1 871mxtg9l6ffpxdl9kniwusf7 // extern char *AgDataRecName //1 c0o2kmml0tn6hftuwo0u4shwd // extern Dtdisc_t Ag_subnode_id_disc //1 8k15pyu256unm2kpd9zf5pf7k // extern Dtdisc_t Ag_subnode_seq_disc //1 e3d820y06gpeusn6atgmj8bzd // extern Dtdisc_t Ag_mainedge_id_disc //1 cbr0772spix9h1aw7h5v7dv9j // extern Dtdisc_t Ag_subedge_id_disc //1 akd0c3v0j7m2npxcb9acit1fa // extern Dtdisc_t Ag_mainedge_seq_disc //1 12d8la07351ww7vwfzucjst8m // extern Dtdisc_t Ag_subedge_seq_disc //1 29eokk7v88e62g8o6lizmo967 // extern Dtdisc_t Ag_subgraph_id_disc //1 4xd9cbgy6hk5g6nhjcbpzkx14 // extern Agcbdisc_t AgAttrdisc //3 69ucljsqnzi8rzbvuqpjp4hfx // static void agflatten_elist(Dict_t * d, Dtlink_t ** lptr, int flag) public static Object agflatten_elist(Object... arg) { UNSUPPORTED("bpx3af0xjz85367rnoh2ipdrn"); // static void agflatten_elist(Dict_t * d, Dtlink_t ** lptr, int flag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4ksyblegh2kh8j0mzdddj80zr"); // dtrestore(d, *lptr); UNSUPPORTED("ctwl7b6yxhzl4sj91zup9at33"); // dtmethod(d, flag? Dtlist : Dtoset); UNSUPPORTED("du4za15ppq4ntkttytf8tpzkk"); // *lptr = dtextract(d); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c4syafe2mgpp13hj8vel7hdwh // void agflatten_edges(Agraph_t * g, Agnode_t * n, int flag) public static Object agflatten_edges(Object... arg) { UNSUPPORTED("4ttg1k6ryqoueza8gtu0qesmc"); // void agflatten_edges(Agraph_t * g, Agnode_t * n, int flag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2llbfi4jrmre7cyhu90pgcm72"); // Agsubnode_t *sn; UNSUPPORTED("2g1n9rzdmt5pucspjmto1jwvn"); // Dtlink_t **tmp; UNSUPPORTED("1wwtmjdvl73j75h8fp92i9yk5"); // sn = agsubrep(g,n); UNSUPPORTED("cvsy8oi25qamrmokl6dumfc2n"); // tmp = &(sn->out_seq); /* avoiding - "dereferencing type-punned pointer will break strict-aliasing rules" */ UNSUPPORTED("9robj8jesxzc7bpyw78z8i80l"); // agflatten_elist(g->e_seq, tmp, flag); UNSUPPORTED("7no705grsz21vady4u118n7tz"); // tmp = &(sn->in_seq); UNSUPPORTED("9robj8jesxzc7bpyw78z8i80l"); // agflatten_elist(g->e_seq, tmp, flag); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 aswf367vm4ypgb50vecx6oy0e // void agflatten(Agraph_t * g, int flag) public static Object agflatten(Object... arg) { UNSUPPORTED("epc3qpwcrvpagpod79vqkiktz"); // void agflatten(Agraph_t * g, int flag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("6cb8mzhjyrkhua0olueodre85"); // if (flag) { UNSUPPORTED("3kgshdurj1k3861cmk0j6459q"); // if (g->desc.flatlock == (0)) { UNSUPPORTED("biacx609ekjlj7vzv20kr0twk"); // dtmethod(g->n_seq,Dtlist); UNSUPPORTED("feknc9jq0v1n93q583pigog"); // for (n = agfstnode(g); n; n = agnxtnode(g,n)) UNSUPPORTED("4ufjmlytpm2l2msb8zuxor8s2"); // agflatten_edges(g, n, flag); UNSUPPORTED("1r4fzaa446otf0jautzt92b4r"); // g->desc.flatlock = (!(0)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("bacueyt9l2eudlsl4z5n0t9l7"); // if (g->desc.flatlock) { UNSUPPORTED("b0wcdyp5hit8sc1jbi4asmalp"); // dtmethod(g->n_seq,Dtoset); UNSUPPORTED("feknc9jq0v1n93q583pigog"); // for (n = agfstnode(g); n; n = agnxtnode(g,n)) UNSUPPORTED("4ufjmlytpm2l2msb8zuxor8s2"); // agflatten_edges(g, n, flag); UNSUPPORTED("1mvsjktpob2pzvo0s5wp5hbl0"); // g->desc.flatlock = (0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 602i6cqy4kebb7g16m580nxsd // void agnotflat(Agraph_t * g) public static Object agnotflat(Object... arg) { UNSUPPORTED("cu099fjwopup8fb0dz3ob3yui"); // void agnotflat(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1whie4ln05zs17jprvbhgrw0o"); // if (g->desc.flatlock) UNSUPPORTED("bsprgtbeyh48e6897xrl9q004"); // agerr(AGERR, "flat lock broken"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/graph__c.java000066400000000000000000000515051340005343600222500ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static gen.lib.cdt.dtextract__c.dtextract; import static gen.lib.cdt.dtrestore__c.dtrestore; import static gen.lib.cdt.dtsize__c.dtsize_; import static gen.lib.cgraph.attr__c.agraphattr_init; import static gen.lib.cgraph.edge__c.agsubrep; import static gen.lib.cgraph.id__c.agmapnametoid; import static gen.lib.cgraph.id__c.agregister; import static gen.lib.cgraph.node__c.agfstnode; import static gen.lib.cgraph.node__c.agnxtnode; import static gen.lib.cgraph.obj__c.agmethod_init; import static gen.lib.cgraph.obj__c.agroot; import static gen.lib.cgraph.subg__c.agparent; import static gen.lib.cgraph.utils__c.agdtopen; import static smetana.core.JUtils.EQ; import static smetana.core.JUtils.sizeof; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.AGID; import static smetana.core.Macro.AGRAPH; import static smetana.core.Macro.AGSEQ; import static smetana.core.Macro.AGTYPE; import static smetana.core.Macro.ASINT; import static smetana.core.Macro.N; import static smetana.core.Macro.NOT; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agclos_s; import h.ST_Agdesc_s; import h.ST_Agdisc_s; import h.ST_Agmemdisc_s; import h.ST_Agnode_s; import h.ST_Agraph_s; import h.ST_Agsubnode_s; import h.ST_dt_s; import h.ST_dtdisc_s; import h.ST_dtlink_s; import smetana.core.ACCESS; import smetana.core.CString; import smetana.core.STARSTAR; import smetana.core.Z; import smetana.core.__ptr__; public class graph__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 ix101dcoysqmkv8bgsxsq8u1 // Agraph_t *Ag_G_global //1 871mxtg9l6ffpxdl9kniwusf7 // extern char *AgDataRecName //1 c0o2kmml0tn6hftuwo0u4shwd // extern Dtdisc_t Ag_subnode_id_disc //1 8k15pyu256unm2kpd9zf5pf7k // extern Dtdisc_t Ag_subnode_seq_disc //1 e3d820y06gpeusn6atgmj8bzd // extern Dtdisc_t Ag_mainedge_id_disc //1 cbr0772spix9h1aw7h5v7dv9j // extern Dtdisc_t Ag_subedge_id_disc //1 akd0c3v0j7m2npxcb9acit1fa // extern Dtdisc_t Ag_mainedge_seq_disc //1 12d8la07351ww7vwfzucjst8m // extern Dtdisc_t Ag_subedge_seq_disc //1 29eokk7v88e62g8o6lizmo967 // extern Dtdisc_t Ag_subgraph_id_disc //1 4xd9cbgy6hk5g6nhjcbpzkx14 // extern Agcbdisc_t AgAttrdisc //1 ewderv8bx65jlxf61iw8en77s // const char AgraphVersion[] = //3 bb2bu9iyqx0u6xx44l282vmch // static Agclos_t *agclos(Agdisc_t * proto) public static ST_Agclos_s agclos(ST_Agdisc_s proto) { ENTERING("bb2bu9iyqx0u6xx44l282vmch","agclos"); try { ST_Agmemdisc_s memdisc; __ptr__ memclosure; ST_Agclos_s rv; /* establish an allocation arena */ memdisc = (ST_Agmemdisc_s) ((proto != null && proto.mem != null) ? proto.mem : Z.z().AgMemDisc); memclosure = (__ptr__) memdisc.open.exe(proto); rv = (ST_Agclos_s) memdisc.alloc.exe(memclosure, sizeof(ST_Agclos_s.class)); rv.disc.setPtr("mem", memdisc); rv.state.setPtr("mem", memclosure); rv.disc.setPtr("id", ((proto != null && proto.id != null) ? proto.id : Z.z().AgIdDisc)); // Translation bug in next line: should be AgIoDisc and not AgIdDisc // rv.disc.setPtr("io", ((proto != null && proto.getPtr("io") != null) ? proto.getPtr("io") : Z.z().AgIoDisc)); rv.callbacks_enabled = (N(0)); return rv; } finally { LEAVING("bb2bu9iyqx0u6xx44l282vmch","agclos"); } } //3 d5yqn56yii8cdoahswt4n6bug // Agraph_t *agopen(char *name, Agdesc_t desc, Agdisc_t * arg_disc) public static ST_Agraph_s agopen(CString name, final ST_Agdesc_s desc, ST_Agdisc_s arg_disc) { // WARNING!! STRUCT return agopen_w_(name, (ST_Agdesc_s) desc.copy(), arg_disc); } private static ST_Agraph_s agopen_w_(CString name, final ST_Agdesc_s desc, ST_Agdisc_s arg_disc) { ENTERING("d5yqn56yii8cdoahswt4n6bug","agopen"); try { ST_Agraph_s g; ST_Agclos_s clos; int gid[] = new int[1]; clos = agclos(arg_disc); g = (ST_Agraph_s) clos.disc.mem.alloc.exe(clos.state.mem, sizeof(ST_Agraph_s.class)); AGTYPE(g, AGRAPH); g.setPtr("clos", clos); g.setStruct("desc", desc); ((ST_Agdesc_s)g.desc).maingraph = ASINT((N(0))); g.setPtr("root", g); g.clos.state.setPtr("id", (__ptr__) g.clos.disc.id.open.exe(g, arg_disc)); if (agmapnametoid(g, AGRAPH, name, gid, (N(0)))!=0) AGID(g, gid[0]); // /* else AGID(g) = 0 because we have no alternatives */ g = agopen1(g); agregister(g, AGRAPH, g); return g; } finally { LEAVING("d5yqn56yii8cdoahswt4n6bug","agopen"); } } //3 8jyhwfdfm0a877qfz8cjlb8rk // Agraph_t *agopen1(Agraph_t * g) public static ST_Agraph_s agopen1(ST_Agraph_s g) { ENTERING("8jyhwfdfm0a877qfz8cjlb8rk","agopen1"); try { ST_Agraph_s par; g.setPtr("n_seq", agdtopen(g, Z.z().Ag_subnode_seq_disc, Z.z().Dttree)); g.setPtr("n_id", agdtopen(g, Z.z().Ag_subnode_id_disc, Z.z().Dttree)); g.setPtr("e_seq", agdtopen(g, EQ(g, agroot(g))? Z.z().Ag_mainedge_seq_disc : Z.z().Ag_subedge_seq_disc, Z.z().Dttree)); g.setPtr("e_id", agdtopen(g, EQ(g, agroot(g))? Z.z().Ag_mainedge_id_disc : Z.z().Ag_subedge_id_disc, Z.z().Dttree)); g.setPtr("g_dict", agdtopen(g, Z.z().Ag_subgraph_id_disc, Z.z().Dttree)); par = agparent(g); if (par!=null) { AGSEQ(g, agnextseq(par, AGRAPH)); par.g_dict.searchf.exe(par.g_dict,g,0000001); } /* else AGSEQ=0 */ if (N(par) || ((ST_Agdesc_s)par.desc).has_attrs!=0) agraphattr_init(g); agmethod_init(g, g); return g; } finally { LEAVING("8jyhwfdfm0a877qfz8cjlb8rk","agopen1"); } } //3 dmhavsadfjootm2o8lnwizndm // int agclose(Agraph_t * g) public static Object agclose(Object... arg) { UNSUPPORTED("afwvyph6n53ckvxm8d8h7mfb8"); // int agclose(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bf3nmka0aaoswb2zwm0qee15o"); // Agraph_t *subg, *next_subg, *par; UNSUPPORTED("7qo66ph77ke8gsbowf6kwqjff"); // Agnode_t *n, *next_n; UNSUPPORTED("d7yov7q4cj5xaglc5czdcnix5"); // par = agparent(g); UNSUPPORTED("1u7cs2kb7x42iwswgskdrpk5m"); // if ((par == ((Agraph_t*)0)) && (((g)->clos->disc.mem)->close)) { UNSUPPORTED("6yjypc20njwrfp5bsnjhiiabf"); // /* free entire heap */ UNSUPPORTED("cmba0hmq318rx9h0jefkyen70"); // agmethod_delete(g, g); /* invoke user callbacks */ UNSUPPORTED("dbiair9ce3vkfb8s9l08pfx6w"); // agfreeid(g, AGRAPH, AGID(g)); UNSUPPORTED("2bdjy9rtybb0v767umxcnz6rs"); // ((g)->clos->disc.mem)->close(((g)->clos->state.mem)); /* whoosh */ UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2hk83bjq106e9rdcpxqbv9nnl"); // for (subg = agfstsubg(g); subg; subg = next_subg) { UNSUPPORTED("608ihpc2s8xb39yo654s19zxd"); // next_subg = agnxtsubg(subg); UNSUPPORTED("3noc43t4fqi4gollim1ygyuqh"); // agclose(subg); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6r3mocyf2tlkysyu64nxw0u9h"); // for (n = agfstnode(g); n; n = next_n) { UNSUPPORTED("3d2h3vjjw6x8w1joyvc3qlruy"); // next_n = agnxtnode(g, n); UNSUPPORTED("3xjgsp211uvaug1aa3mvpdlnc"); // agdelnode(g, n); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1ia10h9dh09qjfarfdjx452gf"); // aginternalmapclose(g); UNSUPPORTED("ddezjv0si4sjtexy5kqfwqg9n"); // agmethod_delete(g, g); UNSUPPORTED("5i0sddp616zsw63jk38od62l4"); // ; UNSUPPORTED("5d72jwytwy7gvtmqynj5ndpyr"); // if (agdtclose(g, g->n_id)) return -1; UNSUPPORTED("5i0sddp616zsw63jk38od62l4"); // ; UNSUPPORTED("324yaisi4aejlbofpo08bx36u"); // if (agdtclose(g, g->n_seq)) return -1; UNSUPPORTED("5i0sddp616zsw63jk38od62l4"); // ; UNSUPPORTED("34xteu7bflgwy03788khpb2gb"); // if (agdtclose(g, g->e_id)) return -1; UNSUPPORTED("5i0sddp616zsw63jk38od62l4"); // ; UNSUPPORTED("6bwledkxe6algose4ob82o61"); // if (agdtclose(g, g->e_seq)) return -1; UNSUPPORTED("5i0sddp616zsw63jk38od62l4"); // ; UNSUPPORTED("d7yg3wo8tmofx0anjr742k191"); // if (agdtclose(g, g->g_dict)) return -1; UNSUPPORTED("l0tanhlxt2jokflxnd061z3y"); // if (g->desc.has_attrs) UNSUPPORTED("9jhznqh28rajdovcc58834278"); // if (agraphattr_delete(g)) return -1; UNSUPPORTED("a5y6rvdlz9o09pphxz38sbtna"); // agrecclose((Agobj_t *) g); UNSUPPORTED("crfg36z5yetflihtijtubwo8y"); // agfreeid(g, AGRAPH, AGID(g)); UNSUPPORTED("et9lswrohfsxngrn2xcefry4q"); // if (par) { UNSUPPORTED("dzboxj0ijphtqrm463tpbvkhx"); // agdelsubg(par, g); UNSUPPORTED("e7v29f5dzfhzrj9v4shzbcywi"); // agfree(par, g); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("5y8tww8901b1ro7bgu6r58vgr"); // Agmemdisc_t *memdisc; UNSUPPORTED("6ozvxgrg2q3sua4w4cnwun2hd"); // void *memclos, *clos; UNSUPPORTED("9i0i3wyt8alu21zy4mtvxxhj7"); // while (g->clos->cb) UNSUPPORTED("1y6k38rbnyl26lquznq5kass6"); // agpopdisc(g, g->clos->cb->f); UNSUPPORTED("8qcjv2uq7ztij51cy8b5r7yqr"); // ((g)->clos->disc.id)->close(((g)->clos->state.id)); UNSUPPORTED("px95fp6paiia8ts33pk4tph1"); // if (agstrclose(g)) return -1; UNSUPPORTED("2kp9gdc0xn3li7ibgz4x4lnmz"); // memdisc = ((g)->clos->disc.mem); UNSUPPORTED("8lo1wjoiak85adsa9fwxo62zl"); // memclos = ((g)->clos->state.mem); UNSUPPORTED("8n6pjmho9f28hof6v2v1lruyo"); // clos = g->clos; UNSUPPORTED("ets9jwr303m5yl6eqowve1loh"); // (memdisc->free) (memclos, g); UNSUPPORTED("d0v33cnucd6c13avcqkwy4wzc"); // (memdisc->free) (memclos, clos); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 axmdmml95l55vlp1vqmh0v5sn // unsigned long agnextseq(Agraph_t * g, int objtype) public static int agnextseq(ST_Agraph_s g, int objtype) { ENTERING("axmdmml95l55vlp1vqmh0v5sn","agnextseq"); try { int tmp = g.clos.seq[objtype]; tmp++; g.clos.seq[objtype]=tmp; return tmp; } finally { LEAVING("axmdmml95l55vlp1vqmh0v5sn","agnextseq"); } } //3 688euygrkbl10cveflgwalo2n // int agnnodes(Agraph_t * g) public static int agnnodes(ST_Agraph_s g) { ENTERING("688euygrkbl10cveflgwalo2n","agnnodes"); try { return dtsize_((ST_dt_s)g.n_id); } finally { LEAVING("688euygrkbl10cveflgwalo2n","agnnodes"); } } //3 8zjne7uv8rfpmbv5t96zhnr4u // int agnedges(Agraph_t * g) public static int agnedges(ST_Agraph_s g) { ENTERING("8zjne7uv8rfpmbv5t96zhnr4u","agnedges"); try { ST_Agnode_s n; int rv = 0; for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) rv += agdegree(g, n, (false), (N(0))); /* must use OUT to get self-arcs */ return rv; } finally { LEAVING("8zjne7uv8rfpmbv5t96zhnr4u","agnedges"); } } //3 e1ndua2eo29tb0z93wrmamm3g // int agnsubg(Agraph_t * g) public static Object agnsubg(Object... arg) { UNSUPPORTED("5auwvgl2zekzvzu6p5413tqd0"); // int agnsubg(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("18u3kziious357fry7i0r4kg2"); // return dtsize(g->g_dict); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 blvn1w3v0icnucu5m5xvbrba1 // int agisdirected(Agraph_t * g) public static boolean agisdirected(ST_Agraph_s g) { ENTERING("blvn1w3v0icnucu5m5xvbrba1","agisdirected"); try { return ((ST_Agdesc_s)g.desc).directed!=0; } finally { LEAVING("blvn1w3v0icnucu5m5xvbrba1","agisdirected"); } } //3 8thgds4eioot64flko26m8ns0 // int agisundirected(Agraph_t * g) public static boolean agisundirected(ST_Agraph_s g) { ENTERING("8thgds4eioot64flko26m8ns0","agisundirected"); try { return (NOT(agisdirected(g))); } finally { LEAVING("8thgds4eioot64flko26m8ns0","agisundirected"); } } //3 9qgdebmdfrcfjm394bg59a7y5 // int agisstrict(Agraph_t * g) public static boolean agisstrict(ST_Agraph_s g) { ENTERING("9qgdebmdfrcfjm394bg59a7y5","agisstrict"); try { return ((ST_Agdesc_s)g.desc).strict!=0; } finally { LEAVING("9qgdebmdfrcfjm394bg59a7y5","agisstrict"); } } //3 4zw0onm78e3x5anx7snfpe40m // int agissimple(Agraph_t * g) public static Object agissimple(Object... arg) { UNSUPPORTED("5khld3f380yzb9kztjfa00b7t"); // int agissimple(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9u553zzb7in07zdd55sdea2an"); // return (g->desc.strict && g->desc.no_loop); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 abaldeo2ie6zi60cazxp7rv47 // static int cnt(Dict_t * d, Dtlink_t ** set) public static int cnt(ST_dt_s d, STARSTAR set) { ENTERING("abaldeo2ie6zi60cazxp7rv47","cnt"); try { int rv; dtrestore(d, set.getMe()); rv = dtsize_(d); set.setMe(dtextract(d)); return rv; } finally { LEAVING("abaldeo2ie6zi60cazxp7rv47","cnt"); } } //3 crupee5rve7q7m335ngnqsb39 // int agcountuniqedges(Agraph_t * g, Agnode_t * n, int want_in, int want_out) public static Object agcountuniqedges(Object... arg) { UNSUPPORTED("47c9iab9p596xa2xrkcgmepw0"); // int agcountuniqedges(Agraph_t * g, Agnode_t * n, int want_in, int want_out) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("2llbfi4jrmre7cyhu90pgcm72"); // Agsubnode_t *sn; UNSUPPORTED("en7ch189nkys76f42mlo1s5zz"); // int rv = 0; UNSUPPORTED("b0wzl2qtz6anq1dhlxtmvwvgn"); // sn = agsubrep(g, n); UNSUPPORTED("e0cr7vhmu27121z5m8qtchlwn"); // if (want_out) rv = cnt(g->e_seq,&(sn->out_seq)); UNSUPPORTED("4gu3qg6aqwexl6ysrfrqko4z8"); // if (want_in) { UNSUPPORTED("3r5t38hbcwvc5hpus6062r7ic"); // if (!want_out) rv += cnt(g->e_seq,&(sn->in_seq)); /* cheap */ UNSUPPORTED("6p5yaaxfj7183iw2v0uuruh56"); // else { /* less cheap */ UNSUPPORTED("7jxxmlwkqih7nv6yrum6qhfe0"); // for (e = agfstin(g, n); e; e = agnxtin(g, e)) UNSUPPORTED("73lyxs2pp1e0s95qdz9vgc5iy"); // if (e->node != n) rv++; /* don't double count loops */ UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2bz40qf0qo7pd6er1ut25gthp // int agdegree(Agraph_t * g, Agnode_t * n, int want_in, int want_out) public static int agdegree(ST_Agraph_s g, ST_Agnode_s n, boolean want_in, boolean want_out) { ENTERING("2bz40qf0qo7pd6er1ut25gthp","agdegree"); try { ST_Agsubnode_s sn; int rv = 0; sn = agsubrep(g, n); final ST_Agsubnode_s sn1 = sn; if (sn!=null) { if (want_out) rv += cnt((ST_dt_s)g.e_seq, STARSTAR.amp(new ACCESS() { public ST_dtlink_s get() { return (ST_dtlink_s) sn1.out_seq; } public void set(ST_dtlink_s obj) { sn1.setPtr("out_seq", obj); }}) ); if (want_in) rv += cnt((ST_dt_s)g.e_seq, STARSTAR.amp(new ACCESS() { public ST_dtlink_s get() { return (ST_dtlink_s) sn1.in_seq; } public void set(ST_dtlink_s obj) { sn1.setPtr("in_seq", obj); }}) ); } return rv; } finally { LEAVING("2bz40qf0qo7pd6er1ut25gthp","agdegree"); } } //3 dhbtfzzp8n5yygqmhmluo9bxl // int agraphidcmpf(Dict_t * d, void *arg0, void *arg1, Dtdisc_t * disc) public static int agraphidcmpf(ST_dt_s d, ST_Agraph_s arg0, ST_Agraph_s arg1, ST_dtdisc_s disc) { ENTERING("dhbtfzzp8n5yygqmhmluo9bxl","agraphidcmpf"); try { int v; ST_Agraph_s sg0, sg1; sg0 = (ST_Agraph_s) arg0; sg1 = (ST_Agraph_s) arg1; v = (AGID(sg0) - AGID(sg1)); return ((v==0)?0:(v<0?-1:1)); } finally { LEAVING("dhbtfzzp8n5yygqmhmluo9bxl","agraphidcmpf"); } } //3 llkcwaxuse8jc2ri7r9n6t0c // int agraphseqcmpf(Dict_t * d, void *arg0, void *arg1, Dtdisc_t * disc) public static Object agraphseqcmpf(Object... arg) { UNSUPPORTED("97lu4ei4gjam66ku5pz8dn7il"); // int agraphseqcmpf(Dict_t * d, void *arg0, void *arg1, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ccl2joincnprtk47hwmpz1o7n"); // long v; UNSUPPORTED("73bfha5x7xhgp9p6wxa9jap6j"); // Agraph_t *sg0, *sg1; UNSUPPORTED("e8rx1ahgpoym3u3v0jgarn58y"); // sg0 = (Agraph_t *) arg0; UNSUPPORTED("bc6x70wml3jh4l4ana92njtid"); // sg1 = (Agraph_t *) arg1; UNSUPPORTED("4afy6g5l0jng6m6l3abdyuk80"); // v = (AGSEQ(sg0) - AGSEQ(sg1)); UNSUPPORTED("2tgj1svqq4v5mqo7525nw7icj"); // return ((v==0)?0:(v<0?-1:1)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 cqgilvgau98cgaulohsii8vx4 // Dtdisc_t Ag_subgraph_id_disc = /*static final public __struct__<_dtdisc_s> Ag_subgraph_id_disc = JUtils.from(_dtdisc_s.class); static { Ag_subgraph_id_disc.setInt("key", 0); Ag_subgraph_id_disc.setInt("size", 0); Ag_subgraph_id_disc.setInt("link", OFFSET.create(Agraph_s.class, "link").toInt()); // link is the third field in Agraph_t Ag_subgraph_id_disc.setPtr("makef", null); Ag_subgraph_id_disc.setPtr("freef", null); Ag_subgraph_id_disc.setPtr("comparf", function(graph__c.class, "agraphidcmpf")); Ag_subgraph_id_disc.setPtr("hashf", null); Ag_subgraph_id_disc.setPtr("memoryf", function(utils__c.class, "agdictobjmem")); Ag_subgraph_id_disc.setPtr("eventf", null); }*/ //1 98aldesvg4i0qxoidbuanebv7 // Agdesc_t Agdirected = /*static final public __struct__ Agdirected = JUtils.from(Agdesc_s.class); static { Agdirected.setInt("directed", 1); Agdirected.setInt("strict", 0); Agdirected.setInt("no_loop", 0); Agdirected.setInt("maingraph", 1); }*/ //1 4fbe4dfrxvwi5l1l4rb30s9o8 // Agdesc_t Agstrictdirected = //1 5rysra3mrm6tscdrjbg5rhyuu // Agdesc_t Agundirected = //1 2x0008zd99c6pdbwdqnv7yjcz // Agdesc_t Agstrictundirected = //1 biws2qqe0e0xqmwdmfuvdopo3 // Agdisc_t AgDefaultDisc = //3 4rhqd5bl4tiypdakk2hhpsj7s // void scndump(Agraph_t *g, char *file) public static Object scndump(Object... arg) { UNSUPPORTED("7e937yycgb0eiorckxpq4qqwo"); // void scndump(Agraph_t *g, char *file) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("38goe38ctv7d6jktnwysyagy8"); // FILE * f = fopen(file,"w"); UNSUPPORTED("7luati80gyuf0ex40qi3bjkkp"); // if (f) {agwrite(g,f); fclose(f);} UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/id__c.java000066400000000000000000000273671340005343600215540ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static gen.lib.cgraph.imap__c.aginternalmapinsert; import static gen.lib.cgraph.imap__c.aginternalmaplookup; import static gen.lib.cgraph.imap__c.aginternalmapprint; import static gen.lib.cgraph.obj__c.agraphof; import static gen.lib.cgraph.refstr__c.agstrbind; import static gen.lib.cgraph.refstr__c.agstrdup; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.AGEDGE; import static smetana.core.Macro.AGID; import static smetana.core.Macro.AGTYPE; import static smetana.core.Macro.ASINT; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agdisc_s; import h.ST_Agobj_s; import h.ST_Agraph_s; import smetana.core.CString; import smetana.core.Memory; import smetana.core.Z; import smetana.core.__ptr__; public class id__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 6ayavpu39aihwyojkx093pcy3 // extern Agraph_t *Ag_G_global //1 871mxtg9l6ffpxdl9kniwusf7 // extern char *AgDataRecName //1 c0o2kmml0tn6hftuwo0u4shwd // extern Dtdisc_t Ag_subnode_id_disc //1 8k15pyu256unm2kpd9zf5pf7k // extern Dtdisc_t Ag_subnode_seq_disc //1 e3d820y06gpeusn6atgmj8bzd // extern Dtdisc_t Ag_mainedge_id_disc //1 cbr0772spix9h1aw7h5v7dv9j // extern Dtdisc_t Ag_subedge_id_disc //1 akd0c3v0j7m2npxcb9acit1fa // extern Dtdisc_t Ag_mainedge_seq_disc //1 12d8la07351ww7vwfzucjst8m // extern Dtdisc_t Ag_subedge_seq_disc //1 29eokk7v88e62g8o6lizmo967 // extern Dtdisc_t Ag_subgraph_id_disc //1 4xd9cbgy6hk5g6nhjcbpzkx14 // extern Agcbdisc_t AgAttrdisc //3 a0a2zxsu8n019hzm1rwf1jc7f // static void *idopen(Agraph_t * g, Agdisc_t* disc) public static Object idopen(ST_Agraph_s g, ST_Agdisc_s disc) { ENTERING("a0a2zxsu8n019hzm1rwf1jc7f","idopen"); try { return g; } finally { LEAVING("a0a2zxsu8n019hzm1rwf1jc7f","idopen"); } } //3 lsl0c1gejls1wv04ga6xy2cf // static long idmap(void *state, int objtype, char *str, unsigned long *id, int createflag) //static int ctr = 1; public static int idmap(Object state, int objtype, CString str, int id[], boolean createflag) { ENTERING("lsl0c1gejls1wv04ga6xy2cf","idmap"); try { CString s; if (str!=null) { ST_Agraph_s g; g = (ST_Agraph_s) state; if (createflag) s = agstrdup(g, str); else s = agstrbind(g, str); id[0] = Memory.identityHashCode(s); } else { id[0] = Z.z().ctr; Z.z().ctr += 2; } return ASINT(N(0)); } finally { LEAVING("lsl0c1gejls1wv04ga6xy2cf","idmap"); } } //3 8ynmf2fueegi7vjejal3ri1ax // static long idalloc(void *state, int objtype, unsigned long request) public static Object idalloc(Object... arg) { UNSUPPORTED("1z2o91qjhxg0zcs8vgzyl9bf1"); // static long idalloc(void *state, int objtype, unsigned long request) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2s0qc9g3dasd7eqa3rhtlxrae"); // (void) state; UNSUPPORTED("x0ltcg0hfp8jlgbjde43bdwj"); // (void) objtype; UNSUPPORTED("6xs9bwnce34njm5w424uwon6d"); // (void) request; UNSUPPORTED("297p5iu8oro94tdg9v29bbgiw"); // return (0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5fsdlq8w38bfd7gtwz1z8arad // static void idfree(void *state, int objtype, unsigned long id) public static Object idfree(Object... arg) { UNSUPPORTED("adq5fviqjzpkxrjt37qxo1ywh"); // static void idfree(void *state, int objtype, unsigned long id) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("x0ltcg0hfp8jlgbjde43bdwj"); // (void) objtype; UNSUPPORTED("e3dd233viwus8xrkad68a1qhr"); // if (id % 2 == 0) UNSUPPORTED("69x6bjndheh46syz632mlu192"); // agstrfree((Agraph_t *) state, (char *) id); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8143j507ej7uqqjzw5i32xej5 // static char *idprint(void *state, int objtype, unsigned long id) public static CString idprint(__ptr__ state, int objtype, int id) { ENTERING("8143j507ej7uqqjzw5i32xej5","idprint"); try { if (id % 2 == 0) return (CString) Memory.fromIdentityHashCode(id); else return null; } finally { LEAVING("8143j507ej7uqqjzw5i32xej5","idprint"); } } //3 44seyu1scoubb1wsuhwlghwyz // static void idclose(void *state) public static Object idclose(Object... arg) { UNSUPPORTED("18oh21h7t6fg06ozg64u87nyu"); // static void idclose(void *state) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2s0qc9g3dasd7eqa3rhtlxrae"); // (void) state; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5bjqo0ihl0x25vaspoiehmwzk // static void idregister(void *state, int objtype, void *obj) public static void idregister(Object state, int objtype, Object obj) { ENTERING("5bjqo0ihl0x25vaspoiehmwzk","idregister"); try { } finally { LEAVING("5bjqo0ihl0x25vaspoiehmwzk","idregister"); } } //1 cxrk51474ugltvklkcvp3v2ly // Agiddisc_t AgIdDisc = /*public final static __struct__ AgIdDisc = JUtils.from(Agiddisc_s.class); static { AgIdDisc.setPtr("open", function(id__c.class, "idopen")); AgIdDisc.setPtr("map", function(id__c.class, "idmap")); AgIdDisc.setPtr("alloc", function(id__c.class, "idalloc")); AgIdDisc.setPtr("free", function(id__c.class, "idfree")); AgIdDisc.setPtr("print", function(id__c.class, "idprint")); AgIdDisc.setPtr("close", function(id__c.class, "idclose")); AgIdDisc.setPtr("idregister", function(id__c.class, "idregister")); }*/ //3 aq30wwcj4ugatsgx0zdtdmeed // int agmapnametoid(Agraph_t * g, int objtype, char *str, unsigned long *result, int createflag) public static int agmapnametoid(ST_Agraph_s g, int objtype, CString str, int result[], boolean createflag) { ENTERING("aq30wwcj4ugatsgx0zdtdmeed","agmapnametoid"); try { int rv; if (str!=null && (str.charAt(0) != '%')) { rv = (Integer) g.clos.disc.id.map.exe(g.clos.state.id, objtype, str, result, createflag); if (rv!=0) return rv; } /* either an internal ID, or disc. can't map strings */ if (str!=null) { rv = aginternalmaplookup(g, objtype, str, result); if (rv!=0) return rv; } else rv = 0; if (createflag) { /* get a new anonymous ID, and store in the internal map */ rv = (Integer) g.clos.disc.id.map.exe(g.clos.state.id, objtype, null, result, createflag); if (rv!=0 && str!=null) aginternalmapinsert(g, objtype, str, result[0]); } return rv; } finally { LEAVING("aq30wwcj4ugatsgx0zdtdmeed","agmapnametoid"); } } //3 dwufsd296z6lfmtm7fp4e3tk7 // int agallocid(Agraph_t * g, int objtype, unsigned long request) public static Object agallocid(Object... arg) { UNSUPPORTED("5i7l75ugdm5j5c4xtqqk9atdd"); // int agallocid(Agraph_t * g, int objtype, unsigned long request) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dlf21dkccrftu3zc0t5amuwu4"); // return ((g)->clos->disc.id)->alloc(((g)->clos->state.id), objtype, request); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cfub4osftc8djs88cq592feu3 // void agfreeid(Agraph_t * g, int objtype, unsigned long id) public static Object agfreeid(Object... arg) { UNSUPPORTED("4hpxv4j7rcvj3lrbvu2e0hus4"); // void agfreeid(Agraph_t * g, int objtype, unsigned long id) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3s1vo79t7lt6fm1bimxdpbqj"); // (void) aginternalmapdelete(g, objtype, id); UNSUPPORTED("dm45ri059viqxsb08rmvo60y1"); // (((g)->clos->disc.id)->free) (((g)->clos->state.id), objtype, id); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cctsybrl54fy799aynfej4iiy // char *agnameof(void *obj) // private static char buf[32]; public static CString agnameof(__ptr__ obj) { ENTERING("cctsybrl54fy799aynfej4iiy","agnameof"); try { ST_Agraph_s g; CString rv; /* perform internal lookup first */ g = agraphof(obj); if ((rv = aginternalmapprint(g, AGTYPE(obj), AGID(obj)))!=null) return rv; if (g.clos.disc.id.print!=null) { if ((rv = (CString) g.clos.disc.id.print.exe(g.clos.state.id, AGTYPE(obj), AGID(obj)))!=null) return rv; } if (AGTYPE(obj) != AGEDGE) { rv = new CString("%"+((ST_Agobj_s)obj.castTo(ST_Agobj_s.class)).tag.id); } else rv = null; return rv; } finally { LEAVING("cctsybrl54fy799aynfej4iiy","agnameof"); } } //3 emt63ldde99jnwe2vvjal9kt9 // void agregister(Agraph_t * g, int objtype, void *obj) public static void agregister(ST_Agraph_s g, int objtype, Object obj) { ENTERING("emt63ldde99jnwe2vvjal9kt9","agregister"); try { g.clos.disc.id.idregister.exe(g.clos.state.id, objtype, obj); } finally { LEAVING("emt63ldde99jnwe2vvjal9kt9","agregister"); } } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/imap__c.java000066400000000000000000000357021340005343600220760ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.AGEDGE; import static smetana.core.Macro.AGINEDGE; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agraph_s; import h.ST_IMapEntry_t; import h.ST_dt_s; import smetana.core.CString; public class imap__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 6ayavpu39aihwyojkx093pcy3 // extern Agraph_t *Ag_G_global //1 871mxtg9l6ffpxdl9kniwusf7 // extern char *AgDataRecName //1 c0o2kmml0tn6hftuwo0u4shwd // extern Dtdisc_t Ag_subnode_id_disc //1 8k15pyu256unm2kpd9zf5pf7k // extern Dtdisc_t Ag_subnode_seq_disc //1 e3d820y06gpeusn6atgmj8bzd // extern Dtdisc_t Ag_mainedge_id_disc //1 cbr0772spix9h1aw7h5v7dv9j // extern Dtdisc_t Ag_subedge_id_disc //1 akd0c3v0j7m2npxcb9acit1fa // extern Dtdisc_t Ag_mainedge_seq_disc //1 12d8la07351ww7vwfzucjst8m // extern Dtdisc_t Ag_subedge_seq_disc //1 29eokk7v88e62g8o6lizmo967 // extern Dtdisc_t Ag_subgraph_id_disc //1 4xd9cbgy6hk5g6nhjcbpzkx14 // extern Agcbdisc_t AgAttrdisc //3 79n6elfqk1vw36hmv7bxlrb0v // static int idcmpf(Dict_t * d, void *arg_p0, void *arg_p1, Dtdisc_t * disc) public static Object idcmpf(Object... arg) { UNSUPPORTED("1r7psgafk53qtogr4ft1z3lze"); // static int idcmpf(Dict_t * d, void *arg_p0, void *arg_p1, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4ntp67b3zenb7lwin6la68y9g"); // IMapEntry_t *p0, *p1; UNSUPPORTED("6z29omss9ay00bqf6xael7t6t"); // (void) d; UNSUPPORTED("44n3fpcv1bzssspskdg8kbbz4"); // p0 = arg_p0; UNSUPPORTED("4tgwqnnain0i2lv7it6su8k8q"); // p1 = arg_p1; UNSUPPORTED("8l8wg6vltx6d7vc9dzqb6n3wi"); // (void) disc; UNSUPPORTED("49gg5v29upcoktnre7tua6o3j"); // return (p0->id - p1->id); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 aadw62b6y0d22xf4720pzdiyz // static int namecmpf(Dict_t * d, void *arg_p0, void *arg_p1, Dtdisc_t * disc) public static Object namecmpf(Object... arg) { UNSUPPORTED("7ouzah61jyng2a8u8dfdxeekw"); // static int namecmpf(Dict_t * d, void *arg_p0, void *arg_p1, UNSUPPORTED("3hfqv3wxw19wel6xzpj1kbshb"); // Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4ntp67b3zenb7lwin6la68y9g"); // IMapEntry_t *p0, *p1; UNSUPPORTED("6z29omss9ay00bqf6xael7t6t"); // (void) d; UNSUPPORTED("44n3fpcv1bzssspskdg8kbbz4"); // p0 = arg_p0; UNSUPPORTED("4tgwqnnain0i2lv7it6su8k8q"); // p1 = arg_p1; UNSUPPORTED("8l8wg6vltx6d7vc9dzqb6n3wi"); // (void) disc; UNSUPPORTED("eb7z4ayiwked6cpuntm496002"); // return (p0->str - p1->str); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 cvijg1ekkl36sildxxf28vhug // static Dtdisc_t LookupByName = //1 dkzjlpsv4zk993r3iyo7msr8n // static Dtdisc_t LookupById = //3 mx2krtbgfhcihopw9rw8kcv3 // int aginternalmaplookup(Agraph_t * g, int objtype, char *str, unsigned long *result) public static int aginternalmaplookup(ST_Agraph_s g, int objtype, CString str, int result[]) { ENTERING("mx2krtbgfhcihopw9rw8kcv3","aginternalmaplookup"); try { UNSUPPORTED("9xuzgjxqveawe6v2n4x48r93l"); // int aginternalmaplookup(Agraph_t * g, int objtype, char *str, UNSUPPORTED("a9jw0mphzrt0q739cxcgk2hxw"); // unsigned long *result) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("l4y6zpshfefue2m18wlswfkp"); // Dict_t *d; UNSUPPORTED("6ich6qfkkifpsux1v4vgzhiyb"); // IMapEntry_t *sym, template; UNSUPPORTED("4uffdlbjda8w15jyto7gd77bw"); // char *search_str; UNSUPPORTED("84sccu12ven74lipf2dljgik4"); // if (objtype == AGINEDGE) UNSUPPORTED("5q9qhv35w1rsuiuzqkwgshm3p"); // objtype = AGEDGE; UNSUPPORTED("drm2n6i20x3uimml5ooxm9u25"); // if ((d = g->clos->lookup_by_name[objtype])) { UNSUPPORTED("9ysphludc93c139uov8ximaj2"); // if ((search_str = agstrbind(g, str))) { UNSUPPORTED("73apfmwxngxpf2twqiokd75ph"); // template.str = search_str; UNSUPPORTED("1r11yngj3z66q9h8k7rx0ifra"); // sym = (IMapEntry_t *) (*(((Dt_t*)(d))->searchf))((d),(void*)(&template),0000004); UNSUPPORTED("8watgmdse1o9uhfuhoexemnl2"); // if (sym) { UNSUPPORTED("68xn6zrkilfqqsosou3z2ym7o"); // *result = sym->id; UNSUPPORTED("a1a1uhff21noh1htwzn6yp831"); // return (!(0)); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("297p5iu8oro94tdg9v29bbgiw"); // return (0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("mx2krtbgfhcihopw9rw8kcv3","aginternalmaplookup"); } } //3 ce8fo5gya95enhgssezqs3vav // void aginternalmapinsert(Agraph_t * g, int objtype, char *str, unsigned long id) public static Object aginternalmapinsert(Object... arg) { UNSUPPORTED("bk4ucrzua03gr9lak6zfm3orp"); // void aginternalmapinsert(Agraph_t * g, int objtype, char *str, UNSUPPORTED("18mfx819yhg1vg5xkrfjr96x2"); // unsigned long id) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bh4b0zdn246m225u6zmdk75zs"); // IMapEntry_t *ent; UNSUPPORTED("84hwqfygghmcbo2exzo01t93o"); // Dict_t *d_name_to_id, *d_id_to_name; UNSUPPORTED("7wtz0h3ahdkrul4dbb0b7y0l4"); // ent = ((IMapEntry_t*)(agalloc(g,sizeof(IMapEntry_t)))); UNSUPPORTED("6nwwse4s1ba0m9jfptthwwjbj"); // ent->id = id; UNSUPPORTED("d8vvc9mhtu43xfmzodcja9bu9"); // ent->str = agstrdup(g, str); UNSUPPORTED("84sccu12ven74lipf2dljgik4"); // if (objtype == AGINEDGE) UNSUPPORTED("5q9qhv35w1rsuiuzqkwgshm3p"); // objtype = AGEDGE; UNSUPPORTED("cdo42je1dwhjo7hka7tk4bu20"); // if ((d_name_to_id = g->clos->lookup_by_name[objtype]) == ((Dict_t *)0)) UNSUPPORTED("7tkuaa0dee3i2mkwj7ba9bmyj"); // d_name_to_id = g->clos->lookup_by_name[objtype] = UNSUPPORTED("5em5y2jcl61223aawnzfqj4a0"); // agdtopen(g, &LookupByName, Dttree); UNSUPPORTED("4x4ql6no5kg3qbek3o45fn7nx"); // if ((d_id_to_name = g->clos->lookup_by_id[objtype]) == ((Dict_t *)0)) UNSUPPORTED("7tmtjlukhbvxyxkd08ijr2m47"); // d_id_to_name = g->clos->lookup_by_id[objtype] = UNSUPPORTED("bnhc1g7rce6un1du4m54v8m5r"); // agdtopen(g, &LookupById, Dttree); UNSUPPORTED("1y4a6gz63nnj0k1ip32krystr"); // (*(((Dt_t*)(d_name_to_id))->searchf))((d_name_to_id),(void*)(ent),0000001); UNSUPPORTED("6d4vd73oyoit1sj5kt1otroy9"); // (*(((Dt_t*)(d_id_to_name))->searchf))((d_id_to_name),(void*)(ent),0000001); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3r16pkjiksv8i7o961ltxyge6 // static IMapEntry_t *find_isym(Agraph_t * g, int objtype, unsigned long id) public static ST_IMapEntry_t find_isym(ST_Agraph_s g, int objtype, int id) { ENTERING("3r16pkjiksv8i7o961ltxyge6","find_isym"); try { ST_dt_s d; ST_IMapEntry_t isym, itemplate = new ST_IMapEntry_t(); if (objtype == AGINEDGE) objtype = AGEDGE; if ((d = g.clos.lookup_by_id[objtype])!=null) { itemplate.setInt("id", id); isym = (ST_IMapEntry_t) UNSUPPORTED("(IMapEntry_t *) (*(((Dt_t*)(d))->searchf))((d),(void*)(&itemplate),0000004)"); } else isym = null; return isym; } finally { LEAVING("3r16pkjiksv8i7o961ltxyge6","find_isym"); } } //3 foe6bvtujfevsc0f3m8aqln8 // char *aginternalmapprint(Agraph_t * g, int objtype, unsigned long id) public static CString aginternalmapprint(ST_Agraph_s g, int objtype, int id) { ENTERING("foe6bvtujfevsc0f3m8aqln8","aginternalmapprint"); try { ST_IMapEntry_t isym; if ((isym = find_isym(g, objtype, id))!=null) return isym.str; return null; } finally { LEAVING("foe6bvtujfevsc0f3m8aqln8","aginternalmapprint"); } } //3 5tlg05avf32knqysibbic9jou // int aginternalmapdelete(Agraph_t * g, int objtype, unsigned long id) public static Object aginternalmapdelete(Object... arg) { UNSUPPORTED("19jjvbvuhgwuct5d89a9klzdn"); // int aginternalmapdelete(Agraph_t * g, int objtype, unsigned long id) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4s0k0w2gqymjv4rw9e0p94o4e"); // IMapEntry_t *isym; UNSUPPORTED("84sccu12ven74lipf2dljgik4"); // if (objtype == AGINEDGE) UNSUPPORTED("5q9qhv35w1rsuiuzqkwgshm3p"); // objtype = AGEDGE; UNSUPPORTED("60rw9rftet6cvrlc5sv6cdvzo"); // if ((isym = find_isym(g, objtype, id))) { UNSUPPORTED("6nag2b59botfmnvg4y14s6nez"); // (*(((Dt_t*)(g->clos->lookup_by_name[objtype]))->searchf))((g->clos->lookup_by_name[objtype]),(void*)(isym),0000002); UNSUPPORTED("dsg36gwsles2ud2bgcuw50yi3"); // (*(((Dt_t*)(g->clos->lookup_by_id[objtype]))->searchf))((g->clos->lookup_by_id[objtype]),(void*)(isym),0000002); UNSUPPORTED("avjuzl03gu3mel3wyty6geq69"); // agstrfree(g, isym->str); UNSUPPORTED("6pld2z1bhfc2yevvzc4kxx508"); // agfree(g, isym); UNSUPPORTED("3adr32h5e1fehu4g7j2u24asz"); // return (!(0)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("297p5iu8oro94tdg9v29bbgiw"); // return (0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2wanqmzppni4zd3mlb6pkou1k // void aginternalmapclearlocalnames(Agraph_t * g) public static Object aginternalmapclearlocalnames(Object... arg) { UNSUPPORTED("bkfxi88xlzuzwi4a9iqo8pn28"); // void aginternalmapclearlocalnames(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("9lx77yi3grxo0pchpg8wba5f6"); // IMapEntry_t *sym, *nxt; UNSUPPORTED("1y1imymtcoka6zqsrmg5hocbt"); // Dict_t **d_name; UNSUPPORTED("1lwdd78io6jcv1vyvj9qa9xwd"); // /* Dict_t **d_id; */ UNSUPPORTED("6qvjz1ziwr3nwocahqvfzw14t"); // Ag_G_global = g; UNSUPPORTED("e68mfs18sqlfouc92k24w2fz7"); // d_name = g->clos->lookup_by_name; UNSUPPORTED("1upc73ikk3g0k2b325lrtornr"); // /* d_id = g->clos->lookup_by_id; */ UNSUPPORTED("11oml6vi9s4la6fgcck9ta2y8"); // for (i = 0; i < 3; i++) { UNSUPPORTED("6h2zc4egoha1kvb86bjeoan7b"); // if (d_name[i]) { UNSUPPORTED("252siiega2i0vhnempk3jj5gq"); // for (sym = (*(((Dt_t*)(d_name[i]))->searchf))((d_name[i]),(void*)(0),0000200); sym; sym = nxt) { UNSUPPORTED("9a5rzjs7wyb31qrzau41skcch"); // nxt = (*(((Dt_t*)(d_name[i]))->searchf))((d_name[i]),(void*)(sym),0000010); UNSUPPORTED("620abwca2qrecak9ujprv3erj"); // if (sym->str[0] == '%') UNSUPPORTED("2ys9vkqvwbp3l4dlnzxecpufu"); // aginternalmapdelete(g, i, sym->id); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 exx9lnei1gnd60cuddc52z7i9 // static void closeit(Dict_t ** d) public static Object closeit(Object... arg) { UNSUPPORTED("dg5p1tjrd085naw1mo4ichi6q"); // static void closeit(Dict_t ** d) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("11oml6vi9s4la6fgcck9ta2y8"); // for (i = 0; i < 3; i++) { UNSUPPORTED("dx4pjim9y4f2jtcu836j38fq8"); // if (d[i]) { UNSUPPORTED("2zjj5fsuyj57whze7pm4bef4e"); // dtclose(d[i]); UNSUPPORTED("5z84h9gs3klhayayencls3cd3"); // d[i] = ((Dict_t *)0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5dw1m5wgietdxy22txx0l20ph // void aginternalmapclose(Agraph_t * g) public static Object aginternalmapclose(Object... arg) { UNSUPPORTED("bdxp6h1xs4z2wt83fv2a3w0y2"); // void aginternalmapclose(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6qvjz1ziwr3nwocahqvfzw14t"); // Ag_G_global = g; UNSUPPORTED("9mn11z09mil44jhvfaju1n7i5"); // closeit(g->clos->lookup_by_name); UNSUPPORTED("74lp49loz9ng7u2mjovdv1wd5"); // closeit(g->clos->lookup_by_id); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/io__c.java000066400000000000000000000220731340005343600215540ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static smetana.core.Macro.UNSUPPORTED; public class io__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 6ayavpu39aihwyojkx093pcy3 // extern Agraph_t *Ag_G_global //1 871mxtg9l6ffpxdl9kniwusf7 // extern char *AgDataRecName //1 c0o2kmml0tn6hftuwo0u4shwd // extern Dtdisc_t Ag_subnode_id_disc //1 8k15pyu256unm2kpd9zf5pf7k // extern Dtdisc_t Ag_subnode_seq_disc //1 e3d820y06gpeusn6atgmj8bzd // extern Dtdisc_t Ag_mainedge_id_disc //1 cbr0772spix9h1aw7h5v7dv9j // extern Dtdisc_t Ag_subedge_id_disc //1 akd0c3v0j7m2npxcb9acit1fa // extern Dtdisc_t Ag_mainedge_seq_disc //1 12d8la07351ww7vwfzucjst8m // extern Dtdisc_t Ag_subedge_seq_disc //1 29eokk7v88e62g8o6lizmo967 // extern Dtdisc_t Ag_subgraph_id_disc //1 4xd9cbgy6hk5g6nhjcbpzkx14 // extern Agcbdisc_t AgAttrdisc //3 b0a8zjzqjkvaiqw5i1y82wmzl // static int iofread(void *chan, char *buf, int bufsize) public static Object iofread(Object... arg) { UNSUPPORTED("bmcd2lihkoyncyz2t8p1ilwhr"); // static int iofread(void *chan, char *buf, int bufsize) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("26gbavw0p5ppjkmaget64xm52"); // if (fgets(buf, bufsize, (FILE*)chan)) UNSUPPORTED("5o3cqxldbu1xnd5mgvbj1qy3s"); // return strlen(buf); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("eutkjban02p11hojrf12g0st9"); // /* return read(fileno((FILE *) chan), buf, bufsize); */ UNSUPPORTED("9xshhqhkyhgj8lsjfl6myd036"); // /* return fread(buf, 1, bufsize, (FILE*)chan); */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 91y9tcvbxti1ic9nine083re2 // static int ioputstr(void *chan, const char *str) public static Object ioputstr(Object... arg) { UNSUPPORTED("2inl53c1xtplxmq6bmhva91ld"); // static int ioputstr(void *chan, const char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4jzhyye95tludl3z1b0hqg16y"); // return fputs(str, (FILE *) chan); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 atp6gxqi8j9nz39ry13puhwck // static int ioflush(void *chan) public static Object ioflush(Object... arg) { UNSUPPORTED("elxcueeu6temiev9ncf78kvoq"); // static int ioflush(void *chan) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8803glp5cz89v6gvc897n9kjs"); // return fflush((FILE *) chan); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 2qjm4okqgeuarw1i5krezrxiq // Agiodisc_t AgIoDisc = //3 b6znej4isyhxv8vcdyjnnhlpu // static int memiofread(void *chan, char *buf, int bufsize) public static Object memiofread(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("cvqc79yfz9kp49vi5uimqh4jl"); // memiofread(void *chan, char *buf, int bufsize) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("d66gzmbwgtbpy6ofjgqa41k5z"); // const char *ptr; UNSUPPORTED("7qpxboqf01dwsthlblwmt7abt"); // char *optr; UNSUPPORTED("wrvu9u7a8j6i6y6552zncxfk"); // char c; UNSUPPORTED("apjzivxhs9d0uxff51eym3g5y"); // int l; UNSUPPORTED("chj5f26gtak38l7rsif9tg2ef"); // rdr_t *s; UNSUPPORTED("chvo71lh9m3y44gq6waktkbh9"); // if (bufsize == 0) return 0; UNSUPPORTED("44j7d8p5naz440e73iup8jpiw"); // s = (rdr_t *) chan; UNSUPPORTED("dod41gsjapxzma7a71g52qjyv"); // if (s->cur >= s->len) UNSUPPORTED("egywkvzo2t847qnathqnanvcj"); // return 0; UNSUPPORTED("5fb3yrbuopnj8web61578myje"); // l = 0; UNSUPPORTED("4wkgx9rod3b8e1pxs5zhmavgr"); // ptr = s->data + s->cur; UNSUPPORTED("3mp6u4df68hahvdziio4exbae"); // optr = buf; UNSUPPORTED("lavqvwvsy9irf1laq0kebdbe"); // /* We know we have at least one character */ UNSUPPORTED("d9o980efrtbwu0i78c437f5bo"); // c = *ptr++; UNSUPPORTED("53kc41p479auwcycfsbhw8xix"); // do { UNSUPPORTED("22g9b5gxmlzveusouzcsxmazx"); // *optr++ = c; UNSUPPORTED("5xjaxhd59ghk4wid321bwwtu"); // l++; UNSUPPORTED("bghzvix8cn8psfx1zg00ral21"); // /* continue if c is not newline, we have space in buffer, UNSUPPORTED("ewvfix29v48zrdfokvs94fg22"); // * and next character is non-null (we are working with UNSUPPORTED("2tcf5k4so7geiwyrcd857b0kd"); // * null-terminated strings. UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("4fyi2jay0vaa7egiypve395lt"); // } while ((c != '\n') && (l < bufsize) && (c = *ptr++)); UNSUPPORTED("20veathk82tfin58bt3ybegax"); // s->cur += l; UNSUPPORTED("bx6jd8tbmxxxpdfz7u9rtlds"); // return l; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 a56p4nhhkzxgzqx4hqbsff5hf // static Agiodisc_t memIoDisc = //3 7hpggznawe61je0f77vzdulun // Agraph_t *agmemread(const char *cp) public static Object agmemread(Object... arg) { UNSUPPORTED("8gnhy5r408vxior7h2ddxp3ea"); // Agraph_t *agmemread(const char *cp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c9h1fo1uvas6uw1a8qaapnln6"); // Agraph_t* g; UNSUPPORTED("dv8xv53262iml39dlwafnq6yt"); // rdr_t rdr; UNSUPPORTED("act2n9l38mora4yp0ugd1sls4"); // Agdisc_t disc; UNSUPPORTED("x8365fstttag0j2sqo0x3z5k"); // memIoDisc.putstr = AgIoDisc.putstr; UNSUPPORTED("4kd68cbbycb36shew6gwdjehp"); // memIoDisc.flush = AgIoDisc.flush; UNSUPPORTED("asg6rxpzyrml0xjz6cw88nqdh"); // rdr.data = cp; UNSUPPORTED("ctbbb0s3tmdhmku71n493w07s"); // rdr.len = strlen(cp); UNSUPPORTED("3q856gggmhurx21iopk4q87dy"); // rdr.cur = 0; UNSUPPORTED("ar2u0bmktm68f4m00re7e6fl"); // disc.mem = &AgMemDisc; UNSUPPORTED("5m3cyfe6krwfilumr36kzfzx6"); // disc.id = &AgIdDisc; UNSUPPORTED("7pv4zby7sodjfrg6kryf7uwzt"); // disc.io = &memIoDisc; UNSUPPORTED("ewezfoxsntzvfqh08khv37zt7"); // g = agread (&rdr, &disc); UNSUPPORTED("2syri7q5tc0jyvwq8ecyfo3vr"); // return g; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/main__c.java000066400000000000000000000123101340005343600220620ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static smetana.core.Macro.UNSUPPORTED; public class main__c { //3 6odliptr9wa623cqopkvk2jli // static void my_ins(Agraph_t * g, Agobj_t * obj, void *context) public static Object my_ins(Object... arg) { UNSUPPORTED("c7iv5iry7vbk7hni09hhaowd5"); // static void my_ins(Agraph_t * g, Agobj_t * obj, void *context) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("a9l6doo688qv3rdvch9hmibgq"); // if (AGTYPE(obj) == AGNODE) { UNSUPPORTED("d450vypq8xi24vzde0qbtu2r8"); // n = (Agnode_t *) obj; UNSUPPORTED("2gpi6t9bnp5hdft0cecv3iune"); // fprintf(stderr, "%s initialized with label %s\n", agnameof(n), UNSUPPORTED("1p5eazfn0cyfxuxjea9lnir1w"); // agget(n, "label")); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 712rrmbvh64z403qurukiza4t // static Agcbdisc_t mydisc = //3 bvktrg27hkm4awzgaxie82v5n // main(int argc, char **argv) public static Object main(Object... arg) { UNSUPPORTED("2vxu1fvoegqfch6u8yop5e3yd"); // main(int argc, char **argv) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9rw11eamkbc6vjzz8oon7h5or"); // Agraph_t *g, *prev; UNSUPPORTED("ecwk3deuub77ow53wzobyi1um"); // int dostat; UNSUPPORTED("ay3nlfl1osekrj2sqshobe5at"); // if (argc > 1) UNSUPPORTED("ckyyp5xta8o4677c6fu181fx7"); // dostat = atoi(argv[1]); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("cl0t34fw12lib2l4xzfg1a37y"); // dostat = 0; UNSUPPORTED("ct1ab9xijd5ig91peu6a6mt9k"); // prev = agopen("some_name", Agdirected, NIL(Agdisc_t *)); UNSUPPORTED("e0xgjn1wccsmsi4ek4d7a2qei"); // agcallbacks(prev, FALSE); UNSUPPORTED("7c3x2xl11ikgliugx67a51w0d"); // agpushdisc(prev, &mydisc, NIL(void *)); UNSUPPORTED("bngzo05d6auu02ybcab17exp"); // while (g = agconcat(prev, stdin, NIL(Agdisc_t *))) { UNSUPPORTED("69r6skguykum6b262jtd67j6e"); // /*do_it(g, dostat); */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c49oayps7r0q8498dhp8trru4"); // /*agwrite(prev,stdout); */ UNSUPPORTED("a9cya29glvbdxdy722npvubi1"); // fprintf(stderr, "ready to go, computer fans\n"); UNSUPPORTED("c2ap65hg9mbsyttiia9s186mf"); // agcallbacks(prev, TRUE); UNSUPPORTED("b0t9qgq0y5pre95c9o03imotq"); // agclose(prev); UNSUPPORTED("3tcgz4dupb6kw5tdk7n3pca2l"); // return 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bhswp7qq6w162hh6ho3csmea3 // static void prstats(Agraph_t * g, int verbose) public static Object prstats(Object... arg) { UNSUPPORTED("5szlwllz47f72n6dum53fsuvt"); // static void prstats(Agraph_t * g, int verbose) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5aj3p757f0uumfpssnoqimpjp // static void do_it(Agraph_t * g, int dostat) public static Object do_it(Object... arg) { UNSUPPORTED("cq0p9fgngzp1ynr7fuablhs5i"); // static void do_it(Agraph_t * g, int dostat) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9w53fmba5tercyxnm4fnbyshd"); // agwrite(g, stdout); UNSUPPORTED("25junfxb4dqovzjqy48puogi1"); // if (dostat) UNSUPPORTED("542sekyz7qr0nvvoorslw1nkq"); // prstats(g, dostat > 1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/mem__c.java000066400000000000000000000217261340005343600217270ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agdisc_s; import h.ST_Agraph_s; import smetana.core.__ptr__; import smetana.core.size_t; public class mem__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 6ayavpu39aihwyojkx093pcy3 // extern Agraph_t *Ag_G_global //1 871mxtg9l6ffpxdl9kniwusf7 // extern char *AgDataRecName //1 c0o2kmml0tn6hftuwo0u4shwd // extern Dtdisc_t Ag_subnode_id_disc //1 8k15pyu256unm2kpd9zf5pf7k // extern Dtdisc_t Ag_subnode_seq_disc //1 e3d820y06gpeusn6atgmj8bzd // extern Dtdisc_t Ag_mainedge_id_disc //1 cbr0772spix9h1aw7h5v7dv9j // extern Dtdisc_t Ag_subedge_id_disc //1 akd0c3v0j7m2npxcb9acit1fa // extern Dtdisc_t Ag_mainedge_seq_disc //1 12d8la07351ww7vwfzucjst8m // extern Dtdisc_t Ag_subedge_seq_disc //1 29eokk7v88e62g8o6lizmo967 // extern Dtdisc_t Ag_subgraph_id_disc //1 4xd9cbgy6hk5g6nhjcbpzkx14 // extern Agcbdisc_t AgAttrdisc //3 akq0jgwdspf75ypeatgcnfn8w // static void *memopen(Agdisc_t* disc) public static Object memopen(ST_Agdisc_s disc) { ENTERING("akq0jgwdspf75ypeatgcnfn8w","memopen"); try { return null; } finally { LEAVING("akq0jgwdspf75ypeatgcnfn8w","memopen"); } } //3 9mtjrx0vjzwuecjwpxylr9tag // static void *memalloc(void *heap, size_t request) public static __ptr__ memalloc(__ptr__ heap, size_t request) { ENTERING("9mtjrx0vjzwuecjwpxylr9tag","memalloc"); try { __ptr__ rv; rv = (__ptr__) request.malloc(); return rv; } finally { LEAVING("9mtjrx0vjzwuecjwpxylr9tag","memalloc"); } } //3 18v2hhjculhnb3b7fc4tx3yjw // static void *memresize(void *heap, void *ptr, size_t oldsize, size_t request) public static __ptr__ memresize(__ptr__ heap, __ptr__ ptr, size_t oldsize, size_t request) { ENTERING("18v2hhjculhnb3b7fc4tx3yjw","memresize"); try { request.realloc(ptr); return ptr; } finally { LEAVING("18v2hhjculhnb3b7fc4tx3yjw","memresize"); } //UNSUPPORTED("1s6udii0nias7f8g4vimpkefh"); // static void *memresize(void *heap, void *ptr, size_t oldsize, //UNSUPPORTED("8zs6530gai5ogf503wd0333qh"); // size_t request) //UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { //UNSUPPORTED("5ccnu5m92hidffpixzo964tna"); // void *rv; //UNSUPPORTED("74rq74mh7lnfr9i3qmwsbx2hd"); // (void) heap; //UNSUPPORTED("ebomd3babnm180zhyrfeg59wi"); // rv = realloc(ptr, request); //UNSUPPORTED("bzgpl0js1bzsovafg9g24v4ya"); // if (request > oldsize) //UNSUPPORTED("9cjvc6kya9bwic7bue6mcj8yf"); // memset((char *) rv + oldsize, 0, request - oldsize); //UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; //UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } // //throw new UnsupportedOperationException(); } //3 c320bstcg5nctel3onh2pserl // static void memfree(void *heap, void *ptr) public static Object memfree(Object... arg) { UNSUPPORTED("5yxdf2sc5xnic9d5j24m0a7yf"); // static void memfree(void *heap, void *ptr) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("74rq74mh7lnfr9i3qmwsbx2hd"); // (void) heap; UNSUPPORTED("f0evk2zajcoprskea22bm18e8"); // free(ptr); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 1cni5q244gsprpvtjsq7gs17m // Agmemdisc_t AgMemDisc = /*public static final __struct__ AgMemDisc = JUtils.from(Agmemdisc_s.class); static { AgMemDisc.setPtr("open", function(mem__c.class, "memopen")); AgMemDisc.setPtr("alloc", function(mem__c.class, "memalloc")); AgMemDisc.setPtr("resize", function(mem__c.class, "memresize")); AgMemDisc.setPtr("free", function(mem__c.class, "memfree")); AgMemDisc.setPtr("close", null); }*/ //3 7newv1hmzvt4vtttc9cxdxfpn // void *agalloc(Agraph_t * g, size_t size) public static __ptr__ agalloc(ST_Agraph_s g, size_t size) { ENTERING("7newv1hmzvt4vtttc9cxdxfpn","agalloc"); try { __ptr__ mem; mem = (__ptr__) g.clos.disc.mem.alloc.exe(g.clos.state.mem, size); if (mem == null) System.err.println("memory allocation failure"); return mem; } finally { LEAVING("7newv1hmzvt4vtttc9cxdxfpn","agalloc"); } } //3 55lm0cse6lsgqblx6puxpjs3j // void *agrealloc(Agraph_t * g, void *ptr, size_t oldsize, size_t size) public static Object agrealloc(Object... arg) { UNSUPPORTED("910gd4otiivsz2zpsiwlsy00v"); // void *agrealloc(Agraph_t * g, void *ptr, size_t oldsize, size_t size) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("11l1m9u5ne2xf2nff6278od59"); // void *mem; UNSUPPORTED("b9ag6d7eml860kbycrkuz14b7"); // if (size > 0) { UNSUPPORTED("zjrd9sttelcubi228vbizqq0"); // if (ptr == 0) UNSUPPORTED("vr97hnk6c4k8muqake3c3c46"); // mem = agalloc(g, size); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("2n0yfzx569kr1oinsronhmsus"); // mem = UNSUPPORTED("agphdu4vmb8hu0s57ry4i4axp"); // ((g)->clos->disc.mem)->resize(((g)->clos->state.mem), ptr, oldsize, size); UNSUPPORTED("60qvwgrubred6pojjs425ctzr"); // if (mem == ((void *)0)) UNSUPPORTED("9vomh5w83j5mf3src00h8g8g0"); // agerr(AGERR,"memory re-allocation failure"); UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("6jbj3fx0j7m0vyvwn0za7bxle"); // mem = ((void *)0); UNSUPPORTED("a5guhlttwqpai3dhdhdx6shnu"); // return mem; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5cy6dl95ayyuzq0m35179g1a1 // void agfree(Agraph_t * g, void *ptr) public static Object agfree(Object... arg) { UNSUPPORTED("4i7lm2j8h5unocyz6c4isbh2f"); // void agfree(Agraph_t * g, void *ptr) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("72fdcloikkmdo51qrcdovcy5v"); // if (ptr) UNSUPPORTED("efvuftmcvfsswtq39k8vdrgmd"); // (((g)->clos->disc.mem)->free) (((g)->clos->state.mem), ptr); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/node__c.java000066400000000000000000000565761340005343600221110ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static gen.lib.cdt.dtsize__c.dtsize_; import static gen.lib.cgraph.attr__c.AgDataRecName; import static gen.lib.cgraph.attr__c.agnodeattr_init; import static gen.lib.cgraph.edge__c.agsubrep; import static gen.lib.cgraph.graph__c.agnextseq; import static gen.lib.cgraph.id__c.agmapnametoid; import static gen.lib.cgraph.id__c.agregister; import static gen.lib.cgraph.mem__c.agalloc; import static gen.lib.cgraph.obj__c.agmethod_init; import static gen.lib.cgraph.obj__c.agroot; import static gen.lib.cgraph.rec__c.agbindrec; import static gen.lib.cgraph.subg__c.agparent; import static smetana.core.JUtils.EQ; import static smetana.core.JUtils.LOG2; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtils.sizeof; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.AGID; import static smetana.core.Macro.AGNODE; import static smetana.core.Macro.AGSEQ; import static smetana.core.Macro.AGTYPE; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agattr_s; import h.ST_Agdesc_s; import h.ST_Agnode_s; import h.ST_Agraph_s; import h.ST_Agsubnode_s; import h.ST_Agtag_s; import h.ST_dt_s; import h.ST_dtdisc_s; import smetana.core.CString; import smetana.core.Z; import smetana.core.__ptr__; public class node__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 6ayavpu39aihwyojkx093pcy3 // extern Agraph_t *Ag_G_global //1 871mxtg9l6ffpxdl9kniwusf7 // extern char *AgDataRecName //1 c0o2kmml0tn6hftuwo0u4shwd // extern Dtdisc_t Ag_subnode_id_disc //1 8k15pyu256unm2kpd9zf5pf7k // extern Dtdisc_t Ag_subnode_seq_disc //1 e3d820y06gpeusn6atgmj8bzd // extern Dtdisc_t Ag_mainedge_id_disc //1 cbr0772spix9h1aw7h5v7dv9j // extern Dtdisc_t Ag_subedge_id_disc //1 akd0c3v0j7m2npxcb9acit1fa // extern Dtdisc_t Ag_mainedge_seq_disc //1 12d8la07351ww7vwfzucjst8m // extern Dtdisc_t Ag_subedge_seq_disc //1 29eokk7v88e62g8o6lizmo967 // extern Dtdisc_t Ag_subgraph_id_disc //1 4xd9cbgy6hk5g6nhjcbpzkx14 // extern Agcbdisc_t AgAttrdisc //private static __struct__ template = JUtils.from(Agsubnode_s.class); //private static __struct__ dummy = JUtils.from(Agnode_s.class); //3 4w89du6uel405pm3vxsr3ayxt // Agnode_t *agfindnode_by_id(Agraph_t * g, unsigned long id) public static ST_Agnode_s agfindnode_by_id(ST_Agraph_s g, int id) { ENTERING("4w89du6uel405pm3vxsr3ayxt","agfindnode_by_id"); try { ST_Agsubnode_s sn; ((ST_Agtag_s)Z.z().dummy.base.tag).id = id; Z.z().template.node = Z.z().dummy; sn = (ST_Agsubnode_s) (g.n_id.searchf.exe(g.n_id, Z.z().template,0000004)); return (ST_Agnode_s) (sn!=null ? sn.node : null); } finally { LEAVING("4w89du6uel405pm3vxsr3ayxt","agfindnode_by_id"); } } //3 1ibow5tsw9y9hfbt65y10nw0r // Agnode_t *agfindnode_by_name(Agraph_t * g, char *name) public static Object agfindnode_by_name(Object... arg) { UNSUPPORTED("jjckyz5rvj2kpvd0vw02o8yj"); // Agnode_t *agfindnode_by_name(Agraph_t * g, char *name) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5v0qr6wzw47z083l6jupv94gw"); // unsigned long id; UNSUPPORTED("7xzjyxv5eprg0vhj8q61h9d84"); // if (agmapnametoid(g, AGNODE, name, &id, (0))) UNSUPPORTED("5rhbsviec1b9h1qedfo3hrgt0"); // return agfindnode_by_id(g, id); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("afujljwagn2n2w7aqkq94dyud"); // return ((Agnode_t*)0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 55wopi2gd93zpmycxoywlxm0y // Agnode_t *agfstnode(Agraph_t * g) public static ST_Agnode_s agfstnode(ST_Agraph_s g) { ENTERING("55wopi2gd93zpmycxoywlxm0y","agfstnode"); try { ST_Agsubnode_s sn; sn = (ST_Agsubnode_s) g.n_seq.searchf.exe(g.n_seq,null,0000200); return sn!=null ? (ST_Agnode_s) sn.node : null; } finally { LEAVING("55wopi2gd93zpmycxoywlxm0y","agfstnode"); } } //3 bek79ccvjys1j9q404i3y6oh8 // Agnode_t *agnxtnode(Agraph_t * g, Agnode_t * n) public static int NB = 0; public static ST_Agnode_s agnxtnode(ST_Agraph_s g, ST_Agnode_s n) { ENTERING("bek79ccvjys1j9q404i3y6oh8","agnxtnode"); try { //ZOOTO if (NB==0) { //StructureDefinition.from(IMapEntry_t.class); } NB++; LOG2("NB="+NB); ST_Agsubnode_s sn; sn = agsubrep(g, n); LOG2("sn1="+sn); if (sn!=null) sn = (ST_Agsubnode_s) g.n_seq.searchf.exe(g.n_seq,sn,0000010); LOG2("sn2="+sn); final __ptr__ result = sn!=null ? sn.node : null; LOG2("result="+result); return (ST_Agnode_s) result; } finally { LEAVING("bek79ccvjys1j9q404i3y6oh8","agnxtnode"); } } //3 17tu6ipvtgbjfrggkvyz3nasf // Agnode_t *aglstnode(Agraph_t * g) public static Object aglstnode(Object... arg) { UNSUPPORTED("4lnse8d2e11zapjwbkulyywtz"); // Agnode_t *aglstnode(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2llbfi4jrmre7cyhu90pgcm72"); // Agsubnode_t *sn; UNSUPPORTED("37449tqynatc8j0u8sohjqujf"); // sn = (Agsubnode_t *) (*(((Dt_t*)(g->n_seq))->searchf))((g->n_seq),(void*)(0),0000400); UNSUPPORTED("b550764xq8bvu8hoqv0fe2noi"); // return sn ? sn->node : ((Agnode_t*)0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3qloij26jbl7m0ftyb0ouesq4 // Agnode_t *agprvnode(Agraph_t * g, Agnode_t * n) public static Object agprvnode(Object... arg) { UNSUPPORTED("8ichcmu1fmaap5w9hqfiohi13"); // Agnode_t *agprvnode(Agraph_t * g, Agnode_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2llbfi4jrmre7cyhu90pgcm72"); // Agsubnode_t *sn; UNSUPPORTED("b0wzl2qtz6anq1dhlxtmvwvgn"); // sn = agsubrep(g, n); UNSUPPORTED("8efe1mjxltxjuin6v0msyzwfb"); // if (sn) sn = ((Agsubnode_t *) (*(((Dt_t*)(g->n_seq))->searchf))((g->n_seq),(void*)(sn),0000020)); UNSUPPORTED("b550764xq8bvu8hoqv0fe2noi"); // return sn ? sn->node : ((Agnode_t*)0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dzb7m0p5xsngvtyr8zs912og4 // static Agnode_t *newnode(Agraph_t * g, unsigned long id, unsigned long seq) public static ST_Agnode_s newnode(ST_Agraph_s g, int id, int seq) { ENTERING("dzb7m0p5xsngvtyr8zs912og4","newnode"); try { ST_Agnode_s n; n = (ST_Agnode_s) ((__ptr__)agalloc(g, sizeof(ST_Agnode_s.class))).castTo(ST_Agnode_s.class); AGTYPE(n, AGNODE); AGID(n, id); AGSEQ(n, seq); n.setPtr("root", agroot(g)); if (((ST_Agdesc_s)agroot(g).desc).has_attrs!=0) agbindrec(n, AgDataRecName, sizeof(ST_Agattr_s.class), false); /* nodeattr_init and method_init will be called later, from the * subgraph where the node was actually created, but first it has * to be installed in all the (sub)graphs up to root. */ return n; } finally { LEAVING("dzb7m0p5xsngvtyr8zs912og4","newnode"); } } //3 4m26dpgaiw44hcleugjy71eus // static void installnode(Agraph_t * g, Agnode_t * n) public static void installnode(ST_Agraph_s g, ST_Agnode_s n) { ENTERING("4m26dpgaiw44hcleugjy71eus","installnode"); try { ST_Agsubnode_s sn; int osize; osize = dtsize_((ST_dt_s)g.n_id); if (EQ(g, agroot(g))) sn = (ST_Agsubnode_s) n.mainsub; else sn = (ST_Agsubnode_s) ((__ptr__)agalloc(g, sizeof(ST_Agsubnode_s.class))).castTo(ST_Agsubnode_s.class); sn.setPtr("node", n); g.n_id.searchf.exe(g.n_id,sn,0000001); g.n_seq.searchf.exe(g.n_seq,sn,0000001); } finally { LEAVING("4m26dpgaiw44hcleugjy71eus","installnode"); } } //3 3mfxjcaeepn8nitirs3yoqaed // static void installnodetoroot(Agraph_t * g, Agnode_t * n) public static void installnodetoroot(ST_Agraph_s g, ST_Agnode_s n) { ENTERING("3mfxjcaeepn8nitirs3yoqaed","installnodetoroot"); try { ST_Agraph_s par; installnode(g, n); if ((par = agparent(g))!=null) installnodetoroot(par, n); } finally { LEAVING("3mfxjcaeepn8nitirs3yoqaed","installnodetoroot"); } } //3 85bb9mezhsgtzar3kqz95mq1 // static void initnode(Agraph_t * g, Agnode_t * n) public static void initnode(ST_Agraph_s g, ST_Agnode_s n) { ENTERING("85bb9mezhsgtzar3kqz95mq1","initnode"); try { if (((ST_Agdesc_s)agroot(g).desc).has_attrs!=0) agnodeattr_init(g,n); agmethod_init(g, n); } finally { LEAVING("85bb9mezhsgtzar3kqz95mq1","initnode"); } } //3 1m6sl9df2yaolmufyq5i577a3 // Agnode_t *agidnode(Agraph_t * g, unsigned long id, int cflag) public static ST_Agnode_s agidnode(ST_Agraph_s g, int id, int cflag) { ENTERING("1m6sl9df2yaolmufyq5i577a3","agidnode"); try { ST_Agraph_s root; ST_Agnode_s n; n = agfindnode_by_id(g, id); if ((n == null) && cflag!=0) { UNSUPPORTED("7zol2448bccu90sqoxkvnbuif"); // root = agroot(g); UNSUPPORTED("1zcb29h7sxm7axw8qeuz9f38w"); // if ((g != root) && ((n = agfindnode_by_id(root, id)))) /*old */ UNSUPPORTED("9fusma9293koujpr79eyfhxn6"); // agsubnode(g, n, (!(0))); /* insert locally */ UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("5pefvv55zys4ya7lgh0v8595s"); // if (agallocid(g, AGNODE, id)) { /* new */ UNSUPPORTED("dfn6cx0kwd44mv0ntbzf3p463"); // n = newnode(g, id, agnextseq(g, AGNODE)); UNSUPPORTED("6qcjp92a88ggl3ea7mxel9cn"); // installnodetoroot(g, n); UNSUPPORTED("45uf6o7ubd9hy5s65g0f0bbgj"); // initnode(g, n); UNSUPPORTED("afk9bpom7x393euamnvwwkx6b"); // } else UNSUPPORTED("5l8briolxhuic5avv0112aj90"); // n = ((Agnode_t*)0); /* allocid for new node failed */ UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } } /* else return probe result */ return n; } finally { LEAVING("1m6sl9df2yaolmufyq5i577a3","agidnode"); } } //3 4yh1h1cwoitzb1t8869b79e3g // Agnode_t *agnode(Agraph_t * g, char *name, int cflag) public static ST_Agnode_s agnode(ST_Agraph_s g, CString name, boolean cflag) { ENTERING("4yh1h1cwoitzb1t8869b79e3g","agnode"); try { ST_Agraph_s root; ST_Agnode_s n; int id[] = new int[1]; root = agroot(g); /* probe for existing node */ if (agmapnametoid(g, AGNODE, name, id, false)!=0) { if ((n = agfindnode_by_id(g, id[0]))!=null) return n; /* might already exist globally, but need to insert locally */ if (cflag && NEQ(g, root) && ((n = agfindnode_by_id(root, id[0])))!=null) { return agsubnode(g, n, (N(0))); } } if (cflag && agmapnametoid(g, AGNODE, name, id, (N(0)))!=0) { /* reserve id */ n = newnode(g, id[0], agnextseq(g, AGNODE)); installnodetoroot(g, n); initnode(g, n); agregister(g, AGNODE, n); /* register in external namespace */ return n; } return null; } finally { LEAVING("4yh1h1cwoitzb1t8869b79e3g","agnode"); } } //3 acahmq5kvzn3o31mluqgw7q9p // void agdelnodeimage(Agraph_t * g, Agnode_t * n, void *ignored) public static Object agdelnodeimage(Object... arg) { UNSUPPORTED("elm2o1y1nn2deregqtwfd0fm"); // void agdelnodeimage(Agraph_t * g, Agnode_t * n, void *ignored) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("109gqpvjmuv5lwcih97x4uwqa"); // Agedge_t *e, *f; UNSUPPORTED("2v9cpnwjfya0wz9qq2q8rqx02"); // static Agsubnode_t template; UNSUPPORTED("8cy87pxkco1cies0ck9zpn66"); // template.node = n; UNSUPPORTED("4pgl4pn1cad2whf242bntmjre"); // (void) ignored; UNSUPPORTED("8dskgcobu9u3m4ejmwjq00r5m"); // for (e = agfstedge(g, n); e; e = f) { UNSUPPORTED("8tmx79zo3pcrz4238v132mjqg"); // f = agnxtedge(g, e, n); UNSUPPORTED("ezikicsrlgi4g2anmg80iyxy5"); // agdeledgeimage(g, e, 0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5x2emh00yohuaush1f65cqnx3"); // /* If the following lines are switched, switch the discpline using UNSUPPORTED("35l6nf11aakz6sn2g7wfh60xr"); // * free_subnode below. UNSUPPORTED("5xkmfp82pyue09k1egerh5ezz"); // */ UNSUPPORTED("a3umom4df7zkjo9g37dn0xnnl"); // (*(((Dt_t*)(g->n_id))->searchf))((g->n_id),(void*)(&template),0000002); UNSUPPORTED("enu2k7akluqzw4eos6263usdr"); // (*(((Dt_t*)(g->n_seq))->searchf))((g->n_seq),(void*)(&template),0000002); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d7hac3hpizqk8mmx6oxiv6d3q // int agdelnode(Agraph_t * g, Agnode_t * n) public static Object agdelnode(Object... arg) { UNSUPPORTED("5vrhjcls5tltlk3dn4ssxzusq"); // int agdelnode(Agraph_t * g, Agnode_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("109gqpvjmuv5lwcih97x4uwqa"); // Agedge_t *e, *f; UNSUPPORTED("3ly27irmwairjdexym3up87uk"); // if (!agfindnode_by_id(g, AGID(n))) UNSUPPORTED("a1gf07w8a7uwaryezfqx6en21"); // return -1; /* bad arg */ UNSUPPORTED("ackx3cor82a94trjk4owh3083"); // if (g == agroot(g)) { UNSUPPORTED("7n4rwpvryjg5anpy2d43bthxh"); // for (e = agfstedge(g, n); e; e = f) { UNSUPPORTED("98oagw83x0w96uuzccetdi9ws"); // f = agnxtedge(g, e, n); UNSUPPORTED("7m6mvhicrmgkuyrwkvblruld0"); // agdeledge(g, e); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5247bml3o0pwzg9fc9q1xhhnc"); // if (g->desc.has_attrs) UNSUPPORTED("d4mqrcccn3toqvhii6rjrrwwu"); // agnodeattr_delete(n); UNSUPPORTED("7zcf3kp28b1wgy3i2on67h98u"); // agmethod_delete(g, n); UNSUPPORTED("eqkdptzmrk2vxj9fe3y4eb24l"); // agrecclose((Agobj_t *) n); UNSUPPORTED("d6jhz9spbq2ywt2efhyikkcdi"); // agfreeid(g, AGNODE, AGID(n)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("86yxjnabv1fuv7zhtuhgex4gx"); // if (agapply (g, (Agobj_t *) n, (agobjfn_t) agdelnodeimage, ((Agnode_t*)0), (0)) == 0) { UNSUPPORTED("6tlwlx478gb1clm2fykihi2zk"); // if (g == agroot(g)) UNSUPPORTED("d4sehv0200tcylmbpt9pqc7h1"); // agfree(g, n); UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dytehp1u14cb4j9zsmlesojkq // static void dict_relabel(Agnode_t * n, void *arg) public static Object dict_relabel(Object... arg) { UNSUPPORTED("44mem1e9kck28s208xgn5g04k"); // static void dict_relabel(Agnode_t * n, void *arg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("8hr8p3jy96bfcwujkauwdvd92"); // unsigned long new_id; UNSUPPORTED("38tgkes5dhr4oloxpg73baq10"); // g = agraphof(n); UNSUPPORTED("5jv37sfftjuyu9m95lz2avmjk"); // new_id = *(unsigned long *) arg; UNSUPPORTED("90u0hwihh4q8uosu25ewbzhox"); // (*(((Dt_t*)(g->n_id))->searchf))((g->n_id),(void*)(n),0000002); /* wrong, should be subrep */ UNSUPPORTED("9d38am0gg0kj6jhq5tri5ac34"); // AGID(n) = new_id; UNSUPPORTED("3qkq6d6yv4tvsurangttsbn0z"); // (*(((Dt_t*)(g->n_id))->searchf))((g->n_id),(void*)(n),0000001); /* also wrong */ UNSUPPORTED("dwcdffxfxvt11kvrq2e8l9dg9"); // /* because all the subgraphs share the same node now, this UNSUPPORTED("8sf7kiafqj2eexpzvr30nmsle"); // now requires a separate deletion and insertion phase */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a29io0pb5tx5bwevwjtr1hg1r // int agrelabel_node(Agnode_t * n, char *newname) public static Object agrelabel_node(Object... arg) { UNSUPPORTED("838qr3zz1vpfb75cfio36192j"); // int agrelabel_node(Agnode_t * n, char *newname) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("8hr8p3jy96bfcwujkauwdvd92"); // unsigned long new_id; UNSUPPORTED("5c0nzsud433f31yaxkbl4z4gs"); // g = agroot(agraphof(n)); UNSUPPORTED("1vy801jhp4mbvo2tujvg565wz"); // if (agfindnode_by_name(g, newname)) UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("3swbd27n6ds70cn294m0ef8f5"); // if (agmapnametoid(g, AGNODE, newname, &new_id, (!(0)))) { UNSUPPORTED("5xgainykf6klfsmk4014aw0e2"); // if (agfindnode_by_id(agroot(g), new_id) == ((Agnode_t*)0)) { UNSUPPORTED("5rjwy8imxqiwj9ia955vyoh9l"); // agfreeid(g, AGNODE, AGID(n)); UNSUPPORTED("asbts6liah2fjm74ps7do0e1m"); // agapply(g, (Agobj_t *) n, (agobjfn_t) dict_relabel, UNSUPPORTED("9trirys0q5ojk3sb1jgw8tmdf"); // (void *) &new_id, (0)); UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("7w7v3j2z1voanzyg3oghk1o2t"); // agfreeid(g, AGNODE, new_id); /* couldn't use it after all */ UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("eaoz5g3p9152utcqjz5d2fgdf"); // /* obj* is unchanged, so no need to re agregister() */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8azkpi8o0wzdufa90lw8hpt6q"); // return -1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d5farp22buvesyi4pydjam4g2 // Agnode_t *agsubnode(Agraph_t * g, Agnode_t * n0, int cflag) public static ST_Agnode_s agsubnode(ST_Agraph_s g, ST_Agnode_s n0, boolean cflag) { ENTERING("d5farp22buvesyi4pydjam4g2","agsubnode"); try { ST_Agraph_s par; ST_Agnode_s n; if (NEQ(agroot(g), n0.root)) return null; n = agfindnode_by_id(g, AGID(n0)); if ((n == null) && cflag) { if ((par = agparent(g))!=null) { n = agsubnode(par, n0, cflag); installnode(g, n); /* no callback for existing node insertion in subgraph (?) */ } /* else impossible that doesn't belong to */ } /* else lookup succeeded */ return n; } finally { LEAVING("d5farp22buvesyi4pydjam4g2","agsubnode"); } } //3 awwiazixy9c76hvyxlkvvb3vo // int agsubnodeidcmpf(Dict_t * d, void *arg0, void *arg1, Dtdisc_t * disc) public static int agsubnodeidcmpf(ST_dt_s d, __ptr__ arg0, __ptr__ arg1, ST_dtdisc_s disc) { ENTERING("awwiazixy9c76hvyxlkvvb3vo","agsubnodeidcmpf"); try { int v; ST_Agsubnode_s sn0, sn1; sn0 = (ST_Agsubnode_s) arg0.castTo(ST_Agsubnode_s.class); sn1 = (ST_Agsubnode_s) arg1.castTo(ST_Agsubnode_s.class); v = (AGID(sn0.node) - AGID(sn1.node)); return ((v==0)?0:(v<0?-1:1)); } finally { LEAVING("awwiazixy9c76hvyxlkvvb3vo","agsubnodeidcmpf"); } } //3 41fjseux0nxzpr0aq7igym9ux // int agsubnodeseqcmpf(Dict_t * d, void *arg0, void *arg1, Dtdisc_t * disc) public static int agsubnodeseqcmpf(ST_dt_s d, __ptr__ arg0, __ptr__ arg1, ST_dtdisc_s disc) { ENTERING("41fjseux0nxzpr0aq7igym9ux","agsubnodeseqcmpf"); try { ST_Agsubnode_s sn0, sn1; int v; sn0 = (ST_Agsubnode_s) arg0.castTo(ST_Agsubnode_s.class); sn1 = (ST_Agsubnode_s) arg1.castTo(ST_Agsubnode_s.class); v = (AGSEQ(sn0.node) - AGSEQ(sn1.node)); return ((v==0)?0:(v<0?-1:1)); } finally { LEAVING("41fjseux0nxzpr0aq7igym9ux","agsubnodeseqcmpf"); } } //3 a7tb3b1kvq6ykrxzhbaduvg9r // static void free_subnode (Dt_t* d, Agsubnode_t* sn, Dtdisc_t * disc) public static Object free_subnode(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("9e4h6d4hxsvsnaiuubzlmccsm"); // free_subnode (Dt_t* d, Agsubnode_t* sn, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eiac02o593gy0a55vv1w8mkmi"); // if (!AGSNMAIN(sn)) UNSUPPORTED("263bmzd9ilyyeb9w34squ7iw8"); // agfree (sn->node->root, sn); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 us7d1n3fefkf0qyr6thv1sai // Dtdisc_t Ag_subnode_id_disc = /*public static final __struct__<_dtdisc_s> Ag_subnode_id_disc = JUtils.from(_dtdisc_s.class); static { Ag_subnode_id_disc.setInt("key", 0); Ag_subnode_id_disc.setInt("size", 0); Ag_subnode_id_disc.setInt("link", OFFSET.create(Agsubnode_s.class, "id_link").toInt()); // id_link is the second field in Agsubnode_t Ag_subnode_id_disc.setPtr("makef", null); Ag_subnode_id_disc.setPtr("freef", null); Ag_subnode_id_disc.setPtr("comparf", function(node__c.class, "agsubnodeidcmpf")); Ag_subnode_id_disc.setPtr("hashf", null); Ag_subnode_id_disc.setPtr("memoryf", function(utils__c.class, "agdictobjmem")); Ag_subnode_id_disc.setPtr("eventf", null); }*/ //1 3gqjvodjfsv6wz1tk75zy19p9 // Dtdisc_t Ag_subnode_seq_disc = /*public static final __struct__<_dtdisc_s> Ag_subnode_seq_disc = JUtils.from(_dtdisc_s.class); static { Ag_subnode_seq_disc.setInt("key", 0); Ag_subnode_seq_disc.setInt("size", 0); Ag_subnode_seq_disc.setInt("link", OFFSET.create(Agsubnode_s.class, "seq_link").toInt()); // link is the first field in Agsubnode_t Ag_subnode_seq_disc.setPtr("makef", null); Ag_subnode_seq_disc.setPtr("freef", function(node__c.class, "free_subnode")); Ag_subnode_seq_disc.setPtr("comparf", function(node__c.class, "agsubnodeseqcmpf")); Ag_subnode_seq_disc.setPtr("hashf", null); Ag_subnode_seq_disc.setPtr("memoryf", function(utils__c.class, "agdictobjmem")); Ag_subnode_seq_disc.setPtr("eventf", null); }*/ } plantuml-1.2018.13+ds/src/gen/lib/cgraph/obj__c.java000066400000000000000000000477631340005343600217340ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static gen.lib.cgraph.edge__c.agsubedge; import static gen.lib.cgraph.node__c.agidnode; import static gen.lib.cgraph.pend__c.agrecord_callback; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.AGID; import static smetana.core.Macro.AGINEDGE; import static smetana.core.Macro.AGNODE; import static smetana.core.Macro.AGOUTEDGE; import static smetana.core.Macro.AGRAPH; import static smetana.core.Macro.AGTYPE; import static smetana.core.Macro.UNSUPPORTED; import h.Agcbstack_s; import h.ST_Agedge_s; import h.ST_Agnode_s; import h.ST_Agraph_s; import h.ST_Agsym_s; import h.agobjfn_t; import h.agobjupdfn_t; import smetana.core.__ptr__; public class obj__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 6ayavpu39aihwyojkx093pcy3 // extern Agraph_t *Ag_G_global //1 871mxtg9l6ffpxdl9kniwusf7 // extern char *AgDataRecName //1 c0o2kmml0tn6hftuwo0u4shwd // extern Dtdisc_t Ag_subnode_id_disc //1 8k15pyu256unm2kpd9zf5pf7k // extern Dtdisc_t Ag_subnode_seq_disc //1 e3d820y06gpeusn6atgmj8bzd // extern Dtdisc_t Ag_mainedge_id_disc //1 cbr0772spix9h1aw7h5v7dv9j // extern Dtdisc_t Ag_subedge_id_disc //1 akd0c3v0j7m2npxcb9acit1fa // extern Dtdisc_t Ag_mainedge_seq_disc //1 12d8la07351ww7vwfzucjst8m // extern Dtdisc_t Ag_subedge_seq_disc //1 29eokk7v88e62g8o6lizmo967 // extern Dtdisc_t Ag_subgraph_id_disc //1 4xd9cbgy6hk5g6nhjcbpzkx14 // extern Agcbdisc_t AgAttrdisc //3 6wm1l0y857iajfoa6ywpotkld // int agdelete(Agraph_t * g, void *obj) public static Object agdelete(Object... arg) { UNSUPPORTED("26js2ch8px4mwz3gqvjehanq1"); // int agdelete(Agraph_t * g, void *obj) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9w2ooy12wluvhcufehln1sob3"); // if ((AGTYPE((Agobj_t *) obj) == AGRAPH) && (g != agparent(obj))) { UNSUPPORTED("8iap36ny5lwbj2qog193slebp"); // agerr(AGERR, "agdelete on wrong graph"); UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bldax4f6o5yyujcnonbszc0kv"); // switch (AGTYPE((Agobj_t *) obj)) { UNSUPPORTED("6x7ztvlgv763oeop84udp1egg"); // case AGNODE: UNSUPPORTED("4fefei0lku9f461nifc1j9d6j"); // return agdelnode(g, obj); UNSUPPORTED("c9o8hr6x8n5dty1y3eej1fept"); // case AGINEDGE: UNSUPPORTED("a6ls4lkgjoheqwo2e7yqt9zz8"); // case AGOUTEDGE: UNSUPPORTED("5g9ficurorxyixy3ipj7d410l"); // return agdeledge(g, obj); UNSUPPORTED("eyna33dobiebmtd0nihpgura4"); // case AGRAPH: UNSUPPORTED("bbhf83j2cbqobo0q3vhbqmjnt"); // return agclose(obj); UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("23wxcrpaiuw9ahrx92r6h8z42"); // agerr(AGERR, "agdelete on bad object"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6z6pjcdqmwle9axtu8m7zzsbc"); // return 0; /* not reached */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 beny4i1ucvryk03o1m3x4mo1o // int agrename(Agobj_t * obj, char *newname) public static Object agrename(Object... arg) { UNSUPPORTED("7b62oxoln2q7p4wdewli878zt"); // int agrename(Agobj_t * obj, char *newname) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("cjioztm3ayr9deoc1btg630su"); // unsigned long old_id, new_id; UNSUPPORTED("3kwdmn4ezymvab9oercol2gfj"); // switch (AGTYPE(obj)) { UNSUPPORTED("eyna33dobiebmtd0nihpgura4"); // case AGRAPH: UNSUPPORTED("6bhsf6u3syvq4i1b3afpo0tcl"); // old_id = AGID(obj); UNSUPPORTED("46q8c52lbrpze2lfwf32dvmxs"); // g = agraphof(obj); UNSUPPORTED("erenne373dge3axb6rjm1fe2n"); // /* can we reserve the id corresponding to newname? */ UNSUPPORTED("daa8h6fs7x6psvrayyh4ajdxx"); // if (agmapnametoid(agroot(g), AGTYPE(obj), newname, UNSUPPORTED("6eajcdkt2sqkuzinzzpg892gl"); // &new_id, (0)) == 0) UNSUPPORTED("aivfd7ajlfz8o8oi68d4u5s5z"); // return -1; UNSUPPORTED("d0w95irsvkkzxory1vu3oibja"); // if (new_id == old_id) UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("daa8h6fs7x6psvrayyh4ajdxx"); // if (agmapnametoid(agroot(g), AGTYPE(obj), newname, UNSUPPORTED("4nvglmcaimqliy54ir51j81yx"); // &new_id, (!(0))) == 0) UNSUPPORTED("aivfd7ajlfz8o8oi68d4u5s5z"); // return -1; UNSUPPORTED("eaoz5g3p9152utcqjz5d2fgdf"); // /* obj* is unchanged, so no need to re agregister() */ UNSUPPORTED("6vyma7idxllhf3a3xbklkk7kv"); // if (agparent(g) && agidsubg(agparent(g), new_id, 0)) UNSUPPORTED("aivfd7ajlfz8o8oi68d4u5s5z"); // return -1; UNSUPPORTED("192p8yjash0gcaukx3zukgl4h"); // agfreeid(g, AGRAPH, old_id); UNSUPPORTED("beefe1mg4aug53iqxfnua8enw"); // AGID(g) = new_id; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("6x7ztvlgv763oeop84udp1egg"); // case AGNODE: UNSUPPORTED("73cww6u88cevoi6i0y8rfti15"); // return agrelabel_node((Agnode_t *) obj, newname); UNSUPPORTED("bh5gwywn5664iko5vqzvd45x4"); // agrename(obj, newname); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("c9o8hr6x8n5dty1y3eej1fept"); // case AGINEDGE: UNSUPPORTED("a6ls4lkgjoheqwo2e7yqt9zz8"); // case AGOUTEDGE: UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c4ft3rxx9au29a2ns2nhod4dn // void agmethod_init(Agraph_t * g, void *obj) public static void agmethod_init(ST_Agraph_s g, __ptr__ obj) { ENTERING("c4ft3rxx9au29a2ns2nhod4dn","agmethod_init"); try { if (g.clos.callbacks_enabled) aginitcb(g, obj, (Agcbstack_s) g.clos.cb); else agrecord_callback(g, obj, 100, null); } finally { LEAVING("c4ft3rxx9au29a2ns2nhod4dn","agmethod_init"); } } //3 eobcsheti70b9gzoi3z968zev // void aginitcb(Agraph_t * g, void *obj, Agcbstack_t * cbstack) public static void aginitcb(ST_Agraph_s g, __ptr__ obj, Agcbstack_s cbstack) { ENTERING("eobcsheti70b9gzoi3z968zev","aginitcb"); try { agobjfn_t fn; if (cbstack == null) return; UNSUPPORTED("cv6tr3wc0y2e3s7hrj040fbgz"); // aginitcb(g, obj, cbstack->prev); UNSUPPORTED("ugu810574xlbrchajuiqvlbj"); // fn = ((agobjfn_t)0); UNSUPPORTED("afk5q8b9fd4sednpczh6r1eg9"); // switch (((((Agobj_t*)(obj))->tag).objtype)) { UNSUPPORTED("70xjc0sbkjvexfar5luzibcgf"); // case 0: UNSUPPORTED("33rj0o79bxra63omicn33shh1"); // fn = cbstack->f->graph.ins; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("d0gk15gzj4wz8nv54zbr285hm"); // case 1: UNSUPPORTED("43opp5hvwaad6urofp737fx95"); // fn = cbstack->f->node.ins; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("4u5xz2u3urj13y0aw30fdyup5"); // case 2: UNSUPPORTED("7k5xv2n0vdcq7e1h7c511n2vt"); // fn = cbstack->f->edge.ins; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b9a2u7luojz68ys0qfhdssxc5"); // if (fn) UNSUPPORTED("d6swsvu9o2h2ajgawq3fidg54"); // fn(g, obj, cbstack->state); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("eobcsheti70b9gzoi3z968zev","aginitcb"); } } //3 29p743rx2pw81slkoaayfeael // void agmethod_upd(Agraph_t * g, void *obj, Agsym_t * sym) public static void agmethod_upd(ST_Agraph_s g, __ptr__ obj, ST_Agsym_s sym) { ENTERING("29p743rx2pw81slkoaayfeael","agmethod_upd"); try { if (g.clos.callbacks_enabled) agupdcb(g, obj, sym, (Agcbstack_s) g.clos.cb); else agrecord_callback(g, obj, 101, sym); } finally { LEAVING("29p743rx2pw81slkoaayfeael","agmethod_upd"); } } //3 8t9rkcpdvmxph6krjvfmz3s51 // void agupdcb(Agraph_t * g, void *obj, Agsym_t * sym, Agcbstack_t * cbstack) public static void agupdcb(ST_Agraph_s g, __ptr__ obj, ST_Agsym_s sym, Agcbstack_s cbstack) { ENTERING("8t9rkcpdvmxph6krjvfmz3s51","agupdcb"); try { agobjupdfn_t fn; if (cbstack == null) return; UNSUPPORTED("7xps60r7235mbe5tshsk48gqu"); // agupdcb(g, obj, sym, cbstack->prev); UNSUPPORTED("coxarw2y9j5pc184wun1hzqh4"); // fn = ((agobjupdfn_t)0); UNSUPPORTED("afk5q8b9fd4sednpczh6r1eg9"); // switch (((((Agobj_t*)(obj))->tag).objtype)) { UNSUPPORTED("70xjc0sbkjvexfar5luzibcgf"); // case 0: UNSUPPORTED("edztg04z181ml2fb23vg86p4"); // fn = cbstack->f->graph.mod; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("d0gk15gzj4wz8nv54zbr285hm"); // case 1: UNSUPPORTED("dt0aez1qarpjppkqak7liv45r"); // fn = cbstack->f->node.mod; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("4u5xz2u3urj13y0aw30fdyup5"); // case 2: UNSUPPORTED("dw5h49n9x5t8rmlgpk6lvanem"); // fn = cbstack->f->edge.mod; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b9a2u7luojz68ys0qfhdssxc5"); // if (fn) UNSUPPORTED("ecckhw6badvki2tacvj1ch4bu"); // fn(g, obj, cbstack->state, sym); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("8t9rkcpdvmxph6krjvfmz3s51","agupdcb"); } } //3 ejz0zke1kl32wjhs6y52llib0 // void agmethod_delete(Agraph_t * g, void *obj) public static Object agmethod_delete(Object... arg) { UNSUPPORTED("6y7r2ytsjwcyj4if496cwdjjp"); // void agmethod_delete(Agraph_t * g, void *obj) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4rvy8xnzxoccnwfcit2isk96h"); // if (g->clos->callbacks_enabled) UNSUPPORTED("ado8gbbdmkf8owwnknnthuzq0"); // agdelcb(g, obj, g->clos->cb); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("do5egp79i4bb6mod85t9nr77i"); // agrecord_callback(g, obj, 102, ((Agsym_t*)0)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 78ludy47c4yx2luf78lkk42z8 // void agdelcb(Agraph_t * g, void *obj, Agcbstack_t * cbstack) public static Object agdelcb(Object... arg) { UNSUPPORTED("1r4i928dlzzl0gpzpersr9rt7"); // void agdelcb(Agraph_t * g, void *obj, Agcbstack_t * cbstack) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f58pg7odheiwpqukdszo4ojxe"); // agobjfn_t fn; UNSUPPORTED("evtudqllt7mv38ny577gwtz4q"); // if (cbstack == ((Agcbstack_t *)0)) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("49guj1vkw5luz54hl17unr7cg"); // agdelcb(g, obj, cbstack->prev); UNSUPPORTED("ugu810574xlbrchajuiqvlbj"); // fn = ((agobjfn_t)0); UNSUPPORTED("3kwdmn4ezymvab9oercol2gfj"); // switch (AGTYPE(obj)) { UNSUPPORTED("eyna33dobiebmtd0nihpgura4"); // case AGRAPH: UNSUPPORTED("dmw30r6pv5ptb6ffpgbo1hom8"); // fn = cbstack->f->graph.del; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("6x7ztvlgv763oeop84udp1egg"); // case AGNODE: UNSUPPORTED("c7rd727688cteu7m0deevr0c1"); // fn = cbstack->f->node.del; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("2dqikmmb6ag0anvbzo5tybf1r"); // case AGEDGE: UNSUPPORTED("ht500g7ljjhniqaq4c7hp6zm"); // fn = cbstack->f->edge.del; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b9a2u7luojz68ys0qfhdssxc5"); // if (fn) UNSUPPORTED("d6swsvu9o2h2ajgawq3fidg54"); // fn(g, obj, cbstack->state); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 53858x47ifwq7ldf9ukvpdc5r // Agraph_t *agroot(void* obj) public static ST_Agraph_s agroot(__ptr__ obj) { ENTERING("53858x47ifwq7ldf9ukvpdc5r","agroot"); try { switch (AGTYPE(obj)) { case AGINEDGE: case AGOUTEDGE: return (ST_Agraph_s) ((ST_Agedge_s)obj.castTo(ST_Agedge_s.class)).node.root; case AGNODE: return (ST_Agraph_s) ((ST_Agnode_s)obj.castTo(ST_Agnode_s.class)).root; case AGRAPH: return (ST_Agraph_s) ((ST_Agraph_s)obj.castTo(ST_Agraph_s.class)).root; default: /* actually can't occur if only 2 bit tags */ System.err.println("agroot of a bad object"); return null; } } finally { LEAVING("53858x47ifwq7ldf9ukvpdc5r","agroot"); } } //3 brxx6qho8cw09dg7o27lc7c6z // Agraph_t *agraphof(void *obj) public static ST_Agraph_s agraphof(__ptr__ obj) { ENTERING("brxx6qho8cw09dg7o27lc7c6z","agraphof"); try { switch (AGTYPE(obj)) { case AGINEDGE: case AGOUTEDGE: return (ST_Agraph_s) ((ST_Agedge_s)obj.castTo(ST_Agedge_s.class)).node.root.castTo(ST_Agraph_s.class); case AGNODE: return (ST_Agraph_s) ((ST_Agnode_s)obj.castTo(ST_Agnode_s.class)).root.castTo(ST_Agraph_s.class); case AGRAPH: return (ST_Agraph_s) obj.castTo(ST_Agraph_s.class); default: /* actually can't occur if only 2 bit tags */ System.err.println("agraphof a bad object"); return null; } } finally { LEAVING("brxx6qho8cw09dg7o27lc7c6z","agraphof"); } } //3 69nqqbr1rod9mgh62okni1oad // void agpushdisc(Agraph_t * g, Agcbdisc_t * cbd, void *state) public static Object agpushdisc(Object... arg) { UNSUPPORTED("cjczq9f29j6pc2upzc84528li"); // void agpushdisc(Agraph_t * g, Agcbdisc_t * cbd, void *state) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1zz0va4dgarmwtr54f41ny6ep"); // Agcbstack_t *stack_ent; UNSUPPORTED("e78wtj8j0f1j2pj8qkxr6rmah"); // stack_ent = ((Agcbstack_t*)(agalloc(g,sizeof(Agcbstack_t)))); UNSUPPORTED("l45frjjz3xaewezkndogwwdl"); // stack_ent->f = cbd; UNSUPPORTED("a7fydebz14wgtgsdgcbk47xbh"); // stack_ent->state = state; UNSUPPORTED("3m8erap924ma44o2eehvy06g9"); // stack_ent->prev = g->clos->cb; UNSUPPORTED("5y8aaijkgasby7ijmcat25ch7"); // g->clos->cb = stack_ent; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2v86foeia3dqpw9r50vioh1g1 // int agpopdisc(Agraph_t * g, Agcbdisc_t * cbd) public static Object agpopdisc(Object... arg) { UNSUPPORTED("779wduvcdcw9g5ldu82jdwlr0"); // int agpopdisc(Agraph_t * g, Agcbdisc_t * cbd) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1zz0va4dgarmwtr54f41ny6ep"); // Agcbstack_t *stack_ent; UNSUPPORTED("3ytu4cno18uw06z7dh1w52rxb"); // stack_ent = g->clos->cb; UNSUPPORTED("811oimiu4ldzfuv78w6eictam"); // if (stack_ent) { UNSUPPORTED("csgw4fukha77kldy7blppfigk"); // if (stack_ent->f == cbd) UNSUPPORTED("9ijeaaarq6dcl8wjmum8mpkdl"); // g->clos->cb = stack_ent->prev; UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("36abb5zemj483qnasuoyx3cm8"); // while (stack_ent && (stack_ent->prev->f != cbd)) UNSUPPORTED("d88q78r1snlry24g7fv6r1s6l"); // stack_ent = stack_ent->prev; UNSUPPORTED("2fiyg59a40jxjgiy8ukb4pl8q"); // if (stack_ent && stack_ent->prev) UNSUPPORTED("eyr2q7dj98xk08fwf7mna4oab"); // stack_ent->prev = stack_ent->prev->prev; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("b04xm15d95y51ybg4xjc6ldgb"); // if (stack_ent) { UNSUPPORTED("8fbzjhtu9d5u96240285dcdh5"); // agfree(g, stack_ent); UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8azkpi8o0wzdufa90lw8hpt6q"); // return -1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a6xpy2adrht1nhb4hi85ex02s // void *aggetuserptr(Agraph_t * g, Agcbdisc_t * cbd) public static Object aggetuserptr(Object... arg) { UNSUPPORTED("73eofxl7fdezesezfrckc4bgx"); // void *aggetuserptr(Agraph_t * g, Agcbdisc_t * cbd) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1zz0va4dgarmwtr54f41ny6ep"); // Agcbstack_t *stack_ent; UNSUPPORTED("2yjmkfk0h1wnw98ga8d0tz93x"); // for (stack_ent = g->clos->cb; stack_ent; stack_ent = stack_ent->prev) UNSUPPORTED("csgw4fukha77kldy7blppfigk"); // if (stack_ent->f == cbd) UNSUPPORTED("6cih8jl2vq8k0dbeiwp44mpgs"); // return stack_ent->state; UNSUPPORTED("3fyiqswglr6w96ojb2huillz0"); // return ((void *)0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 91ej8cxcc0kzgkg2yk3pdiifs // int agcontains(Agraph_t* g, void* obj) public static boolean agcontains(ST_Agraph_s g, __ptr__ obj) { ENTERING("91ej8cxcc0kzgkg2yk3pdiifs","agcontains"); try { ST_Agraph_s subg; if (NEQ(agroot(g), agroot(obj))) return false; switch (AGTYPE(obj)) { case AGRAPH: UNSUPPORTED("5fyr1r26q15uog4pl9eo2iohc"); // subg = (Agraph_t *) obj; UNSUPPORTED("8vxyvy38lzpbd83cu26nejaan"); // do { UNSUPPORTED("dqlpdwxfm3o0e4atzaam04f9m"); // if (subg == g) return 1; UNSUPPORTED("4oqg7vqjjx3n3761fp7f2xld9"); // } while ((subg = agparent (subg))); UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; case AGNODE: return (agidnode(g, AGID(obj), 0) != null); default: return (agsubedge(g, (ST_Agedge_s) obj, false) != null); } } finally { LEAVING("91ej8cxcc0kzgkg2yk3pdiifs","agcontains"); } } //3 bbe1e9wqmcr8dz9pswpxff0fr // int agobjkind(void *arg) public static int agobjkind(__ptr__ arg) { ENTERING("bbe1e9wqmcr8dz9pswpxff0fr","agobjkind"); try { return AGTYPE(arg); } finally { LEAVING("bbe1e9wqmcr8dz9pswpxff0fr","agobjkind"); } } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/pend__c.java000066400000000000000000000526751340005343600221060ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static smetana.core.Macro.UNSUPPORTED; public class pend__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 6ayavpu39aihwyojkx093pcy3 // extern Agraph_t *Ag_G_global //1 871mxtg9l6ffpxdl9kniwusf7 // extern char *AgDataRecName //1 c0o2kmml0tn6hftuwo0u4shwd // extern Dtdisc_t Ag_subnode_id_disc //1 8k15pyu256unm2kpd9zf5pf7k // extern Dtdisc_t Ag_subnode_seq_disc //1 e3d820y06gpeusn6atgmj8bzd // extern Dtdisc_t Ag_mainedge_id_disc //1 cbr0772spix9h1aw7h5v7dv9j // extern Dtdisc_t Ag_subedge_id_disc //1 akd0c3v0j7m2npxcb9acit1fa // extern Dtdisc_t Ag_mainedge_seq_disc //1 12d8la07351ww7vwfzucjst8m // extern Dtdisc_t Ag_subedge_seq_disc //1 29eokk7v88e62g8o6lizmo967 // extern Dtdisc_t Ag_subgraph_id_disc //1 4xd9cbgy6hk5g6nhjcbpzkx14 // extern Agcbdisc_t AgAttrdisc //1 bj2qizrlot8l7g39wf35fgzl0 // static char DRName[] = //3 byhbwh2n3ga4l1qwnurcynxym // static void free_symlist(pending_cb_t * pcb) public static Object free_symlist(Object... arg) { UNSUPPORTED("3ghvg7ys2fzlmdd0nfqzopisv"); // static void free_symlist(pending_cb_t * pcb) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9bftq5sqxua9mxfb8hmhxzg2q"); // symlist_t *s, *t; UNSUPPORTED("d46bm1zp2r99pr5sekx09iv0i"); // for (s = pcb->symlist; s; s = t) { UNSUPPORTED("4jrxgo85m58bkfh3hxfk13uos"); // t = s->link; UNSUPPORTED("72av5d8v9cfk2h37srkqv1uat"); // agfree(pcb->g, s); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1x8gmra18kgia8023n42trx6s // static void freef(Dict_t * dict, void *ptr, Dtdisc_t * disc) public static Object freef(Object... arg) { UNSUPPORTED("ctg6vmef59dajuf3reb8gedms"); // static void freef(Dict_t * dict, void *ptr, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7h0bo0mbb4u8n1kgtx80jowvh"); // pending_cb_t *pcb; UNSUPPORTED("nzl57bfl5onx7q9ge19n2k9i"); // (void) dict; UNSUPPORTED("8l8wg6vltx6d7vc9dzqb6n3wi"); // (void) disc; UNSUPPORTED("djuag49lm4jgx0aqda2sd65a1"); // pcb = ptr; UNSUPPORTED("62a5d439fs66zkm53lsemzmq8"); // free_symlist(pcb); UNSUPPORTED("2zg02hc6tgna447luar3ns180"); // agfree(pcb->g, pcb); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 x0a4r5rzqmzzzm9o3p61nvtr // static Dtdisc_t Disc = //3 cvwttyefig4x3yibqx8zu9rpg // static Dict_t *dictof(pendingset_t * ds, Agobj_t * obj, int kind) public static Object dictof(Object... arg) { UNSUPPORTED("9138xlja2ni7mmvi0cd4temyb"); // static Dict_t *dictof(pendingset_t * ds, Agobj_t * obj, int kind) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eqjiveikrw2zx745yiiyht6vw"); // Dict_t **dict_ref = ((Dict_t **)0); UNSUPPORTED("b4w701cfbvm8763b1ev8g1ex7"); // dict_ref = 0; UNSUPPORTED("3kwdmn4ezymvab9oercol2gfj"); // switch (AGTYPE(obj)) { UNSUPPORTED("eyna33dobiebmtd0nihpgura4"); // case AGRAPH: UNSUPPORTED("9ty5l2g646lrkxz43tcnhcsk8"); // switch (kind) { UNSUPPORTED("810zm8iq00e0qe3ufq37krysb"); // case 100: UNSUPPORTED("2hwqeumfwxs1e0upar3vbq4nc"); // dict_ref = &(ds->ins.g); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("bngxmwnk2d1645cpp43uwhtl6"); // case 101: UNSUPPORTED("1q1ztoxzgyzwgr4jcwhuslpsw"); // dict_ref = &(ds->mod.g); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("2apxm1u469oyhhgobmwbfoleb"); // case 102: UNSUPPORTED("8baz75germhhy9zanv3jproia"); // dict_ref = &(ds->del.g); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("6x7ztvlgv763oeop84udp1egg"); // case AGNODE: UNSUPPORTED("9ty5l2g646lrkxz43tcnhcsk8"); // switch (kind) { UNSUPPORTED("810zm8iq00e0qe3ufq37krysb"); // case 100: UNSUPPORTED("ak9q47vro9e3hyi3b48m6oayw"); // dict_ref = &(ds->ins.n); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("bngxmwnk2d1645cpp43uwhtl6"); // case 101: UNSUPPORTED("6s9z1yizct0zn7ogttlk7ulgl"); // dict_ref = &(ds->mod.n); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("2apxm1u469oyhhgobmwbfoleb"); // case 102: UNSUPPORTED("8srlv0pjbuwg9piqb76f6ckgg"); // dict_ref = &(ds->del.n); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("2dqikmmb6ag0anvbzo5tybf1r"); // case AGEDGE: UNSUPPORTED("9ty5l2g646lrkxz43tcnhcsk8"); // switch (kind) { UNSUPPORTED("810zm8iq00e0qe3ufq37krysb"); // case 100: UNSUPPORTED("33s6jomznpvcrcdm623n28bfj"); // dict_ref = &(ds->ins.e); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("bngxmwnk2d1645cpp43uwhtl6"); // case 101: UNSUPPORTED("1xjaty06eacmjpx6128a9zehr"); // dict_ref = &(ds->mod.e); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("2apxm1u469oyhhgobmwbfoleb"); // case 102: UNSUPPORTED("bwwv85v1novxf8cb8fb5db9ca"); // dict_ref = &(ds->del.e); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5823wtehbd6fnifcjphi991ku"); // if (dict_ref == 0) UNSUPPORTED("d603rhqrsr824tmeeh3ka13ay"); // agerr(AGERR, "pend dictof a bad object"); UNSUPPORTED("mfln6dqp0s7q0ge06fgytl5e"); // if (*dict_ref == ((Dict_t *)0)) UNSUPPORTED("7xhphlz4zrlp0grcf6qhyhbs9"); // *dict_ref = agdtopen(agraphof(obj), &Disc, Dttree); UNSUPPORTED("u3n3bhd98nuoggmwzgri71gl"); // return *dict_ref; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9u07pj11z97vzx0rdu35dy5b6 // static unsigned long genkey(Agobj_t * obj) public static Object genkey(Object... arg) { UNSUPPORTED("6wrgawykukpwhj0d0ha4mzab4"); // static unsigned long genkey(Agobj_t * obj) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjfznj5lzu9m7zqyasnsrwbf2"); // return obj->tag.id; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d1eeyb9xae1m5jodp0tq4maaw // static pending_cb_t *lookup(Dict_t * dict, Agobj_t * obj) public static Object lookup(Object... arg) { UNSUPPORTED("94gs9x3we2rbx577uw4x9elm2"); // static pending_cb_t *lookup(Dict_t * dict, Agobj_t * obj) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ax1ryj3kmzi5zm6783ja9ih6x"); // pending_cb_t key, *rv; UNSUPPORTED("544ezj0y7pdit8iverci40kga"); // key.key = genkey(obj); UNSUPPORTED("18llpwj4oe5hlfhtvsvgs3jhs"); // rv = (pending_cb_t *) (*(((Dt_t*)(dict))->searchf))((dict),(void*)(&key),0000004); UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 f35guneihrs1ux86uvf6heyj6 // static void record_sym(Agobj_t * obj, pending_cb_t * handle, Agsym_t * optsym) public static Object record_sym(Object... arg) { UNSUPPORTED("bl646bfryeajicgd7718m70ed"); // static void record_sym(Agobj_t * obj, pending_cb_t * handle, UNSUPPORTED("amek1l9br0si8a9jvgv8v9jkb"); // Agsym_t * optsym) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6bzyvowe7bryc6qdmgi370qn7"); // symlist_t *sym, *nsym, *psym; UNSUPPORTED("ctsjwn3br9xwmmxp1cj8a1xna"); // psym = ((symlist_t *)0); UNSUPPORTED("6ev04nyvxz485q6jxxp3kcdw4"); // for (sym = handle->symlist; sym; psym = sym, sym = sym->link) { UNSUPPORTED("1lpm2d7z85os1n26xf8u21n8v"); // if (sym->sym == optsym) UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("8gekjn0vgy99mxgi05y3qlbyu"); // if (sym == ((symlist_t *)0)) { UNSUPPORTED("36okqfroya4wcmu1x0sj9mrb1"); // nsym = agalloc(agraphof(obj), sizeof(symlist_t)); UNSUPPORTED("9vb4tlfn94icfq124umj7h911"); // nsym->sym = optsym; UNSUPPORTED("dspsfdiz9pa70d0vxohcf78zh"); // if (psym) UNSUPPORTED("1iisscyro6w5nimneyxg2nkc1"); // psym->link = nsym; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("arj8etqo9ydjttbgwlyuzw1so"); // handle->symlist = nsym; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1jnrk8qfwrllk59230ucju7zi"); // /* else we already have a callback registered */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bjiqwdwumf3dnt54kft0r6k0d // static pending_cb_t *insert(Dict_t * dict, Agraph_t * g, Agobj_t * obj, Agsym_t * optsym) public static Object insert(Object... arg) { UNSUPPORTED("ckcre9wwmah3rfq66mljy5lh"); // static pending_cb_t *insert(Dict_t * dict, Agraph_t * g, Agobj_t * obj, UNSUPPORTED("a2kv73jmjelhmpqkjs8m1xjhw"); // Agsym_t * optsym) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3e5oj67wvvqnpkv5irik2w6v7"); // pending_cb_t *handle; UNSUPPORTED("29wguik0zbbb7k4ia4e4kfyf0"); // handle = agalloc(agraphof(obj), sizeof(pending_cb_t)); UNSUPPORTED("eez1cohkjcwwmfkyjvquaox4j"); // handle->obj = obj; UNSUPPORTED("cg45tb5zuauhpymb2endkpc8b"); // handle->key = genkey(obj); UNSUPPORTED("5hw81md0srbu4w1mw7zzd228n"); // handle->g = g; UNSUPPORTED("3435d1m4kdvqjqisp1szhzggt"); // if (optsym) { UNSUPPORTED("3vhegt7tveybev1z9qn912d8h"); // handle->symlist = UNSUPPORTED("58fxzmz6790e5kheou6gwbjuy"); // (symlist_t *) agalloc(handle->g, sizeof(symlist_t)); UNSUPPORTED("4wf4lv7owe4aqtbj66fyecrd9"); // handle->symlist->sym = optsym; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("50g9bd087vz9ymko5m8ahciu7"); // (*(((Dt_t*)(dict))->searchf))((dict),(void*)(handle),0000001); UNSUPPORTED("22ih9lygwn3tv1nppqxyjuzr3"); // return handle; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6xukd3ssn86gjgbed1tgfj2d3 // static void purge(Dict_t * dict, Agobj_t * obj) public static Object purge(Object... arg) { UNSUPPORTED("5e5swvwz1c1vwauwkpqhyba29"); // static void purge(Dict_t * dict, Agobj_t * obj) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3e5oj67wvvqnpkv5irik2w6v7"); // pending_cb_t *handle; UNSUPPORTED("5ukc6nwtmlh7xz8dd5ydc0w2d"); // if ((handle = lookup(dict, obj))) { UNSUPPORTED("yc3nu6vucdrte81w14a2gsy6"); // (*(((Dt_t*)(dict))->searchf))((dict),(void*)(handle),0000002); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 77vpxparxzmm27mmm1mqs0m0y // void agrecord_callback(Agraph_t * g, Agobj_t * obj, int kind, Agsym_t * optsym) public static Object agrecord_callback(Object... arg) { UNSUPPORTED("8kh7tdu40e0f5hui0hcx3ojw"); // void agrecord_callback(Agraph_t * g, Agobj_t * obj, int kind, UNSUPPORTED("amek1l9br0si8a9jvgv8v9jkb"); // Agsym_t * optsym) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("33vdvvs3uqbdtg7b1fuiy1r22"); // pendingset_t *pending; UNSUPPORTED("do2ldsjj56m49f95rq76qxpq8"); // Dict_t *dict; UNSUPPORTED("3e5oj67wvvqnpkv5irik2w6v7"); // pending_cb_t *handle; UNSUPPORTED("ers4ys5zwhwnecpeo7f50pdlk"); // pending = UNSUPPORTED("clm1anc67pw03dsc0fl3qb7p0"); // (pendingset_t *) agbindrec(g, DRName, sizeof(pendingset_t), (0)); UNSUPPORTED("elb9jvgldg2htymh7c74smj7o"); // switch (kind) { UNSUPPORTED("e19luzlumlv4ceyibjghgitjk"); // case 100: UNSUPPORTED("bt8qt5d94yexozgdbv5sspmm4"); // ; UNSUPPORTED("bt8qt5d94yexozgdbv5sspmm4"); // ; UNSUPPORTED("bh8r0ah5bdhy9b8fguergxls8"); // dict = dictof(pending, obj, 100); UNSUPPORTED("8w10gh957jzwdh6u4cu779pov"); // handle = lookup(dict, obj); UNSUPPORTED("3niic65nul5y025zfu6sofbvs"); // if (handle == 0) UNSUPPORTED("3dk7uy243d9xxq8o4v964pmlw"); // handle = insert(dict, g, obj, optsym); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8q5omndta1qpcentw63h413zf"); // case 101: UNSUPPORTED("16zt5ri5is42floscnatxr9y0"); // if (lookup(dictof(pending, obj, 100), obj)) UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("7fgyme1271lzkag7zfllc0tew"); // if (lookup(dictof(pending, obj, 102), obj)) UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("b8ce64b0yiy7uu0nuusdpn8mm"); // dict = dictof(pending, obj, 101); UNSUPPORTED("8w10gh957jzwdh6u4cu779pov"); // handle = lookup(dict, obj); UNSUPPORTED("3niic65nul5y025zfu6sofbvs"); // if (handle == 0) UNSUPPORTED("3dk7uy243d9xxq8o4v964pmlw"); // handle = insert(dict, g, obj, optsym); UNSUPPORTED("a0edh2s4u2bcccyz9l2ipltzh"); // record_sym(obj, handle, optsym); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("e1sxtr2029u6bg4eodqye5nam"); // case 102: UNSUPPORTED("3xn39mhl4qgpevnmfeihn3yfl"); // purge(dictof(pending, obj, 100), obj); UNSUPPORTED("ay7yim5iyu0h1rmxxq1j0yiew"); // purge(dictof(pending, obj, 101), obj); UNSUPPORTED("eva458xjr00pr4dd58xrsr3wo"); // dict = dictof(pending, obj, 102); UNSUPPORTED("8w10gh957jzwdh6u4cu779pov"); // handle = lookup(dict, obj); UNSUPPORTED("3niic65nul5y025zfu6sofbvs"); // if (handle == 0) UNSUPPORTED("3dk7uy243d9xxq8o4v964pmlw"); // handle = insert(dict, g, obj, optsym); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("75q0u8gexnc6ds09pnl8xopt8"); // agerr(AGERR,"agrecord_callback of a bad object"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 74sr5sunzimzs4dop6e56ylqr // static void cb(Dict_t * dict, int callback_kind) public static Object cb(Object... arg) { UNSUPPORTED("8z1461yc2ld1pp01ko4qua5ob"); // static void cb(Dict_t * dict, int callback_kind) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7h0bo0mbb4u8n1kgtx80jowvh"); // pending_cb_t *pcb; UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("9b8mh1w2dngpzgm1scb1wfpye"); // symlist_t *psym; UNSUPPORTED("15pj3yh4siiqcsheonjvz1mx8"); // Agcbstack_t *stack; UNSUPPORTED("bp0izcgie71mfs126puvdrlbx"); // if (dict) UNSUPPORTED("ej98wudw2r9gkiyfxn9xxigrt"); // while ((pcb = (pending_cb_t *) (*(((Dt_t*)(dict))->searchf))((dict),(void*)(0),0000200))) { UNSUPPORTED("ayk3fo7kzma7tc03v9cwyeywf"); // g = pcb->g; UNSUPPORTED("2erj8yjubziu78llrxii8x4yg"); // stack = g->clos->cb; UNSUPPORTED("e2iafleiimg0ngh48vlbjxt23"); // switch (callback_kind) { UNSUPPORTED("y95xe2zitvsk8mj6351b8flm"); // case 100: UNSUPPORTED("3jiyh0mmbmn3uhj3908tbpie0"); // aginitcb(g, pcb->obj, stack); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("24arz42murckghjk31a75ogis"); // case 101: UNSUPPORTED("blbqsjlrg598r1c76k0texydb"); // for (psym = pcb->symlist; psym; psym = psym->link) UNSUPPORTED("dgcqq6caargha2kk43yjiaj5m"); // agupdcb(g, pcb->obj, psym->sym, stack); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("bhzbbcptdhj38ktjb1z72wms"); // case 102: UNSUPPORTED("dhguembbxuyq68vjvlcqwdunu"); // agdelcb(g, pcb->obj, stack); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("1cpmxba68c8jjtr1ixpbt2u0m"); // (*(((Dt_t*)(dict))->searchf))((dict),(void*)(pcb),0000002); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e7sb9ozah1m8hcgr0r26yztet // static void agrelease_callbacks(Agraph_t * g) public static Object agrelease_callbacks(Object... arg) { UNSUPPORTED("6nqqqrpb95kihyqznxyew5ax6"); // static void agrelease_callbacks(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("33vdvvs3uqbdtg7b1fuiy1r22"); // pendingset_t *pending; UNSUPPORTED("109uv6don6ixsje9elqwf9qsc"); // if (NOT(g->clos->callbacks_enabled)) { UNSUPPORTED("chkm1ywwa767f299jp5hf2czq"); // g->clos->callbacks_enabled = (!(0)); UNSUPPORTED("5nn4qm7qly2eoqt2nhd0qp1ax"); // pending = UNSUPPORTED("52ejby4ynlmeb6idvqokzv2vz"); // (pendingset_t *) agbindrec(g, DRName, sizeof(pendingset_t), UNSUPPORTED("vul4crxzo1grmvirrvyll0rn"); // (0)); UNSUPPORTED("ndlj5c2crpsdx40llb9kpwpd"); // /* this destroys objects in the opposite of their order of creation */ UNSUPPORTED("6eurcgx2i2nlon27osmls3rmf"); // cb(pending->ins.g, 100); UNSUPPORTED("f3h4fhpy0i0o57b8gan6wviec"); // cb(pending->ins.n, 100); UNSUPPORTED("896p1o8puht55ta71to18bnvt"); // cb(pending->ins.e, 100); UNSUPPORTED("3yjst8zxgjiz3m39d11jhdexq"); // cb(pending->mod.g, 101); UNSUPPORTED("c0nntfbln34a6kp05jv42mc4g"); // cb(pending->mod.n, 101); UNSUPPORTED("cgqeodbnfbdjj8jt2zu78u0s3"); // cb(pending->mod.e, 101); UNSUPPORTED("9q2lzuakve6bzn35qu41h2l5m"); // cb(pending->del.e, 102); UNSUPPORTED("36f1ppow3wgi52nohrx3663mo"); // cb(pending->del.n, 102); UNSUPPORTED("n1f5rekeo8jd5m5ld7nhw6q"); // cb(pending->del.g, 102); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8uhdzlydn56607gimdrofjtex // int agcallbacks(Agraph_t * g, int flag) public static Object agcallbacks(Object... arg) { UNSUPPORTED("6grr09xacc6khqaw6ho0nky79"); // int agcallbacks(Agraph_t * g, int flag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("27jtm5gi92jvwfaaa1sctuyo"); // if (flag && NOT(g->clos->callbacks_enabled)) UNSUPPORTED("4d5l812q1evpgwdyqtg3thjc6"); // agrelease_callbacks(g); UNSUPPORTED("9h26u2rih6iwnene5rc4w674d"); // if (g->clos->callbacks_enabled) { UNSUPPORTED("1asmx0paikb7t6pd74mg7iux5"); // g->clos->callbacks_enabled = flag; UNSUPPORTED("3adr32h5e1fehu4g7j2u24asz"); // return (!(0)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2sr3ea519cwyuna7gtykf3u03"); // g->clos->callbacks_enabled = flag; UNSUPPORTED("297p5iu8oro94tdg9v29bbgiw"); // return (0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/rec__c.java000066400000000000000000000426631340005343600217250ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static gen.lib.cgraph.edge__c.agopp; import static gen.lib.cgraph.mem__c.agalloc; import static gen.lib.cgraph.obj__c.agraphof; import static gen.lib.cgraph.refstr__c.agstrdup; import static smetana.core.JUtils.EQ; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtils.strcmp; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.AGDATA; import static smetana.core.Macro.AGINEDGE; import static smetana.core.Macro.AGNODE; import static smetana.core.Macro.AGOUTEDGE; import static smetana.core.Macro.AGRAPH; import static smetana.core.Macro.AGTYPE; import static smetana.core.Macro.ASINT; import static smetana.core.Macro.N; import static smetana.core.Macro.NOT; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agedge_s; import h.ST_Agobj_s; import h.ST_Agraph_s; import h.ST_Agrec_s; import h.ST_Agtag_s; import smetana.core.CString; import smetana.core.__ptr__; import smetana.core.size_t; public class rec__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 6ayavpu39aihwyojkx093pcy3 // extern Agraph_t *Ag_G_global //1 871mxtg9l6ffpxdl9kniwusf7 // extern char *AgDataRecName //1 c0o2kmml0tn6hftuwo0u4shwd // extern Dtdisc_t Ag_subnode_id_disc //1 8k15pyu256unm2kpd9zf5pf7k // extern Dtdisc_t Ag_subnode_seq_disc //1 e3d820y06gpeusn6atgmj8bzd // extern Dtdisc_t Ag_mainedge_id_disc //1 cbr0772spix9h1aw7h5v7dv9j // extern Dtdisc_t Ag_subedge_id_disc //1 akd0c3v0j7m2npxcb9acit1fa // extern Dtdisc_t Ag_mainedge_seq_disc //1 12d8la07351ww7vwfzucjst8m // extern Dtdisc_t Ag_subedge_seq_disc //1 29eokk7v88e62g8o6lizmo967 // extern Dtdisc_t Ag_subgraph_id_disc //1 4xd9cbgy6hk5g6nhjcbpzkx14 // extern Agcbdisc_t AgAttrdisc //3 62z9z5vraa2as0c9t108j9xaf // static void set_data(Agobj_t * obj, Agrec_t * data, int mtflock) public static void set_data(ST_Agobj_s obj, ST_Agrec_s data, int mtflock) { ENTERING("62z9z5vraa2as0c9t108j9xaf","set_data"); try { ST_Agedge_s e; obj.setPtr("data", data); ((ST_Agtag_s)obj.tag).mtflock = mtflock; if ((AGTYPE(obj) == AGINEDGE) || (AGTYPE(obj) == AGOUTEDGE)) { e = (ST_Agedge_s) agopp(obj.castTo(ST_Agedge_s.class)); AGDATA(e, data); ((ST_Agtag_s)e.base.tag).mtflock = mtflock; } } finally { LEAVING("62z9z5vraa2as0c9t108j9xaf","set_data"); } } //3 7p2ne3oknmyclvsw4lh3axtd8 // Agrec_t *aggetrec(void *obj, char *name, int mtf) public static ST_Agrec_s aggetrec(__ptr__ obj, CString name, boolean mtf) { ENTERING("7p2ne3oknmyclvsw4lh3axtd8","aggetrec"); try { ST_Agobj_s hdr; ST_Agrec_s d, first; hdr = (ST_Agobj_s) obj.castTo(ST_Agobj_s.class); first = d = (ST_Agrec_s) hdr.data; while (d!=null) { if (N(strcmp(name,d.name))) break; d = (ST_Agrec_s) d.next; if (EQ(d, first)) { d = null; break; } } if (d!=null) { if (((ST_Agtag_s)hdr.tag).mtflock!=0) { if (mtf && NEQ(hdr.data, d)) System.err.println("move to front lock inconsistency"); } else { if (NEQ(d, first) || (mtf != ((((ST_Agtag_s)hdr.tag).mtflock)!=0))) set_data(hdr, d, ASINT(mtf)); /* Always optimize */ } } return d; } finally { LEAVING("7p2ne3oknmyclvsw4lh3axtd8","aggetrec"); } } //3 7sk4k5ipm2jnd244556g1kr6 // static void objputrec(Agraph_t * g, Agobj_t * obj, void *arg) public static void objputrec(ST_Agraph_s g, ST_Agobj_s obj, Object arg) { ENTERING("7sk4k5ipm2jnd244556g1kr6","objputrec"); try { ST_Agrec_s firstrec, newrec; newrec = (ST_Agrec_s) arg; firstrec = (ST_Agrec_s) obj.data; if (firstrec == null) newrec.next = newrec; /* 0 elts */ else { if (EQ(firstrec.next, firstrec)) { firstrec.next = newrec; /* 1 elt */ newrec.next = firstrec; } else { newrec.next = firstrec.next; firstrec.next = newrec; } } if (NOT(((ST_Agtag_s)obj.tag).mtflock)) set_data(obj, newrec, (0)); } finally { LEAVING("7sk4k5ipm2jnd244556g1kr6","objputrec"); } } //3 dmh5i83l15mnn1pnu6f5dfv8l // void *agbindrec(void *arg_obj, char *recname, unsigned int recsize, int mtf) public static __ptr__ agbindrec(__ptr__ arg_obj, CString recname, size_t recsize, boolean mtf) { ENTERING("dmh5i83l15mnn1pnu6f5dfv8l","agbindrec"); try { ST_Agraph_s g; ST_Agobj_s obj; ST_Agrec_s rec; obj = (ST_Agobj_s) arg_obj.castTo(ST_Agobj_s.class); g = agraphof(obj); rec = aggetrec(obj, recname, false); if ((rec == null && recsize.isStrictPositive())) { rec = (ST_Agrec_s) ((__ptr__)agalloc(g, recsize)).castTo(ST_Agrec_s.class); // rec = (Agrec_s) Memory.malloc(Agrec_s.class); rec.setPtr("name", agstrdup(g, recname)); switch (((ST_Agtag_s)obj.tag).objtype) { case AGRAPH: objputrec(g, obj, rec); break; case AGNODE: objputrec(g, obj, rec); break; case AGINEDGE: case AGOUTEDGE: objputrec(g, obj, rec); break; } } if (mtf) aggetrec(arg_obj, recname, (N(0))); return rec; } finally { LEAVING("dmh5i83l15mnn1pnu6f5dfv8l","agbindrec"); } } //3 7wkmd0z867cfhifu5sx3f9qk0 // static void objdelrec(Agraph_t * g, Agobj_t * obj, void *arg_rec) public static Object objdelrec(Object... arg) { UNSUPPORTED("50zcyap75kyq5dged87b27eux"); // static void objdelrec(Agraph_t * g, Agobj_t * obj, void *arg_rec) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("emb5aoborhmx7xgff2s0f32r7"); // Agrec_t *rec = (Agrec_t *) arg_rec, *newrec; UNSUPPORTED("a3ypwtn30jl38mmwqqe7cncxj"); // if (obj->data == rec) { UNSUPPORTED("69qy6kkaiflhbig0kizfx2tti"); // if (rec->next == rec) UNSUPPORTED("xd727mslmxprqxq2rm02c5d8"); // newrec = ((Agrec_t *)0); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("6w6e40pynrhr4cg19g4qnwmeg"); // newrec = rec->next; UNSUPPORTED("boyfn5td5ma9qwuqx4rb00zxn"); // set_data(obj, newrec, (0)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lrcdtq3amx34ixpjad1kj9w1 // static void listdelrec(Agobj_t * obj, Agrec_t * rec) public static Object listdelrec(Object... arg) { UNSUPPORTED("5vg9c18o4hibwg5a9p47ad9i"); // static void listdelrec(Agobj_t * obj, Agrec_t * rec) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8e7x54av78ukk2gkru2uv7n5t"); // Agrec_t *prev; UNSUPPORTED("acnbs96yxc5n81gdoim603six"); // prev = obj->data; UNSUPPORTED("j2ssgapam83gwl5s62grl1fg"); // while (prev->next != rec) { UNSUPPORTED("4l4pl9wqsuoczyfdlvmzj1gli"); // prev = prev->next; UNSUPPORTED("bt8qt5d94yexozgdbv5sspmm4"); // ; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1uagqrrdyb18p3s9qlqg8jwjj"); // /* following is a harmless no-op if the list is trivial */ UNSUPPORTED("erdqdxkn41xuppe0chxcrx73"); // prev->next = rec->next; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dr7dc2ebvb106hcsaxz6elhu9 // int agdelrec(void *arg_obj, char *name) public static Object agdelrec(Object... arg) { UNSUPPORTED("8scieaa3q398qeq2uv44asga1"); // int agdelrec(void *arg_obj, char *name) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("14h5et4t79wqu2qo8divf5tkt"); // Agobj_t *obj; UNSUPPORTED("146agbqco6st2hn1ajcek08r6"); // Agrec_t *rec; UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("ami3me63drun9ofwwmxainjy5"); // obj = (Agobj_t *) arg_obj; UNSUPPORTED("8pfuk9ua4x9bh68zk1kzwc5t9"); // g = agraphof(obj); UNSUPPORTED("dhmaidfkewgpedp1d73ef9yx5"); // rec = aggetrec(obj, name, (0)); UNSUPPORTED("epwrmjxhdofey6itrewqzilu0"); // if (rec) { UNSUPPORTED("q964zfpibwk1nuufmhbvhvz1"); // listdelrec(obj, rec); /* zap it from the circular list */ UNSUPPORTED("bxainz8fp03zcbgxzia4t1ta2"); // switch (obj->tag.objtype) { /* refresh any stale pointers */ UNSUPPORTED("9t6es77h0301xk4n035emz6o"); // case AGRAPH: UNSUPPORTED("39koq493kdonzfnv7y451gzku"); // objdelrec(g, obj, rec); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("4ih7nalu307xv8wvdpmgy537r"); // case AGNODE: UNSUPPORTED("f0mphr0n2ielt8cpkw0djd9s9"); // case AGINEDGE: UNSUPPORTED("3zbev1w97o9vgmm1ifhakk5g6"); // case AGOUTEDGE: UNSUPPORTED("9ixqdoo4u64vgpl11kitdhiwj"); // agapply(agroot(g), obj, objdelrec, rec, (0)); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("b0419fuh4e7iigkr04vrhwoqw"); // agstrfree(g, rec->name); UNSUPPORTED("9w293r9fg650cqzb27hlm4gm6"); // agfree(g, rec); UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 61hbvi8qf9sf7fp8zpov061px // static void simple_delrec(Agraph_t * g, Agobj_t * obj, void *rec_name) public static Object simple_delrec(Object... arg) { UNSUPPORTED("7jivm8vgxrik7o19yqyy4iuoj"); // static void simple_delrec(Agraph_t * g, Agobj_t * obj, void *rec_name) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3lu3vc6o8prg1gr2vk05e0eko"); // agdelrec(obj, rec_name); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e1pnypxtha6b6f6gdnys37746 // void aginit(Agraph_t * g, int kind, char *rec_name, int arg_rec_size, int mtf) public static Object aginit(Object... arg) { UNSUPPORTED("2pn3c5mfp7ik08786jysv3lbs"); // void aginit(Agraph_t * g, int kind, char *rec_name, int arg_rec_size, int mtf) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("8a4qjwfuqqw6rztukk1hbffvl"); // Agraph_t *s; UNSUPPORTED("abzwllf3yvcaghy0hkur9oxfd"); // int rec_size; UNSUPPORTED("5vb74w15wh9g0ykij86iwtxeb"); // int recur; /* if recursive on subgraphs */ UNSUPPORTED("4nlgepehelmt97qydjqp7ecah"); // if (arg_rec_size < 0) {recur = 1; rec_size = -arg_rec_size;} UNSUPPORTED("bevbs1i4v9cvng7nnrs2yqiku"); // else {recur = 0; rec_size= arg_rec_size;} UNSUPPORTED("elb9jvgldg2htymh7c74smj7o"); // switch (kind) { UNSUPPORTED("eyna33dobiebmtd0nihpgura4"); // case AGRAPH: UNSUPPORTED("9k3pxutrp61xdp73x92pxsv8j"); // agbindrec(g, rec_name, rec_size, mtf); UNSUPPORTED("ufmow0oztf5sdbx36wf4v0e5"); // if (recur) UNSUPPORTED("4oknzxynn26rak0dbvijyz5t"); // for (s = agfstsubg(g); s; s = agnxtsubg(s)) UNSUPPORTED("3hu696w8d3t3l7tygoq4twr4x"); // aginit(s,kind,rec_name,arg_rec_size,mtf); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("6x7ztvlgv763oeop84udp1egg"); // case AGNODE: UNSUPPORTED("a6ls4lkgjoheqwo2e7yqt9zz8"); // case AGOUTEDGE: UNSUPPORTED("c9o8hr6x8n5dty1y3eej1fept"); // case AGINEDGE: UNSUPPORTED("eg21iwn9eqyjsoisl58nl8i36"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("2kxod9hw7p0o5crbt6xh2gcwy"); // if (kind == AGNODE) UNSUPPORTED("7lbtjiuf91mfv1rfh26gr9rnf"); // agbindrec(n, rec_name, rec_size, mtf); UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("5qry6mw56jhkh965gr6si5sjz"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) UNSUPPORTED("3isk98kl2hyz50xh5nk9e79ur"); // agbindrec(e, rec_name, rec_size, mtf); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d8dlatsnpytjohjptji50kek2 // void agclean(Agraph_t * g, int kind, char *rec_name) public static Object agclean(Object... arg) { UNSUPPORTED("2u4lls7xvbemdliclfn1jjlv3"); // void agclean(Agraph_t * g, int kind, char *rec_name) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("elb9jvgldg2htymh7c74smj7o"); // switch (kind) { UNSUPPORTED("eyna33dobiebmtd0nihpgura4"); // case AGRAPH: UNSUPPORTED("p5rnonv5qza6uss4lurbzcru"); // agapply(g, (Agobj_t *) g, simple_delrec, rec_name, (!(0))); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("6x7ztvlgv763oeop84udp1egg"); // case AGNODE: UNSUPPORTED("a6ls4lkgjoheqwo2e7yqt9zz8"); // case AGOUTEDGE: UNSUPPORTED("c9o8hr6x8n5dty1y3eej1fept"); // case AGINEDGE: UNSUPPORTED("eg21iwn9eqyjsoisl58nl8i36"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("2kxod9hw7p0o5crbt6xh2gcwy"); // if (kind == AGNODE) UNSUPPORTED("an2xd4k44p94rcg7ynge2g1nq"); // agdelrec(n, rec_name); UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("5qry6mw56jhkh965gr6si5sjz"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) UNSUPPORTED("7k5tz238egfs4u82cpy7lk8dn"); // agdelrec(e, rec_name); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1s9p443oxpnfk2w28k6bgn1y0 // void agrecclose(Agobj_t * obj) public static Object agrecclose(Object... arg) { UNSUPPORTED("f28etp6uks02tqgelaos87f96"); // void agrecclose(Agobj_t * obj) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("4d3axgxxzgvvs9r07npfgyqqs"); // Agrec_t *rec, *nrec; UNSUPPORTED("8pfuk9ua4x9bh68zk1kzwc5t9"); // g = agraphof(obj); UNSUPPORTED("7mfrjfyuzo92p41ycl0k8l0ux"); // if ((rec = obj->data)) { UNSUPPORTED("8vxyvy38lzpbd83cu26nejaan"); // do { UNSUPPORTED("ezzhxi7n4n97pmh7g0zo4wprj"); // nrec = rec->next; UNSUPPORTED("e1l0oyl4p7njuyrgfuf1nph9b"); // agstrfree(g, rec->name); UNSUPPORTED("3yrrykwn17vvbliut3f5a174w"); // agfree(g, rec); UNSUPPORTED("66id2vgqklsr5nz9a84lor5eb"); // rec = nrec; UNSUPPORTED("aqvgta0a2vlgkvf7yvufyzvt5"); // } while (rec != obj->data); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2ila9b4kx11rvt5yy16n3myks"); // obj->data = ((Agrec_t *)0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/refstr__c.java000066400000000000000000000277401340005343600224600ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static gen.lib.cgraph.mem__c.agalloc; import static gen.lib.cgraph.utils__c.agdtdelete; import static gen.lib.cgraph.utils__c.agdtopen; import static smetana.core.JUtils.EQ; import static smetana.core.JUtils.sizeof; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agraph_s; import h.ST_dt_s; import h.ST_refstr_t; import smetana.core.ACCESS; import smetana.core.CString; import smetana.core.STARSTAR; import smetana.core.Z; import smetana.core.size_t; public class refstr__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 6ayavpu39aihwyojkx093pcy3 // extern Agraph_t *Ag_G_global //1 871mxtg9l6ffpxdl9kniwusf7 // extern char *AgDataRecName //1 c0o2kmml0tn6hftuwo0u4shwd // extern Dtdisc_t Ag_subnode_id_disc //1 8k15pyu256unm2kpd9zf5pf7k // extern Dtdisc_t Ag_subnode_seq_disc //1 e3d820y06gpeusn6atgmj8bzd // extern Dtdisc_t Ag_mainedge_id_disc //1 cbr0772spix9h1aw7h5v7dv9j // extern Dtdisc_t Ag_subedge_id_disc //1 akd0c3v0j7m2npxcb9acit1fa // extern Dtdisc_t Ag_mainedge_seq_disc //1 12d8la07351ww7vwfzucjst8m // extern Dtdisc_t Ag_subedge_seq_disc //1 29eokk7v88e62g8o6lizmo967 // extern Dtdisc_t Ag_subgraph_id_disc //1 4xd9cbgy6hk5g6nhjcbpzkx14 // extern Agcbdisc_t AgAttrdisc //1 8bj6ivnd4go7wt4pvzqgk8mlr // static unsigned long HTML_BIT //static public int HTML_BIT; //1 dqn77l82bfu071bv703e77jmg // static unsigned long CNT_BITS //static public int CNT_BITS; //1 boyxdmkhstn4i64pqf6sv1mi7 // static Dtdisc_t Refstrdisc = /*static public final __struct__<_dtdisc_s> Refstrdisc = JUtils.from(_dtdisc_s.class); static { Refstrdisc.setInt("key", OFFSET.create(refstr_t.class, "s").toInt()); // *s is the third field in refstr_t Refstrdisc.setInt("size", -1); Refstrdisc.setInt("link", 0); Refstrdisc.setPtr("makef", null); Refstrdisc.setPtr("freef", function(utils__c.class, "agdictobjfree")); Refstrdisc.setPtr("comparf", null); Refstrdisc.setPtr("hashf", null); Refstrdisc.setPtr("memoryf", function(utils__c.class, "agdictobjmem")); Refstrdisc.setPtr("eventf", null); }*/ //1 2e0tdcdyjc9zq54xt1nzgwvn3 // static Dict_t *Refdict_default //static public _dt_s Refdict_default; //3 f1nwss2xoaub1hyord232ugoj // static Dict_t *refdict(Agraph_t * g) public static ST_dt_s refdict(final ST_Agraph_s g) { ENTERING("f1nwss2xoaub1hyord232ugoj","refdict"); try { STARSTAR dictref; if (g != null) dictref = STARSTAR.amp(new ACCESS() { public ST_dt_s get() { return (ST_dt_s) g.clos.strdict; } public void set(ST_dt_s obj) { g.clos.setPtr("strdict", obj); } }); else dictref = STARSTAR.amp(new ACCESS() { public ST_dt_s get() { return Z.z().Refdict_default; } public void set(ST_dt_s obj) { Z.z().Refdict_default = obj; } }); if (dictref.getMe() == null) { dictref.setMe(agdtopen(g, Z.z().Refstrdisc, Z.z().Dttree)); } Z.z().HTML_BIT = 1 << 31; Z.z().CNT_BITS = ~Z.z().HTML_BIT; return dictref.getMe(); } finally { LEAVING("f1nwss2xoaub1hyord232ugoj","refdict"); } } //3 9aajykl8nuymg60zukycquawa // int agstrclose(Agraph_t * g) public static Object agstrclose(Object... arg) { UNSUPPORTED("c2l353zz5jt7jlmbhjbbt3m7v"); // int agstrclose(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("208rcf0f70q2wxwsa6po42oqq"); // return agdtclose(g, refdict(g)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9ts4wqhw2xafdv3tlcilneewq // static refstr_t *refsymbind(Dict_t * strdict, char *s) public static ST_refstr_t refsymbind(ST_dt_s strdict, CString s) { ENTERING("9ts4wqhw2xafdv3tlcilneewq","refsymbind"); try { final ST_refstr_t key = new ST_refstr_t(); ST_refstr_t r; // key.setPtr("s", s.duplicate()); key.setString(s); r = (ST_refstr_t) strdict.searchf.exe(strdict, key, 0000004); return r; } finally { LEAVING("9ts4wqhw2xafdv3tlcilneewq","refsymbind"); } } //3 1scntgo71z7c2v15zapiyw59w // static char *refstrbind(Dict_t * strdict, char *s) public static CString refstrbind(ST_dt_s strdict, CString s) { ENTERING("1scntgo71z7c2v15zapiyw59w","refstrbind"); try { ST_refstr_t r; r = refsymbind(strdict, s); if (r!=null) return r.s; else return null; } finally { LEAVING("1scntgo71z7c2v15zapiyw59w","refstrbind"); } } //3 bb8aqjshw3ecae2lsmhigd0mc // char *agstrbind(Agraph_t * g, char *s) public static CString agstrbind(ST_Agraph_s g, CString s) { ENTERING("bb8aqjshw3ecae2lsmhigd0mc","agstrbind"); try { return refstrbind(refdict(g), s); } finally { LEAVING("bb8aqjshw3ecae2lsmhigd0mc","agstrbind"); } } //3 86oznromwhn9qeym0k7pih73q // char *agstrdup(Agraph_t * g, char *s) public static CString agstrdup(ST_Agraph_s g, CString s) { ENTERING("86oznromwhn9qeym0k7pih73q","agstrdup"); try { ST_refstr_t r; ST_dt_s strdict; size_t sz; if (s == null) return null; strdict = refdict(g); r = (ST_refstr_t) refsymbind(strdict, s); if (r!=null) r.refcnt++; else { sz = sizeof(ST_refstr_t.class).plus(s.length()); if (g!=null) r = (ST_refstr_t) agalloc(g, sz); else r = new ST_refstr_t(); r.refcnt = 1; r.setString(s.duplicate()); // strcpy(r->store, s); // r->s = r->store; strdict.searchf.exe(strdict,r,0000001); } return r.s; } finally { LEAVING("86oznromwhn9qeym0k7pih73q","agstrdup"); } } //3 1ovgpnv6r8ru6iz51ic91zzal // char *agstrdup_html(Agraph_t * g, char *s) public static Object agstrdup_html(Object... arg) { UNSUPPORTED("6679vrn0j0vkzernsn2rlottw"); // char *agstrdup_html(Agraph_t * g, char *s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1uvxutp09oluiacpgn0f76bgu"); // refstr_t *r; UNSUPPORTED("czgqod5ni1s5av81qa3n0ghgr"); // Dict_t *strdict; UNSUPPORTED("55x2wgzchv0157f4g74693oaq"); // size_t sz; UNSUPPORTED("a5abfeqtsa4i5x739edpwuxin"); // if (s == ((char *)0)) UNSUPPORTED("xp8okoaicybpovkenntpd857"); // return ((char *)0); UNSUPPORTED("bo3fdoot7ldevx250qweitj6z"); // strdict = refdict(g); UNSUPPORTED("12vt0u4w3q0jht9f9vsaybntn"); // r = refsymbind(strdict, s); UNSUPPORTED("67y4tszu7dmeves31gr9ydmpi"); // if (r) UNSUPPORTED("5gybhadmtbc77f5wf9adyemj7"); // r->refcnt++; UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("9llv1u64vbj6q8loctnrowtm5"); // sz = sizeof(refstr_t) + strlen(s); UNSUPPORTED("7tmc6a514rv2k24wg5o8qpvyp"); // if (g) UNSUPPORTED("asjj8bj1b02f70rfr41ayipxy"); // r = (refstr_t *) agalloc(g, sz); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("bp5rr6mkh94826cbgdwglvpk9"); // r = (refstr_t *) malloc(sz); UNSUPPORTED("6sl9ejza97inawt8uprd120h6"); // r->refcnt = 1 | HTML_BIT; UNSUPPORTED("dadamob0ot3fpofdm1ey34srj"); // strcpy(r->store, s); UNSUPPORTED("1cyhds1lm0ee8rtp7k7h5cqfw"); // r->s = r->store; UNSUPPORTED("b2zaf5uj8gofpyc40hl0ziymh"); // (*(((Dt_t*)(strdict))->searchf))((strdict),(void*)(r),0000001); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("lxjgfic7zk869xczsgazw3sx"); // return r->s; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 enhn1ajfo86a19dgm4b8lduz7 // int agstrfree(Agraph_t * g, char *s) public static int agstrfree(ST_Agraph_s g, CString s) { ENTERING("enhn1ajfo86a19dgm4b8lduz7","agstrfree"); try { ST_refstr_t r; ST_dt_s strdict; if (s == null) return -1; strdict = refdict(g); r = (ST_refstr_t) refsymbind(strdict, s); if (r!=null && (EQ(r.s, s))) { r.refcnt--; if ((r.refcnt!=0 && Z.z().CNT_BITS!=0) == false) { agdtdelete(g, strdict, r); /* if (g) agfree(g,r); else free(r); */ } } if (r == null) return -1; return 0; } finally { LEAVING("enhn1ajfo86a19dgm4b8lduz7","agstrfree"); } } //3 3em4wzjnpajd5d3igb90l3rml // int aghtmlstr(char *s) public static int aghtmlstr(CString s) { ENTERING("3em4wzjnpajd5d3igb90l3rml","aghtmlstr"); try { ST_refstr_t key; if (s == null) return 0; key = (ST_refstr_t) s.getParent(); return (key.refcnt & Z.z().HTML_BIT); } finally { LEAVING("3em4wzjnpajd5d3igb90l3rml","aghtmlstr"); } } //3 ap2ebebypq6vmwle0hicv6tmj // void agmarkhtmlstr(char *s) public static Object agmarkhtmlstr(Object... arg) { UNSUPPORTED("8oc24oz62ej815sjwuwuj9bmt"); // void agmarkhtmlstr(char *s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("164ww6fcxh6v2wmxj0v8aqviy"); // refstr_t *key; UNSUPPORTED("8quozj18vjguewxdpv9w14yjn"); // if (s == NULL) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("9cmt4vbkm95fqftevdqyfvslr"); // key = (refstr_t *) (s - ((int)(&(((refstr_t*)0)->store[0])))); UNSUPPORTED("68mcf5kr6xw538zkdk8b50aeb"); // key->refcnt |= HTML_BIT; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/scan__c.java000066400000000000000000002650541340005343600221010ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static smetana.core.Macro.UNSUPPORTED; public class scan__c { //1 9u1ttuisot4jd2hvnp85ay56g // typedef signed char flex_int8_t //1 wvexxj8vbty6kaj0saqbx6ts // typedef short int flex_int16_t //1 hwqrvan7avqujsfxav228c11 // typedef int flex_int32_t //1 7lla3uunolf6lxmj92jrtn42g // typedef unsigned char flex_uint8_t //1 f9lv61viy2nrstz0unqh9sqh // typedef unsigned short int flex_uint16_t //1 amgh831s9403je2b1fbipav6b // typedef unsigned int flex_uint32_t //1 o1gyrcpeise6ulid46rm843i // typedef size_t aag_size_t //1 1f24j2fvxxvkjnlu5zfmsrb3y // extern aag_size_t aagleng //1 bn8sus4ks1cb72itw8xzz1flz // extern FILE *aagin, *aagout //1 3hxi4rnlmjyc30okmpb31jq2x // static size_t aag_buffer_stack_top = 0 //1 cvdgf98m8wxs77dykhlbh8cee // static size_t aag_buffer_stack_max = 0 //1 f2vs4coshydmjcysvmam9xyqe // static YY_BUFFER_STATE * aag_buffer_stack = 0 //1 e1hf3tomaeg9eyupoxlsqppd8 // static char aag_hold_char //1 3yvf3qfwm5w59tkhanhadp0sc // static aag_size_t aag_n_chars //1 bjftnvag2m5zx3ut0gxhbm1yp // aag_size_t aagleng //1 3qr2iyg8mnjvp20zhsfc7zhll // static char *aag_c_buf_p = (char *) 0 //1 7p8qmci0084z5p538lompqcgl // static int aag_init = 0 //1 aqkdngbj0xlr01bnkezay6hpw // static int aag_start = 0 //1 by6x4qfu7ct1epyt34gtk0c68 // static int aag_did_buffer_switch_on_eof //1 9dv61b9prrpqjbdic1p73cmii // typedef unsigned char YY_CHAR //1 u29aw8w233elgi1t0d69a2tp // FILE *aagin = (FILE *) 0, *aagout = (FILE *) 0 //1 6yqm263qjbxbombyqn8htwe9h // typedef int aag_state_type //1 4jmbvml2ky2nnj8z2fttiwlpj // extern int aaglineno //1 8hrt3xlca3e6jbiammiyc4vny // int aaglineno = 1 //1 4cxmiga6ltifuposa502y9yyt // extern char *aagtext //1 7xtkfznh5z71t9bxwa8l65woe // static flex_int16_t aag_accept[93] = //1 681ycgqijl2pdx86pv93mlmpl // static flex_int32_t aag_ec[256] = //1 bc0sgnek7ow53q48q3951dxf7 // static flex_int32_t aag_meta[49] = //1 2kiqxti33weulohzuygr5c60p // static flex_int16_t aag_base[105] = //1 2dk0cchyur4w0ynnbcpumq3df // static flex_int16_t aag_def[105] = //1 5cx77li3gho8yavxa8ny5ydy8 // static flex_int16_t aag_nxt[279] = //1 84mqlrbyvesev1wun43vo6rt5 // static flex_int16_t aag_chk[279] = //1 baro9b24r2upjoluxg072zqan // static aag_state_type aag_last_accepting_state //1 51sd6p9r881rurh2cn0gr95sb // static char *aag_last_accepting_cpos //1 4j2pfnbqhihe02dxjobjg2x8s // extern int aag_flex_debug //1 693kz0rs1kqe9rnq983sul9xf // int aag_flex_debug = 0 //1 d9rx7y8pk05fhn4zb20edan8k // char *aagtext //1 bv6npyi314kx5c073l8ghs1md // extern YYSTYPE aaglval //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 6ayavpu39aihwyojkx093pcy3 // extern Agraph_t *Ag_G_global //1 871mxtg9l6ffpxdl9kniwusf7 // extern char *AgDataRecName //1 c0o2kmml0tn6hftuwo0u4shwd // extern Dtdisc_t Ag_subnode_id_disc //1 8k15pyu256unm2kpd9zf5pf7k // extern Dtdisc_t Ag_subnode_seq_disc //1 e3d820y06gpeusn6atgmj8bzd // extern Dtdisc_t Ag_mainedge_id_disc //1 cbr0772spix9h1aw7h5v7dv9j // extern Dtdisc_t Ag_subedge_id_disc //1 akd0c3v0j7m2npxcb9acit1fa // extern Dtdisc_t Ag_mainedge_seq_disc //1 12d8la07351ww7vwfzucjst8m // extern Dtdisc_t Ag_subedge_seq_disc //1 29eokk7v88e62g8o6lizmo967 // extern Dtdisc_t Ag_subgraph_id_disc //1 4xd9cbgy6hk5g6nhjcbpzkx14 // extern Agcbdisc_t AgAttrdisc //1 ulfzla7f173z9e7hy51d7yxc // static int line_num = 1 //1 7k271geg3zfbftdupjdh78yl0 // static int html_nest = 0 //1 91mp0doens27fx1oso66rsrpm // static char* InputFile //1 a00t38gjjcwqriw9cdxo4tdnd // static Agdisc_t *Disc //1 1by6tdr1jakvfvcghn57hto4l // static void *Ifile //1 8kv7ct8l9pvdr999inffhfd8u // static int graphType //3 1oj4owfzrg4azkuildy8ykqr9 // void agreadline(int n) public static Object agreadline(Object... arg) { UNSUPPORTED("dsihmt5ebg62c8jribqmgy0dy"); // void agreadline(int n) { line_num = n; } throw new UnsupportedOperationException(); } //3 bf0ltyw37l11aswamj8q178wi // void agsetfile(char* f) public static Object agsetfile(Object... arg) { UNSUPPORTED("1efvmz7xvqmxk6ohmzmamgezx"); // void agsetfile(char* f) { InputFile = f; line_num = 1; } throw new UnsupportedOperationException(); } //3 3r1v6x85pa9sbewoebj1wpjuu // void aglexinit(Agdisc_t *disc, void *ifile) public static Object aglexinit(Object... arg) { UNSUPPORTED("3744yvxht2vnrh2n60myij0q3"); // void aglexinit(Agdisc_t *disc, void *ifile) { Disc = disc; Ifile = ifile; graphType = 0;} throw new UnsupportedOperationException(); } //1 cry2o4y2edn77xmsht3kg427n // static char *Sbuf,*Sptr,*Send //3 ci1omlit75xbk0j3loutg4m5g // static void beginstr(void) public static Object beginstr(Object... arg) { UNSUPPORTED("dstkjoto15vp16xvlg2k09goi"); // static void beginstr(void) { UNSUPPORTED("5hieqyyy30hbesj8bpug2z9z6"); // if (Sbuf == ((char*)0)) { UNSUPPORTED("f5fqw4u40t2nwvcuv9jeqgbke"); // Sbuf = malloc(BUFSIZ); UNSUPPORTED("4yebcf7ybwlpgm7xoldjbszda"); // Send = Sbuf + BUFSIZ; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5wr6chsypocfjuceerl9mehc4"); // Sptr = Sbuf; UNSUPPORTED("ea2z7xk1luy674u284ddudw1d"); // *Sptr = 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 81ls7ujxrb181svnc5awggx7n // static void addstr(char *src) public static Object addstr(Object... arg) { UNSUPPORTED("703gu6b5q51kg4f4w94snc2mn"); // static void addstr(char *src) { UNSUPPORTED("3fj8t64rrnh5407ihxrbavnt6"); // char c; UNSUPPORTED("4emlk2lo8cq6d5o6x461cxzwk"); // if (Sptr > Sbuf) Sptr--; UNSUPPORTED("8vxyvy38lzpbd83cu26nejaan"); // do { UNSUPPORTED("a1hhl0r379voikvndx346jxit"); // do {c = *Sptr++ = *src++;} while (c && (Sptr < Send)); UNSUPPORTED("bl9hlux3ebu4o7860s2zpg075"); // if (c) { UNSUPPORTED("aadej261od7yk1xcs21hauykh"); // long sz = Send - Sbuf; UNSUPPORTED("41atfjolp70p7f8qnft3of30k"); // long off = Sptr - Sbuf; UNSUPPORTED("6x6pgn87tnew1za637nkcb3i3"); // sz *= 2; UNSUPPORTED("ecyedutxo51rut0aixzmx564t"); // Sbuf = (char*)realloc(Sbuf,sz); UNSUPPORTED("8rxtl0zns7it9buqlqqsy5odx"); // Send = Sbuf + sz; UNSUPPORTED("9z7xq6bkmghj8n6042m7mpmh3"); // Sptr = Sbuf + off; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("5k2u7k1fsiidv6ulonq76qhp0"); // } while (c); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2rmqzhh7aovtupqfrlts8pa2m // static void endstr(void) public static Object endstr(Object... arg) { UNSUPPORTED("2sracqywd1qg2l7v5nmpvufkp"); // static void endstr(void) { UNSUPPORTED("err7e2gsasgf22nnv8bahct4d"); // aaglval.str = (char*)agstrdup(Ag_G_global,Sbuf); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4t56dhvw52uu822nlaokivf85 // static void endstr_html(void) public static Object endstr_html(Object... arg) { UNSUPPORTED("dnnpz2205l3ln51f1bs93btf9"); // static void endstr_html(void) { UNSUPPORTED("ajzrml1ygau4ao515bwvwgn19"); // aaglval.str = (char*)agstrdup_html(Ag_G_global,Sbuf); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9nr6wfm5bmxh70x9saeavz26m // static void storeFileName (char* fname, int len) public static Object storeFileName(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("cvgvah1jrmrhswwg3rel7x5y0"); // storeFileName (char* fname, int len) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e0zq971pun9bqnupgu74poc4u"); // static int cnt; UNSUPPORTED("xo6m9cruoz5kdd6mzt4sfknp"); // static char* buf; UNSUPPORTED("do2te9of2v96mc8oassrb7p3b"); // if (len > cnt) { UNSUPPORTED("6isxquud3a1wratug7k94a4ty"); // if (cnt) buf = (char*)realloc (buf, len+1); UNSUPPORTED("aalmsa4r595p8tuhd928kue7f"); // else buf = (char*)malloc (len+1); UNSUPPORTED("9hhg0szrtn6m33mvdggzdcuiq"); // cnt = len; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4ynhuu395gho3v61nn58lpsp5"); // strcpy (buf, fname); UNSUPPORTED("bg9is2c95vtwie9h8nu78y9h7"); // InputFile = buf; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bj9zjg1k93tugikci6pdacgv8 // static void ppDirective (void) public static Object ppDirective(Object... arg) { UNSUPPORTED("amadyb8blecbhpmr03nv1yysj"); // static void ppDirective (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("93ptrxmj16kch68r5qfjvzje8"); // int r, cnt, lineno; UNSUPPORTED("aqjwq3fk7zmi0i48c6b3bdyn1"); // char buf[2]; UNSUPPORTED("bykuhm42gpf1y2m3xfegj7yq7"); // char* s = aagtext + 1; /* skip initial # */ UNSUPPORTED("v2kt5w01rvjcncga1nfw16vb"); // if (strncmp(s, "line", 4) == 0) s += 4; UNSUPPORTED("cjbpu12dvz9bbaaqizld5hgzw"); // r = sscanf(s, "%d %1[\"]%n", &lineno, buf, &cnt); UNSUPPORTED("79e2kex2zkmaojwz921wv40lb"); // if (r > 0) { /* got line number */ UNSUPPORTED("7j9u1nik3c9m3dfr3ss7u99x7"); // line_num = lineno - 1; UNSUPPORTED("a3cc7hmrfiu20uienzp34trtf"); // if (r > 1) { /* saw quote */ UNSUPPORTED("ege4ds3wwlaw1lf0dmx6icmdu"); // char* p = s + cnt; UNSUPPORTED("dy69m5exgjkhw4x2c1j201u5h"); // char* e = p; UNSUPPORTED("akosnsiu9reyhhy9cuyst4u77"); // while (*e && (*e != '"')) e++; UNSUPPORTED("chjva8sotwhp8p0plibzdgt64"); // if (e != p) { UNSUPPORTED("aywlmkpo8in8o5sf37gh7f5o1"); // *e = '\0'; UNSUPPORTED("m9wyrcnvgtzuy3jb5ssyfv91"); // storeFileName (p, e-p); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7fcnmcd19oiyoyaqr7swnx68s // static int chkNum(void) public static Object chkNum(Object... arg) { UNSUPPORTED("q1tlhq1m7q8bylnobldsy8ul"); // static int chkNum(void) { UNSUPPORTED("5xen5v195vyw2zxeos5j4b39u"); // unsigned char c = (unsigned char)aagtext[aagleng-1]; /* last character */ UNSUPPORTED("3lxhbtax9md6unlnsezpjckih"); // if (!isdigit(c) && (c != '.')) { /* c is letter */ UNSUPPORTED("brcmgy65t9y4nm8afackgego3"); // unsigned char xbuf[BUFSIZ]; UNSUPPORTED("8c7x8di5w36ib05qan9z4sl9"); // char buf[BUFSIZ]; UNSUPPORTED("hj3ykx7uaskz9wtccgck8sd6"); // agxbuf xb; UNSUPPORTED("z3843we5vh08lkokocrbxs3e"); // char* fname; UNSUPPORTED("91vq8e011oh7gfgr5bsdo0uoc"); // if (InputFile) UNSUPPORTED("ar7gd5cmdmsozck6dve30u1kc"); // fname = InputFile; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("db3k9j2cu5b3ge53iwoykkaq0"); // fname = "input"; UNSUPPORTED("b2caeimugashizzvpcmbplmp4"); // agxbinit(&xb, BUFSIZ, xbuf); UNSUPPORTED("a2p6g2wxux9rba1tjs2ao7o4o"); // agxbput(&xb,"syntax ambiguity - badly delimited number '"); UNSUPPORTED("1vnop1r6tqrq55n2ab9xcytok"); // agxbput(&xb,aagtext); UNSUPPORTED("2q8daprlj1cl42ze3qlof04a5"); // sprintf(buf,"' in line %d of ", line_num); UNSUPPORTED("3wik853jrdht1hsor80i947ue"); // agxbput(&xb,buf); UNSUPPORTED("36dtrq18d65mdg4ntho7dt2ai"); // agxbput(&xb,fname); UNSUPPORTED("97sgg79xuvu6p1ug1xnmk3egp"); // agxbput(&xb, " splits into two tokens\n"); UNSUPPORTED("98hehf3lz7dyyrzh10pbcvcz8"); // agerr(AGWARN,(((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf))); UNSUPPORTED("52frst03mcbsuu6bmnqs962qm"); // agxbfree(&xb); UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("895k5gbyc2kla939upm8m5u76"); // else return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e5pbkh72mgktxf6bfh0n4gt4 // int aaglex (void) public static Object aaglex(Object... arg) { UNSUPPORTED("pdpjzk6673jkdk1hkeeb2q3a"); // int aaglex (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eyp458tyziuc5smdf8nmisuv0"); // register aag_state_type aag_current_state; UNSUPPORTED("1kcumm40wtgnrwt1lso5lhyim"); // register char *aag_cp, *aag_bp; UNSUPPORTED("epg1tabdb42f9reda2apnb1ms"); // register int aag_act; UNSUPPORTED("8tmid58vn70oblu8ujz1zwswf"); // if ( !(aag_init) ) UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("f5bqtt61q9thk5qd1hbwq8iiu"); // (aag_init) = 1; UNSUPPORTED("3koasm308op0tigliblj62e1f"); // if ( ! (aag_start) ) UNSUPPORTED("638agduqknpmfdxz829km27pq"); // (aag_start) = 1; /* first start state */ UNSUPPORTED("5c3m4g98uud1ri4whmpyqmqod"); // if ( ! aagin ) UNSUPPORTED("43slr3lwfniyoyj6xlp230lbh"); // aagin = stdin; UNSUPPORTED("8vznga5m9rzjv7al9ph5m5sp4"); // if ( ! aagout ) UNSUPPORTED("cr8xey1tr55u690uwh7ojmavf"); // aagout = stdout; UNSUPPORTED("6a7g05a63b5vlbmwml9fqm6js"); // if ( ! ( (aag_buffer_stack) ? (aag_buffer_stack)[(aag_buffer_stack_top)] : NULL) ) { UNSUPPORTED("5k310rk7sd9685w7i0mxhvh7b"); // aagensure_buffer_stack (); UNSUPPORTED("4bwrw2sf366bkgndfaoky57j3"); // (aag_buffer_stack)[(aag_buffer_stack_top)] = UNSUPPORTED("648rwigd13o83ylenne327tpo"); // aag_create_buffer(aagin,16384 ); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("5vdfn4vw8baq4bh6qaiza5ces"); // aag_load_buffer_state( ); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("64w7kx5jkbrgxchxynb9z68sl"); // while ( 1 ) /* loops until end-of-file is reached */ UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("19a62hiie1pmtcddghe0bqc4p"); // aag_cp = (aag_c_buf_p); UNSUPPORTED("3dylne08x28cpv7rgbl9342u9"); // /* Support of aagtext. */ UNSUPPORTED("a4qna0rrphiukyt2cx9xxl4uq"); // *aag_cp = (aag_hold_char); UNSUPPORTED("cqe8nsxx8zip9neqzuass52k7"); // /* aag_bp points to the position in aag_ch_buf of the start of UNSUPPORTED("2hkvmkbfi5k14h6ad5el1ypm4"); // * the current run. UNSUPPORTED("edw1ss2r31mqgsvca2gowi52v"); // */ UNSUPPORTED("2uu83ztfrm2rf4gilr4ndnado"); // aag_bp = aag_cp; UNSUPPORTED("1cgpurhged2awokk4s92iw776"); // aag_current_state = (aag_start); UNSUPPORTED("22smyx4x537664ve7600il5k2"); // aag_current_state += ((aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol); UNSUPPORTED("8n4v70w7yvxxi7wyk8h2ozq69"); // aag_match: UNSUPPORTED("9ksbpucly3ydjrripsbhxyhi6"); // do UNSUPPORTED("2mdt9jdl3qwktdzlvb0pw8fgo"); // { UNSUPPORTED("b017ngi9yoexu0ag8as3kxifu"); // register YY_CHAR aag_c = aag_ec[((unsigned int) (unsigned char) *aag_cp)]; UNSUPPORTED("f0f13rvrp28ugo7n953ww9exm"); // if ( aag_accept[aag_current_state] ) UNSUPPORTED("4pcl1pdojya6hzq73u51kpoch"); // { UNSUPPORTED("2zkjl87i9j14qd0yy84gkxn8w"); // (aag_last_accepting_state) = aag_current_state; UNSUPPORTED("63j2j6c74f6tpdddpw68w7j5g"); // (aag_last_accepting_cpos) = aag_cp; UNSUPPORTED("cysnuxd51taci3hbg5lifz8ce"); // } UNSUPPORTED("2463jdtdj5v0b3g8cve6lltug"); // while ( aag_chk[aag_base[aag_current_state] + aag_c] != aag_current_state ) UNSUPPORTED("4pcl1pdojya6hzq73u51kpoch"); // { UNSUPPORTED("324rw4kwwcob6154aq4iylx2c"); // aag_current_state = (int) aag_def[aag_current_state]; UNSUPPORTED("2lcc1u06ym2da8plsplb66cfx"); // if ( aag_current_state >= 93 ) UNSUPPORTED("w51fl0acyotorjuhgem7gi4c"); // aag_c = aag_meta[(unsigned int) aag_c]; UNSUPPORTED("cysnuxd51taci3hbg5lifz8ce"); // } UNSUPPORTED("5id6x27gn8fz38xu0wfi9oiot"); // aag_current_state = aag_nxt[aag_base[aag_current_state] + (unsigned int) aag_c]; UNSUPPORTED("66elpafqoofzev7x22bewbr2c"); // ++aag_cp; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("6cbq6ckkfsopkhgz7xgomi8ai"); // while ( aag_base[aag_current_state] != 230 ); UNSUPPORTED("9m6gq3wy7dxf2989ifsn5cm9t"); // aag_find_action: UNSUPPORTED("6dd3zbwpg5nll3gotac8xs0jk"); // aag_act = aag_accept[aag_current_state]; UNSUPPORTED("3uvb9f03g7dp9se542b3fch97"); // if ( aag_act == 0 ) UNSUPPORTED("9vnsdr0cb64wib7xchxmeffe1"); // { /* have to back up */ UNSUPPORTED("5jmzc2p8ihqh3pl8yk426jjs8"); // aag_cp = (aag_last_accepting_cpos); UNSUPPORTED("4bqktwvoql4rinftb1wb6bwux"); // aag_current_state = (aag_last_accepting_state); UNSUPPORTED("913oa8bs5aedunutrp23qi71j"); // aag_act = aag_accept[aag_current_state]; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("7z2vv0d273lknczgkvpqne3ly"); // (aagtext) = aag_bp; aagleng = (size_t) (aag_cp - aag_bp); (aag_hold_char) = *aag_cp; *aag_cp = '\0'; (aag_c_buf_p) = aag_cp;; UNSUPPORTED("apsw22y8tao100sq9bz9d48v1"); // do_action: /* This label is used only to access EOF actions. */ UNSUPPORTED("8el9cnpl89mu1fuzqhwwf5qxk"); // switch ( aag_act ) UNSUPPORTED("dco2y6y1hd2mnc3n7yoiq7qru"); // { /* beginning of action switch */ UNSUPPORTED("66t1xamwgf1zbtor3asfj4mlj"); // case 0: /* must back up */ UNSUPPORTED("8y7kg3jmm0mxlcmreiqklvczm"); // /* undo the effects of YY_DO_BEFORE_ACTION */ UNSUPPORTED("edfoo8bmsxnzpivnh86hp8g4j"); // *aag_cp = (aag_hold_char); UNSUPPORTED("5jmzc2p8ihqh3pl8yk426jjs8"); // aag_cp = (aag_last_accepting_cpos); UNSUPPORTED("4bqktwvoql4rinftb1wb6bwux"); // aag_current_state = (aag_last_accepting_state); UNSUPPORTED("2t20blf7b2e9uh29x86jqn0uu"); // goto aag_find_action; UNSUPPORTED("4et457vtxvdfcniwgvkmgg27m"); // case 1: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("e9sweqn31kfcpevqzc35so2x7"); // return(EOF); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("ni2wdzcw22kpb7r5rbiir6um"); // case 2: UNSUPPORTED("8fsfk45iz6r1xpxwqpgh87zzc"); // /* rule 2 can match eol */ UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("1om5gjxjxp5p6gu6fqz2e1z4d"); // line_num++; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("29xaavsx8kmwlhodww81f29mi"); // case 3: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("jx9vmge6p0hhmb643cbkitrm"); // (aag_start) = 1 + 2 *(1); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("9cpt0kyqy9di8h2cd6iika4bw"); // case 4: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("8vr3x5prkq9bx5x7yv4sasjrd"); // /* eat anything not a '*' */ UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("c7mpoiwvhax172146g6phlprw"); // case 5: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("dij0hf9wozgcp2ki3m2kifoig"); // /* eat up '*'s not followed by '/'s */ UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("9k5fookwzuytueisvyyz0caqk"); // case 6: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("3wg696bpwfs7vhwcw7iif6yt6"); // (aag_start) = 1 + 2 *(0); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("2q7wq83jxx2tqprtgvfd30b2i"); // case 7: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("6xambzauc9qg5hiyrjp9cv94v"); // /* ignore C++-style comments */ UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("kmgl4qg4fe9op81j902qtcn6"); // case 8: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("6c3vej4do0hnpt0ddel7ijipo"); // ppDirective (); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("3qm4f4fp7kvh4l1xcdwlzcdom"); // case 9: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("e3h3y3usy8rlcha932xyo8bb7"); // /* ignore shell-like comments */ UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("9b848ct8iyxow7s4as982amzi"); // case 10: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("a2zmhocyae95g5xo9bfaljr7k"); // /* ignore whitespace */ UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("947tafpsnhhss094u71s9ubk9"); // case 11: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("87jhtwvxnhipza9f1s895uull"); // /* ignore BOM */ UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("2l2qmr4rskdcgekd3oqxqj7f2"); // case 12: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("5ps7dxq4k1qcbyiigtbvitzij"); // return(259); /* see tokens in agcanonstr */ UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("4b055gsjgrpcvywbk7up4fg5l"); // case 13: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("1l0aw0zsqx2vbkr3zneykykxd"); // return(260); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8njscivqvdlk4vdfnqdcn9p48"); // case 14: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("eilvuennhlsv84ebtaqqz00iw"); // if (!graphType) graphType = 258; return(258); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("72drdinb4kuj1ahx4pw5lzm0v"); // case 15: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("s9a7uspzll6isipj7m07vk6h"); // if (!graphType) graphType = 261; return(261); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("556y3hjg8xc217kgz7oded7kt"); // case 16: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("3yeeq5bkp5kiybo6jn3eyjs2o"); // return(263); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("2gqru8meihkhpbhyd7jcdcsob"); // case 17: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("1avovk9rb0j1co3gabz86001b"); // return(262); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("cxgy20vpnrsxhz5ksw5ht4pww"); // case 18: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("3jmo6uhihr6ouy9u6117d2797"); // if (graphType == 261) return(264); else return('-'); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("alztpmrrh7gk4sd7fc990467l"); // case 19: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("e6ipohsip8k8qzqpgc992rx8c"); // if (graphType == 258) return(264); else return('-'); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("6k7gr42ju1rb53hcb5rqnquyu"); // case 20: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("9nt30eaqhmml8uiohjf1h5hdb"); // { aaglval.str = (char*)agstrdup(Ag_G_global,aagtext); return(267); } UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("6in850eoepou96lnb2c2t1mpb"); // case 21: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("b15ywfomgq02hcjkw9ampx24y"); // { if (chkNum()) do { int aagless_macro_arg = (aagleng-1); ; *aag_cp = (aag_hold_char); (aag_c_buf_p) = aag_cp = aag_bp + aagless_macro_arg - 0; (aagtext) = aag_bp; aagleng = (size_t) (aag_cp - aag_bp); (aag_hold_char) = *aag_cp; *aag_cp = '\0'; (aag_c_buf_p) = aag_cp;; } while ( 0 ); aaglval.str = (char*)agstrdup(Ag_G_global,aagtext); return(267); } UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("cl2w7n3yx4n622lafbt0bwfz1"); // case 22: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("ees73wgk7mwg9zrh612sgsvy1"); // (aag_start) = 1 + 2 *(2); beginstr(); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("27zayxvq2pc68g5ar0432yw9t"); // case 23: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("c5xf7sj3w7fr0pqstn18tj413"); // (aag_start) = 1 + 2 *(0); endstr(); return (268); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("6z3m8132yn8zgtthzycjgz78x"); // case 24: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("8h6g770m5l5g215hhlrt2hx9n"); // addstr ("\""); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("952jh9bx0tpblu7shq5rrwpq2"); // case 25: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("8modtlsmam68shpdmcz87uq8h"); // addstr ("\\\\"); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("52vnyui9jklyykligf30zeaai"); // case 26: UNSUPPORTED("4i9tx8f8c3v6bspkwavhtwano"); // /* rule 26 can match eol */ UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("a8vlwazdypu664ivx6wi8rko2"); // line_num++; /* ignore escaped newlines */ UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("5n1mokd7dgwogbhb2jas6mb00"); // case 27: UNSUPPORTED("61heacv6izappfw5yjlcp4so4"); // /* rule 27 can match eol */ UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("3mzcrqnslnbq9vtv1zu9sule8"); // addstr(aagtext); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("6gczfeucbsq4yjto6hu1ofs42"); // case 28: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("6g9v7q7xrlzfufvlruovef42p"); // (aag_start) = 1 + 2 *(3); html_nest = 1; beginstr(); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("f16p1igprp064qa5n56o1m2wc"); // case 29: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("f3otz7hfp3792v4zck6dvnmo3"); // html_nest--; if (html_nest) addstr(aagtext); else {(aag_start) = 1 + 2 *(0); endstr_html(); return (268);} UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("72s0wtcj4jofeozc8iz5zbhxl"); // case 30: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("aw1td26c2oe06ysc6u6vj8koz"); // html_nest++; addstr(aagtext); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("6xefk8kdpp7y1m3tbc0tpw8wa"); // case 31: UNSUPPORTED("7x4ipn0el32pfjyg76p0z4oz8"); // /* rule 31 can match eol */ UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("9xv0goh9ck9y3mkaftbg7vmfd"); // addstr(aagtext); line_num++; /* add newlines */ UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("9m9x22bqi8pwhtev4msso0yze"); // case 32: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("3mzcrqnslnbq9vtv1zu9sule8"); // addstr(aagtext); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("18v1y33kqilsfbxil4b3yna75"); // case 33: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("92pt2p1sqtdccyfawj6shkj14"); // return (aagtext[0]); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("7rr77fryfl2ub6miww7jg5y4o"); // case 34: UNSUPPORTED("cbtwhhcbw0kd10g8r34kiet35"); // if ( aagleng > 0 ) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (aagtext[aagleng - 1] == '\n'); UNSUPPORTED("6bhj3owfzoyf3s0aoqazgzy0q"); // do { if (fwrite( aagtext, aagleng, 1, aagout )) {} } while (0); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("82mqzfrl2p6jfpf29nu6fgxdb"); // case (35 + 0 + 1): UNSUPPORTED("bqr4ckfep54whmo4876vkmecz"); // case (35 + 1 + 1): UNSUPPORTED("1w19dr4ubkia25sdjfzomurdz"); // case (35 + 2 + 1): UNSUPPORTED("byni6m925rj3a4njua63prne"); // case (35 + 3 + 1): UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("3effkdcc9bi9b7aubu1yn7krl"); // case 35: UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("av9evic7ammi9pcxoqac9s8fe"); // /* Amount of text matched not including the EOB char. */ UNSUPPORTED("1jjcl1pqge71gvb9dki5a07ws"); // int aag_amount_of_matched_text = (int) (aag_cp - (aagtext)) - 1; UNSUPPORTED("7pvmj2k0z8lp6jgvv2n65nbps"); // /* Undo the effects of YY_DO_BEFORE_ACTION. */ UNSUPPORTED("a4qna0rrphiukyt2cx9xxl4uq"); // *aag_cp = (aag_hold_char); UNSUPPORTED("ap1b7l55ctbh41rm7yh9a6jyo"); // if ( (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_buffer_status == 0 ) UNSUPPORTED("2mdt9jdl3qwktdzlvb0pw8fgo"); // { UNSUPPORTED("1ukrm4fttw7velp3gbz6awwne"); // /* We're scanning a new file or input source. It's UNSUPPORTED("ejpa48tia006kybs45czjbtse"); // * possible that this happened because the user UNSUPPORTED("76e3nzz08z4fey19zqzdguph"); // * just pointed aagin at a new source and called UNSUPPORTED("cqa8ospx14bmafy4npvtjj0k2"); // * aaglex(). If so, then we have to assure UNSUPPORTED("e858my77taiun73kz47m00tta"); // * consistency between YY_CURRENT_BUFFER and our UNSUPPORTED("8ythbpqr0qrfn0wl55uih2gds"); // * globals. Here is the right place to do so, because UNSUPPORTED("3kdgw6xhyuplwsqtw1ya1pyns"); // * this is the first action (other than possibly a UNSUPPORTED("8fy43ztshuc3bfbwy19xac2zl"); // * back-up) that will match for the new input source. UNSUPPORTED("2y9k3dfnj3qua970vsvm0b9xt"); // */ UNSUPPORTED("mdr9dqcs82gxgeyb3oe50yvc"); // (aag_n_chars) = (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_n_chars; UNSUPPORTED("d7htwvsxyqjdvoqbre0141fdc"); // (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_input_file = aagin; UNSUPPORTED("2pqrlmsv489oepynhx1ctfsrd"); // (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_buffer_status = 1; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("ard8111msvx7284l35jzmp5y9"); // /* Note that here we test for aag_c_buf_p "<=" to the position UNSUPPORTED("97ogb9i5xevnklykvrvxtsi97"); // * of the first EOB in the buffer, since aag_c_buf_p will UNSUPPORTED("19jo527lj5j210hqmlrquzim5"); // * already have been incremented past the NUL character UNSUPPORTED("2vscb9s7ubtgam0r7riyi9532"); // * (since all states make transitions on EOB to the UNSUPPORTED("2mc3sssivepynss4pdzupko6m"); // * end-of-buffer state). Contrast this with the test UNSUPPORTED("7gdu59sqyc5wdahkc2f0kmu3k"); // * in input(). UNSUPPORTED("edw1ss2r31mqgsvca2gowi52v"); // */ UNSUPPORTED("eqvop36r3g0w8y5r7s6o3eupd"); // if ( (aag_c_buf_p) <= &(aag_buffer_stack)[(aag_buffer_stack_top)]->aag_ch_buf[(aag_n_chars)] ) UNSUPPORTED("9clhogjc9o5uemyhl9hx7vs38"); // { /* This was really a NUL. */ UNSUPPORTED("136dyc2eryl7aywuv0ri6zazd"); // aag_state_type aag_next_state; UNSUPPORTED("ip2pkbcvc5wty9nphzk8ahqi"); // (aag_c_buf_p) = (aagtext) + aag_amount_of_matched_text; UNSUPPORTED("dnttuw20ekafhnv84tucwwbw6"); // aag_current_state = aag_get_previous_state( ); UNSUPPORTED("19i5bou5dpnrvnljd6c0zi7cs"); // /* Okay, we're now positioned to make the NUL UNSUPPORTED("1zps4d1dwhg8g1u1jcscs77fp"); // * transition. We couldn't have UNSUPPORTED("7lnrxsnfwfae9shztjlz5d2sj"); // * aag_get_previous_state() go ahead and do it UNSUPPORTED("uvmaxaik4hf1hih46fejzlqo"); // * for us because it doesn't know how to deal UNSUPPORTED("a3itb2gth3y61hczkkazgkqen"); // * with the possibility of jamming (and we don't UNSUPPORTED("bsa6425l53922413u37n1by7w"); // * want to build jamming into it because then it UNSUPPORTED("cs6ggz4s573xazs4k8oj0wacf"); // * will run more slowly). UNSUPPORTED("2y9k3dfnj3qua970vsvm0b9xt"); // */ UNSUPPORTED("6wfb6gr9sqw5321of6whv6g1n"); // aag_next_state = aag_try_NUL_trans( aag_current_state ); UNSUPPORTED("47exoq6ktpu2z6qqmsrgjw8mn"); // aag_bp = (aagtext) + 0; UNSUPPORTED("1z20nxzgjchfpg43kk6p2rxmb"); // if ( aag_next_state ) UNSUPPORTED("4pcl1pdojya6hzq73u51kpoch"); // { UNSUPPORTED("2f7302gvw3z5l0tvki3jgnl0q"); // /* Consume the NUL. */ UNSUPPORTED("ewxmr5ocyniqq9kqdwnbryo5i"); // aag_cp = ++(aag_c_buf_p); UNSUPPORTED("b2y561rlv42sr2t5b8ebldk2s"); // aag_current_state = aag_next_state; UNSUPPORTED("ba9wj7om5zk7mol03zxpekt7j"); // goto aag_match; UNSUPPORTED("cysnuxd51taci3hbg5lifz8ce"); // } UNSUPPORTED("cqgi8f4d37bqva8z6bx5rvn7w"); // else UNSUPPORTED("4pcl1pdojya6hzq73u51kpoch"); // { UNSUPPORTED("3nanwdupbkgohlzpjzoaukbr4"); // aag_cp = (aag_c_buf_p); UNSUPPORTED("9l6wm3vx0rph8i8h7m4dcq34x"); // goto aag_find_action; UNSUPPORTED("cysnuxd51taci3hbg5lifz8ce"); // } UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("db3yodgf9sh6cnz3cf8qizzbr"); // else switch ( aag_get_next_buffer( ) ) UNSUPPORTED("2mdt9jdl3qwktdzlvb0pw8fgo"); // { UNSUPPORTED("4yd30eh9icuxnqotseihb7l4w"); // case 1: UNSUPPORTED("4pcl1pdojya6hzq73u51kpoch"); // { UNSUPPORTED("e4pcfhdqidvl3xfh8flankk0m"); // (aag_did_buffer_switch_on_eof) = 0; UNSUPPORTED("8cpkysq4c2ufhdv2uclyjax2l"); // if ( aagwrap( ) ) UNSUPPORTED("e928s13otj5jhz855y8um3tz8"); // { UNSUPPORTED("5pvlvgzt9geyx90w8yok6qskk"); // /* Note: because we've taken care in UNSUPPORTED("f2ael09dm75ew3qvb39e8dmqo"); // * aag_get_next_buffer() to have set up UNSUPPORTED("azoxfeu7zbmcqm822xexak7a9"); // * aagtext, we can now set up UNSUPPORTED("6n6tnxe89kixgxdvdyu3kderg"); // * aag_c_buf_p so that if some total UNSUPPORTED("v9iirt1qdivb9mokpz8betax"); // * hoser (like flex itself) wants to UNSUPPORTED("e6du46l70usukl02zbir6z3i6"); // * call the scanner after we return the UNSUPPORTED("5xnn62l1dvx5zzamkjgowqgz0"); // * YY_NULL, it'll still work - another UNSUPPORTED("5huja6w3dtx1wyo3didu5x71b"); // * YY_NULL will get returned. UNSUPPORTED("2y9jwnvnhklvpvmeawdnqm8i2"); // */ UNSUPPORTED("f3eyysgcmabvn5tt38wvn6vpj"); // (aag_c_buf_p) = (aagtext) + 0; UNSUPPORTED("b38vk2yl7yd3ccilu78zpdbdw"); // aag_act = (35 + (((aag_start) - 1) / 2) + 1); UNSUPPORTED("1kklaudkj34oc41ju7jowskat"); // goto do_action; UNSUPPORTED("7qewsve9tto7ge11dkittrbpg"); // } UNSUPPORTED("5dmwgqu6vf5e7mr3pnblxlzbr"); // else UNSUPPORTED("e928s13otj5jhz855y8um3tz8"); // { UNSUPPORTED("9igctqd1bmlpq7mo4bt3sj8c3"); // if ( ! (aag_did_buffer_switch_on_eof) ) UNSUPPORTED("apt6qnupr74oq1rmuhce124oq"); // aagrestart(aagin ); UNSUPPORTED("7qewsve9tto7ge11dkittrbpg"); // } UNSUPPORTED("1dhrv6aj5eq8ntuvb7qbs8aot"); // break; UNSUPPORTED("cysnuxd51taci3hbg5lifz8ce"); // } UNSUPPORTED("5hg15npsnnf19eml2makv9mgf"); // case 0: UNSUPPORTED("5igou3g3x4fk7tev76iwuz4eu"); // (aag_c_buf_p) = UNSUPPORTED("8z7l3eh0oo09flvmepzomf8p5"); // (aagtext) + aag_amount_of_matched_text; UNSUPPORTED("1aotx4d0a8ouhfouerkr911ty"); // aag_current_state = aag_get_previous_state( ); UNSUPPORTED("3nanwdupbkgohlzpjzoaukbr4"); // aag_cp = (aag_c_buf_p); UNSUPPORTED("ak6tf6umjq968y5h6qwp3ceo3"); // aag_bp = (aagtext) + 0; UNSUPPORTED("ba9wj7om5zk7mol03zxpekt7j"); // goto aag_match; UNSUPPORTED("ewxk0u6la5xyi9w9bnvvvi27w"); // case 2: UNSUPPORTED("5igou3g3x4fk7tev76iwuz4eu"); // (aag_c_buf_p) = UNSUPPORTED("5818biabe0znc0ppmei5vo5wo"); // &(aag_buffer_stack)[(aag_buffer_stack_top)]->aag_ch_buf[(aag_n_chars)]; UNSUPPORTED("1aotx4d0a8ouhfouerkr911ty"); // aag_current_state = aag_get_previous_state( ); UNSUPPORTED("3nanwdupbkgohlzpjzoaukbr4"); // aag_cp = (aag_c_buf_p); UNSUPPORTED("ak6tf6umjq968y5h6qwp3ceo3"); // aag_bp = (aagtext) + 0; UNSUPPORTED("9l6wm3vx0rph8i8h7m4dcq34x"); // goto aag_find_action; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("7tfrjvpj21qv1411du5f3lm34"); // aag_fatal_error( UNSUPPORTED("ybsxsjxulyne6r7b32vyqqa4"); // "fatal flex scanner internal error--no action found" ); UNSUPPORTED("b7lvqabjq0uf837l088tlw8kv"); // } /* end of action switch */ UNSUPPORTED("thqyr6hhv3rcohnninr3k5q3"); // } /* end of scanning one token */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1bk2c3ez7bpnqxz6emq8dv629 // static int aag_get_next_buffer (void) public static Object aag_get_next_buffer(Object... arg) { UNSUPPORTED("bntfc8vc6ws60twpz2ksf3ytd"); // static int aag_get_next_buffer (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7ebw6rt1a8gwit3l70juuhrut"); // register char *dest = (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_ch_buf; UNSUPPORTED("ep8exp77z0cdsbzoahv0n7pga"); // register char *source = (aagtext); UNSUPPORTED("85flzwsp2wkcuz6e6p5ey0ja4"); // register int number_to_move, i; UNSUPPORTED("aipx13znfwyxln9k8crlo39qe"); // int ret_val; UNSUPPORTED("ft3hwcdb787h4u0eu9f0gq84"); // if ( (aag_c_buf_p) > &(aag_buffer_stack)[(aag_buffer_stack_top)]->aag_ch_buf[(aag_n_chars) + 1] ) UNSUPPORTED("7tfrjvpj21qv1411du5f3lm34"); // aag_fatal_error( UNSUPPORTED("cqw5y0axbe6zpejdhw2kz5g37"); // "fatal flex scanner internal error--end of buffer missed" ); UNSUPPORTED("79gs3w7jltoyaahske4enadi5"); // if ( (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_fill_buffer == 0 ) UNSUPPORTED("6m10jh2mrvdgrq5kcutyjfag5"); // { /* Don't try to fill the buffer, so this is an EOF. */ UNSUPPORTED("e47658a035mlx7e7nkbpn43e6"); // if ( (aag_c_buf_p) - (aagtext) - 0 == 1 ) UNSUPPORTED("2mdt9jdl3qwktdzlvb0pw8fgo"); // { UNSUPPORTED("edz3vn43zclgv62mlqerwztul"); // /* We matched a single character, the EOB, so UNSUPPORTED("ddn9y5tn3j329gcb6g4qzn5bo"); // * treat this as a final EOF. UNSUPPORTED("2y9k3dfnj3qua970vsvm0b9xt"); // */ UNSUPPORTED("2gvt66h1ue0vdx0rjg7066zj5"); // return 1; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("2mdt9jdl3qwktdzlvb0pw8fgo"); // { UNSUPPORTED("6p4qje014bli5jooxuv9gplax"); // /* We matched some text prior to the EOB, first UNSUPPORTED("2zgir7cl8vs3jtvgsypy2cprv"); // * process it. UNSUPPORTED("2y9k3dfnj3qua970vsvm0b9xt"); // */ UNSUPPORTED("56avbgath9pkm0tr5vgc38blj"); // return 2; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("5iv5436jldi3r5zxc6cyesgt3"); // /* Try to read more data. */ UNSUPPORTED("5gu7qax0c1v1a4pmunre2gpfc"); // /* First move last chars to start of buffer. */ UNSUPPORTED("6c80q0czxg343aiz9kirv4lcf"); // number_to_move = (int) ((aag_c_buf_p) - (aagtext)) - 1; UNSUPPORTED("ez6g2p84bd6n5fvmtci3lp5ey"); // for ( i = 0; i < number_to_move; ++i ) UNSUPPORTED("14sjmc97aajazt787to7n4w8q"); // *(dest++) = *(source++); UNSUPPORTED("9y3826ahw934er4dx6vzgbb98"); // if ( (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_buffer_status == 2 ) UNSUPPORTED("7v17eedbak69z08pul9m1ee0h"); // /* don't do the read, it's not guaranteed to return an EOF, UNSUPPORTED("3tpu3we8b13sqp1mg1w6oosky"); // * just force an EOF UNSUPPORTED("edw1ss2r31mqgsvca2gowi52v"); // */ UNSUPPORTED("816mxs5qse46gpfyinnbmuelu"); // (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_n_chars = (aag_n_chars) = 0; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("7411ae9sfh5a5sue0c5a6t9jd"); // aag_size_t num_to_read = UNSUPPORTED("7p2gso32w93qf8mfa7c19dd4i"); // (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_buf_size - number_to_move - 1; UNSUPPORTED("2lab0ejz2s9lpjigij4sy0k1h"); // while ( num_to_read <= 0 ) UNSUPPORTED("5vqkxz0eyslb5vps9nth5smdi"); // { /* Not enough room in the buffer - grow it. */ UNSUPPORTED("cb56koc4u4bh5car10xu0dn6z"); // /* just a shorter name for the current buffer */ UNSUPPORTED("57z8rr3zk0z9khsbhykuxu8f7"); // YY_BUFFER_STATE b = (aag_buffer_stack)[(aag_buffer_stack_top)]; UNSUPPORTED("73xg397okl0zo8gynw4zng1ke"); // int aag_c_buf_p_offset = UNSUPPORTED("1219lzhygrtpy6if4axt26e6q"); // (int) ((aag_c_buf_p) - b->aag_ch_buf); UNSUPPORTED("cruwi0gg9f33wqllvt84m81o"); // if ( b->aag_is_our_buffer ) UNSUPPORTED("4pcl1pdojya6hzq73u51kpoch"); // { UNSUPPORTED("5yo2d2rl188byncy10yrgxzqd"); // aag_size_t new_size = b->aag_buf_size * 2; UNSUPPORTED("cw9ef12ijn3ivaqxpw82amgng"); // if ( new_size <= 0 ) UNSUPPORTED("cvj6plivf0ytolhdcjfmykskk"); // b->aag_buf_size += b->aag_buf_size / 8; UNSUPPORTED("5dmwgqu6vf5e7mr3pnblxlzbr"); // else UNSUPPORTED("ebs3qp1orzgn5dkmp3ywh6rl5"); // b->aag_buf_size *= 2; UNSUPPORTED("t0cgbfvq2iycyesyp42ox2vd"); // b->aag_ch_buf = (char *) UNSUPPORTED("29w5kmsm7hhw6cok9tpv7juql"); // /* Include room in for 2 EOB chars. */ UNSUPPORTED("3ckiwiugcrriz4h2tefqpz24s"); // aagrealloc((void *) b->aag_ch_buf,b->aag_buf_size + 2 ); UNSUPPORTED("cysnuxd51taci3hbg5lifz8ce"); // } UNSUPPORTED("cqgi8f4d37bqva8z6bx5rvn7w"); // else UNSUPPORTED("d073t5yhzx1z93fa1qs3qig1i"); // /* Can't grow it, we don't own it. */ UNSUPPORTED("3buju5gen0sfqxk4qcf32ym1b"); // b->aag_ch_buf = 0; UNSUPPORTED("c8x2050nl0s3jf5j0rjmlwb6i"); // if ( ! b->aag_ch_buf ) UNSUPPORTED("3pnzyfuwgj63ox03srpnrx671"); // aag_fatal_error( UNSUPPORTED("ddwv9qwbvjhwo8ogidsc3pkcx"); // "fatal error - scanner input buffer overflow" ); UNSUPPORTED("23uwqhddabh2z0u142dlwaqgg"); // (aag_c_buf_p) = &b->aag_ch_buf[aag_c_buf_p_offset]; UNSUPPORTED("3v3z6b3hxykqsnkm34v5vt5rr"); // num_to_read = (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_buf_size - UNSUPPORTED("5jdefmguv6za2qdk3aqk98yot"); // number_to_move - 1; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("4svgtot6766l3a8qotzee9wvw"); // if ( num_to_read > 8192 ) UNSUPPORTED("1msizybwtesl5m6srryjf8r50"); // num_to_read = 8192; UNSUPPORTED("9hh9s07ydq4w9w37dlrlncmbt"); // /* Read in more data. */ UNSUPPORTED("6g59dwr892s73mmz5s1084rpw"); // if (( UNSUPPORTED("28bayw02ppqcuffpcnzwuat5f"); // (aag_n_chars) = Disc->io->afread(Ifile, (&(aag_buffer_stack)[(aag_buffer_stack_top)]->aag_ch_buf[number_to_move]), num_to_read)) < 0) aag_fatal_error( "input in flex scanner failed" ); UNSUPPORTED("2uvf85bz227zpcsxn55l3cvsw"); // (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_n_chars = (aag_n_chars); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("ah0h9w907nopolcfy6oyiwctm"); // if ( (aag_n_chars) == 0 ) UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("2e0812f9qysrs1efjy2brmdet"); // if ( number_to_move == 0 ) UNSUPPORTED("2mdt9jdl3qwktdzlvb0pw8fgo"); // { UNSUPPORTED("ecuksii2a411xyljnmuh7c8io"); // ret_val = 1; UNSUPPORTED("du8qw8rchee4hl3blu07sw364"); // aagrestart(aagin ); UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("2mdt9jdl3qwktdzlvb0pw8fgo"); // { UNSUPPORTED("cnfvjf35p8z6jfgiaezhf7jnk"); // ret_val = 2; UNSUPPORTED("2dy4yjkq71w7t5m682j0cm1do"); // (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_buffer_status = UNSUPPORTED("8dhl80gn8b27c7954rwx13hpd"); // 2; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("2tlz7d1xig0tr630niwla9240"); // ret_val = 0; UNSUPPORTED("cej0ij8gde9cqmlkewlcgbm5t"); // if ((aag_size_t) ((aag_n_chars) + number_to_move) > (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_buf_size) { UNSUPPORTED("8xt9rijm997e0dmpqnxn4tsce"); // /* Extend the array by 50%, plus the number we really need. */ UNSUPPORTED("eoh92xe0ah4y9oioxbsfttwsl"); // aag_size_t new_size = (aag_n_chars) + number_to_move + ((aag_n_chars) >> 1); UNSUPPORTED("cbqw1w6erw5da9h1syi4c81rq"); // (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_ch_buf = (char *) aagrealloc((void *) (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_ch_buf,new_size ); UNSUPPORTED("2w92ms8mfyj9c5vtlxgacptui"); // if ( ! (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_ch_buf ) UNSUPPORTED("bpvihnydln2vsx5j33w8sq0gq"); // aag_fatal_error( "out of dynamic memory in aag_get_next_buffer()" ); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6pgwguxop58ea3opnzwrkudrv"); // (aag_n_chars) += number_to_move; UNSUPPORTED("8k7xb1uamjt1og4y1mbhrq5le"); // (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_ch_buf[(aag_n_chars)] = 0; UNSUPPORTED("dng2s9q40h2aln7hzu7fa508"); // (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_ch_buf[(aag_n_chars) + 1] = 0; UNSUPPORTED("9zeakom5x40jklkzebzu09ooq"); // (aagtext) = &(aag_buffer_stack)[(aag_buffer_stack_top)]->aag_ch_buf[0]; UNSUPPORTED("c5segzlua9r3zhvzijt0rr81e"); // return ret_val; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dge0pk480ox74sfkkc1y9j2az // static aag_state_type aag_get_previous_state (void) public static Object aag_get_previous_state(Object... arg) { UNSUPPORTED("2f7ywxbd41kv0w35fr0s3gwtv"); // static aag_state_type aag_get_previous_state (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eyp458tyziuc5smdf8nmisuv0"); // register aag_state_type aag_current_state; UNSUPPORTED("8uf0gbbm46tqgc4hioxy8vjiz"); // register char *aag_cp; UNSUPPORTED("bieja928rkcqrr592kae9apln"); // aag_current_state = (aag_start); UNSUPPORTED("jczmn8egwv4b13o2oyfr7nrl"); // aag_current_state += ((aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol); UNSUPPORTED("9b7y7lw6mfst8xpmeih019ad"); // for ( aag_cp = (aagtext) + 0; aag_cp < (aag_c_buf_p); ++aag_cp ) UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("7qllmw83ohozx15rcagotofz5"); // register YY_CHAR aag_c = (*aag_cp ? aag_ec[((unsigned int) (unsigned char) *aag_cp)] : 1); UNSUPPORTED("313py7stvip1doqr47qqt0la0"); // if ( aag_accept[aag_current_state] ) UNSUPPORTED("2mdt9jdl3qwktdzlvb0pw8fgo"); // { UNSUPPORTED("e7sxeyap3mdy720wtkcdplou5"); // (aag_last_accepting_state) = aag_current_state; UNSUPPORTED("8qjgsamzeoh109vb22f604x7t"); // (aag_last_accepting_cpos) = aag_cp; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("4h466p7keybrkr5v3giksps4p"); // while ( aag_chk[aag_base[aag_current_state] + aag_c] != aag_current_state ) UNSUPPORTED("2mdt9jdl3qwktdzlvb0pw8fgo"); // { UNSUPPORTED("aajkf5dqhvqmw3f9n7p38pj6r"); // aag_current_state = (int) aag_def[aag_current_state]; UNSUPPORTED("9yopsiwk4yoadiay9h9cv9ehi"); // if ( aag_current_state >= 93 ) UNSUPPORTED("7vv9ddmvdeq6bgnhu9nrcnxvm"); // aag_c = aag_meta[(unsigned int) aag_c]; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("51p9ejc6sf5qknsjvtayasozy"); // aag_current_state = aag_nxt[aag_base[aag_current_state] + (unsigned int) aag_c]; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("byo2sznczq4ymhtli73pm3udl"); // return aag_current_state; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1bqrp6l15lwke1ldr6rocxdac // static aag_state_type aag_try_NUL_trans (aag_state_type aag_current_state ) public static Object aag_try_NUL_trans(Object... arg) { UNSUPPORTED("1c5zau9pxlkse3pyxct71b9b6"); // static aag_state_type aag_try_NUL_trans (aag_state_type aag_current_state ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5cttrvxgf8tj171oltic9kuxk"); // register int aag_is_jam; UNSUPPORTED("607lnmo0y2p5f2uu142fznvum"); // register char *aag_cp = (aag_c_buf_p); UNSUPPORTED("dom9fqyl48xmfjoext3bee9m3"); // register YY_CHAR aag_c = 1; UNSUPPORTED("31kqmiupr0r27efmb8f7imz5i"); // if ( aag_accept[aag_current_state] ) UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("dgv7pz2zpo0js8rtzn1ni3x7v"); // (aag_last_accepting_state) = aag_current_state; UNSUPPORTED("7p069a7s6dmsdw8ysdduj38wm"); // (aag_last_accepting_cpos) = aag_cp; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("m4dsqto0nhwwx0m59nbspfk1"); // while ( aag_chk[aag_base[aag_current_state] + aag_c] != aag_current_state ) UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("85khbtsksdmgyqrfzhgdys0g3"); // aag_current_state = (int) aag_def[aag_current_state]; UNSUPPORTED("9a13x8h85yf4gv3bob5ag8x9f"); // if ( aag_current_state >= 93 ) UNSUPPORTED("e1mfyn6wjy9wyaq80y0xgwjhr"); // aag_c = aag_meta[(unsigned int) aag_c]; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("14xmpnv4kpg47d1zmttc99fz0"); // aag_current_state = aag_nxt[aag_base[aag_current_state] + (unsigned int) aag_c]; UNSUPPORTED("13un885faeok3sujcnk8wsrm3"); // aag_is_jam = (aag_current_state == 92); UNSUPPORTED("6l9txnev1x47auh1g4bpko864"); // return aag_is_jam ? 0 : aag_current_state; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 kz1k3qeyyshqirx2726nc2lb // static void aagunput (int c, register char * aag_bp ) public static Object aagunput(Object... arg) { UNSUPPORTED("6qb36grs4pj0ke1dlwgx370i1"); // static void aagunput (int c, register char * aag_bp ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8uf0gbbm46tqgc4hioxy8vjiz"); // register char *aag_cp; UNSUPPORTED("3rlqat2geccfwfzu8sgn63j61"); // aag_cp = (aag_c_buf_p); UNSUPPORTED("9oaabjtrdlssvq6fvlwffi1f2"); // /* undo effects of setting up aagtext */ UNSUPPORTED("11cebwack73ecjllyd3vaefq4"); // *aag_cp = (aag_hold_char); UNSUPPORTED("3mir5tgsoqs63hlvlewrogbvr"); // if ( aag_cp < (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_ch_buf + 2 ) UNSUPPORTED("14vg05mqua5r457g6eyrugk5q"); // { /* need to shift things up to make room */ UNSUPPORTED("1ec7aezzerjgwgwx53i84wstu"); // /* +2 for EOB chars. */ UNSUPPORTED("b87cedaxmgerhw9uxiuys7af3"); // register aag_size_t number_to_move = (aag_n_chars) + 2; UNSUPPORTED("7c3v153qetipljsaewu70fefp"); // register char *dest = &(aag_buffer_stack)[(aag_buffer_stack_top)]->aag_ch_buf[ UNSUPPORTED("bj56edmxlh2xzs98iz0i5xcah"); // (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_buf_size + 2]; UNSUPPORTED("dqsiggiv5ytfmlvfbgfomuzkx"); // register char *source = UNSUPPORTED("2n82mug2j3rzge4uc8kl6gemy"); // &(aag_buffer_stack)[(aag_buffer_stack_top)]->aag_ch_buf[number_to_move]; UNSUPPORTED("997on72fary1gmvda0adob8e2"); // while ( source > (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_ch_buf ) UNSUPPORTED("4o5m6d8nlzgd7ivcwrah26ssf"); // *--dest = *--source; UNSUPPORTED("7fav6sgyuoyymce07cmiwfgrl"); // aag_cp += (int) (dest - source); UNSUPPORTED("4hwl1p0ol7p3jlw8t1v4iy3dm"); // aag_bp += (int) (dest - source); UNSUPPORTED("8ggnn11a3zgylsepvdmi403jw"); // (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_n_chars = UNSUPPORTED("c12ay56bgt5zgecfp6csc78py"); // (aag_n_chars) = (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_buf_size; UNSUPPORTED("9qwx52jdmrqtblu9k27dw2n5j"); // if ( aag_cp < (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_ch_buf + 2 ) UNSUPPORTED("2l6f8vs2equ9c6umygyh46k17"); // aag_fatal_error( "flex scanner push-back overflow" ); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("1pzi72hhrtp5tjgv7agsfcrnf"); // *--aag_cp = (char) c; UNSUPPORTED("dq0ryg1dmq4j646ibu68d5b64"); // (aagtext) = aag_bp; UNSUPPORTED("ee6jtq1rwjxor1054gu7uvbkq"); // (aag_hold_char) = *aag_cp; UNSUPPORTED("8toiq63heg2dnnwc1uzhvahm9"); // (aag_c_buf_p) = aag_cp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 23mhytvy8ivrz8bn5qfjy7jm5 // static int input (void) public static Object input(Object... arg) { UNSUPPORTED("8vrkofm3h8bcnpmtcw7xt22kr"); // static int input (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bf60xh4vwy9e0mvwv89b3f8cu"); // int c; UNSUPPORTED("f2j3r93ldwabmgkvopbu8ke69"); // *(aag_c_buf_p) = (aag_hold_char); UNSUPPORTED("c8eyfnv59jx8hpsjk089mtwrr"); // if ( *(aag_c_buf_p) == 0 ) UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("b32kgmqpglza1bwirwnd6tlkl"); // /* aag_c_buf_p now points to the character we want to return. UNSUPPORTED("1hq4yhwl0fx75o15jngw0ihb9"); // * If this occurs *before* the EOB characters, then it's a UNSUPPORTED("f0bzc3s2oxed7pb8q34p648qy"); // * valid NUL; if not, then we've hit the end of the buffer. UNSUPPORTED("edw1ss2r31mqgsvca2gowi52v"); // */ UNSUPPORTED("ery3od70l5wa0sz5nqawbvems"); // if ( (aag_c_buf_p) < &(aag_buffer_stack)[(aag_buffer_stack_top)]->aag_ch_buf[(aag_n_chars)] ) UNSUPPORTED("32h5pb0mkqm4y03b8eybnh4mp"); // /* This was really a NUL. */ UNSUPPORTED("5n4fw7opgc3vyuqhdl9s5erhg"); // *(aag_c_buf_p) = '\0'; UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("7jppcthnpiitb724w59fg08vn"); // { /* need more input */ UNSUPPORTED("4kiy5u9c2j6xbnjs99ouhtt50"); // aag_size_t offset = (aag_c_buf_p) - (aagtext); UNSUPPORTED("f0eo1b9yirx22lyq6rll7v2ly"); // ++(aag_c_buf_p); UNSUPPORTED("aexb0uyz5zg1fozkicu5sbmg8"); // switch ( aag_get_next_buffer( ) ) UNSUPPORTED("4pcl1pdojya6hzq73u51kpoch"); // { UNSUPPORTED("zs8i523h032f7caqsscettcf"); // case 2: UNSUPPORTED("wwb9heihlmibsfsk93ug6kah"); // /* This happens because aag_g_n_b() UNSUPPORTED("cay0jfu5p5z0uf8v7zaxuhqv3"); // * sees that we've accumulated a UNSUPPORTED("5nb4ylc94zsre9qm9tqb913kk"); // * token and flags that we need to UNSUPPORTED("bu1eyl05r0dcoh5bvhilyf33w"); // * try matching the token before UNSUPPORTED("e920mo2stwad3a7t16p9c67i2"); // * proceeding. But for input(), UNSUPPORTED("arhq65ae9riiq10uwiv7kyrw9"); // * there's no matching to consider. UNSUPPORTED("3gkh77x2y5ieqqohy07a19d72"); // * So convert the EOB_ACT_LAST_MATCH UNSUPPORTED("bi4v3ylk18fw58gaxmlii0vgt"); // * to EOB_ACT_END_OF_FILE. UNSUPPORTED("2y9jwnvnhklvpvmeawdnqm8i2"); // */ UNSUPPORTED("9pds58wgqhghti0xhbd56ey3"); // /* Reset buffer status. */ UNSUPPORTED("e604jkju2d2uxstj1rcgnpwzf"); // aagrestart(aagin ); UNSUPPORTED("3p8lrx0z9pmfvk0ung8t0k5gw"); // /*FALLTHROUGH*/ UNSUPPORTED("55sc5kjxx194qbywunw6ie4tq"); // case 1: UNSUPPORTED("e928s13otj5jhz855y8um3tz8"); // { UNSUPPORTED("8vgbl2qps52inifu5y46ybcb3"); // if ( aagwrap( ) ) UNSUPPORTED("beelx35ltrjy6zawc0jvwlmdy"); // return EOF; UNSUPPORTED("9igctqd1bmlpq7mo4bt3sj8c3"); // if ( ! (aag_did_buffer_switch_on_eof) ) UNSUPPORTED("apt6qnupr74oq1rmuhce124oq"); // aagrestart(aagin ); UNSUPPORTED("77mnxqllv81bh7cvexbu27yd0"); // return input(); UNSUPPORTED("7qewsve9tto7ge11dkittrbpg"); // } UNSUPPORTED("ch7zw859io5htnhxq7j7g62v"); // case 0: UNSUPPORTED("asfd0yomhggpw8xczfs2rcq0r"); // (aag_c_buf_p) = (aagtext) + offset; UNSUPPORTED("6ioth986rfbv208dp59shjy15"); // break; UNSUPPORTED("cysnuxd51taci3hbg5lifz8ce"); // } UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("eq7rg75ncqkmice90l768lltk"); // c = *(unsigned char *) (aag_c_buf_p); /* cast for 8-bit char's */ UNSUPPORTED("2pzbicuaj8qxlozp4jb49ela9"); // *(aag_c_buf_p) = '\0'; /* preserve aagtext */ UNSUPPORTED("63aemjzvkjbuuwy5niv1p8ems"); // (aag_hold_char) = *++(aag_c_buf_p); UNSUPPORTED("7mz0nhmwr7rhmhe4726mxy930"); // (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_at_bol = (c == '\n'); UNSUPPORTED("7q6l09k0u87z31e0nmv2lwr94"); // return c; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 b91gjad0l9xznwagmx7tqnomu // void aagrestart (FILE * input_file ) public static Object aagrestart(Object... arg) { UNSUPPORTED("a7s7ae3oh1mpb0t6l6gwghp8t"); // void aagrestart (FILE * input_file ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4cjxiuze5n97ut49tnlx7f0xu"); // if ( ! ( (aag_buffer_stack) ? (aag_buffer_stack)[(aag_buffer_stack_top)] : NULL) ){ UNSUPPORTED("50o2qy0tkzxph6w8v4gybs11"); // aagensure_buffer_stack (); UNSUPPORTED("4uzesnnzwv3eg6zjha19j70aj"); // (aag_buffer_stack)[(aag_buffer_stack_top)] = UNSUPPORTED("cdlpme9zcovn7oia109nftsnu"); // aag_create_buffer(aagin,16384 ); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("b96548w382ibaotlsxjpmslh2"); // aag_init_buffer(( (aag_buffer_stack) ? (aag_buffer_stack)[(aag_buffer_stack_top)] : NULL),input_file ); UNSUPPORTED("a4b2f8asd493ruq5ci95a6m81"); // aag_load_buffer_state( ); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 418kp3955qaorltr2gp3n7hr3 // void aag_switch_to_buffer (YY_BUFFER_STATE new_buffer ) public static Object aag_switch_to_buffer(Object... arg) { UNSUPPORTED("7s07x3nube8908f082kwgj234"); // void aag_switch_to_buffer (YY_BUFFER_STATE new_buffer ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9t2da7w0dy6ecggk3f3lrrzln"); // /* TODO. We should be able to replace this entire function body UNSUPPORTED("6khfrwvr9ws4yzopxjkiwe8l"); // * with UNSUPPORTED("9rsuoxcu7gx52b6otrhhwtbp7"); // * aagpop_buffer_state(); UNSUPPORTED("eocuxrrwbo1wfytacznzt7kdp"); // * aagpush_buffer_state(new_buffer); UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("agzt1ivnppc6nqqlyw5uo8amy"); // aagensure_buffer_stack (); UNSUPPORTED("2t3t5pfo25q325w207ho598um"); // if ( ( (aag_buffer_stack) ? (aag_buffer_stack)[(aag_buffer_stack_top)] : NULL) == new_buffer ) UNSUPPORTED("6bj8inpmr5ulm16jmfxsstjtn"); // return; UNSUPPORTED("aqaux0xumrbi1suoc6u75bn9h"); // if ( ( (aag_buffer_stack) ? (aag_buffer_stack)[(aag_buffer_stack_top)] : NULL) ) UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("hjirhak021dywcjxs66ukoqh"); // /* Flush out information for old buffer. */ UNSUPPORTED("cbtw5voc0x2dgb1nir3oodu4h"); // *(aag_c_buf_p) = (aag_hold_char); UNSUPPORTED("1lg74bgprfb93mb6yie4nebk2"); // (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_buf_pos = (aag_c_buf_p); UNSUPPORTED("2uvf85bz227zpcsxn55l3cvsw"); // (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_n_chars = (aag_n_chars); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("8zeem234b4537a5t9ii8mjp5e"); // (aag_buffer_stack)[(aag_buffer_stack_top)] = new_buffer; UNSUPPORTED("a4b2f8asd493ruq5ci95a6m81"); // aag_load_buffer_state( ); UNSUPPORTED("azal5032o9c7tkzm8qk3rv7np"); // /* We don't actually know whether we did this switch during UNSUPPORTED("3zs2zt7i904jm2iq5o5xye4ud"); // * EOF (aagwrap()) processing, but the only time this flag UNSUPPORTED("1msm0c25dbdvj3ng1fyovpk1a"); // * is looked at is after aagwrap() is called, so it's safe UNSUPPORTED("bxcz3h8s1o9spx7fi7mo2v5t8"); // * to go ahead and always set it. UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("8hdw1gealimged5gkvfrv62pl"); // (aag_did_buffer_switch_on_eof) = 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2n1quqa5b6mm0p65k3ewgjdll // static void aag_load_buffer_state (void) public static Object aag_load_buffer_state(Object... arg) { UNSUPPORTED("m33qzmtmg0y53g5pbnlx9mmy"); // static void aag_load_buffer_state (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9thlshhzkqrol5z7lpkm8f7wd"); // (aag_n_chars) = (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_n_chars; UNSUPPORTED("6cc5nb0zuwi0rv2esfs7inl4"); // (aagtext) = (aag_c_buf_p) = (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_buf_pos; UNSUPPORTED("a93nq970fiu3j1tyhej3qvj4g"); // aagin = (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_input_file; UNSUPPORTED("exnttys65gikok2rjt0w4ruaq"); // (aag_hold_char) = *(aag_c_buf_p); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bz2sdl6duvmrjgptg3i8pek7d // YY_BUFFER_STATE aag_create_buffer (FILE * file, int size ) public static Object aag_create_buffer(Object... arg) { UNSUPPORTED("9a1gw2xo54z6vxuqswldwr5vh"); // YY_BUFFER_STATE aag_create_buffer (FILE * file, int size ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("17fp4sigd3bnfjdj56aiskloz"); // YY_BUFFER_STATE b; UNSUPPORTED("7mrf0i5kql5xndjgllkbconxd"); // b = (YY_BUFFER_STATE) aagalloc(sizeof( struct aag_buffer_state ) ); UNSUPPORTED("6dbppvcge8q0qzkzswhskafq0"); // if ( ! b ) UNSUPPORTED("2f1vsk88rl2oqimdpnpm8sbvq"); // aag_fatal_error( "out of dynamic memory in aag_create_buffer()" ); UNSUPPORTED("2l43p529tfo79vh9xkwoo3hfy"); // b->aag_buf_size = size; UNSUPPORTED("ldv2j51bh7c79f2rsjvhe820"); // /* aag_ch_buf has to be 2 characters longer than the size given because UNSUPPORTED("8mnlk977roejchmemdihfilf7"); // * we need to put in 2 end-of-buffer characters. UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("31zfpac9sot6bus0zxh28dkzl"); // b->aag_ch_buf = (char *) aagalloc(b->aag_buf_size + 2 ); UNSUPPORTED("8ht37kqb7ryerqc8kd1kxxdkf"); // if ( ! b->aag_ch_buf ) UNSUPPORTED("2f1vsk88rl2oqimdpnpm8sbvq"); // aag_fatal_error( "out of dynamic memory in aag_create_buffer()" ); UNSUPPORTED("89nlcck0onq0z5nju1h6dihhw"); // b->aag_is_our_buffer = 1; UNSUPPORTED("3fyqvxxu8l41l1e6xbgis2d1u"); // aag_init_buffer(b,file ); UNSUPPORTED("1lucb0x0v3ldgueqifh95nl1u"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cvxw0l0ojnracqk5o3c07vf4m // void aag_delete_buffer (YY_BUFFER_STATE b ) public static Object aag_delete_buffer(Object... arg) { UNSUPPORTED("bpqurydddo1eg834j6t2mywht"); // void aag_delete_buffer (YY_BUFFER_STATE b ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6dbppvcge8q0qzkzswhskafq0"); // if ( ! b ) UNSUPPORTED("6bj8inpmr5ulm16jmfxsstjtn"); // return; UNSUPPORTED("94idskdictwqhs2ac1rj9d7r6"); // if ( b == ( (aag_buffer_stack) ? (aag_buffer_stack)[(aag_buffer_stack_top)] : NULL) ) /* Not sure if we should pop here. */ UNSUPPORTED("4zc83wd4y6h4wy7o1wv0p4tp8"); // (aag_buffer_stack)[(aag_buffer_stack_top)] = (YY_BUFFER_STATE) 0; UNSUPPORTED("ak41c36nk6zr2evsd18682lgj"); // if ( b->aag_is_our_buffer ) UNSUPPORTED("3432oq780g8u0ny62vr5d09pe"); // aagfree((void *) b->aag_ch_buf ); UNSUPPORTED("6lktqk4nw3nqopq8oknapaczq"); // aagfree((void *) b ); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8z0ws8ykdt2m53k269y0s3uau // static void aag_init_buffer (YY_BUFFER_STATE b, FILE * file ) public static Object aag_init_buffer(Object... arg) { UNSUPPORTED("7j4p3tv8442q9xyfpqokcny92"); // static void aag_init_buffer (YY_BUFFER_STATE b, FILE * file ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("283psyjlfno8q88uy4cq6jwz9"); // int oerrno = errno; UNSUPPORTED("e2pfyytd28ykmms2nr0ew4cqn"); // aag_flush_buffer(b ); UNSUPPORTED("25q4tcfugzmy3edj76t2c5ih3"); // b->aag_input_file = file; UNSUPPORTED("ahv8zvzf22w9n5ep104x6va7"); // b->aag_fill_buffer = 1; UNSUPPORTED("2hy7ism50yh61htolfxci8esf"); // /* If b is the current buffer, then aag_init_buffer was _probably_ UNSUPPORTED("19txf0i7d5sz9risud1w8vrig"); // * called from aagrestart() or through aag_get_next_buffer. UNSUPPORTED("7lzjjm1jn1acrxrh1eyxcev5r"); // * In that case, we don't want to reset the lineno or column. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("4r35eb6ury607b1mzssz9on3l"); // if (b != ( (aag_buffer_stack) ? (aag_buffer_stack)[(aag_buffer_stack_top)] : NULL)){ UNSUPPORTED("dzo34o77efru78xpifgs7z17e"); // b->aag_bs_lineno = 1; UNSUPPORTED("95t1fosxhhfjmawjuui0dixyv"); // b->aag_bs_column = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a2a0czceeuuuggzlak63rtqdm"); // b->aag_is_interactive = file ? (0 > 0) : 0; UNSUPPORTED("72x3uklh05naqgu261srbg39y"); // errno = oerrno; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 euu43g3i43888wantq0lgdqe8 // void aag_flush_buffer (YY_BUFFER_STATE b ) public static Object aag_flush_buffer(Object... arg) { UNSUPPORTED("5rlwsfuuevgt6j59owhk0vsyc"); // void aag_flush_buffer (YY_BUFFER_STATE b ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3dq1hii77jc6u73twyfvwl3a9"); // if ( ! b ) UNSUPPORTED("6bj8inpmr5ulm16jmfxsstjtn"); // return; UNSUPPORTED("6cbsupelvfb558shx2yb0yvcm"); // b->aag_n_chars = 0; UNSUPPORTED("3v8ttgsv16fumgfkgzlch3q2f"); // /* We always need two end-of-buffer characters. The first causes UNSUPPORTED("3yrb5f5ki8bec2r96pcs01d39"); // * a transition to the end-of-buffer state. The second causes UNSUPPORTED("67kt17e65snnq433p7xw2ooew"); // * a jam in that state. UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("4w5064pru48ayz24yik2t9wma"); // b->aag_ch_buf[0] = 0; UNSUPPORTED("838e325iarhiw21926btrglcx"); // b->aag_ch_buf[1] = 0; UNSUPPORTED("8dzmx2vrua5b75y3ujfdhou5n"); // b->aag_buf_pos = &b->aag_ch_buf[0]; UNSUPPORTED("czoo07g9uc4a29dyf1qk4v765"); // b->aag_at_bol = 1; UNSUPPORTED("2hqsp77qbwwdprmfq4hf8u4uu"); // b->aag_buffer_status = 0; UNSUPPORTED("etbmfw4pqxcunac5so844cqju"); // if ( b == ( (aag_buffer_stack) ? (aag_buffer_stack)[(aag_buffer_stack_top)] : NULL) ) UNSUPPORTED("5vdfn4vw8baq4bh6qaiza5ces"); // aag_load_buffer_state( ); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 19g3ujgwn6wfrv2pvydtxr75 // void aagpush_buffer_state (YY_BUFFER_STATE new_buffer ) public static Object aagpush_buffer_state(Object... arg) { UNSUPPORTED("7dnx37wzyytlwuntjzywbpjrz"); // void aagpush_buffer_state (YY_BUFFER_STATE new_buffer ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cyx0t99hvvlwtgheo3d1slkbf"); // if (new_buffer == NULL) UNSUPPORTED("6bj8inpmr5ulm16jmfxsstjtn"); // return; UNSUPPORTED("8qtcqfmnpmz9w58dyr1fap6hz"); // aagensure_buffer_stack(); UNSUPPORTED("aoawljluu5zfqg5fymr0tnk1b"); // /* This block is copied from aag_switch_to_buffer. */ UNSUPPORTED("aqaux0xumrbi1suoc6u75bn9h"); // if ( ( (aag_buffer_stack) ? (aag_buffer_stack)[(aag_buffer_stack_top)] : NULL) ) UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("hjirhak021dywcjxs66ukoqh"); // /* Flush out information for old buffer. */ UNSUPPORTED("cbtw5voc0x2dgb1nir3oodu4h"); // *(aag_c_buf_p) = (aag_hold_char); UNSUPPORTED("1lg74bgprfb93mb6yie4nebk2"); // (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_buf_pos = (aag_c_buf_p); UNSUPPORTED("2uvf85bz227zpcsxn55l3cvsw"); // (aag_buffer_stack)[(aag_buffer_stack_top)]->aag_n_chars = (aag_n_chars); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("eilb2lnorspm9kmjezs2hxn6q"); // /* Only push if top exists. Otherwise, replace top. */ UNSUPPORTED("ecdndvrvbw37q3nfvqrhf4fie"); // if (( (aag_buffer_stack) ? (aag_buffer_stack)[(aag_buffer_stack_top)] : NULL)) UNSUPPORTED("9qfx6cgnnxlimtsgx31ehy9b1"); // (aag_buffer_stack_top)++; UNSUPPORTED("8zeem234b4537a5t9ii8mjp5e"); // (aag_buffer_stack)[(aag_buffer_stack_top)] = new_buffer; UNSUPPORTED("ekjsdu753i856myudmzi333d1"); // /* copied from aag_switch_to_buffer. */ UNSUPPORTED("a4b2f8asd493ruq5ci95a6m81"); // aag_load_buffer_state( ); UNSUPPORTED("8hdw1gealimged5gkvfrv62pl"); // (aag_did_buffer_switch_on_eof) = 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 27b1vcsegbixqbqjzrwamdpcn // void aagpop_buffer_state (void) public static Object aagpop_buffer_state(Object... arg) { UNSUPPORTED("aho9q6pa29mrtlxb4s78qp3od"); // void aagpop_buffer_state (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("duicdoe269odnnlbpzbnz3h81"); // if (!( (aag_buffer_stack) ? (aag_buffer_stack)[(aag_buffer_stack_top)] : NULL)) UNSUPPORTED("6bj8inpmr5ulm16jmfxsstjtn"); // return; UNSUPPORTED("5umm8ltd4b6a51xpblbqy8qks"); // aag_delete_buffer(( (aag_buffer_stack) ? (aag_buffer_stack)[(aag_buffer_stack_top)] : NULL) ); UNSUPPORTED("chiisjorqoelih8jlfxzlaf2i"); // (aag_buffer_stack)[(aag_buffer_stack_top)] = NULL; UNSUPPORTED("8swzz3wyezeggvlkr1py1q29l"); // if ((aag_buffer_stack_top) > 0) UNSUPPORTED("61uxz7tnjcvsal7zy3z8slfps"); // --(aag_buffer_stack_top); UNSUPPORTED("cnx6esgchi9pvf0hgjtmjt435"); // if (( (aag_buffer_stack) ? (aag_buffer_stack)[(aag_buffer_stack_top)] : NULL)) { UNSUPPORTED("5vdfn4vw8baq4bh6qaiza5ces"); // aag_load_buffer_state( ); UNSUPPORTED("9szgmfl0nm285xgd2r9vfx5xo"); // (aag_did_buffer_switch_on_eof) = 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1iyph8hj357vj714inph32tcl // static void aagensure_buffer_stack (void) public static Object aagensure_buffer_stack(Object... arg) { UNSUPPORTED("3sdjpuqouzn047v1nnvh67d1l"); // static void aagensure_buffer_stack (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("a2hcrxfa6lo4empmzpuqcivi1"); // aag_size_t num_to_alloc; UNSUPPORTED("29cci2yfdmiw9anfb27tuqtz7"); // if (!(aag_buffer_stack)) { UNSUPPORTED("d1qyxv4ky4vyqiqajtnkwoqjk"); // /* First allocation is just for 2 elements, since we don't know if this UNSUPPORTED("1ejcjlgelylmli8wh7uj2fq2f"); // * scanner will even need a stack. We use 2 instead of 1 to avoid an UNSUPPORTED("4obpjr8hh2hqvqqjkrokd638y"); // * immediate realloc on the next call. UNSUPPORTED("3vesx4cskuo1q42jvwmoum2xs"); // */ UNSUPPORTED("4ewxpgeg2iqq5hl0bwkybovkc"); // num_to_alloc = 1; UNSUPPORTED("9ju5ond0u4zrfz0v8p0j01l3y"); // (aag_buffer_stack) = (struct aag_buffer_state**)aagalloc UNSUPPORTED("8oezffgujlxcgxnb9h4o3lxjv"); // (num_to_alloc * sizeof(struct aag_buffer_state*) UNSUPPORTED("9tah2dk3dzghm88w1iv765ug1"); // ); UNSUPPORTED("10l1leyl9wq6ubkuu0h8trd75"); // if ( ! (aag_buffer_stack) ) UNSUPPORTED("eayag7q8kugt9vndqw2b8geiq"); // aag_fatal_error( "out of dynamic memory in aagensure_buffer_stack()" ); UNSUPPORTED("68gh3oqf36qrvfl7oyy3bvkv7"); // memset((aag_buffer_stack), 0, num_to_alloc * sizeof(struct aag_buffer_state*)); UNSUPPORTED("e8i8xuvufgmwrgzewq07k0lhh"); // (aag_buffer_stack_max) = num_to_alloc; UNSUPPORTED("8juns3p4niqfeqfuqfaux3np7"); // (aag_buffer_stack_top) = 0; UNSUPPORTED("6bj8inpmr5ulm16jmfxsstjtn"); // return; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2h8rn6lifnrrpjvtqrzspppaj"); // if ((aag_buffer_stack_top) >= ((aag_buffer_stack_max)) - 1){ UNSUPPORTED("16vxkn1s1f3fzkucpkffvkyqo"); // /* Increase the buffer to prepare for a possible push. */ UNSUPPORTED("b4ih8ipe8yvjlfyuadrh03d7f"); // int grow_size = 8 /* arbitrary grow size */; UNSUPPORTED("aa1un5vm8egsjsou4l4iegl3k"); // num_to_alloc = (aag_buffer_stack_max) + grow_size; UNSUPPORTED("3ucjxe5tj3edok5k5y3anw2p7"); // (aag_buffer_stack) = (struct aag_buffer_state**)aagrealloc UNSUPPORTED("2orrmpxhoj5k2nlwrh09qw04q"); // ((aag_buffer_stack), UNSUPPORTED("cvog4q9qv8mf3yugscs36y940"); // num_to_alloc * sizeof(struct aag_buffer_state*) UNSUPPORTED("9tah2dk3dzghm88w1iv765ug1"); // ); UNSUPPORTED("10l1leyl9wq6ubkuu0h8trd75"); // if ( ! (aag_buffer_stack) ) UNSUPPORTED("eayag7q8kugt9vndqw2b8geiq"); // aag_fatal_error( "out of dynamic memory in aagensure_buffer_stack()" ); UNSUPPORTED("4ak2m3t1ocbdxila5qx1volyf"); // /* zero only the new slots.*/ UNSUPPORTED("c9lnuv46scld9i8iqxdhatczy"); // memset((aag_buffer_stack) + (aag_buffer_stack_max), 0, grow_size * sizeof(struct aag_buffer_state*)); UNSUPPORTED("e8i8xuvufgmwrgzewq07k0lhh"); // (aag_buffer_stack_max) = num_to_alloc; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7yvjra4z1kimbp0xfvzml1ge1 // YY_BUFFER_STATE aag_scan_buffer (char * base, aag_size_t size ) public static Object aag_scan_buffer(Object... arg) { UNSUPPORTED("34agdjyirk3pcfm9jjwp8i13w"); // YY_BUFFER_STATE aag_scan_buffer (char * base, aag_size_t size ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("17fp4sigd3bnfjdj56aiskloz"); // YY_BUFFER_STATE b; UNSUPPORTED("evnj0omz1k4vp0xmr9r940ds6"); // if ( size < 2 || UNSUPPORTED("15qfhapzt12li01fk2db08sw0"); // base[size-2] != 0 || UNSUPPORTED("dn5vk4urvf83ftd9ls9br9h2v"); // base[size-1] != 0 ) UNSUPPORTED("76i2nlud0sudn1zbabaw51s52"); // /* They forgot to leave room for the EOB's. */ UNSUPPORTED("5izxoao5ryte71964f8yjfd5y"); // return 0; UNSUPPORTED("7mrf0i5kql5xndjgllkbconxd"); // b = (YY_BUFFER_STATE) aagalloc(sizeof( struct aag_buffer_state ) ); UNSUPPORTED("6dbppvcge8q0qzkzswhskafq0"); // if ( ! b ) UNSUPPORTED("9gd4cfygbf0kpa082mi8835a"); // aag_fatal_error( "out of dynamic memory in aag_scan_buffer()" ); UNSUPPORTED("4qmg246x23u74iwerx0zeh3us"); // b->aag_buf_size = size - 2; /* "- 2" to take care of EOB's */ UNSUPPORTED("1t390e7pfxygoif7wdie89mbt"); // b->aag_buf_pos = b->aag_ch_buf = base; UNSUPPORTED("92ame1l1vygta5t7yseme0tia"); // b->aag_is_our_buffer = 0; UNSUPPORTED("h4z4d3puygko4no5q08f4hbm"); // b->aag_input_file = 0; UNSUPPORTED("bv8nrei55lbwkqnotxx27pdpx"); // b->aag_n_chars = b->aag_buf_size; UNSUPPORTED("eqixc09ymq4dt5vet05b0kmzn"); // b->aag_is_interactive = 0; UNSUPPORTED("czoo07g9uc4a29dyf1qk4v765"); // b->aag_at_bol = 1; UNSUPPORTED("qf6o823cw74j6w2me3vz7fbd"); // b->aag_fill_buffer = 0; UNSUPPORTED("2hqsp77qbwwdprmfq4hf8u4uu"); // b->aag_buffer_status = 0; UNSUPPORTED("5hfi9p5415gw6c2x685w0q1bo"); // aag_switch_to_buffer(b ); UNSUPPORTED("1lucb0x0v3ldgueqifh95nl1u"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 43izorque2e7plck393cc6hsz // YY_BUFFER_STATE aag_scan_string ( char * aagstr ) public static Object aag_scan_string(Object... arg) { UNSUPPORTED("9bpq4eoai3kbg3afd97p0nyyj"); // YY_BUFFER_STATE aag_scan_string ( char * aagstr ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8sx87o9hndvp7qaq52vqiceh2"); // return aag_scan_bytes(aagstr,strlen(aagstr) ); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 74bdwb6md7bl3lpynnjoca8pm // YY_BUFFER_STATE aag_scan_bytes ( char * aagbytes, aag_size_t _aagbytes_len ) public static Object aag_scan_bytes(Object... arg) { UNSUPPORTED("22n9ywf6bno4e1ogc0rfnzt43"); // YY_BUFFER_STATE aag_scan_bytes ( char * aagbytes, aag_size_t _aagbytes_len ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("17fp4sigd3bnfjdj56aiskloz"); // YY_BUFFER_STATE b; UNSUPPORTED("alvm7g1yun5lnprwn379yva7g"); // char *buf; UNSUPPORTED("242h7r83bv7vrscfynwyu1p2d"); // aag_size_t n; UNSUPPORTED("bbuxsg26kpzb2fl660hjri9l8"); // int i; UNSUPPORTED("30v8r32hksc2dvfl6gbcks7xd"); // /* Get memory for full buffer, including space for trailing EOB's. */ UNSUPPORTED("b0eubmj9g20tq7qvpocaf0s6w"); // n = _aagbytes_len + 2; UNSUPPORTED("19lotil2m9zts56o7dzyu021m"); // buf = (char *) aagalloc(n ); UNSUPPORTED("15nhevd3f9fycwuhg9fkjkzew"); // if ( ! buf ) UNSUPPORTED("80ioy58udfahif5lhgwzdmmp5"); // aag_fatal_error( "out of dynamic memory in aag_scan_bytes()" ); UNSUPPORTED("5060qt15bitq5p5umkzkhjmh6"); // for ( i = 0; i < _aagbytes_len; ++i ) UNSUPPORTED("d2qdodjt00avfah797qbnvz90"); // buf[i] = aagbytes[i]; UNSUPPORTED("5taf7ek5t6s14vsooqe1sc5hr"); // buf[_aagbytes_len] = buf[_aagbytes_len+1] = 0; UNSUPPORTED("e5ykpyc09qgxxltuktf9u0bqk"); // b = aag_scan_buffer(buf,n ); UNSUPPORTED("6dbppvcge8q0qzkzswhskafq0"); // if ( ! b ) UNSUPPORTED("bi5lxu32oapwjy99as9jbkgrn"); // aag_fatal_error( "bad buffer in aag_scan_bytes()" ); UNSUPPORTED("b7eqyxz30wpigc4f2ut33z6gp"); // /* It's okay to grow etc. this buffer, and we should throw it UNSUPPORTED("6lvmstg7t0bn7rk9ihku6ovfb"); // * away when we're done. UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("89nlcck0onq0z5nju1h6dihhw"); // b->aag_is_our_buffer = 1; UNSUPPORTED("1lucb0x0v3ldgueqifh95nl1u"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ar1fz1d00siup070hcy6exvpz // static void aag_fatal_error ( char* msg ) public static Object aag_fatal_error(Object... arg) { UNSUPPORTED("cv6qbndhb3hcgxfakqgoab5dx"); // static void aag_fatal_error ( char* msg ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4i3ty8mkp0kgkuxhdvanh87il"); // (void) fprintf( stderr, "%s\n", msg ); UNSUPPORTED("d969dknbq2w52sen88bpqqyia"); // exit( 2 ); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ak2o99rit6h1dzbfugt87rz4l // int aagget_lineno (void) public static Object aagget_lineno(Object... arg) { UNSUPPORTED("64s6gh6lrs0ga7y5j8aphzsa6"); // int aagget_lineno (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9zr5r3tszhbirce9zhk3n5ai0"); // return aaglineno; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c4xsc4x2etna327n4r43l0src // FILE *aagget_in (void) public static Object aagget_in(Object... arg) { UNSUPPORTED("4uts7eli4y8zgttbczqktzi41"); // FILE *aagget_in (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("deaehhzsl649vtwlwgu42i0zh"); // return aagin; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4werkxqgsv51e1huizt8jy900 // FILE *aagget_out (void) public static Object aagget_out(Object... arg) { UNSUPPORTED("2t24qlethc17kk7k367jup5g7"); // FILE *aagget_out (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("csjzuqxz2wypw8a9z0qffv20n"); // return aagout; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c930io2oqys6cwcw6hokf74af // aag_size_t aagget_leng (void) public static Object aagget_leng(Object... arg) { UNSUPPORTED("4vayu55eo4kfs8mo20fxch8dg"); // aag_size_t aagget_leng (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cv0dvs0mx1m7a9dtk81itn95s"); // return aagleng; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 elqro7uvtzkdgrd0axaati5dn // char *aagget_text (void) public static Object aagget_text(Object... arg) { UNSUPPORTED("u3fnt7o1fu5m0mf5jq7k196a"); // char *aagget_text (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4dv5045xmckixqhwcwxil44on"); // return aagtext; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ddyawmdmhp4bhddv0ycwtja18 // void aagset_lineno (int line_number ) public static Object aagset_lineno(Object... arg) { UNSUPPORTED("42mnbz5hirksqibxvq5ihajy5"); // void aagset_lineno (int line_number ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9s3oxto8c1qvwbmzdtdcnpqjy"); // aaglineno = line_number; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 rnmvgky3jm4cqnymq9s4bzig // void aagset_in (FILE * in_str ) public static Object aagset_in(Object... arg) { UNSUPPORTED("cixzcd1qs551hgk5cdud9swy1"); // void aagset_in (FILE * in_str ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("emvj6vmdj6xmhu581eaheijq7"); // aagin = in_str ; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bho3hef6ijshlmjirs3pp56ov // void aagset_out (FILE * out_str ) public static Object aagset_out(Object... arg) { UNSUPPORTED("cnivj2d0k3i5uxijj3x5cwwse"); // void aagset_out (FILE * out_str ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("401q11i1f4d60b46mam5pre9z"); // aagout = out_str ; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 43ss154kldgxk2nhdusc1m4rz // int aagget_debug (void) public static Object aagget_debug(Object... arg) { UNSUPPORTED("c9hk96h0qduz10qw4i5zsu12w"); // int aagget_debug (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("385w3hg608zj4jjuf8tg9i7an"); // return aag_flex_debug; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ccfhizqhlcd8o5g92d987s2m2 // void aagset_debug (int bdebug ) public static Object aagset_debug(Object... arg) { UNSUPPORTED("wx4hkxwknbvqstpbtb6zpxai"); // void aagset_debug (int bdebug ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("27afey5konvu5bxqp4wcqn2tu"); // aag_flex_debug = bdebug ; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5fcbavnjmbu31asyzd62fwq2d // static int aag_init_globals (void) public static Object aag_init_globals(Object... arg) { UNSUPPORTED("1cdheakmv5siut1ebpy3mw4nu"); // static int aag_init_globals (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1xj50i13vmjo77csr6vph8z8"); // /* Initialization is the same as for the non-reentrant scanner. UNSUPPORTED("4cx9tvq2hyum5hmwpun673um0"); // * This function is called from aaglex_destroy(), so don't allocate here. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("3x534nljp47scdxqi9fziljco"); // (aag_buffer_stack) = 0; UNSUPPORTED("17ou7g5dk08wv5ooyxz1v46ex"); // (aag_buffer_stack_top) = 0; UNSUPPORTED("a7agbnu1gspv8u452j128zaxe"); // (aag_buffer_stack_max) = 0; UNSUPPORTED("bn3ms6bxvilydm8vcmnp6ivm0"); // (aag_c_buf_p) = (char *) 0; UNSUPPORTED("ethyoawtkhblcvh3igz42ly3e"); // (aag_init) = 0; UNSUPPORTED("93c767mz9fmakdujebshet3o2"); // (aag_start) = 0; UNSUPPORTED("ap09jdvi6qhty3oy8384rf4qp"); // /* Defined in main.c */ UNSUPPORTED("7gieya1i3nuf9e7qf1cqfxol6"); // aagin = (FILE *) 0; UNSUPPORTED("9gstdkjqjhxee0r7jfjtrubra"); // aagout = (FILE *) 0; UNSUPPORTED("c28frl808v2sjzfzht2t71ttm"); // /* For future reference: Set errno on error, since we are called by UNSUPPORTED("94kvnvpdkv83e3y9mfu0qmy05"); // * aaglex_init() UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 b88yq5tilv62doe0lqk0odlu8 // int aaglex_destroy (void) public static Object aaglex_destroy(Object... arg) { UNSUPPORTED("bzhkd6vhm4xizgdkxnz37txnh"); // int aaglex_destroy (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("diwcb2ihx1juuwosf3k0481mv"); // /* Pop the buffer stack, destroying each element. */ UNSUPPORTED("acw6kp40ss9wyuyw6lol5krx3"); // while(( (aag_buffer_stack) ? (aag_buffer_stack)[(aag_buffer_stack_top)] : NULL)){ UNSUPPORTED("7w1cda4u82m87wa7sgr0kfm66"); // aag_delete_buffer(( (aag_buffer_stack) ? (aag_buffer_stack)[(aag_buffer_stack_top)] : NULL) ); UNSUPPORTED("7rirfywzjobe7phulakj8z10v"); // (aag_buffer_stack)[(aag_buffer_stack_top)] = NULL; UNSUPPORTED("3vbgo0m5jfgfztdlczk1jwjhh"); // aagpop_buffer_state(); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8d0cqr6vek3pcj3q1jrp69ztu"); // /* Destroy the stack itself. */ UNSUPPORTED("6x89ih7uy7e52aqm8jik9xasb"); // aagfree((aag_buffer_stack) ); UNSUPPORTED("e8xu1gticwk30w7sx8o2d3b4q"); // (aag_buffer_stack) = NULL; UNSUPPORTED("fd67jflm4li5f28rl4da3pk9"); // /* Reset the globals. This is important in a non-reentrant scanner so the next time UNSUPPORTED("1sxmjk3yd72dpwsfc1p9l9l2q"); // * aaglex() is called, initialization will occur. */ UNSUPPORTED("2nkg94pzgw99t3ck0cpkdy863"); // aag_init_globals( ); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c8en52xb7jekcv34dmaqouq5x // void *aagalloc (aag_size_t size ) public static Object aagalloc(Object... arg) { UNSUPPORTED("8ojxikfh5gpuanc8ijbcbcr9g"); // void *aagalloc (aag_size_t size ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5mk7bdo0ve6cs9c230lail7a0"); // return (void *) malloc( size ); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5hlwjmuqfpjsqydhktwpbidq2 // void *aagrealloc (void * ptr, aag_size_t size ) public static Object aagrealloc(Object... arg) { UNSUPPORTED("cyz4ldrm5jj00yg11pg1vc1g1"); // void *aagrealloc (void * ptr, aag_size_t size ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eeh9042j0ixp46lnhsy7ltbwc"); // /* The cast to (char *) in the following accommodates both UNSUPPORTED("883fkonn9uuzw08gkor0kmjnd"); // * implementations that use char* generic pointers, and those UNSUPPORTED("625my5yaczozrs8ku83650a76"); // * that use void* generic pointers. It works with the latter UNSUPPORTED("9a6dm13b8ly2weeidoqgznp2n"); // * because both ANSI C and C++ allow castless assignment from UNSUPPORTED("64dthpqhwbo8jw99mmijor8ux"); // * any pointer type to void*, and deal with argument conversions UNSUPPORTED("esoja9b810qbkf294xt3x46ee"); // * as though doing an assignment. UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("cqnxm4zyvx1dauh2o6z9730r8"); // return (void *) realloc( (char *) ptr, size ); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dt3z1styelhok5vdef4znud0x // void aagfree (void * ptr ) public static Object aagfree(Object... arg) { UNSUPPORTED("33a9his43erc77yrkij7w4xak"); // void aagfree (void * ptr ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cr6th4uf2lbww89txkvo11nd5"); // free( (char *) ptr ); /* see aagrealloc() for (char *) cast */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 b7djg5vf8k7q1bmscjoxbdi7m // void aagerror(char *str) public static Object aagerror(Object... arg) { UNSUPPORTED("72z931gdsqdectne9thcxcwaj"); // void aagerror(char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7vppjgkszsish3wz8km4ji5dj"); // unsigned char xbuf[BUFSIZ]; UNSUPPORTED("cd0m7hmn0ny9nvoy0lokrb7kz"); // char buf[BUFSIZ]; UNSUPPORTED("hj3ykx7uaskz9wtccgck8sd6"); // agxbuf xb; UNSUPPORTED("b2caeimugashizzvpcmbplmp4"); // agxbinit(&xb, BUFSIZ, xbuf); UNSUPPORTED("ldl8hfy8qw7n0rdphytov4fn"); // if (InputFile) { UNSUPPORTED("2qs5xwre2g8sars69d8m08x08"); // agxbput (&xb, InputFile); UNSUPPORTED("132aiak11mkk6gmiwzo5l43pk"); // agxbput (&xb, ": "); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("38pmo3t0g10m68xnnf0j2fpnz"); // agxbput (&xb, str); UNSUPPORTED("atzckg28vuna91ob4jsdhoecg"); // sprintf(buf," in line %d near '", line_num); UNSUPPORTED("tg4fmt4hpkhycayadp2io5ol"); // agxbput (&xb, buf); UNSUPPORTED("ef5bvnzwzqhm8eqarlw1kn1su"); // agxbput (&xb, aagtext); UNSUPPORTED("6yh0js07kc5h380u3b3hdgptb"); // agxbput (&xb,"'\n"); UNSUPPORTED("4xsav8esfuiohyr7u0xketqw7"); // agerr(AGERR,(((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf))); UNSUPPORTED("52frst03mcbsuu6bmnqs962qm"); // agxbfree(&xb); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d7y223uahk83hp7is4nahwefj // void aglexeof() public static Object aglexeof(Object... arg) { UNSUPPORTED("9h2m1giehawxuk7dgr9dsfvl4"); // void aglexeof() { aagunput( '@', (aagtext) ); } throw new UnsupportedOperationException(); } //3 3ufv8can0vbou4fqbz8jayves // void aglexbad() public static Object aglexbad(Object... arg) { UNSUPPORTED("bf2kdrql8l9oten5fku6ysi2n"); // void aglexbad() { aag_flush_buffer(( (aag_buffer_stack) ? (aag_buffer_stack)[(aag_buffer_stack_top)] : NULL) ); } throw new UnsupportedOperationException(); } //3 8mvwigk3z82cg7dw50v9tpfaw // int aagwrap(void) public static Object aagwrap(Object... arg) { UNSUPPORTED("9prn9oo8emos6tvglwqc6ejj9"); // int aagwrap(void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/subg__c.java000066400000000000000000000215441340005343600221070ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static gen.lib.cgraph.graph__c.agopen1; import static gen.lib.cgraph.id__c.agmapnametoid; import static gen.lib.cgraph.id__c.agregister; import static gen.lib.cgraph.mem__c.agalloc; import static gen.lib.cgraph.utils__c.agdtdisc; import static smetana.core.JUtils.sizeof; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.AGID; import static smetana.core.Macro.AGRAPH; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agdesc_s; import h.ST_Agraph_s; import h.ST_dt_s; import smetana.core.CString; import smetana.core.Z; import smetana.core.__ptr__; public class subg__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 6ayavpu39aihwyojkx093pcy3 // extern Agraph_t *Ag_G_global //1 871mxtg9l6ffpxdl9kniwusf7 // extern char *AgDataRecName //1 c0o2kmml0tn6hftuwo0u4shwd // extern Dtdisc_t Ag_subnode_id_disc //1 8k15pyu256unm2kpd9zf5pf7k // extern Dtdisc_t Ag_subnode_seq_disc //1 e3d820y06gpeusn6atgmj8bzd // extern Dtdisc_t Ag_mainedge_id_disc //1 cbr0772spix9h1aw7h5v7dv9j // extern Dtdisc_t Ag_subedge_id_disc //1 akd0c3v0j7m2npxcb9acit1fa // extern Dtdisc_t Ag_mainedge_seq_disc //1 12d8la07351ww7vwfzucjst8m // extern Dtdisc_t Ag_subedge_seq_disc //1 29eokk7v88e62g8o6lizmo967 // extern Dtdisc_t Ag_subgraph_id_disc //1 4xd9cbgy6hk5g6nhjcbpzkx14 // extern Agcbdisc_t AgAttrdisc //3 11ezyrsjsotjz9b3cyvb4ie8p // static Agraph_t *agfindsubg_by_id(Agraph_t * g, unsigned long id) public static ST_Agraph_s agfindsubg_by_id(ST_Agraph_s g, int id) { ENTERING("11ezyrsjsotjz9b3cyvb4ie8p","agfindsubg_by_id"); try { final ST_Agraph_s template = new ST_Agraph_s(); agdtdisc(g, (ST_dt_s) g.g_dict, Z.z().Ag_subgraph_id_disc); AGID(template, id); return (ST_Agraph_s) g.g_dict.searchf.exe(g.g_dict, template, 0000004); } finally { LEAVING("11ezyrsjsotjz9b3cyvb4ie8p","agfindsubg_by_id"); } } //3 44saycxbfbr9lou0itlyewkb4 // static Agraph_t *localsubg(Agraph_t * g, unsigned long id) public static ST_Agraph_s localsubg(ST_Agraph_s g, int id) { ENTERING("44saycxbfbr9lou0itlyewkb4","localsubg"); try { ST_Agraph_s subg; subg = agfindsubg_by_id(g, id); if (subg!=null) return subg; subg = (ST_Agraph_s) agalloc(g, sizeof(ST_Agraph_s.class)); subg.setPtr("clos", g.clos); subg.setStruct("desc", g.desc); ((ST_Agdesc_s)subg.desc).maingraph = 0; subg.setPtr("parent", g); subg.setPtr("root", g.root); AGID(subg, id); return agopen1(subg); } finally { LEAVING("44saycxbfbr9lou0itlyewkb4","localsubg"); } } //3 6wqxmivgp34bobzqacmsj7lcv // Agraph_t *agidsubg(Agraph_t * g, unsigned long id, int cflag) public static Object agidsubg(Object... arg) { UNSUPPORTED("9vhen1flll6k35g72uuroky0z"); // Agraph_t *agidsubg(Agraph_t * g, unsigned long id, int cflag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c3tourf5k7groqyh71yjd5xec"); // Agraph_t *subg; UNSUPPORTED("elpselocwvpfk3o27nejqo6dl"); // subg = agfindsubg_by_id(g, id); UNSUPPORTED("cf9t4fxh9z5rmv58441ne0ysa"); // if ((subg == ((Agraph_t*)0)) && cflag && agallocid(g, AGRAPH, id)) UNSUPPORTED("ecrqdk8b7debftn6d8bbmh0s4"); // subg = localsubg(g, id); UNSUPPORTED("17jmp11l2jzc1v9qpaqkzkauj"); // return subg; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a24jd4r2sdyb4lb2hyababrda // Agraph_t *agsubg(Agraph_t * g, char *name, int cflag) public static ST_Agraph_s agsubg(ST_Agraph_s g, CString name, boolean cflag) { ENTERING("a24jd4r2sdyb4lb2hyababrda","agsubg"); try { int id[] = new int[]{0}; ST_Agraph_s subg; if (name!=null && agmapnametoid(g, AGRAPH, name, id, false)!=0) { /* might already exist */ if ((subg = agfindsubg_by_id(g, id[0]))!=null) return subg; } if (cflag && agmapnametoid(g, AGRAPH, name, id, (N(false)))!=0) { /* reserve id */ subg = localsubg(g, id[0]); agregister(g, AGRAPH, subg); return subg; } return null; } finally { LEAVING("a24jd4r2sdyb4lb2hyababrda","agsubg"); } } //3 51eksrs0lhkgohunejlpwyc4k // Agraph_t *agfstsubg(Agraph_t * g) public static ST_Agraph_s agfstsubg(ST_Agraph_s g) { ENTERING("51eksrs0lhkgohunejlpwyc4k","agfstsubg"); try { __ptr__ tmp = (__ptr__)g.g_dict.searchf.exe(g.g_dict,null,0000200); if (tmp!=null) tmp = tmp.castTo(ST_Agraph_s.class); return (ST_Agraph_s) tmp; } finally { LEAVING("51eksrs0lhkgohunejlpwyc4k","agfstsubg"); } } //3 85c1qisrein0tzm2regoe61t // Agraph_t *agnxtsubg(Agraph_t * subg) public static ST_Agraph_s agnxtsubg(ST_Agraph_s subg) { ENTERING("85c1qisrein0tzm2regoe61t","agnxtsubg"); try { ST_Agraph_s g; g = agparent(subg); if (g==null) return null; __ptr__ tmp = (__ptr__) g.g_dict.searchf.exe(g.g_dict, subg, 0000010); if (tmp==null) return null; return (ST_Agraph_s) tmp.getPtr(); } finally { LEAVING("85c1qisrein0tzm2regoe61t","agnxtsubg"); } } //3 7kbp6j03hd7u6nnlivi0vt3ja // Agraph_t *agparent(Agraph_t * g) public static ST_Agraph_s agparent(ST_Agraph_s g) { ENTERING("7kbp6j03hd7u6nnlivi0vt3ja","agparent"); try { return (ST_Agraph_s) g.parent; } finally { LEAVING("7kbp6j03hd7u6nnlivi0vt3ja","agparent"); } } //3 37trxrsv69a3pl08f5awwj3tq // long agdelsubg(Agraph_t * g, Agraph_t * subg) public static Object agdelsubg(Object... arg) { UNSUPPORTED("bjcimcpi0qag1hc37no67mct5"); // long agdelsubg(Agraph_t * g, Agraph_t * subg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dugmh24ptzgxuj3204p7n39m4"); // return (long) (*(((Dt_t*)(g->g_dict))->searchf))((g->g_dict),(void*)(subg),0000002); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/tester__c.java000066400000000000000000000105311340005343600224470ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static smetana.core.Macro.UNSUPPORTED; public class tester__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //3 bxrg42k0b2ondd8e9hxlvgnya // main() public static Object main(Object... arg) { UNSUPPORTED("dvtfwizbjxjdd2zwzte0922xf"); // main() UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("av59ae8c4mws46sf5dumz1k0s"); // Agsym_t *sym; UNSUPPORTED("eocf25luzhwv5bxjexjp351gh"); // char *val; UNSUPPORTED("b1b89mh4epi9v1kfzij5iivjf"); // while (g = agread(stdin, ((Agdisc_t *)0))) { UNSUPPORTED("714pzi0d5ewfa33fhbvig3c1a"); // sym = agattr(g, AGRAPH, "nonsense", "junk"); UNSUPPORTED("5irwa2ja5che2vhws1r19cora"); // fprintf(stderr,"sym = %x, %s\n", sym, sym? sym->defval : "(none)"); UNSUPPORTED("b6ynbll4ohfq5rtria3hxrrc"); // agwrite(g, stdout); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/utils__c.java000066400000000000000000000222651340005343600223100ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static gen.lib.cdt.dtdisc__c.dtdisc; import static gen.lib.cdt.dtopen__c.dtopen; import static gen.lib.cgraph.mem__c.agalloc; import static gen.lib.cgraph.mem__c.agfree; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtils.function; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.Dtmemory_f; import h.ST_Agraph_s; import h.ST_dt_s; import h.ST_dtdisc_s; import h.ST_dtmethod_s; import smetana.core.Memory; import smetana.core.Z; import smetana.core.size_t; public class utils__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 6ayavpu39aihwyojkx093pcy3 // extern Agraph_t *Ag_G_global //1 871mxtg9l6ffpxdl9kniwusf7 // extern char *AgDataRecName //1 c0o2kmml0tn6hftuwo0u4shwd // extern Dtdisc_t Ag_subnode_id_disc //1 8k15pyu256unm2kpd9zf5pf7k // extern Dtdisc_t Ag_subnode_seq_disc //1 e3d820y06gpeusn6atgmj8bzd // extern Dtdisc_t Ag_mainedge_id_disc //1 cbr0772spix9h1aw7h5v7dv9j // extern Dtdisc_t Ag_subedge_id_disc //1 akd0c3v0j7m2npxcb9acit1fa // extern Dtdisc_t Ag_mainedge_seq_disc //1 12d8la07351ww7vwfzucjst8m // extern Dtdisc_t Ag_subedge_seq_disc //1 29eokk7v88e62g8o6lizmo967 // extern Dtdisc_t Ag_subgraph_id_disc //1 4xd9cbgy6hk5g6nhjcbpzkx14 // extern Agcbdisc_t AgAttrdisc //1 2xwmpggwpggfyyfj0vuw3pmfg // static Agraph_t *Ag_dictop_G //static public Agraph_s Ag_dictop_G; //3 7dkudp41c9byhicatk2sxtxqk // void *agdictobjmem(Dict_t * dict, void * p, size_t size, Dtdisc_t * disc) public static Object agdictobjmem(ST_dt_s dict, Object p, size_t size, ST_dtdisc_s disc) { ENTERING("7dkudp41c9byhicatk2sxtxqk","agdictobjmem"); try { ST_Agraph_s g; g = Z.z().Ag_dictop_G; if (g!=null) { if (p!=null) agfree(g, p); else return agalloc(g, size); } else { if (p!=null) Memory.free(p); else return size.malloc(); } return null; } finally { LEAVING("7dkudp41c9byhicatk2sxtxqk","agdictobjmem"); } } //3 5xdfwxth4q1dm3180qzuf51sn // void agdictobjfree(Dict_t * dict, void * p, Dtdisc_t * disc) public static Object agdictobjfree(Object... arg) { UNSUPPORTED("bsemnw6m2qx5a4hk13xep80nh"); // void agdictobjfree(Dict_t * dict, void * p, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("nzl57bfl5onx7q9ge19n2k9i"); // (void) dict; UNSUPPORTED("8l8wg6vltx6d7vc9dzqb6n3wi"); // (void) disc; UNSUPPORTED("ah8bddgh4pyntvi4o9xx91fkm"); // g = Ag_dictop_G; UNSUPPORTED("5skdegxoz3mwfvm59pbtvqtiq"); // if (g) UNSUPPORTED("akbizhd9c9w4syt1qpirn7xjy"); // agfree(g, p); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("cy5x5dma0v4hiepir7lrfuo17"); // free(p); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 48ox0bg1qmasrer8np51uwsyk // Dict_t *agdtopen(Agraph_t * g, Dtdisc_t * disc, Dtmethod_t * method) public static ST_dt_s agdtopen(ST_Agraph_s g, ST_dtdisc_s disc, ST_dtmethod_s method) { ENTERING("48ox0bg1qmasrer8np51uwsyk","agdtopen"); try { Dtmemory_f memf; ST_dt_s d; memf = (Dtmemory_f) disc.memoryf; disc.setPtr("memoryf", function(utils__c.class, "agdictobjmem")); Z.z().Ag_dictop_G = g; d = dtopen(disc, method); disc.setPtr("memoryf", memf); Z.z().Ag_dictop_G = null; return d; } finally { LEAVING("48ox0bg1qmasrer8np51uwsyk","agdtopen"); } } //3 6pbz2fsmebq8iy7if4way3ct2 // long agdtdelete(Agraph_t * g, Dict_t * dict, void *obj) public static Object agdtdelete(Object... arg) { UNSUPPORTED("216ju3s3n4ltlcsntcuo0fg5p"); // long agdtdelete(Agraph_t * g, Dict_t * dict, void *obj) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("id2cse8d1e37coxkbocjgjt4"); // Ag_dictop_G = g; UNSUPPORTED("1ii7n9w3quq15wnwynuuwg395"); // return (long) (*(((Dt_t*)(dict))->searchf))((dict),(void*)(obj),0000002); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8a6i39x23joa467bqbo4b25ng // int agobjfinalize(void * obj) public static Object agobjfinalize(Object... arg) { UNSUPPORTED("74745f6w9shsg8hps5dn9cunv"); // int agobjfinalize(void * obj) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dnx10u35ynobkoiuo7v5k2u49"); // agfree(Ag_dictop_G, obj); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4x6nykawwls34vi6jc9gk1y29 // int agdtclose(Agraph_t * g, Dict_t * dict) public static Object agdtclose(Object... arg) { UNSUPPORTED("8snkovnbu003p9w5cgbn12c73"); // int agdtclose(Agraph_t * g, Dict_t * dict) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ac1z24z48td8pa6zl9az4bqpd"); // Dtmemory_f memf; UNSUPPORTED("cawsyfy3xa5ktlemxuyyhd376"); // Dtdisc_t *disc; UNSUPPORTED("95hw7dddoneu0z8zzcnb1uslv"); // disc = dtdisc(dict, ((Dtdisc_t *)0), 0); UNSUPPORTED("9grut2uf2ma1mtzeq2sfg7p3f"); // memf = disc->memoryf; UNSUPPORTED("1jsr5jo041ushyjrdwyazntu7"); // disc->memoryf = agdictobjmem; UNSUPPORTED("id2cse8d1e37coxkbocjgjt4"); // Ag_dictop_G = g; UNSUPPORTED("32zal75ij4wrh56hfv01bu7as"); // if (dtclose(dict)) UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("9qqgn587jlvxto7mbtmfh3o00"); // disc->memoryf = memf; UNSUPPORTED("dgvsuq3309uz08ww03zstdg8g"); // Ag_dictop_G = ((Agraph_t*)0); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cym72wvu6zffc0vzoa93zha8 // void agdtdisc(Agraph_t * g, Dict_t * dict, Dtdisc_t * disc) public static void agdtdisc(ST_Agraph_s g, ST_dt_s dict, ST_dtdisc_s disc) { ENTERING("cym72wvu6zffc0vzoa93zha8","agdtdisc"); try { if (disc!=null && NEQ(dtdisc(dict, null, 0), disc)) { dtdisc(dict, disc, 0); } /* else unchanged, disc is same as old disc */ } finally { LEAVING("cym72wvu6zffc0vzoa93zha8","agdtdisc"); } } } plantuml-1.2018.13+ds/src/gen/lib/cgraph/write__c.java000066400000000000000000001457721340005343600223130ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.cgraph; import static smetana.core.Macro.UNSUPPORTED; public class write__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 6ayavpu39aihwyojkx093pcy3 // extern Agraph_t *Ag_G_global //1 871mxtg9l6ffpxdl9kniwusf7 // extern char *AgDataRecName //1 c0o2kmml0tn6hftuwo0u4shwd // extern Dtdisc_t Ag_subnode_id_disc //1 8k15pyu256unm2kpd9zf5pf7k // extern Dtdisc_t Ag_subnode_seq_disc //1 e3d820y06gpeusn6atgmj8bzd // extern Dtdisc_t Ag_mainedge_id_disc //1 cbr0772spix9h1aw7h5v7dv9j // extern Dtdisc_t Ag_subedge_id_disc //1 akd0c3v0j7m2npxcb9acit1fa // extern Dtdisc_t Ag_mainedge_seq_disc //1 12d8la07351ww7vwfzucjst8m // extern Dtdisc_t Ag_subedge_seq_disc //1 29eokk7v88e62g8o6lizmo967 // extern Dtdisc_t Ag_subgraph_id_disc //1 4xd9cbgy6hk5g6nhjcbpzkx14 // extern Agcbdisc_t AgAttrdisc //1 6cdl8rg0og4o8zcy4mkimizp1 // typedef void iochan_t //3 btji1owz81k2d77wfwt916p37 // static int ioput(Agraph_t * g, iochan_t * ofile, char *str) public static Object ioput(Object... arg) { UNSUPPORTED("9aaodmphwoa7or45852lcbtet"); // static int ioput(Agraph_t * g, iochan_t * ofile, char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f6biqyaknm3x2ue94tm9v84z"); // return ((g)->clos->disc.io)->putstr(ofile, str); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 98m6w41nluqnfg2vjsmgrp28l // static int Level //1 bvu8ayfef3c7pct1w3xg18vx3 // static int Max_outputline = 128 //1 1hd2b7p1aumg2dlcjxipts28a // static unsigned char Attrs_not_written_flag //1 bospb4vypikeakekqc06hvqc2 // static Agsym_t *Tailport, *Headport //3 alc947m7qhu6bnfokb9fxhwhb // static int indent(Agraph_t * g, iochan_t * ofile) public static Object indent(Object... arg) { UNSUPPORTED("40912tixu4uq4phusbevely94"); // static int indent(Agraph_t * g, iochan_t * ofile) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("452nzs4v8pata1dhjmqfyw26a"); // for (i = Level; i > 0; i--) UNSUPPORTED("cp0y2nic2hoy2snz5nbe40sue"); // {if ((ioput(g, ofile, "\t")) == EOF) return EOF;}; UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 aquh9vkpmogoajxkl7kq8pukp // static int strcasecmp(const char *s1, const char *s2) public static Object strcasecmp(Object... arg) { UNSUPPORTED("55i7mwlbxqd1zslhu44ix4gza"); // static int strcasecmp(const char *s1, const char *s2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9470qtwtv37oof0w731kh9mcd"); // while ((*s1 != '\0') UNSUPPORTED("7tdf84gz2hakxs756j3v0w4iv"); // && (tolower(*(unsigned char *) s1) == UNSUPPORTED("co97u0db3a8mz1pp77hkxq0h3"); // tolower(*(unsigned char *) s2))) { UNSUPPORTED("2hh1h5gydepd3ut3g43bzn51g"); // s1++; UNSUPPORTED("7x8zh0pm8zj83pbc2d812jz90"); // s2++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1jrt0skm3a5djo3vfej4kwffc"); // return tolower(*(unsigned char *) s1) - tolower(*(unsigned char *) s2); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2ojpbtgz2c08fy2xlrhgbhcy4 // static char *_agstrcanon(char *arg, char *buf) public static Object _agstrcanon(Object... arg) { UNSUPPORTED("5ahyn8mq6pzmkxszxeuiey91e"); // static char *_agstrcanon(char *arg, char *buf) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9uldk42hjnckjndgz1sd6utof"); // char *s, *p; UNSUPPORTED("54eg86g95y7q6jevr2tq6ehrg"); // unsigned char uc; UNSUPPORTED("3n6j4vooz01bauxf0x735587g"); // int cnt = 0, dotcnt = 0; UNSUPPORTED("53cl57zz7angk2fz9q8i9936z"); // int needs_quotes = (0); UNSUPPORTED("2wr9q842ohxj2ycucqna9tlrq"); // int maybe_num; UNSUPPORTED("byb61zbgjorc2zybgctqz7ndl"); // int backslash_pending = (0); UNSUPPORTED("7nrc43frlcod90tqudlokiltw"); // static const char *tokenlist[] /* must agree with scan.l */ UNSUPPORTED("2z6417vrkzwojo65uicgj0ld5"); // = { "node", "edge", "strict", "graph", "digraph", "subgraph", UNSUPPORTED("6e42116ruyo5sfksdjqb7k691"); // ((char *)0) UNSUPPORTED("9u8qqu9tw95qjbv3cxv3hj4bd"); // }; UNSUPPORTED("c20r5olc3ceq2odrmolb37lhs"); // const char **tok; UNSUPPORTED("6hksaocbqg9tyniwys30i5f6"); // if (((arg == 0) || (arg)[0] == '\0')) UNSUPPORTED("bq8taui3sha21pp8m30j2waho"); // return "\"\""; UNSUPPORTED("br1i8hfkomohyoahqijch1ldi"); // s = arg; UNSUPPORTED("dpfzdhkfq6u86uv5f9lnqfbpq"); // p = buf; UNSUPPORTED("1xpnr5tufh6i8r19kq97wxx28"); // *p++ = '\"'; UNSUPPORTED("8rbzvwd6z91kkb5pape5tgg3q"); // uc = *(unsigned char *) s++; UNSUPPORTED("eoo27x446n9ubl76pznj5nu00"); // maybe_num = isdigit(uc) || (uc == '.') || (uc == '-'); UNSUPPORTED("281h1z55fo8i52vhjqmzge30m"); // while (uc) { UNSUPPORTED("7va7b0kw6l67cbr9jsef9o8jm"); // if (uc == '\"') { UNSUPPORTED("ety3lnffj2pnokl02nxfy3qjv"); // *p++ = '\\'; UNSUPPORTED("4xlo42dy0r02v5tuaxfr8oo7a"); // needs_quotes = (!(0)); UNSUPPORTED("8nzcpbtoi924xzu8ze3z6dbft"); // } UNSUPPORTED("boo8lxly4fx140xmtb994j62j"); // else if (maybe_num) { UNSUPPORTED("byw5stodlmd743wbq8w0lp6e5"); // if (uc == '-') { UNSUPPORTED("ch6epb3d0o3y71kr8cf0cr778"); // if (cnt) { UNSUPPORTED("92uh7detqycxvk4j84os7jjrx"); // maybe_num = (0); UNSUPPORTED("1zi6cnn21vajv2p9guz4u0eyr"); // needs_quotes = (!(0)); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("80niwic42cqbazv2vfmpokfiz"); // else if (uc == '.') { UNSUPPORTED("7wa32rmgq2t0s8q2vygfs0on9"); // if (dotcnt++) { UNSUPPORTED("92uh7detqycxvk4j84os7jjrx"); // maybe_num = (0); UNSUPPORTED("1zi6cnn21vajv2p9guz4u0eyr"); // needs_quotes = (!(0)); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("2w4vdk52vdon2nuo203y11zio"); // else if (!isdigit(uc)) { UNSUPPORTED("8ewnu9yn4sp7izb230lq2qwol"); // maybe_num = (0); UNSUPPORTED("15rsfjpgyg6utb04u8l4x3f4c"); // needs_quotes = (!(0)); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("52w60ewi6p3skhhun8zvy7g7t"); // else if (!((isalnum(uc)) || ((uc) == '_') || (!isascii(uc)))) UNSUPPORTED("4xlo42dy0r02v5tuaxfr8oo7a"); // needs_quotes = (!(0)); UNSUPPORTED("8vqehnf3u9tp0a4iixzlqns4k"); // *p++ = (char) uc; UNSUPPORTED("5k76wlk3o6m3cuykuhkxtyhgf"); // uc = *(unsigned char *) s++; UNSUPPORTED("1szm63athnlkprt3pv29pjc6z"); // cnt++; UNSUPPORTED("7ludbekw5fkwt5axvcwd0ihll"); // /* If breaking long strings into multiple lines, only allow breaks after a non-id char, not a backslash, where the next char is an UNSUPPORTED("1w1e1pcok5v4q2kgyz2wuk53m"); // * id char. UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("eq5hwet5rfzygnaktrq6o4j3d"); // if (Max_outputline) { UNSUPPORTED("755u0yc4wr61hznjhzfrfko48"); // if (uc && backslash_pending && !((isalnum(p[-1]) || ((p[-1]) == '.') || ((p[-1]) == '-') || !isascii(p[-1])) || (p[-1] == '\\')) && (isalnum(uc) || ((uc) == '.') || ((uc) == '-') || !isascii(uc))) { UNSUPPORTED("cl1ikibcqt1ygqbum3xi5bk79"); // *p++ = '\\'; UNSUPPORTED("cnwc77tzwdfyrgdp1t6g4m6xi"); // *p++ = '\n'; UNSUPPORTED("3ako06kvsu28ggk2b9rs5pz48"); // needs_quotes = (!(0)); UNSUPPORTED("a2igyeujb49rhtvgheg64bogt"); // backslash_pending = (0); UNSUPPORTED("ay9m9sdx7o92emcp6gjb31h4a"); // cnt = 0; UNSUPPORTED("88eck934lobkga6adny14gqe2"); // } else if (uc && (cnt >= Max_outputline)) { UNSUPPORTED("3v26gypvwqprroryvbtfyvl7u"); // if (!((isalnum(p[-1]) || ((p[-1]) == '.') || ((p[-1]) == '-') || !isascii(p[-1])) || (p[-1] == '\\')) && (isalnum(uc) || ((uc) == '.') || ((uc) == '-') || !isascii(uc))) { UNSUPPORTED("2a68wg6lba8oqhlul1evol2fj"); // *p++ = '\\'; UNSUPPORTED("eyabtn4npcdoiho34u0vupwki"); // *p++ = '\n'; UNSUPPORTED("clp3otxrl7w6cem7ww35rbw9f"); // needs_quotes = (!(0)); UNSUPPORTED("4k7ukmo931f6gpk5q245qc7dz"); // cnt = 0; UNSUPPORTED("ajrvpjgla5ygjcpzcymd6016y"); // } else { UNSUPPORTED("5mo9vqlb40kc1is2oibapcqj3"); // backslash_pending = (!(0)); UNSUPPORTED("4nbucwlhcfvw7r0uycyy9qc5l"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1xpnr5tufh6i8r19kq97wxx28"); // *p++ = '\"'; UNSUPPORTED("2t1d66kwn86kqh0i665hqw6cl"); // *p = '\0'; UNSUPPORTED("6bzvicgwyrevlzo30bikj1qv"); // if (needs_quotes || ((cnt == 1) && ((*arg == '.') || (*arg == '-')))) UNSUPPORTED("60rrsbs3bgak2rhurj1kw71av"); // return buf; UNSUPPORTED("70snqwmjpiy8fb85i8p82n7j8"); // /* Use quotes to protect tokens (example, a node named "node") */ UNSUPPORTED("2d7m0n84k3kvilcrfc581k3m6"); // /* It would be great if it were easier to use flex here. */ UNSUPPORTED("5yik6wlbtybgi55kf4vxe7bx"); // for (tok = tokenlist; *tok; tok++) UNSUPPORTED("7896yl4xbftaovjgrkv4xtxot"); // if (!strcasecmp(*tok, arg)) UNSUPPORTED("1fjzdj317ee1mtxirudje5tbt"); // return buf; UNSUPPORTED("2ima76y69crfh98d13kjftpwm"); // return arg; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 10ev68p7aeqzm8tqvi1j5g6c0 // static char *agcanonhtmlstr(char *arg, char *buf) public static Object agcanonhtmlstr(Object... arg) { UNSUPPORTED("8u1d8u9bl7jguved1qmtwv38g"); // static char *agcanonhtmlstr(char *arg, char *buf) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9uldk42hjnckjndgz1sd6utof"); // char *s, *p; UNSUPPORTED("br1i8hfkomohyoahqijch1ldi"); // s = arg; UNSUPPORTED("dpfzdhkfq6u86uv5f9lnqfbpq"); // p = buf; UNSUPPORTED("es744ndlvsi3inn0ehkueww59"); // *p++ = '<'; UNSUPPORTED("5rofh7oao8cih2ztkjkacpzpm"); // while (*s) UNSUPPORTED("8e6st6hhl4yfs7qub4b87bkm0"); // *p++ = *s++; UNSUPPORTED("5bbyh5dbvs12qykhja5su1xyb"); // *p++ = '>'; UNSUPPORTED("2t1d66kwn86kqh0i665hqw6cl"); // *p = '\0'; UNSUPPORTED("5jfpogdyby101eyuw2dhtb5cg"); // return buf; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5el4k6xor36xwe2zw5pbxwvxg // char *agstrcanon(char *arg, char *buf) public static Object agstrcanon(Object... arg) { UNSUPPORTED("2eugjkuvwod6onqy9kfs2rzsm"); // char *agstrcanon(char *arg, char *buf) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2weabf7fj63ctkhrx0t8zthrb"); // if (aghtmlstr(arg)) UNSUPPORTED("9iyrui5feoircaa0tm6yvyegj"); // return agcanonhtmlstr(arg, buf); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("4td6knrzidkire6uqf2ev1u8w"); // return _agstrcanon(arg, buf); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9ykg6r8cft6m1eqz84ptrhkkm // static char *getoutputbuffer(char *str) public static Object getoutputbuffer(Object... arg) { UNSUPPORTED("561sswbojerghf2xu4dg5bt1s"); // static char *getoutputbuffer(char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("zfr61ahp8m2301a6i0zw5oys"); // static char *rv; UNSUPPORTED("24n1fkl62ovew6wndvdgst75s"); // static int len; UNSUPPORTED("azsy6o1769l9s9lw7qvcr8zld"); // int req; UNSUPPORTED("bcaz0e6faadnkk9q7r31ox2uv"); // req = ((2 * strlen(str) + 2)>(BUFSIZ)?(2 * strlen(str) + 2):(BUFSIZ)); UNSUPPORTED("9u4b3k1a4ejkmpk16dd3q6h49"); // if (req > len) { UNSUPPORTED("3530976sh2i9fg23975vrw161"); // if (rv) UNSUPPORTED("523zs48zoju9q6xlk50eptn16"); // rv = realloc(rv, req); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("7kox9x8pkq2f0khjm3jy4bbwp"); // rv = malloc(req); UNSUPPORTED("7vego0iiluodex426985pztf0"); // len = req; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ewe36i40rrl3fpv7w0ryw05ni // char *agcanonStr(char *str) public static Object agcanonStr(Object... arg) { UNSUPPORTED("eyq4o9s8y123aetgpoe3yv8vb"); // char *agcanonStr(char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f4vpef7vd5wmhxtl2q4x9j290"); // return agstrcanon(str, getoutputbuffer(str)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dkk9fge4n0ji352t2bmtqxgcq // char *agcanon(char *str, int html) public static Object agcanon(Object... arg) { UNSUPPORTED("6rhv4om26ccgv3sf274hlssrb"); // char *agcanon(char *str, int html) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cd1a0xw1om8gnmntf662c4ta"); // char* buf = getoutputbuffer(str); UNSUPPORTED("13sqoi4hswov0j5sorbvjalue"); // if (html) UNSUPPORTED("71wx9wy7wm7l1ofewrs36twa4"); // return agcanonhtmlstr(str, buf); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("2gdx5yodu3th7xbdmdm7k5hw0"); // return _agstrcanon(str, buf); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c3jnf1oiv9b8aheuv9llnqtg // static int _write_canonstr(Agraph_t * g, iochan_t * ofile, char *str, int chk) public static Object _write_canonstr(Object... arg) { UNSUPPORTED("zr1y2wf05ldfglo6vrypd4d7"); // static int _write_canonstr(Agraph_t * g, iochan_t * ofile, char *str, UNSUPPORTED("6jsqaz0aadg586twc1a3xkgp4"); // int chk) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2f8bmob0vz6yu5pd99cq577kg"); // if (chk) UNSUPPORTED("byq8fiy8jzdslxiaf8z70lrfu"); // str = agcanonStr(str); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("eqcm90rf7s86jz2vlvlu3wo94"); // str = _agstrcanon(str, getoutputbuffer(str)); UNSUPPORTED("3a92mnynygrlxzyr67es6ff7w"); // return ioput(g, ofile, str); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wklmg8c4xwrlh8zj8mzsqqgy // static int write_canonstr(Agraph_t * g, iochan_t * ofile, char *str) public static Object write_canonstr(Object... arg) { UNSUPPORTED("9s58htjsqxlqmo523tjez4v1v"); // static int write_canonstr(Agraph_t * g, iochan_t * ofile, char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ao6n16fxplk35wuikk9lm5zsx"); // return _write_canonstr(g, ofile, str, (!(0))); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 y99h25djxm7t672axpq6s9so // static int write_dict(Agraph_t * g, iochan_t * ofile, char *name, Dict_t * dict, int top) public static Object write_dict(Object... arg) { UNSUPPORTED("2hsbtmft7fp9pqzt27syqpe99"); // static int write_dict(Agraph_t * g, iochan_t * ofile, char *name, UNSUPPORTED("cbjl3cpko6q4cka2s9mb8kbhs"); // Dict_t * dict, int top) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("behjm5bjsenezpg3f7cncvteu"); // int cnt = 0; UNSUPPORTED("51l8b50tqomi0gritl94e51v7"); // Dict_t *view; UNSUPPORTED("d173c80zt5jm4yd6ok8338o1x"); // Agsym_t *sym, *psym; UNSUPPORTED("9x367lbtuypg6bts6evclmc2w"); // if (!top) UNSUPPORTED("e1i7a6hfs0ejqoyb25zzrfqta"); // view = dtview(dict, ((Dict_t *)0)); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("5te3ph3q5wvma3d2s5lw15mte"); // view = 0; UNSUPPORTED("2sbfwpbl8pxucyovu38d8v0rd"); // for (sym = (Agsym_t *) (*(((Dt_t*)(dict))->searchf))((dict),(void*)(0),0000200); sym; UNSUPPORTED("4h5k9o906c9hqrjv889octnef"); // sym = (Agsym_t *) (*(((Dt_t*)(dict))->searchf))((dict),(void*)(sym),0000010)) { UNSUPPORTED("avha7r5me5k7qy01jm6ejjvn6"); // if (((sym->defval == 0) || (sym->defval)[0] == '\0') && !sym->print) { /* try to skip empty str (default) */ UNSUPPORTED("cgjccnmi11urn78eb1tpbqbay"); // if (view == ((Dict_t *)0)) UNSUPPORTED("bcbhr2jloy4m2wcwkwqv35wki"); // continue; /* no parent */ UNSUPPORTED("w57oejn8kxfcqhajcavmo1dq"); // psym = (Agsym_t *) (*(((Dt_t*)(view))->searchf))((view),(void*)(sym),0000004); UNSUPPORTED("9h1gyp9h3qbn1qj5fva3bn3xf"); // ; UNSUPPORTED("40fpwl1wqislxo0xgi8qgkqb9"); // if (((psym->defval == 0) || (psym->defval)[0] == '\0') && psym->print) UNSUPPORTED("3soi5dlurq6giqt0kic48ak6j"); // continue; /* also empty in parent */ UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5drtib7guih41r51l0f4akjwx"); // if (cnt++ == 0) { UNSUPPORTED("7qym8pnati72j923z80ihv0tx"); // {if ((indent(g, ofile)) == EOF) return EOF;}; UNSUPPORTED("91e6m2zyz414vtug4jlpigewp"); // {if ((ioput(g, ofile, name)) == EOF) return EOF;}; UNSUPPORTED("2sydxv2pzbrpeo9em23ycry8f"); // {if ((ioput(g, ofile, " [")) == EOF) return EOF;}; UNSUPPORTED("3ye74etl8i6jh415zncm5xbim"); // Level++; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("82k1j53lomse95wqgrzvbetri"); // {if ((ioput(g, ofile, ",\n")) == EOF) return EOF;}; UNSUPPORTED("7qym8pnati72j923z80ihv0tx"); // {if ((indent(g, ofile)) == EOF) return EOF;}; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("82qplhcz1dry5ubqktjt15d6r"); // {if ((write_canonstr(g, ofile, sym->name)) == EOF) return EOF;}; UNSUPPORTED("6ex6hk4ixb3yj1adbanpmz0dj"); // {if ((ioput(g, ofile, "=")) == EOF) return EOF;}; UNSUPPORTED("ap40fv2u1o0jybevdc42ino23"); // {if ((write_canonstr(g, ofile, sym->defval)) == EOF) return EOF;}; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3edmnqy3ok6qglbgwxmakkngx"); // if (cnt > 0) { UNSUPPORTED("17ejasz912kqtejldaozqxa0y"); // Level--; UNSUPPORTED("dcosmode4wc3bkdk46pmafk3k"); // if (cnt > 1) { UNSUPPORTED("tsypfw2ouyjuo1o6idz4hyur"); // {if ((ioput(g, ofile, "\n")) == EOF) return EOF;}; UNSUPPORTED("7qym8pnati72j923z80ihv0tx"); // {if ((indent(g, ofile)) == EOF) return EOF;}; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2p7hprd3pg5l28a3i4dl93swy"); // {if ((ioput(g, ofile, "];\n")) == EOF) return EOF;}; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9x367lbtuypg6bts6evclmc2w"); // if (!top) UNSUPPORTED("33ixxp63qe4r2prla9az18o5"); // dtview(dict, view); /* restore previous view */ UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 aul5zu4oj0o9yrzdmyk88qt2s // static int write_dicts(Agraph_t * g, iochan_t * ofile, int top) public static Object write_dicts(Object... arg) { UNSUPPORTED("9za417mkt9iven86uu3v8o7tr"); // static int write_dicts(Agraph_t * g, iochan_t * ofile, int top) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("as84an41e1m52e76l3k6541ik"); // Agdatadict_t *def; UNSUPPORTED("4mlv0t6g3bl1stjs6qxrdoxc4"); // if ((def = agdatadict(g, (0)))) { UNSUPPORTED("16qe57vlv8koos7hnsvji0tcb"); // {if ((write_dict(g, ofile, "graph", def->dict.g, top)) == EOF) return EOF;}; UNSUPPORTED("ddwzxi0rpkb52u0w6d1r77skm"); // {if ((write_dict(g, ofile, "node", def->dict.n, top)) == EOF) return EOF;}; UNSUPPORTED("1fi4yw89hspw1v0on1017ioyg"); // {if ((write_dict(g, ofile, "edge", def->dict.e, top)) == EOF) return EOF;}; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cg729l895pi0qnmlxnjytf8pd // static int write_hdr(Agraph_t * g, iochan_t * ofile, int top) public static Object write_hdr(Object... arg) { UNSUPPORTED("bv82284a2i51n13utave7gi65"); // static int write_hdr(Agraph_t * g, iochan_t * ofile, int top) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5tmjn44cq2g0o6a4eim9n4r41"); // char *name, *sep, *kind, *strict; UNSUPPORTED("2o2xukvz5nqsn8ucmx0ibzi7u"); // int root = 0; UNSUPPORTED("defp72d837w5grmr10ijl40sc"); // Attrs_not_written_flag = AGATTRWF(g); UNSUPPORTED("8rxqqli6dshrniwafycl2x50i"); // strict = ""; UNSUPPORTED("1dsqqvt6epu2867o19gd1w7e1"); // if (NOT(top) && agparent(g)) UNSUPPORTED("8rffe0xay7r01yrp1zqkh1l0p"); // kind = "sub"; UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("6digseocbrizgs0l1xdyetpd1"); // root = 1; UNSUPPORTED("3l4f565mguh1h41c30y87hhcu"); // if (g->desc.directed) UNSUPPORTED("e88vmmq10gtrhyxfiisp4c5n6"); // kind = "di"; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("477n1bidkrk4b8hcikwd601ww"); // kind = ""; UNSUPPORTED("k23gu3jbsh35eolp8cxy1von"); // if (agisstrict(g)) UNSUPPORTED("coedgh6jpr1nsmmodeufhccd5"); // strict = "strict "; UNSUPPORTED("120w7pql0m6xxhshb1hu9xr83"); // Tailport = agattr(g, AGEDGE, "tailport", ((char *)0)); UNSUPPORTED("31kmh5iv8cqwsc5169jcje4m5"); // Headport = agattr(g, AGEDGE, "headport", ((char *)0)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b1au7bgi7piu07obja3u404tt"); // name = agnameof(g); UNSUPPORTED("y39797izv2dtp714gzmbjmt2"); // sep = " "; UNSUPPORTED("deq0wlkdzgn0dsup6s8crdptk"); // if (!name || name[0] == '%') UNSUPPORTED("bngxzmad7ha2neojmucdgq2f"); // sep = name = ""; UNSUPPORTED("2upjlgu52bgdstwlj5g27peod"); // {if ((indent(g, ofile)) == EOF) return EOF;}; UNSUPPORTED("5x4jedwac3kvbjptwajbktmx9"); // {if ((ioput(g, ofile, strict)) == EOF) return EOF;}; UNSUPPORTED("7gibcx01sloiz2efkhytt8gx4"); // /* output "graph" only for root graphs or graphs with names */ UNSUPPORTED("6qy1c4safapm1tb5wyodbw52d"); // if (*name || root) { UNSUPPORTED("2g43v7zyxobg6xrwdex1ad5fw"); // {if ((ioput(g, ofile, kind)) == EOF) return EOF;}; UNSUPPORTED("48tfev7pi5eibapsnaibi6q4"); // {if ((ioput(g, ofile, "graph ")) == EOF) return EOF;}; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c6idt0yj6nq2ckloubbnilhq6"); // if (name[0]) UNSUPPORTED("3kefg3n38sd1r4iu21fkfdpf5"); // {if ((write_canonstr(g, ofile, name)) == EOF) return EOF;}; UNSUPPORTED("67g1mzlw40lif93mafscbv4vi"); // {if ((ioput(g, ofile, sep)) == EOF) return EOF;}; UNSUPPORTED("e0s5onmgtm3tlfd56y1rf4m6i"); // {if ((ioput(g, ofile, "{\n")) == EOF) return EOF;}; UNSUPPORTED("9brxtep7biyoqds0hj0atawrp"); // Level++; UNSUPPORTED("bd93m59b1ncaay038o5563pwq"); // {if ((write_dicts(g, ofile, top)) == EOF) return EOF;}; UNSUPPORTED("utp8mj7yh7s1sb68xrde8b8"); // AGATTRWF(g) = (!(0)); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3ledn06tna47mr73hhkiydl5l // static int write_trl(Agraph_t * g, iochan_t * ofile) public static Object write_trl(Object... arg) { UNSUPPORTED("b4cjvzzfv0u8yh5ym5v2dmx2e"); // static int write_trl(Agraph_t * g, iochan_t * ofile) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2q3myz3ctrvxg2tezy4xtlm09"); // (void) g; UNSUPPORTED("b3oxdten2n4i8m918fdxsp1hh"); // Level--; UNSUPPORTED("2upjlgu52bgdstwlj5g27peod"); // {if ((indent(g, ofile)) == EOF) return EOF;}; UNSUPPORTED("836o18jp9on1g7j6kfal2t1wd"); // {if ((ioput(g, ofile, "}\n")) == EOF) return EOF;}; UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eyh488kxcrbg6le1efk7a3xpu // static int irrelevant_subgraph(Agraph_t * g) public static Object irrelevant_subgraph(Object... arg) { UNSUPPORTED("4oyi2kt79cxmi0rtl1m5q6g6h"); // static int irrelevant_subgraph(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("fv6rlb2tzb6zbyr7t72uclhx"); // int i, n; UNSUPPORTED("cx0vt87bfp7pjiaw2jb68u1v7"); // Agattr_t *sdata, *pdata, *rdata; UNSUPPORTED("eq0gq1d7pmvj94j5nxbexze8p"); // Agdatadict_t *dd; UNSUPPORTED("8i0d7frxcvvmzhidle0zin9i0"); // char *name; UNSUPPORTED("b1au7bgi7piu07obja3u404tt"); // name = agnameof(g); UNSUPPORTED("c6ldem2asmpu0kxd9k0v9b52m"); // if (name && name[0] != '%') UNSUPPORTED("e6i1m837bi402fjvy87uxgyf"); // return (0); UNSUPPORTED("1p7l4il64r01z920qe41c1z6l"); // if ((sdata = agattrrec(g)) && (pdata = agattrrec(agparent(g)))) { UNSUPPORTED("4qk4wnxqgrsapkliulr94azku"); // rdata = agattrrec(agroot(g)); UNSUPPORTED("dxmershxq961ha7vc4m5cr62k"); // n = dtsize(rdata->dict); UNSUPPORTED("2865bsxs4j68vooz1yohtvgy"); // for (i = 0; i < n; i++) UNSUPPORTED("29ws3fuj2ixpal7w4giqlkeoc"); // if (sdata->str[i] && pdata->str[i] UNSUPPORTED("cek78fcyqh122xyfndqd7s7cc"); // && strcmp(sdata->str[i], pdata->str[i])) UNSUPPORTED("dpizbhlbpjwomse6dgvnrhaih"); // return (0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3rxguujcd6li5w0c4w1p79et1"); // dd = agdatadict(g, (0)); UNSUPPORTED("3tczoyxz5wlg8a4g3uhvrmm5o"); // if (!dd) UNSUPPORTED("3adr32h5e1fehu4g7j2u24asz"); // return (!(0)); UNSUPPORTED("22w1xj2fgexar3yp1jw8lz583"); // if ((dtsize(dd->dict.n) > 0) || (dtsize(dd->dict.e) > 0)) UNSUPPORTED("e6i1m837bi402fjvy87uxgyf"); // return (0); UNSUPPORTED("4si0cf97a5sfd9ozuunds9goz"); // return (!(0)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ck85o9cm7ekqx3c2l0adsac5s // int node_in_subg(Agraph_t * g, Agnode_t * n) public static Object node_in_subg(Object... arg) { UNSUPPORTED("lttsft2kddk4usoa58k8snym"); // int node_in_subg(Agraph_t * g, Agnode_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c3tourf5k7groqyh71yjd5xec"); // Agraph_t *subg; UNSUPPORTED("92vjk6rjnnnji7bcczz51lwfx"); // for (subg = agfstsubg(g); subg; subg = agnxtsubg(subg)) { UNSUPPORTED("7y0e3lnda08y951e0taazdpb3"); // if (irrelevant_subgraph(subg)) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("b64f4gc73opgpeltlgyojoq15"); // if (agsubnode(subg, n, (0))) UNSUPPORTED("euj7k5raviuazd8jahwobe0r3"); // return (!(0)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("297p5iu8oro94tdg9v29bbgiw"); // return (0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ksojc2a5losovfniqlzgt1vt // static int has_no_edges(Agraph_t * g, Agnode_t * n) public static Object has_no_edges(Object... arg) { UNSUPPORTED("64vkuv5tpo1b1viokvi658vrb"); // static int has_no_edges(Agraph_t * g, Agnode_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("awbxq19f7u7jetepurmyrq5mv"); // return ((agfstin(g, n) == ((Agedge_t *)0)) UNSUPPORTED("enl87hoolfbxysnsww72soosi"); // && (agfstout(g, n) == ((Agedge_t *)0))); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2iad3x6pf4ovvofoylnqwe2wc // static int has_no_predecessor_below(Agraph_t * g, Agnode_t * n, unsigned long val) public static Object has_no_predecessor_below(Object... arg) { UNSUPPORTED("7lbmpmt9voddi7i14szyn3qmm"); // static int has_no_predecessor_below(Agraph_t * g, Agnode_t * n, UNSUPPORTED("1fr81p8hxc1nvf0lvodnf29px"); // unsigned long val) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("38wcnqjivdjylzj9ulbjvi1e1"); // if (AGSEQ(n) < val) UNSUPPORTED("e6i1m837bi402fjvy87uxgyf"); // return (0); UNSUPPORTED("ac765q9popbptusjymwzret5y"); // for (e = agfstin(g, n); e; e = agnxtin(g, e)) UNSUPPORTED("dzqw274wu2nx03reilr9l7j5y"); // if (AGSEQ(e->node) < val) UNSUPPORTED("8tnlb2txucdutal7665h0v68g"); // return (0); UNSUPPORTED("4si0cf97a5sfd9ozuunds9goz"); // return (!(0)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 tn031eypwz2gs5143bxpsnuu // static int not_default_attrs(Agraph_t * g, Agnode_t * n) public static Object not_default_attrs(Object... arg) { UNSUPPORTED("emqc8yarfq0dgf06cnadhmpy7"); // static int not_default_attrs(Agraph_t * g, Agnode_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bbzey600kwgvkyquhmgo33kda"); // Agattr_t *data; UNSUPPORTED("av59ae8c4mws46sf5dumz1k0s"); // Agsym_t *sym; UNSUPPORTED("2q3myz3ctrvxg2tezy4xtlm09"); // (void) g; UNSUPPORTED("9j51hcoecext2qm6zhr7sj0oz"); // if ((data = agattrrec(n))) { UNSUPPORTED("coc462aobf6quvrhpcpnjpdrn"); // for (sym = (Agsym_t *) (*(((Dt_t*)(data->dict))->searchf))((data->dict),(void*)(0),0000200); sym; UNSUPPORTED("amu8ypy9stk8vb4g601x25kpb"); // sym = (Agsym_t *) (*(((Dt_t*)(data->dict))->searchf))((data->dict),(void*)(sym),0000010)) { UNSUPPORTED("8wug16wgeteq8od3sraaujwnx"); // if (data->str[sym->id] != sym->defval) UNSUPPORTED("a1a1uhff21noh1htwzn6yp831"); // return (!(0)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("297p5iu8oro94tdg9v29bbgiw"); // return (0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3hudq21u19r8v940lhosa07zk // static int write_subgs(Agraph_t * g, iochan_t * ofile) public static Object write_subgs(Object... arg) { UNSUPPORTED("81exc454cwr51dk4iq3g3so7e"); // static int write_subgs(Agraph_t * g, iochan_t * ofile) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c3tourf5k7groqyh71yjd5xec"); // Agraph_t *subg; UNSUPPORTED("92vjk6rjnnnji7bcczz51lwfx"); // for (subg = agfstsubg(g); subg; subg = agnxtsubg(subg)) { UNSUPPORTED("b5hukzaylqhk3l4u8ewu9m7bz"); // if (irrelevant_subgraph(subg)) { UNSUPPORTED("br6dtjggd74cdyd97thtidtrh"); // write_subgs(subg, ofile); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("1ckh4rmjqkc7rc1701bz33i77"); // {if ((write_hdr(subg, ofile, (0))) == EOF) return EOF;}; UNSUPPORTED("35agz39gubwvzxnxqoyttjyov"); // {if ((write_body(subg, ofile)) == EOF) return EOF;}; UNSUPPORTED("6eshqt45zq6jp769b50pfyvlg"); // {if ((write_trl(subg, ofile)) == EOF) return EOF;}; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 61m4d49ffhloytgknml3f3wr9 // static int write_edge_name(Agedge_t * e, iochan_t * ofile, int terminate) public static Object write_edge_name(Object... arg) { UNSUPPORTED("7653rldgp23j0jh9w5u24afy9"); // static int write_edge_name(Agedge_t * e, iochan_t * ofile, int terminate) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ecz4e03zumggc8tfymqvirexq"); // int rv; UNSUPPORTED("aexhdud6z2wbwwi73yppp0ynl"); // char *p; UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("egwh1ccpd1lrz94020eszo4mm"); // p = agnameof(e); UNSUPPORTED("dmucqaij4o1u2fxfg43y5j4ow"); // g = agraphof(e); UNSUPPORTED("bq8birldnzbfylw4cnes3ptj5"); // if (NOT(((p == 0) || (p)[0] == '\0'))) { UNSUPPORTED("5kbp8i958xdwwdrsh3bodyol6"); // {if ((ioput(g, ofile, " [key=")) == EOF) return EOF;}; UNSUPPORTED("awv07dimzjjfdzdt11o3pq77k"); // {if ((write_canonstr(g, ofile, p)) == EOF) return EOF;}; UNSUPPORTED("d1a8tpm0uunsuvxjpppo8iww6"); // if (terminate) UNSUPPORTED("cjtrrjw2cx48bap924touvqbx"); // {if ((ioput(g, ofile, "]")) == EOF) return EOF;}; UNSUPPORTED("e1ueu04zlv0zdyfii20b8r0rk"); // rv = (!(0)); UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("f5bn92wqqc6u64vmryax7oqh4"); // rv = (0); UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 29knq7812qkc7yve3ynqs319m // static int write_nondefault_attrs(void *obj, iochan_t * ofile, Dict_t * defdict) public static Object write_nondefault_attrs(Object... arg) { UNSUPPORTED("2eq8u2i8o96r7kj3kvvpk8pp8"); // static int write_nondefault_attrs(void *obj, iochan_t * ofile, UNSUPPORTED("f427jfb8dxus2g2a3h2u8o5xu"); // Dict_t * defdict) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bbzey600kwgvkyquhmgo33kda"); // Agattr_t *data; UNSUPPORTED("av59ae8c4mws46sf5dumz1k0s"); // Agsym_t *sym; UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("behjm5bjsenezpg3f7cncvteu"); // int cnt = 0; UNSUPPORTED("ecz4e03zumggc8tfymqvirexq"); // int rv; UNSUPPORTED("eg7ostyrb6k3w76d6frhjsxao"); // if ((AGTYPE(obj) == AGINEDGE) || (AGTYPE(obj) == AGOUTEDGE)) { UNSUPPORTED("b55iou6m33m4dht1xfevf1l4a"); // {if ((rv = write_edge_name(obj, ofile, (0))) == EOF) return EOF;}; UNSUPPORTED("3530976sh2i9fg23975vrw161"); // if (rv) UNSUPPORTED("7hl03wjg5yryhvbe4ar0i0b8g"); // cnt++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2jm7yr9s1ma9qprxon3kn34hs"); // data = agattrrec(obj); UNSUPPORTED("8pfuk9ua4x9bh68zk1kzwc5t9"); // g = agraphof(obj); UNSUPPORTED("ck70ilm5r0hsin65zhsuhqvr8"); // if (data) UNSUPPORTED("2xgrljvi8tbcibpvd93e3y4wu"); // for (sym = (Agsym_t *) (*(((Dt_t*)(defdict))->searchf))((defdict),(void*)(0),0000200); sym; UNSUPPORTED("5iyprqxhu5o7vb2hvqsg29102"); // sym = (Agsym_t *) (*(((Dt_t*)(defdict))->searchf))((defdict),(void*)(sym),0000010)) { UNSUPPORTED("1277c7kjmziau8c0dpsgenzrx"); // if ((AGTYPE(obj) == AGINEDGE) || (AGTYPE(obj) == AGOUTEDGE)) { UNSUPPORTED("1sexsl72k6x8a89gyzml82202"); // if (Tailport && (sym->id == Tailport->id)) UNSUPPORTED("2yi9az7ibt7j9bwztjilyo0v2"); // continue; UNSUPPORTED("e5ubbne6czhxg5l70lp73v2qy"); // if (Headport && (sym->id == Headport->id)) UNSUPPORTED("2yi9az7ibt7j9bwztjilyo0v2"); // continue; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("an1qa2d9iqrp3xzh32hq5m7wo"); // if (data->str[sym->id] != sym->defval) { UNSUPPORTED("4xhq9pg814p2c5b2fffoiv6h9"); // if (cnt++ == 0) { UNSUPPORTED("34h2pyawnomoq99i31tmiadll"); // {if ((indent(g, ofile)) == EOF) return EOF;}; UNSUPPORTED("edwv0jnia03ljoa7nei9zz0de"); // {if ((ioput(g, ofile, " [")) == EOF) return EOF;}; UNSUPPORTED("cyr36a84f56xloi9axapn4x0l"); // Level++; UNSUPPORTED("a47jqpic91ky93e1ohxv590l5"); // } else { UNSUPPORTED("dm4dxqtiqxuaqodlpd06p0iu2"); // {if ((ioput(g, ofile, ",\n")) == EOF) return EOF;}; UNSUPPORTED("34h2pyawnomoq99i31tmiadll"); // {if ((indent(g, ofile)) == EOF) return EOF;}; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("ewb7dhzx8h311btm514wxqh5d"); // {if ((write_canonstr(g, ofile, sym->name)) == EOF) return EOF;}; UNSUPPORTED("e5geka21ka5gvgmjo8gyb2vul"); // {if ((ioput(g, ofile, "=")) == EOF) return EOF;}; UNSUPPORTED("66a4xw8npqjv8xk4jka0g2xsm"); // {if ((write_canonstr(g, ofile, data->str[sym->id])) == EOF) return EOF;}; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3edmnqy3ok6qglbgwxmakkngx"); // if (cnt > 0) { UNSUPPORTED("35d94qq9wy75h3y8r2eov436"); // {if ((ioput(g, ofile, "]")) == EOF) return EOF;}; UNSUPPORTED("17ejasz912kqtejldaozqxa0y"); // Level--; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("au1zt5ka3uvb2gtbnxfc6dp8m"); // AGATTRWF((Agobj_t *) obj) = (!(0)); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cxw4svv83nd76h7g9n4wtvyhe // static int write_nodename(Agnode_t * n, iochan_t * ofile) public static Object write_nodename(Object... arg) { UNSUPPORTED("cpgq7yh759xl1zrvqft4831wz"); // static int write_nodename(Agnode_t * n, iochan_t * ofile) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2p565zvorxx52bxl6qo7p76e"); // char *name, buf[20]; UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("a4xof3tnbquhro6rrhmnuqoli"); // name = agnameof(n); UNSUPPORTED("38tgkes5dhr4oloxpg73baq10"); // g = agraphof(n); UNSUPPORTED("30nxp5k7c6mdth5ymcpz1oxob"); // if (name) { UNSUPPORTED("3kefg3n38sd1r4iu21fkfdpf5"); // {if ((write_canonstr(g, ofile, name)) == EOF) return EOF;}; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("ezpeldusu1c6rg1a2nm7scden"); // sprintf(buf, "_%ld_SUSPECT", AGID(n)); /* could be deadly wrong */ UNSUPPORTED("bryntb9dnhodyku7ylgr1cie9"); // {if ((ioput(g, ofile, buf)) == EOF) return EOF;}; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 evmg0r67fn4l8l3ivojk7rt0g // static int attrs_written(void *obj) public static Object attrs_written(Object... arg) { UNSUPPORTED("7psl0ji9q989ywpylalpurvqy"); // static int attrs_written(void *obj) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ae64q3xp4s7ek7gaqaekhyrbv"); // return (AGATTRWF((Agobj_t *) obj)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2m70lxskcmbyg6wdxe5r6ai1e // static int write_node(Agnode_t * n, iochan_t * ofile, Dict_t * d) public static Object write_node(Object... arg) { UNSUPPORTED("cqa550o688iknrhl43di42f58"); // static int write_node(Agnode_t * n, iochan_t * ofile, Dict_t * d) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("38tgkes5dhr4oloxpg73baq10"); // g = agraphof(n); UNSUPPORTED("2upjlgu52bgdstwlj5g27peod"); // {if ((indent(g, ofile)) == EOF) return EOF;}; UNSUPPORTED("ad6u6q90muje77m4c2w3g4vnp"); // {if ((write_nodename(n, ofile)) == EOF) return EOF;}; UNSUPPORTED("188f2l06cxx44bobai7uck0n3"); // if (NOT(attrs_written(n))) UNSUPPORTED("604ofy6n5gra880spsr7pttzu"); // {if ((write_nondefault_attrs(n, ofile, d)) == EOF) return EOF;}; UNSUPPORTED("36fggxzk0yp5o9iu0wl66dbg4"); // return ioput(g, ofile, ";\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 f14lr3pcw3fr38egphpz5nnu4 // static int write_node_test(Agraph_t * g, Agnode_t * n, unsigned long pred_id) public static Object write_node_test(Object... arg) { UNSUPPORTED("5dzvb8cmg948ujvvba4qgoohs"); // static int write_node_test(Agraph_t * g, Agnode_t * n, UNSUPPORTED("5wtydk3j3fgnkmg8zhzz67wtx"); // unsigned long pred_id) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4iai1f8jf6nldihij6j7geznt"); // if (NOT(node_in_subg(g, n)) && has_no_predecessor_below(g, n, pred_id)) { UNSUPPORTED("6r86ld6632dwt68hrrxl7r69n"); // if (has_no_edges(g, n) || not_default_attrs(g, n)) UNSUPPORTED("euj7k5raviuazd8jahwobe0r3"); // return (!(0)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("297p5iu8oro94tdg9v29bbgiw"); // return (0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5zf7u1r6hz67tt7a3231b6prh // static int write_port(Agedge_t * e, iochan_t * ofile, Agsym_t * port) public static Object write_port(Object... arg) { UNSUPPORTED("4xje10w5oamectfsdzliliyqw"); // static int write_port(Agedge_t * e, iochan_t * ofile, Agsym_t * port) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eocf25luzhwv5bxjexjp351gh"); // char *val; UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("8rqevc1hrm1ne2lnxwvj4fv4c"); // if (!port) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("dmucqaij4o1u2fxfg43y5j4ow"); // g = agraphof(e); UNSUPPORTED("831dn8v157veiodzq2v8241lf"); // val = agxget(e, port); UNSUPPORTED("4suzircl51e85yp915bz7v4qu"); // if (val[0] == '\0') UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("1p5n9iv2fv2lzf7o45j51tgxp"); // {if ((ioput(g, ofile, ":")) == EOF) return EOF;}; UNSUPPORTED("3iqdx5w9ghlst037y7bcvz6wf"); // if (aghtmlstr(val)) { UNSUPPORTED("56u7ilzcb1yhhwozqmp6hleat"); // {if ((write_canonstr(g, ofile, val)) == EOF) return EOF;}; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("252d0vgl5lh8pgtnfcmeu89tc"); // char *s = strchr(val, ':'); UNSUPPORTED("dmtz739k0mm5ehrx59272alpr"); // if (s) { UNSUPPORTED("ezrforbrab3hidaupv18faqcb"); // *s = '\0'; UNSUPPORTED("akn31o7bkj0ssrdx07xi5mm43"); // {if ((_write_canonstr(g, ofile, val, (0))) == EOF) return EOF;}; UNSUPPORTED("81xvkbzakdflnij10q44u5uoe"); // {if ((ioput(g, ofile, ":")) == EOF) return EOF;}; UNSUPPORTED("4fp9nlo79i4xv1dnsitfjarsm"); // {if ((_write_canonstr(g, ofile, s + 1, (0))) == EOF) return EOF;}; UNSUPPORTED("94ybugc52d4387gg45p7y33hs"); // *s = ':'; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("akn31o7bkj0ssrdx07xi5mm43"); // {if ((_write_canonstr(g, ofile, val, (0))) == EOF) return EOF;}; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4ldk2wgnwzswqi3af43tel24y // static int write_edge_test(Agraph_t * g, Agedge_t * e) public static Object write_edge_test(Object... arg) { UNSUPPORTED("9yp7jgxf5ed1bvk0sw51xbkbo"); // static int write_edge_test(Agraph_t * g, Agedge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c3tourf5k7groqyh71yjd5xec"); // Agraph_t *subg; UNSUPPORTED("9qltiz4q6ds2g8b7awgcytymv"); // /* can use agedge() because we subverted the dict compar_f */ UNSUPPORTED("92vjk6rjnnnji7bcczz51lwfx"); // for (subg = agfstsubg(g); subg; subg = agnxtsubg(subg)) { UNSUPPORTED("7y0e3lnda08y951e0taazdpb3"); // if (irrelevant_subgraph(subg)) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("eg7qrpri7skg2hr3nvvadkdyd"); // if (agsubedge(subg, e, (0))) UNSUPPORTED("8tnlb2txucdutal7665h0v68g"); // return (0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4si0cf97a5sfd9ozuunds9goz"); // return (!(0)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 achkvduksnhmlem44ia61tdpm // static int write_edge(Agedge_t * e, iochan_t * ofile, Dict_t * d) public static Object write_edge(Object... arg) { UNSUPPORTED("35w5n554uravyh0k7gmn73zup"); // static int write_edge(Agedge_t * e, iochan_t * ofile, Dict_t * d) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4ybt6tm56tubmbuve8lp6rxhh"); // Agnode_t *t, *h; UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("5webprz21nzifr3m5zwnqxx6m"); // t = AGTAIL(e); UNSUPPORTED("ax8363bkxphvbre4n21ewb568"); // h = AGHEAD(e); UNSUPPORTED("8qt01zznk6z8nu3spriyiry81"); // g = agraphof(t); UNSUPPORTED("2upjlgu52bgdstwlj5g27peod"); // {if ((indent(g, ofile)) == EOF) return EOF;}; UNSUPPORTED("2gxk9z53sl9dr4ozmgyl6vn6j"); // {if ((write_nodename(t, ofile)) == EOF) return EOF;}; UNSUPPORTED("71dxqgydbyqut1trdx63djy04"); // {if ((write_port(e, ofile, Tailport)) == EOF) return EOF;}; UNSUPPORTED("edsdju74g486xwykrjecfdz9t"); // {if ((ioput(g, ofile,(agisdirected(agraphof(t)) ? " -> " : " -- "))) == EOF) return EOF;}; UNSUPPORTED("cg68mtym2rtcpt6dl9cgou9ty"); // {if ((write_nodename(h, ofile)) == EOF) return EOF;}; UNSUPPORTED("9yj27gqf0jtykmnnuyntescvp"); // {if ((write_port(e, ofile, Headport)) == EOF) return EOF;}; UNSUPPORTED("1v1o17ud9bvt5cbsexej1x6lb"); // if (NOT(attrs_written(e))) { UNSUPPORTED("ddestrlasmplu0lkczahiwnio"); // {if ((write_nondefault_attrs(e, ofile, d)) == EOF) return EOF;}; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("197ftan7rtv20qonq7s9jvp8n"); // {if ((write_edge_name(e, ofile, (!(0)))) == EOF) return EOF;}; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("36fggxzk0yp5o9iu0wl66dbg4"); // return ioput(g, ofile, ";\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 uu07lrf43gcxm3lfka71pyvs // static int write_body(Agraph_t * g, iochan_t * ofile) public static Object write_body(Object... arg) { UNSUPPORTED("24udwe07nmfa7mly8u6t458cy"); // static int write_body(Agraph_t * g, iochan_t * ofile) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6vso73lw5lxv6m32fli4evzoo"); // Agnode_t *n, *prev; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("eq0gq1d7pmvj94j5nxbexze8p"); // Agdatadict_t *dd; UNSUPPORTED("ecc7weo8sqce4hc8zhangqyxh"); // /* int has_attr; */ UNSUPPORTED("1qkoefgefzcbae9lcfldryhcu"); // /* has_attr = (agattrrec(g) != NIL(Agattr_t*)); */ UNSUPPORTED("epct28o6e8jijggk3kdf7at2d"); // {if ((write_subgs(g, ofile)) == EOF) return EOF;}; UNSUPPORTED("avn5z8qt3zn87v0tr4t43aptm"); // dd = agdatadict(agroot(g), (0)); UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("5o93nkpvajmx0eouvhi1py3a3"); // if (write_node_test(g, n, AGSEQ(n))) UNSUPPORTED("bnzzfj5rb2fb7l96rnoscoyzt"); // {if ((write_node(n, ofile, dd ? dd->dict.n : 0)) == EOF) return EOF;}; UNSUPPORTED("9z3wosnod2eza62eqd598gf15"); // prev = n; UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("4rv2a1j1w99ox9vwkb58qcndm"); // if ((prev != aghead(e)) UNSUPPORTED("6pm10qlp4eognb60xcbf4a2tx"); // && write_node_test(g, aghead(e), AGSEQ(n))) { UNSUPPORTED("as20nn69z1udd99ioxq1m2410"); // {if ((write_node(aghead(e), ofile, dd ? dd->dict.n : 0)) == EOF) return EOF;}; UNSUPPORTED("4hmon4o3z87811qet9gh6wspf"); // prev = aghead(e); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("a9y45p58h8680rmry84kep0k7"); // if (write_edge_test(g, e)) UNSUPPORTED("6yl3in89h59zpkbs0vjdo9g5e"); // {if ((write_edge(e, ofile, dd ? dd->dict.e : 0)) == EOF) return EOF;}; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6qzik6sn6t699oya0mtmc09kj // static void set_attrwf(Agraph_t * g, int toplevel, int value) public static Object set_attrwf(Object... arg) { UNSUPPORTED("8qq9xih8ju452kzwi2vfuflx1"); // static void set_attrwf(Agraph_t * g, int toplevel, int value) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c3tourf5k7groqyh71yjd5xec"); // Agraph_t *subg; UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("24t3hnv9bwzu54ytirjoo9ll0"); // AGATTRWF(g) = value; UNSUPPORTED("92vjk6rjnnnji7bcczz51lwfx"); // for (subg = agfstsubg(g); subg; subg = agnxtsubg(subg)) { UNSUPPORTED("37kcx814prucmw0dgtx90gys3"); // set_attrwf(subg, (0), value); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5r7vuplpj8az4hdy8stn9opja"); // if (toplevel) { UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("8wb9syhcd6ckmrfo4kkh1dg6o"); // AGATTRWF(n) = value; UNSUPPORTED("8wpryg13apwpccvklympyeyqu"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) UNSUPPORTED("cb595c0e5qk8td22sve3vdd9y"); // AGATTRWF(e) = value; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9bptgx2xn1o2lmf9b3bmbjcx8 // int agwrite(Agraph_t * g, void *ofile) public static Object agwrite(Object... arg) { UNSUPPORTED("354j237921gksw95lxhfou3c9"); // int agwrite(Agraph_t * g, void *ofile) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("yiuh599p05f2mpu2e3pesu2o"); // char* s; UNSUPPORTED("dwe86466ugstemepdfk8yzphz"); // int len; UNSUPPORTED("w1wwvddvl612b2n4mm48vyzg"); // Level = 0; /* re-initialize tab level */ UNSUPPORTED("c1kw4u0tftoc897fbywyem5cx"); // if ((s = agget(g, "linelength")) && isdigit(*s)) { UNSUPPORTED("3osc4y4ixfivmttpwtzh5gqse"); // len = (int)strtol(s, (char **)NULL, 10); UNSUPPORTED("4rqc2dbtsiwkva90qvgd404ve"); // if ((len == 0) || (len >= 60)) UNSUPPORTED("72a6c8cf7tnb2ookwzttqa88n"); // Max_outputline = len; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4sbvvs8w0qt626w12i77zjorp"); // set_attrwf(g, (!(0)), (0)); UNSUPPORTED("auyox07z514kd3x5fgcna10dd"); // {if ((write_hdr(g, ofile, (!(0)))) == EOF) return EOF;}; UNSUPPORTED("75p7mwy716aorog189xdsukra"); // {if ((write_body(g, ofile)) == EOF) return EOF;}; UNSUPPORTED("dfeqp09vdcut9uyrm908or81q"); // {if ((write_trl(g, ofile)) == EOF) return EOF;}; UNSUPPORTED("b4rn0yi1ogpc3e78wrtt5jj15"); // Max_outputline = 128; UNSUPPORTED("cbe60vdps5mrbfuocxpwxzu78"); // return ((g)->clos->disc.io)->flush(ofile); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/circogen/000077500000000000000000000000001340005343600201625ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/gen/lib/circogen/block__c.java000066400000000000000000000573721340005343600225760ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.circogen; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class block__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9rei645fnqv344obz0uoyex48 // void initBlocklist(blocklist_t * bl) public static Object initBlocklist(Object... arg) { UNSUPPORTED("b9lm66dbqkkvj11gjv6ixtzes"); // void initBlocklist(blocklist_t * bl) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2gv0rd5g51qywarjewujgg0wg"); // bl->first = NULL; UNSUPPORTED("84wobegtjib75n6tzvjh44yz9"); // bl->last = NULL; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 19tlf8geba4mmtvfraapj2ihq // block_t *mkBlock(Agraph_t * g) public static Object mkBlock(Object... arg) { UNSUPPORTED("8aht5e0uzry2hgrx8j3t91t3h"); // block_t *mkBlock(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ep27cw0fr6yzvjsr2jjkjlec8"); // block_t *sn; UNSUPPORTED("7qyv71ou47lailu4hr5ivx7pn"); // sn = (block_t*)zmalloc(sizeof(block_t)); UNSUPPORTED("a78jj8s3uefgn1qrwuo3dk1zg"); // initBlocklist(&sn->children); UNSUPPORTED("72hz711fvb7wvjonk9a8za7wr"); // sn->sub_graph = g; UNSUPPORTED("axh3xbpigakp8kvk0zxytmhrh"); // return sn; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4cy6ndql7d5hrpt7o1mzu72g7 // void freeBlock(block_t * sp) public static Object freeBlock(Object... arg) { UNSUPPORTED("by27j04uml21wxjfx84pwdxft"); // void freeBlock(block_t * sp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bw55qe8krzotin01mfy1csyex"); // if (!sp) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("bgl6boip2qg0jeqpb0xul7zq5"); // freeNodelist(sp->circle_list); UNSUPPORTED("714y8kgak1wm462uo9bbws9cm"); // free(sp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2ojqv7jnuux6c4p8esq8xxgc7 // int blockSize(block_t * sp) public static Object blockSize(Object... arg) { UNSUPPORTED("9zpg2zz1n9vha7oq1jtt6zg1b"); // int blockSize(block_t * sp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4ovedot78vu5tzh694k36bu2s"); // return agnnodes (sp->sub_graph); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c76mkedayihrzuhirkmh8frs0 // void appendBlock(blocklist_t * bl, block_t * bp) public static Object appendBlock(Object... arg) { UNSUPPORTED("3kzcmknh3043exfd3rg9qnauu"); // void appendBlock(blocklist_t * bl, block_t * bp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bo0d60j50f7vu1x1mgrblwzhi"); // bp->next = NULL; UNSUPPORTED("3xp3wpcmexyum8m1gq428okg1"); // if (bl->last) { UNSUPPORTED("b4rchxhfigzjnd0zk6fj6fds0"); // bl->last->next = bp; UNSUPPORTED("3pxhbtenmm4l9t5c1rzo8xlq2"); // bl->last = bp; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("8q5ii2me9kwiu5wq2zivlj783"); // bl->first = bp; UNSUPPORTED("3pxhbtenmm4l9t5c1rzo8xlq2"); // bl->last = bp; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4s05y1elv7zc7nryp7pos16tc // void insertBlock(blocklist_t * bl, block_t * bp) public static Object insertBlock(Object... arg) { UNSUPPORTED("2nghwj079h9g08aglo2lda8nw"); // void insertBlock(blocklist_t * bl, block_t * bp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5yixtdzq6t0fq3duxif5nnf6k"); // if (bl->first) { UNSUPPORTED("9qazclvxrbi2ldc49nj6mxplk"); // bp->next = bl->first; UNSUPPORTED("8q5ii2me9kwiu5wq2zivlj783"); // bl->first = bp; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("8q5ii2me9kwiu5wq2zivlj783"); // bl->first = bp; UNSUPPORTED("3pxhbtenmm4l9t5c1rzo8xlq2"); // bl->last = bp; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/circogen/blockpath__c.java000066400000000000000000001722521340005343600234460ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.circogen; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class blockpath__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 e0c6o8stnbe78j48z75ksdz7r // typedef Dt_t edgelist //1 39duc9sgnnz7xqy8c1hhno72b // typedef Dt_t nodeset_t //1 7j7kswbhzemhda2b85gqybnya // typedef Dt_t deglist_t //3 1xvwimo7h6xxwr3nk7628z91s // static Agraph_t *clone_graph(Agraph_t * ing, Agraph_t ** xg) public static Object clone_graph(Object... arg) { UNSUPPORTED("34rwtfj0jl6bt8tx92beev5es"); // static Agraph_t *clone_graph(Agraph_t * ing, Agraph_t ** xg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6wqyctm7ejmgwmi9b1flcldk3"); // Agraph_t *clone; UNSUPPORTED("5xvxmd998k2ijhl36ekqvj047"); // Agraph_t *xclone; UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("5symvkivg72wbeqivuz9ryc6v"); // Agnode_t *xn; UNSUPPORTED("cpd7gqx32iybmzyawrjcefiz4"); // Agnode_t *xh; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("das87gvl5xaq7y7ewtx5trkws"); // Agedge_t *xe; UNSUPPORTED("drj328bbj3dx7pr601ewryc7l"); // char gname[128]; UNSUPPORTED("dprz24km2yzgmc5ejmr97z3t"); // static int id = 0; UNSUPPORTED("3uv05i6otc22zt0czdcyol8c4"); // sprintf(gname, "_clone_%d", id++); UNSUPPORTED("2tckewjgb2ez5dfcjpkgpmycc"); // clone = agsubg(ing, gname,1); UNSUPPORTED("ef32h8iori24zal5sdv464o4d"); // agbindrec(clone, "Agraphinfo_t", sizeof(Agraphinfo_t), NOT(0)); //node custom data UNSUPPORTED("3uv05i6otc22zt0czdcyol8c4"); // sprintf(gname, "_clone_%d", id++); UNSUPPORTED("61zzjvyr1c2df7ivceck1gill"); // xclone = agopen(gname, ing->desc,((Agdisc_t *)0)); UNSUPPORTED("9q61eb8nam9w8rcvj6541f4i1"); // for (n = agfstnode(ing); n; n = agnxtnode(ing, n)) { UNSUPPORTED("bd9reyxulshw9zgpuyvynufwr"); // agsubnode(clone,n,1); UNSUPPORTED("dnawynwzg0deirz2ezhwax64z"); // xn = agnode(xclone, agnameof(n),1); UNSUPPORTED("cpyo6x44eksqi66ug3agz7etm"); // agbindrec(xn, "Agnodeinfo_t", sizeof(Agnodeinfo_t), NOT(0)); //node custom data UNSUPPORTED("7dnug9uxi7ddoghyrm8rbz45f"); // (((cdata*)(ND_alg(n)))->u.clone) = xn; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9q61eb8nam9w8rcvj6541f4i1"); // for (n = agfstnode(ing); n; n = agnxtnode(ing, n)) { UNSUPPORTED("6std6zvo31kvt5tyxhzwncfoa"); // xn = (((cdata*)(ND_alg(n)))->u.clone); UNSUPPORTED("5mv803jds3a1llgeb7lp12hym"); // for (e = agfstout(ing, n); e; e = agnxtout(ing, e)) { UNSUPPORTED("f49wwvqnjs7d8fc9cm90sgbv4"); // agsubedge(clone,e,1); UNSUPPORTED("7grev3hqtou9mx6g02xvz0b0v"); // xh = (((cdata*)(ND_alg(aghead(e))))->u.clone); UNSUPPORTED("am4vpp5kcl3e6rciv4xntyr5b"); // xe = agedge(xclone, xn, xh, NULL, 1); UNSUPPORTED("apc6204gnibhddglh7n3y9qo2"); // agbindrec(xe, "Agedgeinfo_t", sizeof(Agedgeinfo_t), NOT(0)); //node custom data UNSUPPORTED("f56tf6qn2kusvulydoii7h2er"); // (ED_to_orig(xe)) = e; UNSUPPORTED("9ayqbb28l0qyxfhjwx1asjn8z"); // (ND_order(xn)) += 1; UNSUPPORTED("8uaatcogu6qcrp89p9733ne5l"); // (ND_order(xh)) += 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5sw6xgh0vs7xf7cty92581cew"); // *xg = xclone; UNSUPPORTED("ahsxnrtj709jyhggtyh45qhez"); // return clone; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4js7mtzis5vqcin2nnzmzp3z6 // static deglist_t *getList(Agraph_t * g) public static Object getList(Object... arg) { UNSUPPORTED("a2dgfuc79lf165ux7e468ykof"); // static deglist_t *getList(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("81bp1ufbinisb1i9is0fn5koz"); // deglist_t *dl = mkDeglist(); UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("1h4udrr1gk5uezae7l4x9e4c5"); // insertDeglist(dl, n); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("cm8qrfhqoqzqx9qfxzg3ti8r7"); // return dl; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4ighdv8te0lys3rchzw8aymm0 // static void find_pair_edges(Agraph_t * g, Agnode_t * n, Agraph_t * outg) public static Object find_pair_edges(Object... arg) { UNSUPPORTED("xutw9e2nplvs3q4gfvk7xn29"); // static void find_pair_edges(Agraph_t * g, Agnode_t * n, Agraph_t * outg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjfpfavygvfxjo8jce5nz48ic"); // Agnode_t **neighbors_with; UNSUPPORTED("88isz9fycrsmab3txj9tib205"); // Agnode_t **neighbors_without; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("1bl759aws53yjk3xg9shiogx5"); // Agedge_t *ep; UNSUPPORTED("3t0ulygac81ueh0xjr391hyrh"); // Agedge_t *ex; UNSUPPORTED("4rip97cgvbcrlgycxl0wajpuh"); // Agnode_t *n1; UNSUPPORTED("5ozeh48rt3sdc5ufi9nv6yx88"); // Agnode_t *n2; UNSUPPORTED("amd7is8j6qvef26sc483rjbsr"); // int has_pair_edge; UNSUPPORTED("1wmjkf3r3rua2n9n6v1glz64z"); // int diff; UNSUPPORTED("d1i7jcsqu99gvxf2fe251lvl6"); // int has_pair_count = 0; UNSUPPORTED("36m9lheffujrzgna7hs9i3oa8"); // int no_pair_count = 0; UNSUPPORTED("1l486qszpb5d3sqdm06kutpur"); // int node_degree; UNSUPPORTED("dod8opyy7guv4i3ux4lcxsn7e"); // int edge_cnt = 0; UNSUPPORTED("cl7dqwmcfqwhf0n719zq4i2k1"); // node_degree = (ND_order(n)); UNSUPPORTED("vetjk9jrsga9ojup5vx2t4ni"); // neighbors_with = (Agnode_t **)gmalloc((node_degree)*sizeof(Agnode_t *)); UNSUPPORTED("4to2767qvlj3zg70yj3ahf9cz"); // neighbors_without = (Agnode_t **)gmalloc((node_degree)*sizeof(Agnode_t *)); UNSUPPORTED("dcuhjbsiioawp6zspvonwd4px"); // for (e = agfstedge(g, n); e; e = agnxtedge(g, e, n)) { UNSUPPORTED("b5elzpoploj144houo511jga7"); // n1 = aghead(e); UNSUPPORTED("1qpu7mh7kzjg30a060o39exdr"); // if (n1 == n) UNSUPPORTED("mgr12zup6vvs740u6t01s0ay"); // n1 = agtail(e); UNSUPPORTED("8o80wphccqc90ul9j5h8s4ilr"); // has_pair_edge = 0; UNSUPPORTED("5b98jlpc20lv99xoeybrxpm1w"); // for (ep = agfstedge(g, n); ep; ep = agnxtedge(g, ep, n)) { UNSUPPORTED("7jumz67ra7zkgh5bzs6ipvjbz"); // if (ep == e) UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; UNSUPPORTED("7h0r1z7b1tcde4wytwxyigz8d"); // n2 = aghead(ep); UNSUPPORTED("1ejwt6n5a5fy0nqpmbu2yvzcz"); // if (n2 == n) UNSUPPORTED("7brsmwx9usebj9aic30rgi992"); // n2 = agtail(ep); UNSUPPORTED("1w90pq659kpysd8cqbnw3qcx8"); // ex = (agedge(g,n1,n2,NULL,0)); UNSUPPORTED("bg0v15q62qx908cnod0vhp94"); // if (ex) { UNSUPPORTED("3jxs7icfff5r9a8w80frrl2qd"); // has_pair_edge = 1; UNSUPPORTED("f11zryvghlrmh8ao6y8enailu"); // if (n1 < n2) { /* count edge only once */ UNSUPPORTED("esb0m4s9o67n9ql98u27i29a6"); // edge_cnt++; UNSUPPORTED("c2qsyou5a2mxsrqyfw0pd15f0"); // if ((ED_to_orig(ex))) { UNSUPPORTED("3o5uqynsriitatedjwd5jqyqp"); // agdelete(outg, (ED_to_orig(ex))); UNSUPPORTED("drj8qjyjkeeedlfyurwkzkhxl"); // (ED_to_orig(ex)) = 0; /* delete only once */ UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("7vcnaipx3tekqorsaz8eb1adj"); // if (has_pair_edge) { UNSUPPORTED("cnm2l3yft4vyot34be8t1q709"); // neighbors_with[has_pair_count] = n1; UNSUPPORTED("bwqyt0dssk1c4fftol3ez81mj"); // has_pair_count++; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("dbgef1y9toqosqz2hc3fqgtaf"); // neighbors_without[no_pair_count] = n1; UNSUPPORTED("9kjm44g5pimn301rv05u1mq9x"); // no_pair_count++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("689peqrlgcq6sxh3v1rsyxtgs"); // diff = node_degree - 1 - edge_cnt; UNSUPPORTED("e7wveq1bjq0k8h3zn94l5i8wb"); // if (diff > 0) { UNSUPPORTED("absiuplqv7ngv5nns8wt419fq"); // int mark; UNSUPPORTED("6c2a0fq6cdv6n7jis6xvac1ix"); // Agnode_t *hp; UNSUPPORTED("3r7e5ngdy1yhhp156zdz404vn"); // Agnode_t *tp; UNSUPPORTED("9o448o0hfz9079rtymm3fd0qy"); // if (diff < no_pair_count) { UNSUPPORTED("55303709crow86p7bnbxlxz61"); // for (mark = 0; mark < no_pair_count; mark += 2) { UNSUPPORTED("9a6n9k96dfza7terjf4n1yxio"); // if ((mark + 1) >= no_pair_count) UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break; UNSUPPORTED("62vzr4kpbt7zxzw5m06i9vxf0"); // tp = neighbors_without[mark]; UNSUPPORTED("573djj9aqjout7yn9acz0msc0"); // hp = neighbors_without[mark + 1]; UNSUPPORTED("4a0i5ng3bn2o81uk4awkwo3s4"); // agbindrec(agedge(g, tp, hp, NULL, 1), "Agedgeinfo_t", sizeof(Agedgeinfo_t), NOT(0)); // edge custom data UNSUPPORTED("bt7cn3xkr1gbum4zzewtaecm9"); // (ND_order(tp))++; UNSUPPORTED("4paqhnx66ihnlgeeho4uccezz"); // (ND_order(hp))++; UNSUPPORTED("82nc9dwhc9qf2yqko8gvwyuu4"); // diff--; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("cvy8xzqnrho2kumg5d8mekg34"); // mark = 2; UNSUPPORTED("39clbhwbr48385uif3r3jyo5j"); // while (diff > 0) { UNSUPPORTED("9ibgjjztevco43v870eobnqn6"); // tp = neighbors_without[0]; UNSUPPORTED("dogedkqmkviq59unc5qb15zog"); // hp = neighbors_without[mark]; UNSUPPORTED("4a0i5ng3bn2o81uk4awkwo3s4"); // agbindrec(agedge(g, tp, hp, NULL, 1), "Agedgeinfo_t", sizeof(Agedgeinfo_t), NOT(0)); // edge custom data UNSUPPORTED("bt7cn3xkr1gbum4zzewtaecm9"); // (ND_order(tp))++; UNSUPPORTED("4paqhnx66ihnlgeeho4uccezz"); // (ND_order(hp))++; UNSUPPORTED("bvi3mrdatiowhbq318wj7t5jy"); // mark++; UNSUPPORTED("82nc9dwhc9qf2yqko8gvwyuu4"); // diff--; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cvk2tpu5s7mpszng4o7z4uevw"); // else if (diff == no_pair_count) { UNSUPPORTED("2karo0elfxneqcwst1zdznso5"); // tp = neighbors_with[0]; UNSUPPORTED("8p4qikbfm03s7g4w8yxf4tlrs"); // for (mark = 0; mark < no_pair_count; mark++) { UNSUPPORTED("dogedkqmkviq59unc5qb15zog"); // hp = neighbors_without[mark]; UNSUPPORTED("bx4itrrvtmxvzfputf73rj8fm"); // agbindrec(agedge(g, tp, hp, NULL, 1), "Agedgeinfo_t", sizeof(Agedgeinfo_t), NOT(0)); //node custom data UNSUPPORTED("bt7cn3xkr1gbum4zzewtaecm9"); // (ND_order(tp))++; UNSUPPORTED("4paqhnx66ihnlgeeho4uccezz"); // (ND_order(hp))++; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7vjoj31lznmgyarxml1sy7ox6"); // free(neighbors_without); UNSUPPORTED("bbg4ogpuvzv576iu3onqmhju1"); // free(neighbors_with); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5hjb2e85ks2yxpsv09neo671u // static Agraph_t *remove_pair_edges(Agraph_t * ing) public static Object remove_pair_edges(Object... arg) { UNSUPPORTED("8b98j875ieeuxpp3w5kzn2kf8"); // static Agraph_t *remove_pair_edges(Agraph_t * ing) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9is4trbhw01oz0cmsbdblvcoa"); // int counter = 0; UNSUPPORTED("e8p66xu6d28z50k31k7r0ruv9"); // int nodeCount; UNSUPPORTED("5760jwtqnhv40s4dp7zpbd2p4"); // Agraph_t *outg; UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("dtvy3v63j8ttw75a8ta8pgszu"); // deglist_t *dl; UNSUPPORTED("18nnhw7fdpv524qt7ylfos296"); // Agnode_t *currnode, *adjNode; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("8jwp8mwo7ot7xsf8ns9gs8a2o"); // outg = clone_graph(ing, &g); UNSUPPORTED("64x7lmip056ro44hpphewu94p"); // nodeCount = agnnodes(g); UNSUPPORTED("5dt7of1fqql5p3otsieom2p1f"); // dl = getList(g); UNSUPPORTED("10dayw0vczrle8e7lkndoebt"); // while (counter < (nodeCount - 3)) { UNSUPPORTED("9ishx77nbvjt46s5fl4jhslpf"); // currnode = firstDeglist(dl); UNSUPPORTED("55km83y6i071gl9xqtr1hzju0"); // /* Remove all adjacent nodes since they have to be reinserted */ UNSUPPORTED("3cj7ssv3hhlsw7e1ot96wtq0q"); // for (e = agfstedge(g, currnode); e; e = agnxtedge(g, e, currnode)) { UNSUPPORTED("8fnm18xabfb23euirw5rfmhe3"); // adjNode = aghead(e); UNSUPPORTED("91oh79rmhzowurysvijqznpkk"); // if (currnode == adjNode) UNSUPPORTED("4ti4gb4lwa7plyg7vl4b59d4e"); // adjNode = agtail(e); UNSUPPORTED("8dn8j57dc5w84dbdxh2hk6czn"); // removeDeglist(dl, adjNode); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("gt3415hgzp0g16aajzn7it2y"); // find_pair_edges(g, currnode, outg); UNSUPPORTED("3cj7ssv3hhlsw7e1ot96wtq0q"); // for (e = agfstedge(g, currnode); e; e = agnxtedge(g, e, currnode)) { UNSUPPORTED("8fnm18xabfb23euirw5rfmhe3"); // adjNode = aghead(e); UNSUPPORTED("91oh79rmhzowurysvijqznpkk"); // if (currnode == adjNode) UNSUPPORTED("4ti4gb4lwa7plyg7vl4b59d4e"); // adjNode = agtail(e); UNSUPPORTED("1ulrtmmbe2o7nyyx5fgxbyrre"); // (ND_order(adjNode))--; UNSUPPORTED("810sb6lz7qgr9nrycusvbbzy7"); // insertDeglist(dl, adjNode); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9ksf1vajgaan07p41p29c1mvj"); // agdelete(g, currnode); UNSUPPORTED("3a9goefb48roao7azhg25lwv4"); // counter++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ego3r1tvwrpv2hie8y9p8vq4z"); // agclose(g); UNSUPPORTED("bzbcdfu9fycm2qy7dza17pulf"); // freeDeglist(dl); UNSUPPORTED("64agnrsd2jyuqnb8ubm8yf939"); // return outg; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 f1mdq67yllxhx8tkbelbjdkx9 // static void measure_distance(Agnode_t * n, Agnode_t * ancestor, int dist, Agnode_t * change) public static Object measure_distance(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("8bbskd8aene9q6w9pz2qp13fw"); // measure_distance(Agnode_t * n, Agnode_t * ancestor, int dist, UNSUPPORTED("4ohwv9g736ydr0cd2dmuu9bum"); // Agnode_t * change) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("emwevwo0p4unmb6sn0ik4yzap"); // Agnode_t *parent; UNSUPPORTED("66rs5wnllik0lwwbe8fw7ktxa"); // parent = (((cdata*)(ND_alg(ancestor)))->u.t.tparent); UNSUPPORTED("dguki3hdfa1kq44yaqn98boh9"); // if (parent == NULL) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("aw8pnfl1tsuoaueckf9mofohg"); // dist++; UNSUPPORTED("4i7mu83mb8n3077hqvv3ztsqg"); // /* check parent to see if it has other leaf paths at greater distance UNSUPPORTED("61w8f47fwkx6oxr422266x9u6"); // than the context node. UNSUPPORTED("c79vqc2pd4tar610rh20wk0q5"); // set the path/distance of the leaf at this ancestor node */ UNSUPPORTED("785w0j47h9kkeks4zohm8bn8u"); // if ((((cdata*)(ND_alg(parent)))->u.t.fdist) == 0) { UNSUPPORTED("odqvjb27zbo8g38ir4tbv4fb"); // (((cdata*)(ND_alg(parent)))->u.t.first) = n; UNSUPPORTED("8yb1877mq891cnion52w856az"); // (((cdata*)(ND_alg(parent)))->u.t.fdist) = dist; UNSUPPORTED("22n84nx5zmde2aqnfq4rkhcdn"); // } else if (dist > (((cdata*)(ND_alg(parent)))->u.t.fdist)) { UNSUPPORTED("4t78u0dg9i2tf1588vsd87wpu"); // if ((((cdata*)(ND_alg(parent)))->u.t.first) != change) { UNSUPPORTED("5brmbajf5fq9nvllfcqjjfmsw"); // if (!(((cdata*)(ND_alg(parent)))->u.t.sdist) || ((((cdata*)(ND_alg(parent)))->u.t.second) != change)) UNSUPPORTED("2jyqy7n3lrsgubqscmb7p3if4"); // change = (((cdata*)(ND_alg(parent)))->u.t.first); UNSUPPORTED("19u1abvwe4vrvq0hldkrldf65"); // (((cdata*)(ND_alg(parent)))->u.t.second) = (((cdata*)(ND_alg(parent)))->u.t.first); UNSUPPORTED("aej3ymuuarfdfevbrbkxsfs1r"); // (((cdata*)(ND_alg(parent)))->u.t.sdist) = (((cdata*)(ND_alg(parent)))->u.t.fdist); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("odqvjb27zbo8g38ir4tbv4fb"); // (((cdata*)(ND_alg(parent)))->u.t.first) = n; UNSUPPORTED("8yb1877mq891cnion52w856az"); // (((cdata*)(ND_alg(parent)))->u.t.fdist) = dist; UNSUPPORTED("23tiyp1zz7p7yeapfjpvg3kru"); // } else if (dist > (((cdata*)(ND_alg(parent)))->u.t.sdist)) { UNSUPPORTED("dkbinvu0a5a7l1l2e0mfen5ls"); // (((cdata*)(ND_alg(parent)))->u.t.second) = n; UNSUPPORTED("dg7zogxpcg388yqyb1xdvk4hg"); // (((cdata*)(ND_alg(parent)))->u.t.sdist) = dist; UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("9t7irrcz950cxvnzf5xsilkuy"); // measure_distance(n, parent, dist, change); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eqsv2jiguz68m8clhpypd2wtj // static nodelist_t *find_longest_path(Agraph_t * tree) public static Object find_longest_path(Object... arg) { UNSUPPORTED("cvtvy1400pesjx53tcmkjoh24"); // static nodelist_t *find_longest_path(Agraph_t * tree) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("2gvulcn94hbghghj84i0jx84k"); // Agnode_t *common = 0; UNSUPPORTED("dg27rmepe42fviq2zsoc4nkom"); // nodelist_t *path; UNSUPPORTED("38pqlxd7dn2wdk3ivibma2s8r"); // nodelist_t *endPath; UNSUPPORTED("eszd2jki841w9l43vjkv77qqy"); // int maxlength = 0; UNSUPPORTED("5dswuhpbodc6rdro2smwpjlyd"); // int length; UNSUPPORTED("6ze037lpldk361f6h3fwxbmkj"); // if (agnnodes(tree) == 1) { UNSUPPORTED("5m0qc9a8hm3bdq1i2t3g0uze7"); // path = mkNodelist(); UNSUPPORTED("c0er3d8ikj00bi6ecdbilrjzd"); // n = agfstnode(tree); UNSUPPORTED("4b4d97qgj2naf7ialtoh01zog"); // appendNodelist(path, NULL, n); UNSUPPORTED("ebb0c3immayb4hoajawmwxzn6"); // ((((cdata*)(ND_alg(n)))->flags) |= (1 << 4)); UNSUPPORTED("57hqjupepq3w3p8tudecyd91y"); // return path; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("f40r7vp17jnh4w34jf4kknwxu"); // for (n = agfstnode(tree); n; n = agnxtnode(tree, n)) { UNSUPPORTED("8ggnunqhr4uo65x8fdxbsdrgr"); // int count = 0; UNSUPPORTED("7crzab0780ludywzjqq7jn68u"); // for (e = agfstedge(tree, n); e; e = agnxtedge(tree, e, n)) { UNSUPPORTED("fn6rrzmrb2yold6j6aofg94n"); // count++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("axvvybks5kjv50jof4glc5akw"); // if (count == 1) UNSUPPORTED("bqeso1gnv2nbf93k6kixny15c"); // measure_distance(n, n, 0, NULL); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7l8pfb0panv7kyxnbai3r40l7"); // /* find the branch node rooted at the longest path */ UNSUPPORTED("f40r7vp17jnh4w34jf4kknwxu"); // for (n = agfstnode(tree); n; n = agnxtnode(tree, n)) { UNSUPPORTED("2v4h1qs75txn0u2ka5u5ohm4d"); // length = (((cdata*)(ND_alg(n)))->u.t.fdist) + (((cdata*)(ND_alg(n)))->u.t.sdist); UNSUPPORTED("2k2m053n227krxq80hshcvbvq"); // if (length > maxlength) { UNSUPPORTED("22ivj50dgjwft18kf35pc3hcx"); // common = n; UNSUPPORTED("bl2c5mti2q66mk9q5zpkzvjhe"); // maxlength = length; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7l4sdilvn1glxjwba09dqlh9j"); // path = mkNodelist(); UNSUPPORTED("18k7q52nyp8v37a82vwl7dqgf"); // for (n = (((cdata*)(ND_alg(common)))->u.t.first); n != common; n = (((cdata*)(ND_alg(n)))->u.t.tparent)) { UNSUPPORTED("4b4d97qgj2naf7ialtoh01zog"); // appendNodelist(path, NULL, n); UNSUPPORTED("ebb0c3immayb4hoajawmwxzn6"); // ((((cdata*)(ND_alg(n)))->flags) |= (1 << 4)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5bqpx04m3ulqgnjp1uq7v5ecg"); // appendNodelist(path, NULL, common); UNSUPPORTED("9ogv29igutj106iwd8snrg4gp"); // ((((cdata*)(ND_alg(common)))->flags) |= (1 << 4)); UNSUPPORTED("5ai3t063tci7wwvpelyzozkpe"); // if ((((cdata*)(ND_alg(common)))->u.t.sdist)) { /* 2nd path might be empty */ UNSUPPORTED("8gamehelsfvfqu8t3lhw7metk"); // endPath = mkNodelist(); UNSUPPORTED("4ixka9e2f1yaiwrmd9b3ulkwu"); // for (n = (((cdata*)(ND_alg(common)))->u.t.second); n != common; n = (((cdata*)(ND_alg(n)))->u.t.tparent)) { UNSUPPORTED("4l3pddu5c5tyn2hdllc5xc2b1"); // appendNodelist(endPath, NULL, n); UNSUPPORTED("9ouwvpziziaylyfco5gvxgpe3"); // ((((cdata*)(ND_alg(n)))->flags) |= (1 << 4)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2zxzzdmj6wlilg54h807crbbi"); // reverseAppend(path, endPath); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1funi6zh0ilqaehngcqcvj4dv"); // return path; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7mnudtov3ojyhnxn1jmz3zhy7 // static void dfs(Agraph_t * g, Agnode_t * n, Agraph_t * tree) public static Object dfs(Object... arg) { UNSUPPORTED("131fnq97ij23iofee00tmleze"); // static void dfs(Agraph_t * g, Agnode_t * n, Agraph_t * tree) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("aegubuefai4rt9vz61w182wop"); // Agnode_t *neighbor; UNSUPPORTED("9t479vqa2ymwishrpzy1a1ro6"); // ((((cdata*)(ND_alg(n)))->flags) |= (1 << 0)); UNSUPPORTED("dcuhjbsiioawp6zspvonwd4px"); // for (e = agfstedge(g, n); e; e = agnxtedge(g, e, n)) { UNSUPPORTED("7ieiz3se1f6o9p9zcbu79zl12"); // neighbor = aghead(e); UNSUPPORTED("10sn3zchzf9d7ht2lrm0m7huu"); // if (neighbor == n) UNSUPPORTED("chnngfe1cxsk6niy46axanm5v"); // neighbor = agtail(e); UNSUPPORTED("5hlnwdwlnvscyeo34qyip2v04"); // if (!((((cdata*)(ND_alg(neighbor)))->flags)&(1 << 0))) { UNSUPPORTED("bs25m8xsm63lovekwfeuy1bq8"); // /* add the edge to the dfs tree */ UNSUPPORTED("o3dylpltii5m67nljeyu79xm"); // agsubedge(tree,e,1); UNSUPPORTED("6e7qpwatv0gehp3jq2n5jl0tn"); // (((cdata*)(ND_alg(neighbor)))->u.t.tparent) = n; UNSUPPORTED("5hf02fnyz7e82bsdi008hkcs4"); // dfs(g, neighbor, tree); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8m28w7pi7rv4oxv0akl2s4az4 // static Agraph_t *spanning_tree(Agraph_t * g) public static Object spanning_tree(Object... arg) { UNSUPPORTED("49a0lsjfstrgxkgmha9h4b27r"); // static Agraph_t *spanning_tree(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("459mwrl3t5jnf7fnwppgzog9d"); // Agraph_t *tree; UNSUPPORTED("drj328bbj3dx7pr601ewryc7l"); // char gname[128]; UNSUPPORTED("dprz24km2yzgmc5ejmr97z3t"); // static int id = 0; UNSUPPORTED("60igk923ldbzwccf0dq02uvh2"); // sprintf(gname, "_span_%d", id++); UNSUPPORTED("243c86rza8src132jwe71acdq"); // tree = agsubg(g, gname,1); UNSUPPORTED("2140hiqxo5gioobsxbknkia87"); // agbindrec(tree, "Agraphinfo_t", sizeof(Agraphinfo_t), NOT(0)); //node custom data UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("eo79kblqdj7n8c48gyaykzvaa"); // agsubnode(tree,n,1); UNSUPPORTED("cbjv030bk1i7bitcc7c2hcuhb"); // (((cdata*)(ND_alg(n)))->u.t.fdist) = 0; UNSUPPORTED("5xyp50h8arj9da80smy22ih62"); // (((cdata*)(ND_alg(n)))->u.t.sdist) = 0; UNSUPPORTED("6ug5kj6ku8simq7gccmq34p9w"); // ((((cdata*)(ND_alg(n)))->flags) &= ~(1 << 0)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("654jrg7u4lpnw39673anaxy05"); // if (!((((cdata*)(ND_alg(n)))->flags)&(1 << 0))) { UNSUPPORTED("9ixtcl048f5htxwcmjhqj4xh8"); // (((cdata*)(ND_alg(n)))->u.t.tparent) = NULL; UNSUPPORTED("ch25czkmw7witaw8m0zxu2v4o"); // dfs(g, n, tree); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("48tgunsw0gvmwerbb89baomqt"); // return tree; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c94mjtmn1vruvrupmwtvtj4j4 // static void block_graph(Agraph_t * g, block_t * sn) public static Object block_graph(Object... arg) { UNSUPPORTED("2qk0mibp8cprk47gh0021zl53"); // static void block_graph(Agraph_t * g, block_t * sn) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("4ugp2tyzj8gbyoj1ntbji8gqt"); // Agraph_t *subg = sn->sub_graph; UNSUPPORTED("6ewipai3bqonhmh4h826lvwyi"); // for (n = agfstnode(subg); n; n = agnxtnode(subg, n)) { UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("485bmhmjlr2huu0f4p5z6v2bk"); // if ((((cdata*)(ND_alg(aghead(e))))->block) == sn) UNSUPPORTED("22qf444fgbfmeou84fua1gs3l"); // agsubedge(subg,e,1); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1e0vzs6lzgjx91tory442op41 // static int count_all_crossings(nodelist_t * list, Agraph_t * subg) public static Object count_all_crossings(Object... arg) { UNSUPPORTED("airx5so2nky74856ss97mvrrt"); // static int count_all_crossings(nodelist_t * list, Agraph_t * subg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7rutwn578nyaydek3ukuywh1x"); // nodelistitem_t *item; UNSUPPORTED("75tzt0fyavt0p83sz3v3pv7ed"); // edgelist *openEdgeList = init_edgelist(); UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("8tcbm5letf43s691urfrbn7w6"); // int crossings = 0; UNSUPPORTED("18m42y34puuy1otsup09u8l8g"); // int order = 1; UNSUPPORTED("6ewipai3bqonhmh4h826lvwyi"); // for (n = agfstnode(subg); n; n = agnxtnode(subg, n)) { UNSUPPORTED("20f1gy1u7m87t833twh2u9vy3"); // for (e = agfstout(subg, n); e; e = agnxtout(subg, e)) { UNSUPPORTED("6931gsvidrt039x6qh2vy768v"); // (((edata*)(ED_alg(e)))->order) = 0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7z11gxrpvg2nqkuzrh0ss0vif"); // for (item = list->first; item; item = item->next) { UNSUPPORTED("efcirwqi1qo67gxv4hcey7ume"); // n = item->curr; UNSUPPORTED("8tiv7x7n2v8qov6f670pejv6m"); // for (e = agfstedge(subg, n); e; e = agnxtedge(subg, e, n)) { UNSUPPORTED("5it9zyfqa6jar9yxfa7flt92h"); // if ((((edata*)(ED_alg(e)))->order) > 0) { UNSUPPORTED("as78wt71mg4et2ds447kzrari"); // edgelistitem *eitem; UNSUPPORTED("dcbcc8dw9uhlkriq96iod65ph"); // Agedge_t *ep; UNSUPPORTED("dzgptt1cuu3tail6gke0ndad6"); // for (eitem = (edgelistitem *) (*(((Dt_t*)(openEdgeList))->searchf))((openEdgeList),(void*)(0),0000200); eitem; UNSUPPORTED("98jfvxmfcjwgpd61jl7puqr2m"); // eitem = UNSUPPORTED("79wv8os0486c6l3lc0j8lvezr"); // (edgelistitem *) (*(((Dt_t*)(openEdgeList))->searchf))((openEdgeList),(void*)(eitem),0000010)) { UNSUPPORTED("5xrki1xzikku31wkllhqpaewd"); // ep = eitem->edge; UNSUPPORTED("dw9gk92vuk9xc3r8steqe6zs"); // if ((((edata*)(ED_alg(ep)))->order) > (((edata*)(ED_alg(e)))->order)) { UNSUPPORTED("1bphd7niyj38txw9c488jyjz2"); // if ((aghead(ep) != n) && (agtail(ep) != n)) UNSUPPORTED("2di6ygf4a96q7nwxhskkgrw8o"); // crossings++; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("eaez2tc8zrg7hyuiqyz4f8m7o"); // remove_edge(openEdgeList, e); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8tiv7x7n2v8qov6f670pejv6m"); // for (e = agfstedge(subg, n); e; e = agnxtedge(subg, e, n)) { UNSUPPORTED("91uh6sqsfh1qb0fg04rbrdaw9"); // if ((((edata*)(ED_alg(e)))->order) == 0) { UNSUPPORTED("a6gzwtrnqvryer9ydo0merz8a"); // (((edata*)(ED_alg(e)))->order) = order; UNSUPPORTED("ebh9kjfm4r3twmi100svfaoh8"); // add_edge(openEdgeList, e); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("eldw55y2gptsekyygj243zo2m"); // order++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3nvvwjw6i1covfxr77dz0lce2"); // free_edgelist(openEdgeList); UNSUPPORTED("100wla4cww7zywuyk2fohr3xg"); // return crossings; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8czdf1x63rnqxr498fl5mu2ii // static nodelist_t *reduce(nodelist_t * list, Agraph_t * subg, int *cnt) public static Object reduce(Object... arg) { UNSUPPORTED("cwpahrifd5wwpp1k3y6amf8q3"); // static nodelist_t *reduce(nodelist_t * list, Agraph_t * subg, int *cnt) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6s78t7dpqpe72my2zxxdxlk1h"); // Agnode_t *curnode; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("aegubuefai4rt9vz61w182wop"); // Agnode_t *neighbor; UNSUPPORTED("eedmn1ulafp58zfalsbio69js"); // nodelist_t *listCopy; UNSUPPORTED("668vzrztg8r3431ajfmw3g02k"); // int crossings, j, newCrossings; UNSUPPORTED("77tuxfetkuwk0qecejqda566j"); // crossings = *cnt; UNSUPPORTED("7sled3cai213z4mjtz6ouzbab"); // for (curnode = agfstnode(subg); curnode; UNSUPPORTED("d1i3acz6unvgbwiv7odkyn4wn"); // curnode = agnxtnode(subg, curnode)) { UNSUPPORTED("2ynmbuh1d6pql6jrbzrrc4u9n"); // /* move curnode next to its neighbors */ UNSUPPORTED("7clmrie9c4nqk5v2egaacn1q6"); // for (e = agfstedge(subg, curnode); e; UNSUPPORTED("6nv3yyms6hkbtvpxr2osh2nll"); // e = agnxtedge(subg, e, curnode)) { UNSUPPORTED("chnngfe1cxsk6niy46axanm5v"); // neighbor = agtail(e); UNSUPPORTED("bu9rxi8b2cnjazzdzuotyfg4j"); // if (neighbor == curnode) UNSUPPORTED("99x2l2tyimliely71mzavabu"); // neighbor = aghead(e); UNSUPPORTED("ezup66bu66yfirmt20hqkgdxe"); // for (j = 0; j < 2; j++) { UNSUPPORTED("a8tgrohpgihnjc2kpijobpjd1"); // listCopy = cloneNodelist(list); UNSUPPORTED("1fxi4o6li1nl6wrgdan7ub49p"); // insertNodelist(list, curnode, neighbor, j); UNSUPPORTED("ews1nvni0evsjd0c1j15xp9zw"); // newCrossings = count_all_crossings(list, subg); UNSUPPORTED("329woztg53uqbx6ynh0vq40vs"); // if (newCrossings < crossings) { UNSUPPORTED("87xah9ucvidkmqksxjgiqcm3q"); // crossings = newCrossings; UNSUPPORTED("2axy8hr9pzd6olc68yx47v36"); // freeNodelist(listCopy); UNSUPPORTED("4gw33f013xiqh23y4qxvn3d9h"); // if (crossings == 0) { UNSUPPORTED("8pq2na3ntepyrxjom3nm4b3nz"); // *cnt = 0; UNSUPPORTED("22k9gq4saeqd1dqkjlw3n81uk"); // return list; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("a47jqpic91ky93e1ohxv590l5"); // } else { UNSUPPORTED("b7novmb8rx70k61bo5m0uyau9"); // freeNodelist(list); UNSUPPORTED("1n0q6ik5o2dkkj2n6rt2faeot"); // list = listCopy; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c7m8r79si1ex35hc16xd82hd1"); // *cnt = crossings; UNSUPPORTED("1a5vgaasp2bunvu19mvepzcny"); // return list; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9pjrmh6pnvpbc5tpxbuxkfy2r // static nodelist_t *reduce_edge_crossings(nodelist_t * list, Agraph_t * subg) public static Object reduce_edge_crossings(Object... arg) { UNSUPPORTED("4eoehi8akkxbp2fncwis0hbk9"); // static nodelist_t *reduce_edge_crossings(nodelist_t * list, UNSUPPORTED("a935m1m335lnnl5kbpomckdgf"); // Agraph_t * subg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4wtqpy4n4ubxgx32v15tr9cqw"); // int i, crossings, origCrossings; UNSUPPORTED("dvodtoselzbs0hwbpat0xpnrd"); // crossings = count_all_crossings(list, subg); UNSUPPORTED("94ljjdd4lnd7p8oredbxp5h5p"); // if (crossings == 0) UNSUPPORTED("bq8fdnp0ptlj82raupu7egafd"); // return list; UNSUPPORTED("b4ra1tmfi8msxf5pk7ni6rtaa"); // for (i = 0; i < 10; i++) { UNSUPPORTED("7gnrez23ntedxdkmy4bq1nc6d"); // origCrossings = crossings; UNSUPPORTED("6v1zixxec41vfsswu9of6ak6d"); // list = reduce(list, subg, &crossings); UNSUPPORTED("6ver0nli3zk4pk2adhcaj69lt"); // /* return if no crossings or no improvement */ UNSUPPORTED("6b6zmsryvxnodnsb1ara9ezv"); // if ((origCrossings == crossings) || (crossings == 0)) UNSUPPORTED("85qxcaovlw0aattglmv16j1y7"); // return list; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1a5vgaasp2bunvu19mvepzcny"); // return list; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bq29c0uv67b29jesxdkwou7vq // static double largest_nodesize(nodelist_t * list) public static Object largest_nodesize(Object... arg) { UNSUPPORTED("5nov6rgtb1xfsmsmb95ao36jk"); // static double largest_nodesize(nodelist_t * list) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("7rutwn578nyaydek3ukuywh1x"); // nodelistitem_t *item; UNSUPPORTED("ebs0cu7vx1ovmzfmeirn0fbhf"); // double size = 0; UNSUPPORTED("7z11gxrpvg2nqkuzrh0ss0vif"); // for (item = list->first; item; item = item->next) { UNSUPPORTED("8fe3jo12mqb510koyhz1o4n53"); // n = (((cdata*)(ND_alg(item->curr)))->orig.np); UNSUPPORTED("e94z9yc4z98po6ttj9s4gwqz5"); // if (ND_width(n) > size) UNSUPPORTED("96gl9rmd2kc102alxqwkzh8s0"); // size = ND_width(n); UNSUPPORTED("1l6zldehr4bas1tjrpw0wcsmq"); // if (ND_height(n) > size) UNSUPPORTED("7wntc07s618ezkj2tlys82dsa"); // size = ND_height(n); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5fnyq1zql95vx5xiysa7fj12a"); // return size; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 atxva7f7s47kevximw8nohn83 // static void place_node(Agraph_t * g, Agnode_t * n, nodelist_t * list) public static Object place_node(Object... arg) { UNSUPPORTED("dhsmb0fpwrhqfh202b2ya1gwh"); // static void place_node(Agraph_t * g, Agnode_t * n, nodelist_t * list) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("3ti66vwo4a7z0ey7qyc17pwgo"); // int placed = 0; UNSUPPORTED("1fhup2mc58329xom46x9ipqad"); // nodelist_t *neighbors = mkNodelist(); UNSUPPORTED("6eda300y216s8bk6efunzvd7"); // nodelistitem_t *one, *two; UNSUPPORTED("2661ch6g78x3kmtmtuvwn9iaz"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("ez1oh51m2jyugwrdxtszxncb4"); // appendNodelist(neighbors, NULL, aghead(e)); UNSUPPORTED("7xblqjuc3wznadzt37mhdn0yb"); // ((((cdata*)(ND_alg(aghead(e))))->flags) |= (1 << 5)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2wj6c20getix97noebmsx1104"); // for (e = agfstin(g, n); e; e = agnxtin(g, e)) { UNSUPPORTED("6e5d3quxydepzsdu1v6kcx2j9"); // appendNodelist(neighbors, NULL, agtail(e)); UNSUPPORTED("cj2b2sk2xjph79ytokb0nz7d0"); // ((((cdata*)(ND_alg(agtail(e))))->flags) |= (1 << 5)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dws0zbnsy0q6wdujac277jx6h"); // /* Look for 2 neighbors consecutive on list */ UNSUPPORTED("8c4xb1cup0eb4w7ugvbb9rsa2"); // if (sizeNodelist(neighbors) >= 2) { UNSUPPORTED("2r6ksypefukzqje5z1h080n8b"); // for (one = list->first; one; one = one->next) { UNSUPPORTED("4w6hanltkox8go11fcpkpd6d0"); // if (one == list->last) UNSUPPORTED("7dt4hu5pt1so36wg9em25i168"); // two = list->first; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("5mucr596k75huswetgb21xfts"); // two = one->next; UNSUPPORTED("5mrohdkphuegwpog81zep3bqj"); // if (((((cdata*)(ND_alg(one->curr)))->flags)&(1 << 5)) && ((((cdata*)(ND_alg(two->curr)))->flags)&(1 << 5))) { UNSUPPORTED("86tczettzqkp9amjuq87cibsm"); // appendNodelist(list, one, n); UNSUPPORTED("3dzlfoy5eqgugcdfbjv8zcby3"); // placed = 1; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("eolyswl0kan2g1oro7sf7dlkn"); // /* Find any neighbor on list */ UNSUPPORTED("q5re8099dbf0x4lcbhbbu6ng"); // if (!placed && sizeNodelist(neighbors) > 0) { UNSUPPORTED("2r6ksypefukzqje5z1h080n8b"); // for (one = list->first; one; one = one->next) { UNSUPPORTED("5j3184idhwlfzuj756zdlclzz"); // if (((((cdata*)(ND_alg(one->curr)))->flags)&(1 << 5))) { UNSUPPORTED("86tczettzqkp9amjuq87cibsm"); // appendNodelist(list, one, n); UNSUPPORTED("3dzlfoy5eqgugcdfbjv8zcby3"); // placed = 1; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1h9104vucwa2i8aqw5aerzyow"); // if (!placed) UNSUPPORTED("7qo2n4ze0g7p9t1ogpzc3ipn4"); // appendNodelist(list, NULL, n); UNSUPPORTED("b1lpwkx7e649c7mmzzhfojcs"); // for (one = neighbors->first; one; one = one->next) UNSUPPORTED("b93htz7wxsh0vfriyv1cwa1ki"); // ((((cdata*)(ND_alg(one->curr)))->flags) &= ~(1 << 5)); UNSUPPORTED("1hifaw0fi3lsxfsxqus9q0vtu"); // freeNodelist(neighbors); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cawey01ormyor7v954u5hzfey // static void place_residual_nodes(Agraph_t * g, nodelist_t * list) public static Object place_residual_nodes(Object... arg) { UNSUPPORTED("en0wlzq4qk95xb32n6ux616st"); // static void place_residual_nodes(Agraph_t * g, nodelist_t * list) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("1cdeb2efvxae5126go3nmrsg7"); // if (!((((cdata*)(ND_alg(n)))->flags)&(1 << 4))) UNSUPPORTED("3g36s5b3dv73yw7ewv2beed0p"); // place_node(g, n, list); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 aaehk4efk1kdkult25czfr4ly // nodelist_t *layout_block(Agraph_t * g, block_t * sn, double min_dist) public static Object layout_block(Object... arg) { UNSUPPORTED("96wogy71y5hq6ao91l2959nwg"); // nodelist_t *layout_block(Agraph_t * g, block_t * sn, double min_dist) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("1vbnjb5ennjmd3jgr0h5lxr78"); // Agraph_t *copyG, *tree, *subg; UNSUPPORTED("d7uu3k4m5ty17ck42vok0b2qd"); // nodelist_t *longest_path; UNSUPPORTED("7rutwn578nyaydek3ukuywh1x"); // nodelistitem_t *item; UNSUPPORTED("9bb4tfjgt05vo41vrsxihxynh"); // int N, k; UNSUPPORTED("1rtt9wypz4gfn7xr2fks2hthp"); // double theta, radius, largest_node; UNSUPPORTED("6ie9wugmj8v1zqz6a4swgy8tn"); // largest_node = 0; UNSUPPORTED("3upuwem5kn6f9b3audmgcehul"); // subg = sn->sub_graph; UNSUPPORTED("bw1u4xso3sa81szwkx88hb6jg"); // block_graph(g, sn); /* add induced edges */ UNSUPPORTED("7quou2xsgqtingzpaf869lf5f"); // copyG = remove_pair_edges(subg); UNSUPPORTED("aiom675n9jcj1o0uvhoqgj5ad"); // tree = spanning_tree(copyG); UNSUPPORTED("2ffqmdckwluvmr4fnf9g1p0a4"); // longest_path = find_longest_path(tree); UNSUPPORTED("2kg4ot07s5c1lk6jzjrem2peu"); // place_residual_nodes(subg, longest_path); UNSUPPORTED("eohec8mb17ceh55fu499v3hfa"); // /* at this point, longest_path is a list of all nodes in the block */ UNSUPPORTED("59rqtug86xn3t38nbu2xx4qa2"); // /* apply crossing reduction algorithms here */ UNSUPPORTED("cxqtiq1ujinlka2jg1ebmr139"); // longest_path = reduce_edge_crossings(longest_path, subg); UNSUPPORTED("2j5mmz9425dcuw67yt2t8nne8"); // N = sizeNodelist(longest_path); UNSUPPORTED("d93qp1f2d17eorifwlmvp90xx"); // largest_node = largest_nodesize(longest_path); UNSUPPORTED("a1h2h6hb6wvbkjonsfvviiqzj"); // /* N*(min_dist+largest_node) is roughly circumference of required circle */ UNSUPPORTED("9iy5h9dm1zsjym6pfl3ylkqgd"); // if (N == 1) UNSUPPORTED("btfv6mxo9yikaacwq3g24z3cb"); // radius = 0; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("a4f2hf2gkxar44781l8iwiv3k"); // radius = (N * (min_dist + largest_node)) / (2 * M_PI); UNSUPPORTED("4w3iss4zp4bwtbkgqj0wmdyhv"); // for (item = longest_path->first; item; item = item->next) { UNSUPPORTED("efcirwqi1qo67gxv4hcey7ume"); // n = item->curr; UNSUPPORTED("6zg1ud5tzcw5bdxchosqyeiqs"); // if (((((cdata*)(ND_alg(n)))->flags)&(1 << 3))) { UNSUPPORTED("dg2tng58imdzt1293k60wzrvj"); // /* QUESTION: Why is only one parent realigned? */ UNSUPPORTED("36jp3lyg0cx6apbu4x762ea9w"); // realignNodelist(longest_path, item); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("33k2b5luc10vdywklbylqhsd2"); // k = 0; UNSUPPORTED("4w3iss4zp4bwtbkgqj0wmdyhv"); // for (item = longest_path->first; item; item = item->next) { UNSUPPORTED("efcirwqi1qo67gxv4hcey7ume"); // n = item->curr; UNSUPPORTED("81lsao9ntz07i5qaabbrxid0z"); // (((cdata*)(ND_alg(n)))->u.f.pos) = k; UNSUPPORTED("6fh5b7a1jd505ta311zo8ujvb"); // (((cdata*)(ND_alg(n)))->u.f.psi) = 0.0; UNSUPPORTED("5f6s0v8wt6wm6q2v5hc7c4r0t"); // theta = k * ((2.0 * M_PI) / N); UNSUPPORTED("sfsmtqrcc76jfzjcnubbxneg"); // ND_pos(n)[0] = radius * cos(theta); UNSUPPORTED("5f4xmzw5upv6bc05yh7gvu438"); // ND_pos(n)[1] = radius * sin(theta); UNSUPPORTED("9zq7xtwq5cysffia17vtbbt9u"); // k++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9iy5h9dm1zsjym6pfl3ylkqgd"); // if (N == 1) UNSUPPORTED("6htkya60ij0v64lsrq2wfi94n"); // sn->radius = largest_node / 2; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("2r0eguj5fxa438xij0sf1innn"); // sn->radius = radius; UNSUPPORTED("a4yy4msg8gf1nhbmov5b7lv9w"); // sn->rad0 = sn->radius; UNSUPPORTED("4kh2nel2kgvoqc4k1f7loko7a"); // /* initialize parent pos */ UNSUPPORTED("9a2zxkibosjbtbvdsel5mg35z"); // sn->parent_pos = -1; UNSUPPORTED("d5071btcahcfirgj180l4iemf"); // agclose(copyG); UNSUPPORTED("c190sceo0yb33l7x7924nrxqf"); // return longest_path; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/circogen/blocktree__c.java000066400000000000000000001036231340005343600234450ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.circogen; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class blocktree__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6ne46ggmvh7e9kgb4qr6mgghz // static void addNode(block_t * bp, Agnode_t * n) public static Object addNode(Object... arg) { UNSUPPORTED("5fdextpuo92ltskzutccn1w3c"); // static void addNode(block_t * bp, Agnode_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("608kwe7sw71zktjgckbl7m132"); // agsubnode(bp->sub_graph, n,1); UNSUPPORTED("dffy2ydqahbtvoy8dze2i5dlh"); // (((cdata*)(ND_alg(n)))->block) = bp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9nkxqs5j4cz6n4smpxnzf7of3 // static Agraph_t *makeBlockGraph(Agraph_t * g, circ_state * state) public static Object makeBlockGraph(Object... arg) { UNSUPPORTED("8ogugxg0mlrykven1dyll85id"); // static Agraph_t *makeBlockGraph(Agraph_t * g, circ_state * state) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("78gq1jdufena2r9rigvse5178"); // char name[128]; UNSUPPORTED("c3tourf5k7groqyh71yjd5xec"); // Agraph_t *subg; UNSUPPORTED("ep00xn89fpirmsx2551j54utc"); // sprintf(name, "_block_%d", state->blockCount++); UNSUPPORTED("6kliff60l8s46s6kyw9368wgr"); // subg = agsubg(g, name,1); UNSUPPORTED("8zyh2vdcxj8wuinpcbzo3huem"); // agbindrec(subg, "Agraphinfo_t", sizeof(Agraphinfo_t), NOT(0)); //node custom data UNSUPPORTED("17jmp11l2jzc1v9qpaqkzkauj"); // return subg; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1u9vc7us642ioh6z6mmvho9g1 // static block_t *makeBlock(Agraph_t * g, circ_state * state) public static Object makeBlock(Object... arg) { UNSUPPORTED("b3jgqti5i1lplht0jdz9jh7lw"); // static block_t *makeBlock(Agraph_t * g, circ_state * state) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("22k5mxqow9wcl5tj1dd6fzevq"); // Agraph_t *subg = makeBlockGraph(g, state); UNSUPPORTED("1tq2co4mjsd8njnuq9fdtfklv"); // block_t *bp = mkBlock(subg); UNSUPPORTED("bgo7070e5cs998w6zp1ma85ad"); // return bp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1go7wdt4hei24xynw7ja3qypq // static void push (estack* s, Agedge_t* e) public static Object push(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("vn3gavzznx35o0dk5unn8jy"); // push (estack* s, Agedge_t* e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("uik83qgtmxor295psahfjlp3"); // (((edata*)(ED_alg(e)))->next) = s->top; UNSUPPORTED("pehl52zn5cecaq6tcryq0x2q"); // s->top = e; UNSUPPORTED("2c0ljksb11ygrfdzsey9kinf0"); // s->sz += 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 an818082xt6tg4sjkaragfihw // static Agedge_t* pop (estack* s) public static Object pop(Object... arg) { UNSUPPORTED("6brdr8wx9pidlrz4g71hamlqp"); // static Agedge_t* UNSUPPORTED("dxpg1bn6k36l5op477n9l4hbd"); // pop (estack* s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dbyzosemqb0ppxbcjl1jjf1qh"); // Agedge_t *top = s->top; UNSUPPORTED("7vzatp8nd0zuhbh0cegy6voub"); // if (top) { UNSUPPORTED("cwpy7cbgmqoffiq6cukx7c31w"); // assert(s->sz > 0); UNSUPPORTED("83l03yivh32p027nc80nu1btm"); // s->top = (((edata*)(ED_alg(top)))->next); UNSUPPORTED("6p5s6spq9gzbxvr8bqua8bv0t"); // s->sz -= 1; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("2g1czwq8qs1hp7515i11qbn75"); // assert(0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3bqe70q9zr1iec0o5964x3po6"); // return top; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2me26r3sdk182f52iux8yh3l7 // static void dfs(Agraph_t * g, Agnode_t * u, circ_state * state, int isRoot, estack* stk) public static Object dfs(Object... arg) { UNSUPPORTED("c369mcpdwbw752z2jekex2hf7"); // static void dfs(Agraph_t * g, Agnode_t * u, circ_state * state, int isRoot, estack* stk) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("c21enf3w0nz9vfmu0omf2pasm"); // Agnode_t *v; UNSUPPORTED("5wnipxqjqmsnr2uwvqwr2cu0"); // (((cdata*)(ND_alg(u)))->u.bc.low_val) = (((cdata*)(ND_alg(u)))->u.bc.val) = state->orderCount++; UNSUPPORTED("9s7k6ldzdus38t62lpr55000"); // for (e = agfstedge(g, u); e; e = agnxtedge(g, e, u)) { UNSUPPORTED("9cgusihkv0qycon7x1n4kz95b"); // v = aghead (e); UNSUPPORTED("drfwkbbxrkoogg8hhauehkh6"); // if (v == u) { UNSUPPORTED("2mnwbfqb7ood0nr3wms28k5id"); // v = agtail(e); UNSUPPORTED("cm1em5jid5u0xgj8alt9a9m1q"); // if (!(((edata*)(ED_alg(e)))->order)) (((edata*)(ED_alg(e)))->order) = -1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("9yyjp4p6zziu01suj7lssvi4k"); // if (!(((edata*)(ED_alg(e)))->order)) (((edata*)(ED_alg(e)))->order) = 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1r6lgg40sanlh8qfeyzt2sz1b"); // if ((((cdata*)(ND_alg(v)))->u.bc.val) == 0) { /* Since VAL(root) == 0, it gets treated as artificial cut point */ UNSUPPORTED("4ku4mtdtf8eu7dsik5e9l8w3f"); // (((cdata*)(ND_alg(v)))->parent) = u; UNSUPPORTED("40l3w6fxdqk7jcoe1f20py27u"); // push(stk, e); UNSUPPORTED("3q2wnl77y6o7s10ol3v0f2ee5"); // dfs(g, v, state, 0, stk); UNSUPPORTED("2s7ggn90po89x6892u3aw0d4c"); // (((cdata*)(ND_alg(u)))->u.bc.low_val) = MIN((((cdata*)(ND_alg(u)))->u.bc.low_val), (((cdata*)(ND_alg(v)))->u.bc.low_val)); UNSUPPORTED("dx8clvdw9l98h159fafict51k"); // if ((((cdata*)(ND_alg(v)))->u.bc.low_val) >= (((cdata*)(ND_alg(u)))->u.bc.val)) { /* u is an articulation point */ UNSUPPORTED("5fzvk8a3ck85ucnadckwql1vs"); // block_t *block = NULL; UNSUPPORTED("5oeglenbq34ox5mkdigd64g9z"); // Agnode_t *np; UNSUPPORTED("dcbcc8dw9uhlkriq96iod65ph"); // Agedge_t *ep; UNSUPPORTED("88rfsizqhsisyh0d9rb1bv3bt"); // do { UNSUPPORTED("392s3l6pl2ed4023q8op6jta4"); // ep = pop(stk); UNSUPPORTED("dflbezxz2r72pws6xe7vvbbbh"); // if ((((edata*)(ED_alg(ep)))->order) == 1) UNSUPPORTED("pl5n2urlg4z2upqje2ljhk2w"); // np = aghead (ep); UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else UNSUPPORTED("72io0nz3p9udd43iejoiyedth"); // np = agtail (ep); UNSUPPORTED("c6rvwexx0of5c130rdze64xbc"); // if (!(((cdata*)(ND_alg(np)))->block)) { UNSUPPORTED("a0zitz4spvxd1oupdy1s7hd5l"); // if (!block) UNSUPPORTED("8lv6xtno3xs8wl26y200ykmex"); // block = makeBlock(g, state); UNSUPPORTED("602huydeg5ve96m3x0h98lh4a"); // addNode(block, np); UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("dzj2mkoa2s6esucxuunkyzcrz"); // } while (ep != e); UNSUPPORTED("106jvi4gem7gfnn40a3g1xo1y"); // if (block) { /* If block != NULL, it's not empty */ UNSUPPORTED("aqtlj8skhmf9wz5f0n1nccj58"); // if (!(((cdata*)(ND_alg(u)))->block) && blockSize (block) > 1) UNSUPPORTED("8e36nltg9tsh13ysaeu9b3xwu"); // addNode(block, u); UNSUPPORTED("ajhtu8lfrochg83cml0idqsn4"); // if (isRoot && ((((cdata*)(ND_alg(u)))->block) == block)) UNSUPPORTED("a9m6isxgegq9aeczp21cyz0qr"); // insertBlock(&state->bl, block); UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else UNSUPPORTED("erqsgjie1p79zl2lhqatnh57p"); // appendBlock(&state->bl, block); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("5xrstrqht5cg3izffsi86009l"); // } else if ((((cdata*)(ND_alg(u)))->parent) != v) { UNSUPPORTED("c5ymhzniwwix5kjf5r9mi1udq"); // (((cdata*)(ND_alg(u)))->u.bc.low_val) = MIN((((cdata*)(ND_alg(u)))->u.bc.low_val), (((cdata*)(ND_alg(v)))->u.bc.val)); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bl92cdt5jy9ajznr76qvu5u3z"); // if (isRoot && !(((cdata*)(ND_alg(u)))->block)) { UNSUPPORTED("9wut2nvkbil7m9gdvk263xzdx"); // block_t *block = makeBlock(g, state); UNSUPPORTED("8btookv5587dfffitdmx3k35k"); // addNode(block, u); UNSUPPORTED("896yvdgaq76sb5yqbe0x4l9tl"); // insertBlock(&state->bl, block); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c7mojhpcwyo755u6jowwxzwdn // static void find_blocks(Agraph_t * g, circ_state * state) public static Object find_blocks(Object... arg) { UNSUPPORTED("ylya6ldy3006k2mvsc0kjr3i"); // static void find_blocks(Agraph_t * g, circ_state * state) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("9ogt1rgyy3nv83to4x8129yq0"); // Agnode_t *root = NULL; UNSUPPORTED("apccihmjvnjfb2gngozexu0pv"); // estack stk; UNSUPPORTED("5c5jw8s53v4xxzd0hjnb1c0xf"); // /* check to see if there is a node which is set to be the root UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("73e7ycmqgzyurfw36etvb6lok"); // if (state->rootname) { UNSUPPORTED("50guz4u3cqnirdo6vskc81u0h"); // root = (agnode(g,state->rootname,0)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2yfzfscmhgfvx7xei8m2i134n"); // if (!root && state->N_root) { UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("boqoqrnqkywxjnumpgm25jeol"); // if (late_bool((((cdata*)(ND_alg(n)))->orig.np), state->N_root, 0)) { UNSUPPORTED("e5p9z4gtbl2rf8vks9hna8fj7"); // root = n; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("anefy71k1qdwcre9fss1qww47"); // if (!root) UNSUPPORTED("8wx5h49bfrzew5ioem57hqaku"); // root = agfstnode(g); UNSUPPORTED("2di5wqm6caczzl6bvqe35ry8y"); // if (Verbose) UNSUPPORTED("6ld2y2hao9s1lkkrmddsf5i8i"); // fprintf (stderr, "root = %s\n", agnameof(root)); UNSUPPORTED("7qjtonl2321drh5v9ho2mcs9h"); // stk.sz = 0; UNSUPPORTED("bh76cnkyano23y7meefmksn9m"); // stk.top = NULL; UNSUPPORTED("5yfanzsqlioq7gn97vklmkamp"); // dfs(g, root, state, 1, &stk); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cjsr6alm5iy3bs8riqc06wcks // block_t *createBlocktree(Agraph_t * g, circ_state * state) public static Object createBlocktree(Object... arg) { UNSUPPORTED("e06kufbnk6wkhrm3pt4te6xnt"); // block_t *createBlocktree(Agraph_t * g, circ_state * state) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c1e61umpnq91loowv2uiik4ij"); // block_t *bp; UNSUPPORTED("cl9j9gn2okzgv6lp648zd7gjg"); // block_t *next; UNSUPPORTED("7u378ih9lwpzdxqjnl915ozy"); // block_t *root; UNSUPPORTED("985nf8jew0zg19ydmlmarwyl1"); // int min; UNSUPPORTED("zsxs5umsbj18bnqc6lktrohg"); // /* int ordercnt; */ UNSUPPORTED("998lr64x35apz58m02j3ku5n1"); // find_blocks(g, state); UNSUPPORTED("byp6901xynik3rsv9cr4fhhsv"); // bp = state->bl.first; /* if root chosen, will be first */ UNSUPPORTED("af5dizr8shg0fwpm9h3uph2pq"); // /* Otherwise, just pick first as root */ UNSUPPORTED("e5u2k2ay64u871sbka0jicz44"); // root = bp; UNSUPPORTED("1p9o9fak3l29yccpv66xc6yiw"); // /* Find node with minimum VAL value to find parent block */ UNSUPPORTED("52d43l3k0o0pazixrgafonsg"); // /* FIX: Should be some way to avoid search below. */ UNSUPPORTED("be7cej3k68m2hyi0ovumc1afl"); // /* ordercnt = state->orderCount; */ UNSUPPORTED("7k318sxybq0zhrputecbfg773"); // for (bp = bp->next; bp; bp = next) { UNSUPPORTED("360sjyc5tpijfr34t8o87o2p5"); // Agnode_t *n; UNSUPPORTED("cqe5tbsvdcln5fenokkx487qu"); // Agnode_t *parent; UNSUPPORTED("d6lk7cmcvuqr4qs5dfwu706sb"); // Agnode_t *child; UNSUPPORTED("7lymfnepa38jojaj5zjskbznj"); // Agraph_t *subg = bp->sub_graph; UNSUPPORTED("a2kougw7r3jfbz7ze8s6kazbe"); // child = n = agfstnode(subg); UNSUPPORTED("cmhxq8ncnq4anh500ypets4ue"); // min = (((cdata*)(ND_alg(n)))->u.bc.val); UNSUPPORTED("c6tks2zg6v1n8ax6rce1jpvg"); // parent = (((cdata*)(ND_alg(n)))->parent); UNSUPPORTED("oxkynlrnba518ft6x49g0nhx"); // for (n = agnxtnode(subg, n); n; n = agnxtnode(subg, n)) { UNSUPPORTED("dn9g5gc8h36vuedkojddpsk1l"); // if ((((cdata*)(ND_alg(n)))->u.bc.val) < min) { UNSUPPORTED("4jiqex4vrb3h22p1a535twbv4"); // child = n; UNSUPPORTED("6swxk3a2yzffi6kodqi79dmf0"); // min = (((cdata*)(ND_alg(n)))->u.bc.val); UNSUPPORTED("b5q946bvy2ot5dgds0b9jm3xn"); // parent = (((cdata*)(ND_alg(n)))->parent); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("armnjsiv39eeb8c1hmgwdskyi"); // ((((cdata*)(ND_alg(parent)))->flags) |= (1 << 3)); UNSUPPORTED("4mqskxttlknlm6gm81bf3wrj8"); // ((bp)->child) = child; UNSUPPORTED("c6ysaq17vofi62cdypownjyzj"); // next = bp->next; /* save next since list insertion destroys it */ UNSUPPORTED("5k4ysbm441casqb6cw2ew8119"); // appendBlock(&((((cdata*)(ND_alg(parent)))->block)->children), bp); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("58xx7i0kix9651uhj6fri63gs"); // initBlocklist(&state->bl); /* zero out list */ UNSUPPORTED("4hzlvk8t0qcn15wg6988vwra9"); // return root; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bq25y50izaq05n3onmen588ni // void freeBlocktree(block_t * bp) public static Object freeBlocktree(Object... arg) { UNSUPPORTED("1bc9hggj8zqlk9aydw3i3xvy4"); // void freeBlocktree(block_t * bp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dnimuukbrqydy7hshg1fgcjip"); // block_t *child; UNSUPPORTED("cl9j9gn2okzgv6lp648zd7gjg"); // block_t *next; UNSUPPORTED("7r4rd1zknlb7o2vbqkbejbkrc"); // for (child = bp->children.first; child; child = next) { UNSUPPORTED("4vzo0f6h7upy5ozou8hnsqvsl"); // next = child->next; UNSUPPORTED("aumnv9uavdnj9vgt5yjii95y0"); // freeBlocktree(child); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("16olnzzj2c8vf954tvar2hnen"); // freeBlock(bp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/circogen/circpos__c.java000066400000000000000000001275611340005343600231440ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.circogen; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class circpos__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cmpzgqstlf9awa8ui3b11frt // static double getRotation(block_t * sn, Agraph_t * g, double x, double y, double theta) public static Object getRotation(Object... arg) { UNSUPPORTED("lt6cippjix5bbvyhkcpl8g7g"); // static double UNSUPPORTED("ehfx7xgiq9xn598nzs9ob1vqi"); // getRotation(block_t * sn, Agraph_t * g, double x, double y, double theta) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8ut1w6qb3edbl3hod5x18e2np"); // double mindist2; UNSUPPORTED("c3tourf5k7groqyh71yjd5xec"); // Agraph_t *subg; UNSUPPORTED("egtkt6veeq1obtp8hbipv6zon"); // /* Agedge_t* e; */ UNSUPPORTED("7rg8w1sc9llk8kb9rh887zduv"); // Agnode_t *n, *closest_node, *neighbor; UNSUPPORTED("e1slwj7xzo1j4uaft8p1ctzy9"); // nodelist_t *list; UNSUPPORTED("q9993yde5bqm2h0x8p5xgb2i"); // double len2, newX, newY; UNSUPPORTED("e64oflkl2z9gx00h2zb17dt3r"); // int count; UNSUPPORTED("3upuwem5kn6f9b3audmgcehul"); // subg = sn->sub_graph; UNSUPPORTED("ek0r6cxzyv5ro7byggfuuddz7"); // list = sn->circle_list; UNSUPPORTED("ep1jr1n7qskeuwa1gkr496u3n"); // if (sn->parent_pos >= 0) { UNSUPPORTED("3mx4t7u3i2vxwqc19wkhvtmwb"); // theta += M_PI - sn->parent_pos; UNSUPPORTED("1jbpmsvfitefuxb4jyp6k1vgb"); // if (theta < 0) UNSUPPORTED("bhxmsrgs0qu2rni1bt9331brp"); // theta += 2 * M_PI; UNSUPPORTED("d3ynhdpzzr674aqqwfmf0asp"); // return theta; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("addsn42febvq5fyfi20wz7f9m"); // count = sizeNodelist(list); UNSUPPORTED("6bjurf9k81q5hn7xavxrgthoi"); // if (count == 2) { UNSUPPORTED("4u3h25c7y4bqrl34zj8c2s19i"); // return (theta - M_PI / 2.0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ds5icqf0zn1hzeo64qpp89ni7"); // /* Find node in block connected to block's parent */ UNSUPPORTED("4p0l2zbyxkjyv4vnyoc1lj8sc"); // neighbor = ((sn)->child); UNSUPPORTED("d1891z4wlxsylmbz0r6ruevst"); // newX = ND_pos(neighbor)[0] + x; UNSUPPORTED("bck3af1j77nrs3hvtwhi6mlkv"); // newY = ND_pos(neighbor)[1] + y; UNSUPPORTED("ebh5hoiqk7yz0ztscg8hnxbo7"); // mindist2 = LEN2(newX, newY); /* save sqrts by using sqr of dist to find min */ UNSUPPORTED("2qjkfcus0tlgqcapg2tkwnpng"); // closest_node = neighbor; UNSUPPORTED("6ewipai3bqonhmh4h826lvwyi"); // for (n = agfstnode(subg); n; n = agnxtnode(subg, n)) { UNSUPPORTED("71ky04w3ye5z6znqu7n71vl0v"); // if (n == neighbor) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("1mwv5wk5wak4p4jrtylf6pca4"); // newX = ND_pos(n)[0] + x; UNSUPPORTED("1456cp7oqq1bug1q4fhzsqhgg"); // newY = ND_pos(n)[1] + y; UNSUPPORTED("apnl2pxadxv9i0xc2ykubdrho"); // len2 = LEN2(newX, newY); UNSUPPORTED("9ycebbjahmt9g4g87v7409dcv"); // if (len2 < mindist2) { UNSUPPORTED("4ep8vufoq8au3w7qibolk95mn"); // mindist2 = len2; UNSUPPORTED("4tzwzg7wxbgffsxb7lnrbfxrg"); // closest_node = n; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("e6cndx8m1cxstvpu8i8lsq64m"); // /* if((neighbor != closest_node) && !ISPARENT(neighbor)) { */ UNSUPPORTED("4ce2cpltl3g9gelwnak2hybsb"); // if (neighbor != closest_node) { UNSUPPORTED("bjieu83v9ahhyxd1buoprxtcz"); // double rho = sn->rad0; UNSUPPORTED("79u7d4lrnqw8upa324kmc6ebc"); // double r = sn->radius - rho; UNSUPPORTED("1t2r0x7jllycm17vx91vz9f6p"); // double n_x = ND_pos(neighbor)[0]; UNSUPPORTED("d5b57fo06ypzhhu6h5pf3a4s7"); // if ((((sn)->flags)&(1 << 0)) && (-r < n_x)) { UNSUPPORTED("29wv3jfqbk7lqmos79ml5hcww"); // double R = LEN(x, y); UNSUPPORTED("7qr92iktscz1c93a1hh5ifx50"); // double n_y = ND_pos(neighbor)[1]; UNSUPPORTED("d9r83dnsjcdjmrc1aozjg691m"); // double phi = atan2(n_y, n_x + r); UNSUPPORTED("3to3yvt3nms5fsewdv9vyivmp"); // double l = r - rho / (cos(phi)); UNSUPPORTED("6pe515ww8zls6t9zcvlh6ipjf"); // theta += M_PI / 2.0 - phi - asin((l / R) * (cos(phi))); UNSUPPORTED("9elbnqbhc8v2ox6bzgxk1gxfp"); // } else { /* Origin still at center of this block */ UNSUPPORTED("78w1zetbzjtive7xf4lki9jq1"); // double phi = atan2(ND_pos(neighbor)[1], ND_pos(neighbor)[0]); UNSUPPORTED("609cgj27e69s8dmo8glg3ajzs"); // theta += M_PI - phi - (((cdata*)(ND_alg(neighbor)))->u.f.psi); UNSUPPORTED("9q8038i79c1g9pk2o23hl7nqi"); // if (theta > 2 * M_PI) UNSUPPORTED("59nb5ql4n0d2osxi8brq9b9dj"); // theta -= 2 * M_PI; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("7b399a6b9nnep504azdykuqob"); // theta = 0; UNSUPPORTED("3t6rhlr39eef1gr8tqabhir2d"); // return theta; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 gs9ma7p0wh81t6pgpfsi1mu6 // static void applyDelta(block_t * sn, double x, double y, double rotate) public static Object applyDelta(Object... arg) { UNSUPPORTED("4gp3cxkdringd7h6oo0dg4g4v"); // static void applyDelta(block_t * sn, double x, double y, double rotate) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dnimuukbrqydy7hshg1fgcjip"); // block_t *child; UNSUPPORTED("c3tourf5k7groqyh71yjd5xec"); // Agraph_t *subg; UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("3upuwem5kn6f9b3audmgcehul"); // subg = sn->sub_graph; UNSUPPORTED("6ewipai3bqonhmh4h826lvwyi"); // for (n = agfstnode(subg); n; n = agnxtnode(subg, n)) { UNSUPPORTED("c7nledx3js6xh39qgrc3j4j18"); // double X, Y; UNSUPPORTED("2m9mua77b7vokkrlp2age37c1"); // if (rotate != 0) { UNSUPPORTED("dnhg8ifhp8l8ttdzgvfjethmc"); // double tmpX, tmpY; UNSUPPORTED("1li4s29cv6mlwnsy1hfdo298h"); // double cosR, sinR; UNSUPPORTED("2hxaiccs9coowwxkb6lhhn4kb"); // tmpX = ND_pos(n)[0]; UNSUPPORTED("5sbylnb9ov5k0hsv902247jj4"); // tmpY = ND_pos(n)[1]; UNSUPPORTED("bbflbxuecw2twvqqkmo71b4oo"); // cosR = cos(rotate); UNSUPPORTED("9p9h1xtk984siasj5wglqc78w"); // sinR = sin(rotate); UNSUPPORTED("1j77mc8cp1tw63rxfp8wi7yfa"); // X = tmpX * cosR - tmpY * sinR; UNSUPPORTED("eo679za5hyr3fod5d1tyrmktf"); // Y = tmpX * sinR + tmpY * cosR; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("5rgfb3sb3s9da7ukh7w8460yu"); // X = ND_pos(n)[0]; UNSUPPORTED("7hhsgdhs0xss97a35uycoc77h"); // Y = ND_pos(n)[1]; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2ibts74izihvl7plps72sd77z"); // /* translate */ UNSUPPORTED("7ufxtczkukt6jq6dwezehykdu"); // ND_pos(n)[0] = X + x; UNSUPPORTED("5j8ptjhth0fmqnlfgcp07j0kp"); // ND_pos(n)[1] = Y + y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5q8iyg8qadpdv4xsyt8pbaafd"); // for (child = sn->children.first; child; child = child->next) UNSUPPORTED("6tfiliuoxmw3nwxjmqspkhrmw"); // applyDelta(child, x, y, rotate); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dkl7hvx97dgz0mz1n3waj9wxy // static double getInfo (posinfo_t* pi, posstate * stp, double min_dist) public static Object getInfo(Object... arg) { UNSUPPORTED("lt6cippjix5bbvyhkcpl8g7g"); // static double UNSUPPORTED("840ltlj3x7buqo1tz0ufzb0q1"); // getInfo (posinfo_t* pi, posstate * stp, double min_dist) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dnimuukbrqydy7hshg1fgcjip"); // block_t *child; UNSUPPORTED("5vgu39qaeyddsky8nzh69a1cs"); // double maxRadius = 0; /* Max. radius of children */ UNSUPPORTED("a8pqaixk20tomle987jcvpjgr"); // double diameter = 0; /* sum of child diameters */ UNSUPPORTED("a4pd76gzm03ukmko7rpk50rxz"); // int childCount = 0; UNSUPPORTED("5jz1jehvl3s4wz5ghc6zrake1"); // for (child = stp->cp; child; child = child->next) { UNSUPPORTED("61fqoj6svhfxxjz8q16q08wol"); // if ((((child)->child)? (((cdata*)(ND_alg(((child)->child))))->parent) : 0) == pi->n) { UNSUPPORTED("17lb6oohjc36ieu38qsv0lska"); // childCount++; UNSUPPORTED("1j7z4ghl8sdcb5gj02suro8ru"); // if (maxRadius < child->radius) { UNSUPPORTED("dcj0ypnuwkf4wldd9j0wzynze"); // maxRadius = child->radius; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("5cb305yot8ml7rimh6zfg9fe2"); // diameter += 2 * child->radius + min_dist; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("76l6vcvzq0ezifuroltqyaajc"); // pi->diameter = diameter; UNSUPPORTED("8ln0onaw2pyj3ubj0v4dn5bks"); // pi->childCount = childCount; UNSUPPORTED("66i09znv8qgbsd8lktrlnhlht"); // pi->minRadius = stp->radius + min_dist + maxRadius; UNSUPPORTED("b30825a9409z4f6wp159mgquy"); // pi->maxRadius = maxRadius; UNSUPPORTED("aruhcgr64df62b73mgxm10bjv"); // return maxRadius; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n9ypbho9o6l5h94s3xw065pc // static void setInfo (posinfo_t* p0, posinfo_t* p1, double delta) public static Object setInfo(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("5pammq1crwk6lp3uxho5gb8wo"); // setInfo (posinfo_t* p0, posinfo_t* p1, double delta) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("73hafrp1gwi626l02wei36tg2"); // double t = (p0->diameter*p1->minRadius) + (p1->diameter*p0->minRadius); UNSUPPORTED("4kmowfkoj6kbw5buu9vl93z4j"); // t /= 2*delta*p0->minRadius*p1->minRadius; UNSUPPORTED("l8bh6n5jn0o9gdujjrj6uv4d"); // if (t < 1) UNSUPPORTED("2t7ets0lvfbfx07z5w658psx6"); // t = 1; UNSUPPORTED("2uk6hulg3s481xzedfv74gvjv"); // if (t > p0->scale) UNSUPPORTED("5xsoxjokv9bzcry8ueg81tgfi"); // p0->scale = t; UNSUPPORTED("aasj9alkqxjb213qiijqolzdi"); // if (t > p1->scale) UNSUPPORTED("2dnhdfxe24p2769g5nzx8e114"); // p1->scale = t; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3hwx5f8xljw9aw6ahmlxzwd5 // static void positionChildren (Agraph_t* g, posinfo_t* pi, posstate * stp, int length, double min_dist) public static Object positionChildren(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("1i00gkii027wmdfk5vmixheyv"); // positionChildren (Agraph_t* g, posinfo_t* pi, posstate * stp, int length, double min_dist) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dnimuukbrqydy7hshg1fgcjip"); // block_t *child; UNSUPPORTED("2h28ngm52bopvhkktsqrsjuft"); // double childAngle, childRadius, incidentAngle; UNSUPPORTED("6vkkhyp5yqx03cxcvjgzreyvg"); // double mindistAngle, rotateAngle, midAngle; UNSUPPORTED("czazrrlmm4rvdzz6txkva79cj"); // int midChild, cnt = 0; UNSUPPORTED("4rvlw7dclng4zb33jxph77mm3"); // double snRadius = stp->subtreeR; /* max subtree radius */ UNSUPPORTED("9zpk9ku3vjqfnb0uc5io2w4d0"); // double firstAngle = stp->firstAngle; UNSUPPORTED("9ckqittdyp855n6lrgajg89lo"); // double lastAngle = stp->lastAngle; UNSUPPORTED("5fhwtiypa1ch4e6i1bqst7bnk"); // double d, deltaX, deltaY; UNSUPPORTED("17ihywepb60o3clfx7kh1juae"); // childRadius = pi->scale * pi->minRadius; UNSUPPORTED("3bgnzdbzgpt26xgjqlxo3zrw4"); // if (length == 1) { UNSUPPORTED("1bmsz9xxns8k870t2xt3pk3lv"); // childAngle = 0; UNSUPPORTED("bcdjefa6xvlkdm5fwvxpwfq74"); // d = pi->diameter/(2*M_PI); UNSUPPORTED("4s560bphn0f8s4ap4kdv75sf7"); // childRadius = MAX(childRadius, d); UNSUPPORTED("7cz14k84zv34v3u19m7zbd07n"); // d = 2*M_PI*childRadius - pi->diameter; UNSUPPORTED("cts1w4s3ihwu230dhm01amlgz"); // if (d > 0) UNSUPPORTED("6pty4l2yj4aihv0e7tio7zm8z"); // min_dist += d/pi->childCount; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("47pymrkdiujlqzk1n6kf5cqqi"); // childAngle = pi->theta - pi->diameter/(2 * childRadius); UNSUPPORTED("5jb40zn7lo9j5bftqp4efb4xe"); // if ((childRadius + pi->maxRadius) > snRadius) UNSUPPORTED("4o3mkhn9l2d1zweohu5gak0lq"); // snRadius = childRadius + pi->maxRadius; UNSUPPORTED("albxxl7eiza84jfbelnz7np50"); // mindistAngle = min_dist / childRadius; UNSUPPORTED("l5aya5nm5hnerh8jjksx3lqz"); // midChild = (pi->childCount + 1) / 2; UNSUPPORTED("5jz1jehvl3s4wz5ghc6zrake1"); // for (child = stp->cp; child; child = child->next) { UNSUPPORTED("5y748gqz7osqt1a345ioimm0e"); // if ((((child)->child)? (((cdata*)(ND_alg(((child)->child))))->parent) : 0) != pi->n) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("77uduyi6k655bzus5bii32rj"); // if (sizeNodelist(child->circle_list) <= 0) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("9npzenhjwahb1tub0weflymow"); // incidentAngle = child->radius / childRadius; UNSUPPORTED("c69jvmzrevph74caisfpf79mn"); // if (length == 1) { UNSUPPORTED("btx47bd050say49ybxbfxxrx8"); // if (childAngle != 0) { UNSUPPORTED("11n2y6kkv4rca0be56oa4yuwy"); // if (pi->childCount == 2) UNSUPPORTED("a9ogeli9lgxver8dtpvq26r1s"); // childAngle = M_PI; UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("e3rf09rej790utv5odsi7sirm"); // childAngle += incidentAngle; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("bnmngdaagaced9g37k4iectpn"); // if (firstAngle < 0) UNSUPPORTED("bsx8hf00tkq0m0i9os2gv7hne"); // firstAngle = childAngle; UNSUPPORTED("8llapzv34igunous8dfu6ic8p"); // lastAngle = childAngle; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("26covu77lvuzprfh5pc35c6m7"); // if (pi->childCount == 1) { UNSUPPORTED("ds80vzgun3b3octlz0lofd9qz"); // childAngle = pi->theta; UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("2qps72ppptkpmaonwjx89t8ti"); // childAngle += incidentAngle + mindistAngle / 2; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("4xx1ubdla04bj1c1nkji47ycn"); // deltaX = childRadius * cos(childAngle); UNSUPPORTED("4q41infzh177ycry5n376xyo"); // deltaY = childRadius * sin(childAngle); UNSUPPORTED("59lpvl8d38879wlvcrxj3i3ok"); // /* first apply the delta to the immediate child and see if we need UNSUPPORTED("cbr9evjzrxqa89gdj6lugvuut"); // * to rotate it for better edge link UNSUPPORTED("ae0iqjg4062ccpw6kxq0jktan"); // * should return the theta value if there was a rotation else zero UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("d3t3vti6mue4xaw6rg9dwck94"); // rotateAngle = getRotation(child, g, deltaX, deltaY, childAngle); UNSUPPORTED("a79u8uaekxm40c65ezudsd5u6"); // applyDelta(child, deltaX, deltaY, rotateAngle); UNSUPPORTED("c69jvmzrevph74caisfpf79mn"); // if (length == 1) { UNSUPPORTED("aw0pdp4pepihfz8q083ilj9cy"); // childAngle += incidentAngle + mindistAngle; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("cb8bk29jo8zc6bh1xx9p06lnc"); // childAngle += incidentAngle + mindistAngle / 2; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1szm63athnlkprt3pv29pjc6z"); // cnt++; UNSUPPORTED("962p120sk6jb00rm75uryy0nv"); // if (cnt == midChild) UNSUPPORTED("9kvtjmj7u050tx0m6yiax5wvz"); // midAngle = childAngle; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4e8ao1xf7cnvtb07wtsyvxvbx"); // if ((length > 1) && (pi->n == stp->neighbor)) { UNSUPPORTED("5hpo1zarnam66vyjyrst5vfut"); // (((cdata*)(ND_alg(pi->n)))->u.f.psi) = midAngle; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("70x4gfo9wip2xi3nkekxl3pd9"); // stp->subtreeR = snRadius; UNSUPPORTED("26dtlxr2hlpcs2smx34sg8u84"); // stp->firstAngle = firstAngle; UNSUPPORTED("e1bjfx85nmchm67a1wftqkeqt"); // stp->lastAngle = lastAngle; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 183knc853hg2lewtrjxjwbad // static double position(Agraph_t * g, int childCount, int length, nodelist_t * path, block_t * sn, double min_dist) public static Object position(Object... arg) { UNSUPPORTED("lt6cippjix5bbvyhkcpl8g7g"); // static double UNSUPPORTED("22vnfrl02muhf1spl5hz0w23t"); // position(Agraph_t * g, int childCount, int length, nodelist_t * path, UNSUPPORTED("c1t6ifcshh5aolq58u6d8zzpj"); // block_t * sn, double min_dist) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7rutwn578nyaydek3ukuywh1x"); // nodelistitem_t *item; UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("6ucakys2cw7jiv28161pyriv1"); // posstate state; UNSUPPORTED("8k85245qpent3wzgi4bryorr3"); // int i, counter = 0; UNSUPPORTED("a695nieoct28fopsesdpcnge"); // double maxRadius = 0.0; UNSUPPORTED("92mb8jdyxj5379bf15u10ncne"); // double angle; UNSUPPORTED("39lrh4yp65e7bz2yxmw4eykrf"); // double theta = 0.0; UNSUPPORTED("23og2wsnt900of8nebhax9oyf"); // posinfo_t* parents = (posinfo_t*)zmalloc((childCount)*sizeof(posinfo_t)); UNSUPPORTED("bzqraac2wnk8t66hw56y468nc"); // int num_parents = 0; UNSUPPORTED("z72pagx4ayrk2yqmotbjuefr"); // posinfo_t* next; UNSUPPORTED("eeemcjy0m28y6uo1k67ow85aw"); // posinfo_t* curr; UNSUPPORTED("c9q6ir4wu73b7lv68ilvxy3x7"); // double delta; UNSUPPORTED("6yffdiw932i5rt81vhl78p4my"); // state.cp = sn->children.first; UNSUPPORTED("2i8rbg0cq017n4ujwzb6ehb70"); // state.subtreeR = sn->radius; UNSUPPORTED("3zq6dyqtdab8t8om06kbqxsf7"); // state.radius = sn->radius; UNSUPPORTED("2oqyqn73k762frqgxysfgwdvx"); // state.neighbor = ((sn)->child); UNSUPPORTED("5v4yfu1mewcqtr1iitiv2k5zs"); // state.nodeAngle = 2 * M_PI / length; UNSUPPORTED("6f204wxzonpgn67h24efbeg87"); // state.firstAngle = -1; UNSUPPORTED("dua53rud195i1fza5gx41y8wl"); // state.lastAngle = -1; UNSUPPORTED("5dgjj6y6q8lzpoow2gga1vw08"); // for (item = path->first; item; item = item->next) { UNSUPPORTED("efcirwqi1qo67gxv4hcey7ume"); // n = item->curr; UNSUPPORTED("94qpgyg00z0hr00d8pd3z1ayb"); // theta = counter * state.nodeAngle; UNSUPPORTED("3a9goefb48roao7azhg25lwv4"); // counter++; UNSUPPORTED("6zg1ud5tzcw5bdxchosqyeiqs"); // if (((((cdata*)(ND_alg(n)))->flags)&(1 << 3))) { UNSUPPORTED("2d3h31rypli1to22ks3625yb3"); // parents[num_parents].n = n; UNSUPPORTED("3w4m6651a3two5vpclinusgxz"); // parents[num_parents].theta = theta; UNSUPPORTED("a969k09an1c03o3fchyxzdknw"); // maxRadius = getInfo (parents+num_parents, &state, min_dist); UNSUPPORTED("nfniu0ma9kcpj4iftil7vxzo"); // num_parents++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("19ff6lx469ojx0kd8qng7xnm2"); // if (num_parents == 1) UNSUPPORTED("ebbpim2wuh8zmq8eb2hy0rwa4"); // parents->scale = 1.0; UNSUPPORTED("7nq76o6ilylvrnthd9saci3dm"); // else if (num_parents == 2) { UNSUPPORTED("97x4yhfbu7p7ax1wjgypyzvs2"); // curr = parents; UNSUPPORTED("cxlahkp8nrxsqxjo1h4m6luwj"); // next = parents+1; UNSUPPORTED("318uuok3kzhklbp2qy5oz5isd"); // delta = next->theta - curr->theta; UNSUPPORTED("dl7kx2da6bpzv7t95mctx0k4b"); // if (delta > M_PI) UNSUPPORTED("8w966007ytd8humlh8ld5n3y"); // delta = 2*M_PI - delta; UNSUPPORTED("42eevkdrj77smcpbkbycptbr9"); // setInfo (curr, next, delta); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("97x4yhfbu7p7ax1wjgypyzvs2"); // curr = parents; UNSUPPORTED("5pdqtasaquwj0buhiaa5kl3lu"); // for (i = 0; i < num_parents; i++) { UNSUPPORTED("o2ar05chdjxtjoiic51moxxo"); // if (i+1 == num_parents) { UNSUPPORTED("9wiicb729io2751z1cqj3za3w"); // next = parents; UNSUPPORTED("8w39fyrm0xi8av27kkb2ox9iq"); // delta = next->theta - curr->theta + 2*M_PI; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("2wgrvn9lpnb1glq51snvhrlpn"); // next = curr+1; UNSUPPORTED("6rnd98sxn37mywfmwpgmz5jys"); // delta = next->theta - curr->theta; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("3wodlygye92vfolc4yek541q5"); // setInfo (curr, next, delta); UNSUPPORTED("f09krbnpkp0dj7clpnfofxhs3"); // curr++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6s78kskfp8mah4jsgthr07vz5"); // for (i = 0; i < num_parents; i++) { UNSUPPORTED("3qghhc5maci1337vzb8zb1d23"); // positionChildren (g, parents + i, &state, length, min_dist); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2zf1tuimr6i6xmj6st44n1y6d"); // free (parents); UNSUPPORTED("6ehx9nw398bee4byzgr4hyvrj"); // /* If block has only 1 child, to save space, we coalesce it with the UNSUPPORTED("158fhk9tz4932mk3kgob0majr"); // * child. Instead of having final radius sn->radius + max child radius, UNSUPPORTED("st1dl3d0qufd92ksixbfqrs8"); // * we have half that. However, the origin of the block is no longer in UNSUPPORTED("82bqem29c6dlp0g32cggclhpj"); // * the center of the block, so we cannot do a simple rotation to get UNSUPPORTED("aq0f42fl4631zdfwv7noubqpf"); // * the neighbor node next to the parent block in getRotate. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("bbfns218ckyof9zhxovat1856"); // if (childCount == 1) { UNSUPPORTED("9totzf6n9ceszh8mm3tllioma"); // applyDelta(sn, -(maxRadius + min_dist / 2), 0, 0); UNSUPPORTED("7xw3jatz27ecvuvr8ndmzpri2"); // sn->radius += min_dist / 2 + maxRadius; UNSUPPORTED("djn1r9ekdaplctm3dmv4s86hq"); // (((sn)->flags) |= (1 << 0)); UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("2z11j34mh7ho6yeonjtcuftyk"); // sn->radius = state.subtreeR; UNSUPPORTED("2634lkpplyldiomou50vs8ne8"); // angle = (state.firstAngle + state.lastAngle) / 2.0 - M_PI; UNSUPPORTED("62ygf2gmqakbkjtv70bqh5q3i"); // return angle; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a87t2i8cdtwy70eh2fop0pu68 // static void doBlock(Agraph_t * g, block_t * sn, double min_dist) public static Object doBlock(Object... arg) { UNSUPPORTED("5nry31kqija8llhs67tppjguq"); // static void doBlock(Agraph_t * g, block_t * sn, double min_dist) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dnimuukbrqydy7hshg1fgcjip"); // block_t *child; UNSUPPORTED("d7uu3k4m5ty17ck42vok0b2qd"); // nodelist_t *longest_path; UNSUPPORTED("akedsyjeha5i5pifvmpx754fx"); // int childCount, length; UNSUPPORTED("csnfgux07j8xroe4dfr5ydmww"); // double centerAngle = M_PI; UNSUPPORTED("5czwx5ja6vchkqqf3nj1dbplo"); // /* layout child subtrees */ UNSUPPORTED("6fmp43rz8qxcnka1ixy8ofy4o"); // childCount = 0; UNSUPPORTED("2ucdzk00biyj5tphlncfr7de8"); // for (child = sn->children.first; child; child = child->next) { UNSUPPORTED("cqqmq5uo5abmk8d0omydy8qfe"); // doBlock(g, child, min_dist); UNSUPPORTED("ckf9u9keyanpnzokxxvtxisu8"); // childCount++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("f5dfmshylzxahkpt6bypg8gdf"); // /* layout this block */ UNSUPPORTED("96pbgoge9aguwe0pojeb6478b"); // longest_path = layout_block(g, sn, min_dist); UNSUPPORTED("9j0wpzijxf3wv4nwyk56labpn"); // sn->circle_list = longest_path; UNSUPPORTED("2px8ljbfc4yhbhbv2i3n5kjvc"); // length = sizeNodelist(longest_path); /* path contains everything in block */ UNSUPPORTED("epc8pxjomwsgtpc3cie7d8jp9"); // /* attach children */ UNSUPPORTED("4abtrzavmj7jx497pijua7lit"); // if (childCount > 0) UNSUPPORTED("3px8jprdntkfoay5evmj3utqc"); // centerAngle = UNSUPPORTED("byo5mpsyssgtbxmb1x5yu3hcy"); // position(g, childCount, length, longest_path, sn, min_dist); UNSUPPORTED("16uagx1awpuxh25qk8lwdiewh"); // if ((length == 1) && ((((sn)->child)? (((cdata*)(ND_alg(((sn)->child))))->parent) : 0))) { UNSUPPORTED("9nmeqvmukyg4yokpki9xdf3vj"); // sn->parent_pos = centerAngle; UNSUPPORTED("d8izngkerf5zyrx3iwt0zqq3f"); // if (sn->parent_pos < 0) UNSUPPORTED("7ex0u65w20yvu6ejq0eph4w2j"); // sn->parent_pos += 2 * M_PI; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 chxnkeyek1c0y3nf5nzcr860m // void circPos(Agraph_t * g, block_t * sn, circ_state * state) public static Object circPos(Object... arg) { UNSUPPORTED("7kmetdiv7luwpajiej493xalo"); // void circPos(Agraph_t * g, block_t * sn, circ_state * state) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e4qh6uup89pjepp99d1dehhh"); // doBlock(g, sn, state->min_dist); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/circogen/circular__c.java000066400000000000000000000623201340005343600232750ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.circogen; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class circular__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 brutblu0x5wghdgucrt52smjm // static void initGraphAttrs(Agraph_t * g, circ_state * state) public static Object initGraphAttrs(Object... arg) { UNSUPPORTED("mevh06n4q12f6qlyrvz3w4g0"); // static void initGraphAttrs(Agraph_t * g, circ_state * state) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3z24ttdbl5xv131ksj7fa1bos"); // static Agraph_t *rootg; UNSUPPORTED("2sxz0ovw0gl9wk9npfs6dv3ef"); // static attrsym_t *N_artpos; UNSUPPORTED("armrshxy92azyhnq4ajdo80ng"); // static attrsym_t *N_root; UNSUPPORTED("1aahky7zclwyujyy33hntydc6"); // static attrsym_t *G_mindist; UNSUPPORTED("cjkaslolwvv9zm99ol4025xwn"); // static char *rootname; UNSUPPORTED("btcm26tl3qvd0mpw8v6ehj7fl"); // Agraph_t *rg; UNSUPPORTED("75g5xnaflgg4p8k1558jb4iwe"); // node_t *n = agfstnode(g); UNSUPPORTED("8sbtilif75x33dpu4ndtghvpb"); // rg = agraphof((((cdata*)(ND_alg(n)))->orig.np)); UNSUPPORTED("1b78iugl2igpzf6u74oi1e79p"); // if (rg != rootg) { /* new root graph */ UNSUPPORTED("94t7yb92h6bvdimz86ehh9rj"); // state->blockCount = 0; UNSUPPORTED("9pibd50hsa8xrddgalqpzemqq"); // rootg = rg; UNSUPPORTED("dw7jwke69sqerh0l2h4j1irbs"); // G_mindist = agattr(rootg,AGRAPH, "mindist", NULL); UNSUPPORTED("248jckj3fduzazffdm0ezhdgo"); // N_artpos = agattr(rootg,AGNODE, "articulation_pos", NULL); UNSUPPORTED("60so4xhc3ssfm3o0ub5d6e6nf"); // N_root = agattr(rootg,AGNODE, "root", NULL); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("f0rizk4nvevdxrxdceh5l8gb8"); // rootname = agget(rootg, "root"); UNSUPPORTED("5qqotagszvhwnqyx2q40b4xh1"); // initBlocklist(&state->bl); UNSUPPORTED("bpjxyfqoeiyunzjxeqp945vfx"); // state->orderCount = 1; UNSUPPORTED("5r1nzq4zm4l0jc5gao2cxf41k"); // state->min_dist = late_double(rootg, G_mindist, 1.0, 0.0); UNSUPPORTED("d19x5ja0lnq2fpohjymq0r6h4"); // state->N_artpos = N_artpos; UNSUPPORTED("23qn4w90tp8ja02yccctbqsq3"); // state->N_root = N_root; UNSUPPORTED("1mmya9odnwx31zrehpl1jpsy1"); // state->rootname = rootname; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7576syipts6h49ytv0bxjqihr // static void cleanup(block_t * root, circ_state * sp) public static Object cleanup(Object... arg) { UNSUPPORTED("797dl0jvi1n3233d8o4uyei2b"); // static void cleanup(block_t * root, circ_state * sp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("gazjytqmjmd1urhxt9548d55"); // freeBlocktree(root); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 boxxvmmqhsqas56onmc5f3zwe // static block_t* createOneBlock(Agraph_t * g, circ_state * state) public static Object createOneBlock(Object... arg) { UNSUPPORTED("59ge1w6bvjt3yigegnr06qnl8"); // static block_t* UNSUPPORTED("9xvo8aqpz8luw2fq3dl28uijm"); // createOneBlock(Agraph_t * g, circ_state * state) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c3tourf5k7groqyh71yjd5xec"); // Agraph_t *subg; UNSUPPORTED("78gq1jdufena2r9rigvse5178"); // char name[128]; UNSUPPORTED("c1e61umpnq91loowv2uiik4ij"); // block_t *bp; UNSUPPORTED("ci2zh69w6nhi0q816i1ixuy9k"); // Agnode_t* n; UNSUPPORTED("ep00xn89fpirmsx2551j54utc"); // sprintf(name, "_block_%d", state->blockCount++); UNSUPPORTED("8hrghpozt8br3ds7ltyndkky6"); // subg = agsubg(g, name, 1); UNSUPPORTED("dkw9ioytrkmgvbpp3g41plz2w"); // bp = mkBlock(subg); UNSUPPORTED("7wq24g054kmx3aw25vk5ksj4"); // for (n = agfstnode(g); n; n = agnxtnode(g,n)) { UNSUPPORTED("e3s0e6n0tn5oo7ufsgmpz2da4"); // agsubnode(bp->sub_graph, n, 1); UNSUPPORTED("5w85v39q14iajt0jgg03tk3a9"); // (((cdata*)(ND_alg(n)))->block) = bp; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bgo7070e5cs998w6zp1ma85ad"); // return bp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8uhw81t1ved37tzd71k710amg // void circularLayout(Agraph_t * g, Agraph_t* realg) public static Object circularLayout(Object... arg) { UNSUPPORTED("b9ydomdo0508iyd0x2pfye9lz"); // void circularLayout(Agraph_t * g, Agraph_t* realg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7u378ih9lwpzdxqjnl915ozy"); // block_t *root; UNSUPPORTED("d75hzxqbv87poc5kfhal0xyck"); // static circ_state state; UNSUPPORTED("c9dpf2d6r2iz9o45zgyidbebh"); // if (agnnodes(g) == 1) { UNSUPPORTED("6ki4i8xt1mzl7q9z88kubd4yj"); // Agnode_t *n = agfstnode(g); UNSUPPORTED("1if9tmldy50vvy2r6q47ljlzr"); // ND_pos(n)[0] = 0; UNSUPPORTED("dl1koje47ohkw3rirkqubr4ha"); // ND_pos(n)[1] = 0; UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("15iqjzyyusn71pklqiaym0leo"); // initGraphAttrs(g, &state); UNSUPPORTED("guyydelm9krftn3qex06vuuh"); // if (mapbool(agget(realg, "oneblock"))) UNSUPPORTED("2lhfurdnccdltspt0boh4e1r1"); // root = createOneBlock(g, &state); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("8b2zub4wcpg8aqduu4g2d0vye"); // root = createBlocktree(g, &state); UNSUPPORTED("4snxxj405ai3to5yun84phl1o"); // circPos(g, root, &state); UNSUPPORTED("9nk75yy4i467l0g7z9wrmspqk"); // cleanup(root, &state); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/circogen/circularinit__c.java000066400000000000000000001066201340005343600241630ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.circogen; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class circularinit__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 exy2l03ceq9zw4vf01bbd4d3o // typedef unsigned int packval_t //3 5zqkuy8tub9dafvyyyiaizp7g // static void circular_init_edge(edge_t * e) public static Object circular_init_edge(Object... arg) { UNSUPPORTED("81a6u66j0hogvfd05waxp3tg4"); // static void circular_init_edge(edge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9egiculslq6sjkjl1r3i2xhyw"); // agbindrec(e, "Agedgeinfo_t", sizeof(Agedgeinfo_t), NOT(0)); //node custom data UNSUPPORTED("dwvquwksg1mxo6dxl7r7gaxpe"); // common_init_edge(e); UNSUPPORTED("6asvm3mgvrgkcyl9tgnl3h63l"); // ED_factor(e) = late_double(e, E_weight, 1.0, 0.0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4ng3mbiynzux1wvgsup4kxys4 // static void circular_init_node_edge(graph_t * g) public static Object circular_init_node_edge(Object... arg) { UNSUPPORTED("9znhhxthl2danllds1rjgalwy"); // static void circular_init_node_edge(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("7s165b75za7edl3pgyc01kxis"); // int i = 0; UNSUPPORTED("3v6tdz74pwvplr74f6twrd5el"); // ndata* alg = (ndata*)zmalloc((agnnodes(g))*sizeof(ndata)); UNSUPPORTED("6v4vv0lnaxuk2fjdmt9we0u5a"); // GD_neato_nlist(g) = (node_t **)zmalloc((agnnodes(g) + 1)*sizeof(node_t *)); UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("1jlbav97feq4ldstpk1olcq1v"); // neato_init_node(n); UNSUPPORTED("duvqfgu1th3wcqujatvqygq4q"); // ND_alg(n) = alg + i; UNSUPPORTED("db7iioqpe7jfqzku8slbbyrqx"); // GD_neato_nlist(g)[i++] = n; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("9nauxuqfe7l71ry6spo3zx7sv"); // circular_init_edge(e); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ed4m1q5pf8w4vmugtmdtyswf5 // void circo_init_graph(graph_t * g) public static Object circo_init_graph(Object... arg) { UNSUPPORTED("clgz3no8an7z04vs9z66h54i5"); // void circo_init_graph(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6vmhwvwf0v01vufgz8qcmh7jb"); // setEdgeType (g, (1 << 1)); UNSUPPORTED("6l9t0fr5noj4qmjm4d97s1yg"); // /* GD_ndim(g) = late_int(g,agfindattr(g,"dim"),2,2); */ UNSUPPORTED("dewv2jeq4al6xed6mstt62s4"); // Ndim = GD_ndim(g) = 2; /* The algorithm only makes sense in 2D */ UNSUPPORTED("do50yggt3kfryy3rl36hav9ex"); // circular_init_node_edge(g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6oaqcf3sa5k7zbraca82kld7x // static node_t *makeDerivedNode(graph_t * dg, char *name, int isNode, void *orig) public static Object makeDerivedNode(Object... arg) { UNSUPPORTED("30m11dka21d62sohxvn94zyzs"); // static node_t *makeDerivedNode(graph_t * dg, char *name, int isNode, UNSUPPORTED("cp1d6p3arstdrks87m40zwgfb"); // void *orig) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("73d7bkrhzxc6l2mp8q3dm11jk"); // node_t *n = agnode(dg, name,1); UNSUPPORTED("dv6sz213l2u9hnm297p0rddyc"); // agbindrec(n, "Agnodeinfo_t", sizeof(Agnodeinfo_t), NOT(0)); //node custom data UNSUPPORTED("a3k4jc1wdwonrnd37opgktsjs"); // ND_alg(n) = (void *) (cdata*)zmalloc(sizeof(cdata)); UNSUPPORTED("4j672890oi8yw0qwb24k82gwl"); // if (isNode) { UNSUPPORTED("7r7bg9zjwf1z4qmhfna2gszb6"); // ND_pos(n) = (double*)zmalloc((Ndim)*sizeof(double)); UNSUPPORTED("1cgm8oljhf1418e7rcmln1b3f"); // ND_lw(n) = ND_lw((node_t *) orig); UNSUPPORTED("1015mjuidbqu2as0i5ttigd8z"); // ND_rw(n) = ND_rw((node_t *) orig); UNSUPPORTED("6wd4a54nsu1mu9kautswdhkqv"); // ND_ht(n) = ND_ht((node_t *) orig); UNSUPPORTED("3y9rgbfji9tz3o3njt36tin5w"); // (((cdata*)(ND_alg(n)))->orig.np) = (node_t *) orig; UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("9mivzy7020945qzvi116o7mqd"); // (((cdata*)(ND_alg(n)))->orig.g) = (graph_t *) orig; UNSUPPORTED("69hc24ic55i66g8tf2ne42327"); // return n; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 47innmyoq6u3g1towfnldiw7q // Agraph_t **circomps(Agraph_t * g, int *cnt) public static Object circomps(Object... arg) { UNSUPPORTED("88dug57az6beipl0x6lgbi4be"); // Agraph_t **circomps(Agraph_t * g, int *cnt) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bgwb4n61b6v6hggxzjxkzyyhh"); // int c_cnt; UNSUPPORTED("8i0oxshyd0x2idt42lftg3zjx"); // Agraph_t **ccs; UNSUPPORTED("4irto8d9ngepfwouz32g86zl6"); // Agraph_t *dg; UNSUPPORTED("bbeocxhxeybyz66p85ymkw21p"); // Agnode_t *n, *v, *dt, *dh; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("5qsdev7ikmpmm9zepv8ye0zy6"); // Agraph_t *sg; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("1bl759aws53yjk3xg9shiogx5"); // Agedge_t *ep; UNSUPPORTED("79qovd7yt2ksk0181m08pcblr"); // Agnode_t *p; UNSUPPORTED("b90zsijnwtlivim554qwqm0ix"); // dg = agopen("derived", Agstrictundirected,((Agdisc_t *)0)); UNSUPPORTED("21avs22bxicrobqqehf2myfbe"); // agbindrec (dg, "info", sizeof(Agraphinfo_t), NOT(0)); UNSUPPORTED("bjc2oies1s6gsu3oimfh0p2vw"); // GD_alg(g) = dg; /* store derived graph for closing later */ UNSUPPORTED("7lrfd3npcqkgakq00km2isrez"); // for (v = agfstnode(g); v; v = agnxtnode(g, v)) { UNSUPPORTED("66d9cjc3c19rkl1xo5q75eyy3"); // if ((((ndata*)(ND_alg(v)))->dnode)) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("3xd9di7e0pn5j3ab12plbfwdg"); // n = makeDerivedNode(dg, agnameof(v), 1, v); UNSUPPORTED("60ya0ytt4vev09o5aku73jahr"); // (((ndata*)(ND_alg(v)))->dnode) = n; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7lrfd3npcqkgakq00km2isrez"); // for (v = agfstnode(g); v; v = agnxtnode(g, v)) { UNSUPPORTED("erx1nf1775jonr4w5wft0hvdu"); // for (e = agfstout(g, v); e; e = agnxtout(g, e)) { UNSUPPORTED("3t1pr150rt35qfaq27r1zbv4p"); // dt = (((ndata*)(ND_alg(agtail(e))))->dnode); UNSUPPORTED("e6mfovkd5y5ejfzgrd5ejbxyq"); // dh = (((ndata*)(ND_alg(aghead(e))))->dnode); UNSUPPORTED("etnv2n1zrsnrvqk0iw4k56m3k"); // if (dt != dh) { UNSUPPORTED("4e8oaa3hyozzg07trkzctvpjg"); // agbindrec(agedge(dg, dt, dh, NULL, 1), "Agedgeinfo_t", sizeof(Agedgeinfo_t), NOT(0)); //node custom data UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bdwcg056rr8f0gjq6j88p2x7n"); // ccs = ccomps(dg, &c_cnt, 0); UNSUPPORTED("5jibz6gpp5kod6l57ny3ty3r1"); // /* replace block nodes with block contents */ UNSUPPORTED("m6vxwfbuj0amz3vibr3v29ej"); // for (i = 0; i < c_cnt; i++) { UNSUPPORTED("6u96xrwleb6z11oid6j69lgbg"); // sg = ccs[i]; UNSUPPORTED("87tnwfub3vnyzczex6ea2030o"); // /* add edges: since sg is a union of components, all edges UNSUPPORTED("c3jorj497dblwgp23ztqrl4w3"); // * of any node should be added, except loops. UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("8ndqdk4p1i3jl54ffpn01qpf0"); // for (n = agfstnode(sg); n; n = agnxtnode(sg, n)) { UNSUPPORTED("2xz1i48q3s732gi3b9voxo5x5"); // p = (((cdata*)(ND_alg(n)))->orig.np); UNSUPPORTED("8kf4pg1a2oonwlfycu9ekh7kk"); // for (e = agfstout(g, p); e; e = agnxtout(g, e)) { UNSUPPORTED("3gd7lc1v93xd4xermby6u1r65"); // /* n = DNODE(agtail(e)); by construction since agtail(e) == p */ UNSUPPORTED("eurm7o0ur76a0r8d1mvhnyuxn"); // dh = (((ndata*)(ND_alg(aghead(e))))->dnode); UNSUPPORTED("cajrzypw29s0vxy9q2wb63pb5"); // if (n != dh) { UNSUPPORTED("wxztz2ihmtaq7a3tnh877wtn"); // ep = agedge(dg, n, dh, NULL, 1); UNSUPPORTED("cyrt7a79zj3qpozi5u03e9rha"); // agbindrec(ep, "Agedgeinfo_t", sizeof(Agedgeinfo_t), NOT(0)); //node custom data UNSUPPORTED("3nbvxqmkpczy87gapoiflcm7h"); // agsubedge(sg,ep,1); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6sp7lph2mvxrohj6vtfkicdim"); // /* Finally, add edge data to edges */ UNSUPPORTED("914a8cae80n1ri1fpea93utu7"); // for (n = agfstnode(dg); n; n = agnxtnode(dg, n)) { UNSUPPORTED("1rw5ca354jxnf4pzpzmqok202"); // for (e = agfstout(dg, n); e; e = agnxtout(dg, e)) { UNSUPPORTED("7w6qk0tqimtm4cv1my0ck9qvr"); // ED_alg(e) = (edata*)zmalloc(sizeof(edata)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4e70xntp9dn0j9tedf99r36kd"); // *cnt = c_cnt; UNSUPPORTED("d077t46km2flvzhvfy5b9ld5u"); // return ccs; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8tkw52jrm3q5gjxend5f4k65u // static void closeDerivedGraph(graph_t * g) public static Object closeDerivedGraph(Object... arg) { UNSUPPORTED("6rwrdoon90p8fi9j654lwxnlv"); // static void closeDerivedGraph(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("dyaixncu6fj64t6jwaub8p2i5"); // free(ED_alg(e)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("54ofz7viqgqwlis5n9xqmuu5h"); // free(ND_alg(n)); UNSUPPORTED("2nmtwczdx0jgyqpwa58dcregg"); // free(ND_pos(n)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ego3r1tvwrpv2hie8y9p8vq4z"); // agclose(g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dpkh3zgzyq6fbp9ioeeobtmuf // static void copyPosns(graph_t * g) public static Object copyPosns(Object... arg) { UNSUPPORTED("85yp63ze7p9x92x7hu9n8g2i5"); // static void copyPosns(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("aigogf44ojtcesuy4xs7inqbn"); // node_t *v; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("ew59jdm9lyvhthz1t6xrxvtxb"); // v = (((cdata*)(ND_alg(n)))->orig.np); UNSUPPORTED("1yrksj0nsa8xiq23zugddcfu0"); // ND_pos(v)[0] = ND_pos(n)[0]; UNSUPPORTED("4oe7lgzfrw1944cz1lgdilxgk"); // ND_pos(v)[1] = ND_pos(n)[1]; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2c199pi91nr7mh3acdkqmldz // void circoLayout(Agraph_t * g) public static Object circoLayout(Object... arg) { UNSUPPORTED("9fhl98askfr5pey0tdt2q7595"); // void circoLayout(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8i0oxshyd0x2idt42lftg3zjx"); // Agraph_t **ccs; UNSUPPORTED("5qsdev7ikmpmm9zepv8ye0zy6"); // Agraph_t *sg; UNSUPPORTED("bkb0ghck7vt2m0xdwrl4k3xsw"); // int ncc; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("9ejwyvcq1foytw59mxl3482uc"); // if (agnnodes(g)) { UNSUPPORTED("5claujskttaa3ofagihoocs0"); // ccs = circomps(g, &ncc); UNSUPPORTED("edukq9g8egufczs6ja3h99k6a"); // if (ncc == 1) { UNSUPPORTED("5culj7o9syz5p697akumt6yuo"); // circularLayout(ccs[0], g); UNSUPPORTED("45bp9uwmk8jhe2621hwavtn3u"); // copyPosns(ccs[0]); UNSUPPORTED("dr2tfyal8xy7z5fd0tf0ewyl7"); // adjustNodes(g); UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("4b10vmvqnqosanuvuht0ftet9"); // Agraph_t *dg = ccs[0]->root; UNSUPPORTED("83e9l49h8gnb0np8c6kq3m4uv"); // pack_info pinfo; UNSUPPORTED("7jf67vp6muqkvku6lzkv5jp7e"); // getPackInfo(g, l_node, 8, &pinfo); UNSUPPORTED("3rfcnwowz3h58n92j7igzwap0"); // for (i = 0; i < ncc; i++) { UNSUPPORTED("6n1wgj9rnpi5u0c1f6mo7hvdr"); // sg = ccs[i]; UNSUPPORTED("6bvrmd6fk9hdhoya1rhrdttvh"); // circularLayout(sg, g); UNSUPPORTED("8wmpmd9fii5i7bt0z2xxzqqws"); // adjustNodes(sg); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("85ss84hamlz7rmyoghxnfvtfx"); // /* FIX: splines have not been calculated for dg UNSUPPORTED("46z2ex51d85utlwyty1u4gva7"); // * To use, either do splines in dg and copy to g, or UNSUPPORTED("2ienyma5vtgjvnjw1bzj078ue"); // * construct components of g from ccs and use that in packing. UNSUPPORTED("20m1lc1moer8x00tx9ceto0iw"); // */ UNSUPPORTED("dyd2ouvfyiz2rwx8lvicc5dfx"); // packSubgraphs(ncc, ccs, dg, &pinfo); UNSUPPORTED("6j69ahhob9se73yezbxmtj1kw"); // for (i = 0; i < ncc; i++) UNSUPPORTED("187gxizgv5cq2o0jxwkmjjh6h"); // copyPosns(ccs[i]); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5eru5cerydhchm7ojmgdlkv9y"); // free(ccs); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3ei94sqys69psr637fpltuail // void circo_layout(Agraph_t * g) public static Object circo_layout(Object... arg) { UNSUPPORTED("26zulk7sh7ulle9t1br08yku4"); // void circo_layout(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3o29ookoifg8un22eqmpv1dji"); // if (agnnodes(g) == 0) return; UNSUPPORTED("crts7mlr0gno5bv400gffajrh"); // circo_init_graph(g); UNSUPPORTED("3n1vj06ggjmp8hz1d20mk2y6p"); // circoLayout(g); UNSUPPORTED("b9ppl4mqx1v2uc46b1spxyavl"); // /* Release ND_alg as we need to reuse it during edge routing */ UNSUPPORTED("13jrnqbzc7n4ujm1kc140syrh"); // free(ND_alg(agfstnode(g))); UNSUPPORTED("5cj9wu1kpmvlmkgf7a52qkdhe"); // spline_edges(g); UNSUPPORTED("4mt9sefpw760d2ucfonntrzd5"); // dotneato_postprocess(g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 b296om49teiekj6lwox3v4ych // void circo_cleanup(graph_t * g) public static Object circo_cleanup(Object... arg) { UNSUPPORTED("2000uj9hmwompnjqlkhmdf51y"); // void circo_cleanup(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("42x5vqk9aw9a2ld3duvpmp7u9"); // n = agfstnode(g); UNSUPPORTED("1dhb4juzl1nov6lfw5m04nrjm"); // if (n == NULL) UNSUPPORTED("5fyrd330hpw6jlkkbj1hbwwrx"); // return; /* g is empty */ UNSUPPORTED("f45nj0vg9pqonlpelxgxia20d"); // closeDerivedGraph((graph_t*)GD_alg(g)); /* delete derived graph */ UNSUPPORTED("d5kco5u1uhmm9tbu87zidddbe"); // /* free (ND_alg(n)); */ UNSUPPORTED("5vwclwrj7d6gxp9jc712gfxeo"); // for (; n; n = agnxtnode(g, n)) { UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("5otoqd7o1zz8ni50urywr7yjy"); // gv_cleanup_edge(e); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("ec2wg4tpq1npq2mtdbc154ylh"); // gv_cleanup_node(n); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dxp41biia9zas5nfacx5m4vhp"); // free(GD_neato_nlist(g)); UNSUPPORTED("58o9b8zmlqcq96deeorllidce"); // if (g != agroot(g)) UNSUPPORTED("3339e6k6eajhv2r0c4wedzjx7"); // agclean (g,AGRAPH,"Agraphinfo_t"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/circogen/deglist__c.java000066400000000000000000000650441340005343600231320ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.circogen; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class deglist__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 7j7kswbhzemhda2b85gqybnya // typedef Dt_t deglist_t //3 6jjh5wxnkdktgwiietsjulw6z // static degitem *mkItem(Dt_t * d, degitem * obj, Dtdisc_t * disc) public static Object mkItem(Object... arg) { UNSUPPORTED("34l3cr7o0s36r6np2mo81nf28"); // static degitem *mkItem(Dt_t * d, degitem * obj, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("70m8szenrqelm5jiezi74rafb"); // degitem *ap = (degitem*)gmalloc(sizeof(degitem)); UNSUPPORTED("4ouv9h9vqevqnrhkan5tlj097"); // ap->np = NULL; UNSUPPORTED("271cqt1d7zvpcjyeqcy8l9eun"); // ap->deg = obj->deg; UNSUPPORTED("b8cimfvcp1vea97hyfr4m9nix"); // return ap; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dxc5b2nwkbljd2ajty06o3jsb // static void freeItem(Dt_t * d, degitem * obj, Dtdisc_t * disc) public static Object freeItem(Object... arg) { UNSUPPORTED("bdbhhqyr54fvrnkfl9uvtqwwr"); // static void freeItem(Dt_t * d, degitem * obj, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8are8jqzwfj87yj4tkaohi3tf"); // free(obj); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 63kiupllvljfbvo3a449loqbj // static int cmpDegree(Dt_t * d, int *key1, int *key2, Dtdisc_t * disc) public static Object cmpDegree(Object... arg) { UNSUPPORTED("5c5veztcj8p7w17adgwu5lm2w"); // static int cmpDegree(Dt_t * d, int *key1, int *key2, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cgd49hnc586jvde6n28xo4kbs"); // if (*key1 < *key2) UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("9l1k6re48q3fnj1wo008zixlf"); // else if (*key1 > *key2) UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 19ddabks48tw9coeb5b7qhsc8 // static Dtdisc_t nodeDisc = //3 8s93atp6fs5gev3r499v2zshm // deglist_t *mkDeglist(void) public static Object mkDeglist(Object... arg) { UNSUPPORTED("4b6n6j1dlfujg6k83xdu9ngrt"); // deglist_t *mkDeglist(void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2frmh5mz12cekzldrd7afbeb4"); // deglist_t *s = dtopen(&nodeDisc, Dtoset); UNSUPPORTED("3y6wj3ntgmr1qkdpm7wp1dsch"); // return s; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 583rk1k9h9793rue8tv6fay4g // void freeDeglist(deglist_t * s) public static Object freeDeglist(Object... arg) { UNSUPPORTED("ckni1tor84ydnmlnmg6twknr1"); // void freeDeglist(deglist_t * s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1eacawmrzl4lhcatl49wx5ig5"); // dtclose(s); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8ab3eesjs8stuegu0nvbyzepc // void insertDeglist(deglist_t * ns, Agnode_t * n) public static Object insertDeglist(Object... arg) { UNSUPPORTED("64f8u0ha3z0utn16h0x5vfec0"); // void insertDeglist(deglist_t * ns, Agnode_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bqnel5obbh4bl3zf0omgdos4n"); // degitem key; UNSUPPORTED("eeebhkpkvwktepj7rwhq5doyn"); // degitem *kp; UNSUPPORTED("78a3fqbduf77elveak3a5mlzy"); // key.deg = (ND_order(n)); UNSUPPORTED("b796ihupd560f2wp258m0hns6"); // kp = (*(((Dt_t*)(ns))->searchf))((ns),(void*)(&key),0000001); UNSUPPORTED("8qnzzx284czktidqetzzx8zn2"); // ND_next(n) = kp->np; UNSUPPORTED("611u8u1k5yndthyjbbn8n4vom"); // kp->np = n; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 196qf9oo7v4q0vpkmh0offqml // void removeDeglist(deglist_t * list, Agnode_t * n) public static Object removeDeglist(Object... arg) { UNSUPPORTED("7teewdwi0ri4goei9djjltz9k"); // void removeDeglist(deglist_t * list, Agnode_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bqnel5obbh4bl3zf0omgdos4n"); // degitem key; UNSUPPORTED("erd6k9k70zu76g38b4bw40qgc"); // degitem *ip; UNSUPPORTED("4dnqwjhhs92m1h2q7ld3cpbxw"); // Agnode_t *np; UNSUPPORTED("1ru9ims6hmw013lfo33nqoovf"); // Agnode_t *prev; UNSUPPORTED("78a3fqbduf77elveak3a5mlzy"); // key.deg = (ND_order(n)); UNSUPPORTED("epr624cob4pobua20tuitepp"); // ip = (degitem *) (*(((Dt_t*)(list))->searchf))((list),(void*)(&key),0000004); UNSUPPORTED("9olui43gl7h3h1fmw7zn66imq"); // assert(ip); UNSUPPORTED("7efmqfndjamyl7n0z6r5wfzl4"); // if (ip->np == n) { UNSUPPORTED("ajf2a1kwtqzgaf0ttc2nkdlo2"); // ip->np = ND_next(n); UNSUPPORTED("3aucho1nw67puvtklsyv092ds"); // if (ip->np == NULL) UNSUPPORTED("cqy11coo93d3bsdiwq7ud9fuo"); // (*(((Dt_t*)(list))->searchf))((list),(void*)(ip),0000002); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("52mt95m4116s9iwqfb25s4pav"); // prev = ip->np; UNSUPPORTED("4sz2f5szhalvcqtkmhiik0vx9"); // np = ND_next(prev); UNSUPPORTED("4n2kwfilkk67likl0qzeycxvd"); // while (np && (np != n)) { UNSUPPORTED("bo6pv2ttquzlqms4raesbt03g"); // prev = np; UNSUPPORTED("5d6ye4vskzqqtwv623y3ih813"); // np = ND_next(np); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5ezdne9bvwnh3wos769j8wiia"); // if (np) UNSUPPORTED("1g10xvvi5utvhj60qc2xdojj1"); // ND_next(prev) = ND_next(np); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6anrbidvt56pez6p6gbqpydt3 // Agnode_t *firstDeglist(deglist_t * list) public static Object firstDeglist(Object... arg) { UNSUPPORTED("e0sl2agzlockom7cxoo51qw1r"); // Agnode_t *firstDeglist(deglist_t * list) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("erd6k9k70zu76g38b4bw40qgc"); // degitem *ip; UNSUPPORTED("4dnqwjhhs92m1h2q7ld3cpbxw"); // Agnode_t *np; UNSUPPORTED("8i6t915t48u87p7rtir1632oz"); // ip = (degitem *) (*(((Dt_t*)(list))->searchf))((list),(void*)(0),0000200); UNSUPPORTED("bct0h7obrwmyxyjpdlga0lo14"); // if (ip) { UNSUPPORTED("78029h2ysex4tgn2j6yc9n606"); // np = ip->np; UNSUPPORTED("dga7wwrm8t8ae9u45xa81skdx"); // ip->np = ND_next(np); UNSUPPORTED("3aucho1nw67puvtklsyv092ds"); // if (ip->np == NULL) UNSUPPORTED("cqy11coo93d3bsdiwq7ud9fuo"); // (*(((Dt_t*)(list))->searchf))((list),(void*)(ip),0000002); UNSUPPORTED("17ijaw8uvtaqajyt5gz56c0bl"); // return np; UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/circogen/edgelist__c.java000066400000000000000000000610171340005343600232730ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.circogen; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class edgelist__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 e0c6o8stnbe78j48z75ksdz7r // typedef Dt_t edgelist //3 c48pu7sje0r78t2wzd4wriou1 // static edgelistitem *mkItem(Dt_t * d, edgelistitem * obj, Dtdisc_t * disc) public static Object mkItem(Object... arg) { UNSUPPORTED("8pmb3scayujj5o5eo9kju7s41"); // static edgelistitem *mkItem(Dt_t * d, edgelistitem * obj, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8ecewest645ms26bpisstjmbk"); // edgelistitem *ap = (edgelistitem*)gmalloc(sizeof(edgelistitem)); UNSUPPORTED("52bu9pkvky17tuwkbe7qqix6r"); // ap->edge = obj->edge; UNSUPPORTED("b8cimfvcp1vea97hyfr4m9nix"); // return ap; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5ju6nwkzfj1kw0o19m27zgi3k // static void freeItem(Dt_t * d, edgelistitem * obj, Dtdisc_t * disc) public static Object freeItem(Object... arg) { UNSUPPORTED("3u61y9byumq89etvp23c3riam"); // static void freeItem(Dt_t * d, edgelistitem * obj, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8are8jqzwfj87yj4tkaohi3tf"); // free(obj); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6cpvzyjpob8pd1xlv3ttghxux // static int cmpItem(Dt_t * d, Agedge_t ** key1, Agedge_t ** key2, Dtdisc_t * disc) public static Object cmpItem(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("ajqv8acrh7u8vbw2juulsum5d"); // cmpItem(Dt_t * d, Agedge_t ** key1, Agedge_t ** key2, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7utf654gwt7egdzz3hm89nlxl"); // if (*key1 > *key2) UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("6upfe9100usb1lfxsl7la30s7"); // else if (*key1 < *key2) UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 en30luofpod7z27w0aj4r8enb // static Dtdisc_t ELDisc = //3 7fca27qkh2mdzf81nmexrpiqr // edgelist *init_edgelist() public static Object init_edgelist(Object... arg) { UNSUPPORTED("yy5ggz6clx2c2onc8xl22qfk"); // edgelist *init_edgelist() UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cfid3mmhj2rdurvanznm8otj3"); // edgelist *list = dtopen(&ELDisc, Dtoset); UNSUPPORTED("1a5vgaasp2bunvu19mvepzcny"); // return list; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a9ttx4x4j9nv42ye6uynivjyd // void free_edgelist(edgelist * list) public static Object free_edgelist(Object... arg) { UNSUPPORTED("3yal0ro8r8xufkq7jtgbrga2v"); // void free_edgelist(edgelist * list) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("aa4i2v07wlx8w47e0lf34c4wz"); // dtclose(list); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 19dxubfb11w2vtknmrufxxlxs // void add_edge(edgelist * list, Agedge_t * e) public static Object add_edge(Object... arg) { UNSUPPORTED("9qznefcg03z35rgwce6d2xz50"); // void add_edge(edgelist * list, Agedge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5mz4ehypkf3qcceorma37u4o3"); // edgelistitem temp; UNSUPPORTED("9ux5w93i4ironqiyms86u2lmg"); // temp.edge = e; UNSUPPORTED("52s02sgijqd90o3eaje0m3ymi"); // (*(((Dt_t*)(list))->searchf))((list),(void*)(&temp),0000001); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9dw7otsax5p3wgco3ezmr6p5u // void remove_edge(edgelist * list, Agedge_t * e) public static Object remove_edge(Object... arg) { UNSUPPORTED("bce0vyzq6ak6qdqruxc8c31h7"); // void remove_edge(edgelist * list, Agedge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5mz4ehypkf3qcceorma37u4o3"); // edgelistitem temp; UNSUPPORTED("9ux5w93i4ironqiyms86u2lmg"); // temp.edge = e; UNSUPPORTED("3gjvpmqetnm6nonhtfkdatcmn"); // (*(((Dt_t*)(list))->searchf))((list),(void*)(&temp),0000002); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7e8iajy59wdlj5qbl2szrnj87 // int size_edgelist(edgelist * list) public static Object size_edgelist(Object... arg) { UNSUPPORTED("ovhqdnpxyvdbmwdqi76epfly"); // int size_edgelist(edgelist * list) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("a0c7a03jtehhu1ndk4myhpzma"); // return dtsize(list); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/circogen/nodelist__c.java000066400000000000000000001026111340005343600233100ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.circogen; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class nodelist__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dtvicq2fjah66wz933ioh4bh2 // static nodelistitem_t *init_nodelistitem(Agnode_t * n) public static Object init_nodelistitem(Object... arg) { UNSUPPORTED("cppsm8li6xhe2nfca5h9hc35s"); // static nodelistitem_t *init_nodelistitem(Agnode_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("a81qmm3v9xj9l8nrqdopeg5x1"); // nodelistitem_t *p = (nodelistitem_t*)zmalloc(sizeof(nodelistitem_t)); UNSUPPORTED("dgfcptwn9m7o8i9r1b9xvngzy"); // p->curr = n; UNSUPPORTED("91xduilalb406jjyw2g1i07th"); // return p; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dy4cfo30aqhqfs9ohp0qrn7fu // nodelist_t *mkNodelist() public static Object mkNodelist(Object... arg) { UNSUPPORTED("czt31m4nlpmyzl2714h6vy9wu"); // nodelist_t *mkNodelist() UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8b2hcjxxfs3fupuecrnixuljm"); // nodelist_t *list = (nodelist_t*)zmalloc(sizeof(nodelist_t)); UNSUPPORTED("1a5vgaasp2bunvu19mvepzcny"); // return list; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ani6po8xj4sxqbhdawzmq8251 // void freeNodelist(nodelist_t * list) public static Object freeNodelist(Object... arg) { UNSUPPORTED("dfgd45o6wb4a2i7993nhfbpvg"); // void freeNodelist(nodelist_t * list) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("pa3zri6e03r37li0yvmybpg4"); // nodelistitem_t *temp; UNSUPPORTED("c6bl1xv56sveza6epjosbv1oj"); // nodelistitem_t *next; UNSUPPORTED("35qymiuzsxbel5wazqnch2eqy"); // if (!list) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("cq9fd6hdrk5i2d37kpjha3qrq"); // for (temp = list->first; temp; temp = next) { UNSUPPORTED("dkag6uuiaeylf8agl944h05pb"); // next = temp->next; UNSUPPORTED("ahlgfjly01f5ug0y9pa2ajm6i"); // free(temp); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("77gdlnaiah901ax125wm0qh80"); // free(list); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bzpmqsej7l7xiqisk32bw2zm8 // void appendNodelist(nodelist_t * list, nodelistitem_t * one, Agnode_t * n) public static Object appendNodelist(Object... arg) { UNSUPPORTED("8yvpsepddhtbarkxefc50dm1h"); // void appendNodelist(nodelist_t * list, nodelistitem_t * one, Agnode_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4iranqg9epblrgj1bzf4x4xbv"); // nodelistitem_t *np = init_nodelistitem(n); UNSUPPORTED("3khggq4ry681ql90ves4iwmto"); // list->sz++; UNSUPPORTED("cgb1s2cixxv6xguzmcfhke7dj"); // if (!one) UNSUPPORTED("ii36llbqruzbw1jtya2ee80y"); // one = list->last; UNSUPPORTED("2lje4v7acqxe7g8zjwc2sqica"); // if (one == list->last) { UNSUPPORTED("6o2129m3tutp76nyfcwp605xq"); // if (one) UNSUPPORTED("76hhn52ngdrr2tjdvcbh751r"); // one->next = np; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("7jm6wxh1nz1zzdnbe6acf2bwu"); // list->first = np; UNSUPPORTED("7gfo2ikm6jikpp4r8zdshyabs"); // np->prev = one; UNSUPPORTED("1xr19fxblzroful8ndn0u83zq"); // np->next = NULL; UNSUPPORTED("24wk90ztjjugjmfnnklcx35hx"); // list->last = np; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("drtfyjrp7u51ma7hu4owbox4y"); // nodelistitem_t *temp = one->next; UNSUPPORTED("189hobyq8t73opjr6qzhjp8iz"); // one->next = np; UNSUPPORTED("7gfo2ikm6jikpp4r8zdshyabs"); // np->prev = one; UNSUPPORTED("19s0nm1mqdyd4k94v7574crf1"); // temp->prev = np; UNSUPPORTED("adyo2r5ry9iybnj962fi9s2lx"); // np->next = temp; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ctsccyqeaa9wecrwozla2ksu1 // nodelist_t *reverseNodelist(nodelist_t * list) public static Object reverseNodelist(Object... arg) { UNSUPPORTED("6g1dv3qe875isiu5iwy67xcox"); // nodelist_t *reverseNodelist(nodelist_t * list) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("pa3zri6e03r37li0yvmybpg4"); // nodelistitem_t *temp; UNSUPPORTED("5nxbag6j6mm7x1s5lcxx4yduv"); // nodelistitem_t *p; UNSUPPORTED("dgmoklrjltys555ns5u1guhlc"); // for (p = list->first; p; p = p->prev) { UNSUPPORTED("13rcpao1mnwjyegxg4am7xcfk"); // temp = p->next; UNSUPPORTED("cpbjg01gslnulx45hhu9laqkq"); // p->next = p->prev; UNSUPPORTED("oky4e50byjbs4i1b2ryzxldd"); // p->prev = temp; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("86r2uoo76jcwz7tegpylhu6hj"); // temp = list->last; UNSUPPORTED("qsi5a1a5iu7ucnu30kwcdlyq"); // list->last = list->first; UNSUPPORTED("4jyx9h2dzuqwc2lw74af56n8q"); // list->first = temp; UNSUPPORTED("1a5vgaasp2bunvu19mvepzcny"); // return list; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 af9x62teargqqy8dz9adaj72s // void realignNodelist(nodelist_t * list, nodelistitem_t * np) public static Object realignNodelist(Object... arg) { UNSUPPORTED("1tadjwwe46zric2aoph7y61gs"); // void realignNodelist(nodelist_t * list, nodelistitem_t * np) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("pa3zri6e03r37li0yvmybpg4"); // nodelistitem_t *temp; UNSUPPORTED("b0lfbtcbms9p2h7g8ps8ssz4k"); // nodelistitem_t *prev; UNSUPPORTED("5blj9eu4g4s75yfeqzyik4z8w"); // if (np == list->first) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("9pbvnj7ksi5hm9yp64vshl4n2"); // temp = list->first; UNSUPPORTED("9xeibemdh2ufq2ugwmdbkdfc8"); // prev = np->prev; UNSUPPORTED("emjbf0ldol95uuq5s5ewx07pa"); // list->first = np; UNSUPPORTED("9m9ukxgb5qeidz5dbtl9rtxyn"); // np->prev = NULL; UNSUPPORTED("ddjypr6ls3rjoapphnj80yk8j"); // list->last->next = temp; UNSUPPORTED("8n6y5ljrux6tk4ois15gwc3ud"); // temp->prev = list->last; UNSUPPORTED("5ta19ur7mycgypllf3zhq2f7t"); // list->last = prev; UNSUPPORTED("6xwhww8e9rdm0um5baaabdyw2"); // prev->next = NULL; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bknx0j43q6gqf020gmb5mk2g3 // nodelist_t *cloneNodelist(nodelist_t * list) public static Object cloneNodelist(Object... arg) { UNSUPPORTED("chwajviesvyazqfya8zcqw9pa"); // nodelist_t *cloneNodelist(nodelist_t * list) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("49lh14x9cdmmo85yn8bljp09o"); // nodelist_t *newlist = mkNodelist(); UNSUPPORTED("pa3zri6e03r37li0yvmybpg4"); // nodelistitem_t *temp; UNSUPPORTED("5csialohxa4l0l6lraa54rmd4"); // nodelistitem_t *prev = 0; UNSUPPORTED("45mgdorn59qcesu3x01ksl67c"); // for (temp = list->first; temp; temp = temp->next) { UNSUPPORTED("ggy4iialzsdom3scvl3ix7vn"); // appendNodelist(newlist, prev, temp->curr); UNSUPPORTED("6xavzw9y8t22iaihjhb327nyz"); // prev = newlist->last; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7e0gcw4mhuz5knrmxh84mikwr"); // return newlist; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9st8dsjp6370v1ctv6tc4q47 // void insertNodelist(nodelist_t * list, Agnode_t * cn, Agnode_t * neighbor, int pos) public static Object insertNodelist(Object... arg) { UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void UNSUPPORTED("2lza3k61gsci4pfghoqrm2apj"); // insertNodelist(nodelist_t * list, Agnode_t * cn, Agnode_t * neighbor, UNSUPPORTED("9969ggdyyy9qaur8aysp582wn"); // int pos) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("pa3zri6e03r37li0yvmybpg4"); // nodelistitem_t *temp; UNSUPPORTED("b0lfbtcbms9p2h7g8ps8ssz4k"); // nodelistitem_t *prev; UNSUPPORTED("c6bl1xv56sveza6epjosbv1oj"); // nodelistitem_t *next; UNSUPPORTED("6w96lik5dx405g2u9ld3a945i"); // nodelistitem_t *actual = 0; UNSUPPORTED("45mgdorn59qcesu3x01ksl67c"); // for (temp = list->first; temp; temp = temp->next) { UNSUPPORTED("c7rv3ap37bgop5z5dny0hewms"); // if (temp->curr == cn) { UNSUPPORTED("5qyuo5c4mgehfy3ggqlhubahi"); // actual = temp; UNSUPPORTED("lmiaqjil1ebd2s0own6tv1g3"); // prev = actual->prev; UNSUPPORTED("e11p9bzk9vmkzp6ioie4ym9be"); // next = actual->next; UNSUPPORTED("7itpb16oyinejl2bkuba1jo8b"); // if (prev) /* not first */ UNSUPPORTED("97nmcjqjguhnn2yp36k9lnavv"); // prev->next = next; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("2q3wh8f7xp879s4g1ksfxwau5"); // list->first = next; UNSUPPORTED("1l5eba0k2sfypru0g3jfpbaam"); // if (next) /* not last */ UNSUPPORTED("4ybg9mys8i2ml9jsa8xmj62c5"); // next->prev = prev; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("dorc8lvahip1l8che0g88yyzw"); // list->last = prev; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bx05lgxs331md9fie0wesuvap"); // assert(actual); UNSUPPORTED("9pg1u5lrva4tjoa207r87y7uu"); // prev = NULL; UNSUPPORTED("45mgdorn59qcesu3x01ksl67c"); // for (temp = list->first; temp; temp = temp->next) { UNSUPPORTED("66w0tvg4s2lxiscws77pv2vjz"); // if (temp->curr == neighbor) { UNSUPPORTED("9fhgx695e7k9wnez4245dfdsb"); // if (pos == 0) { UNSUPPORTED("9oeoke5lzd4ljfeh4g7nqbruq"); // if (temp == list->first) { UNSUPPORTED("2bui4chbceam8ff4fjcvzygkf"); // list->first = actual; UNSUPPORTED("6hto5cvdur2emyfneplidb71m"); // actual->next = temp; UNSUPPORTED("81jvm012c1ipk41dfemx9ewuf"); // actual->prev = NULL; UNSUPPORTED("ddmhucj8hk31d4s1w9omtylrz"); // temp->prev = actual; UNSUPPORTED("46hqh1l8dmimisi2nr03ntomn"); // return; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("elrbl0s6gcjiksecuyv4cwlrw"); // prev->next = actual; UNSUPPORTED("33ng2zf79ee91w58r5kpq90gt"); // actual->prev = prev; UNSUPPORTED("cc0to99z5maq2xnjhudfr5o70"); // actual->next = temp; UNSUPPORTED("8abdi4757pva6bgf2i8xlx185"); // temp->prev = actual; UNSUPPORTED("6bj8inpmr5ulm16jmfxsstjtn"); // return; UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("ccdv56be5vthenta387vrn1qr"); // if (temp == list->last) { UNSUPPORTED("48aigcr040halrvm3i4d0krx9"); // list->last = actual; UNSUPPORTED("49xd4a7j75bfcwd3lfr2r75ud"); // actual->next = NULL; UNSUPPORTED("bir7bd59frh7n7n26s0f9q1x3"); // actual->prev = temp; UNSUPPORTED("3w4qk4r0u8s7lzijxjot851ef"); // temp->next = actual; UNSUPPORTED("46hqh1l8dmimisi2nr03ntomn"); // return; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("4bi759cy3ujnnd0eiv920n5v0"); // actual->prev = temp; UNSUPPORTED("bh2fcn9ayoiebx80yo7p43d1i"); // actual->next = temp->next; UNSUPPORTED("c99hxdonxolbe50cscuoi2y00"); // temp->next->prev = actual; UNSUPPORTED("35b7fo9lcqnhoglg99yc2kpd0"); // temp->next = actual; UNSUPPORTED("6bj8inpmr5ulm16jmfxsstjtn"); // return; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("45r3mykwgd2rl2mbaem3fhd09"); // prev = temp; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3acdwz7swl5xiaa4deeffslb2 // int sizeNodelist(nodelist_t * list) public static Object sizeNodelist(Object... arg) { UNSUPPORTED("az6xj0b4g7rrv5wk4ienryz07"); // int sizeNodelist(nodelist_t * list) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("30o3t71m1veta2ztp8qeny0jg"); // return list->sz; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7vwgwolpyeakgeadjc38vro7u // int node_position(nodelist_t * list, Agnode_t * n) public static Object node_position(Object... arg) { UNSUPPORTED("49384gvfui8kk87uo1hvm6jus"); // int node_position(nodelist_t * list, Agnode_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("chetbysouusnjyid1ehspawij"); // return (((cdata*)(ND_alg(n)))->u.f.pos); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d6risaxfqb2wnfu7t64z2qlhv // static void concatNodelist(nodelist_t * l1, nodelist_t * l2) public static Object concatNodelist(Object... arg) { UNSUPPORTED("crqjl1cf4fhimn7a2kq8j7ktq"); // static void concatNodelist(nodelist_t * l1, nodelist_t * l2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("23s2d45xl329cxf5vszbyqum2"); // if (l2->first) { UNSUPPORTED("94su581vwu985fxc3b3fsn0db"); // if (l2->first) { UNSUPPORTED("1ynd953ypkhiqrl4nheca01f0"); // l1->last->next = l2->first; UNSUPPORTED("8isrj1p6vyp0ibaeneexjpr3k"); // l2->first->prev = l1->last; UNSUPPORTED("lrue5uyjqn248q4hn96a2tyr"); // l1->last = l2->last; UNSUPPORTED("3hgnhs33erfrulx6incku34ma"); // l1->sz += l2->sz; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("9zzlp61k5udwshnz984m6k1za"); // *l1 = *l2; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bp2bbcnbcxxxpxg843u1hyonh // void reverseAppend(nodelist_t * l1, nodelist_t * l2) public static Object reverseAppend(Object... arg) { UNSUPPORTED("wj6n5ch1rmqne3qxotl515tp"); // void reverseAppend(nodelist_t * l1, nodelist_t * l2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f2kglvjqspzbssrc0t5gqounl"); // l2 = reverseNodelist(l2); UNSUPPORTED("crnlco3s0jlkrli5fzm8s9rny"); // concatNodelist(l1, l2); UNSUPPORTED("e3lo2nmmrc9efrwoifxg3z4bp"); // free(l2); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/circogen/nodeset__c.java000066400000000000000000000634201340005343600231340ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.circogen; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class nodeset__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 39duc9sgnnz7xqy8c1hhno72b // typedef Dt_t nodeset_t //3 62459jnnxbav2c5hcep7v85nb // static nsitem_t *mkItem(Dt_t * d, nsitem_t * obj, Dtdisc_t * disc) public static Object mkItem(Object... arg) { UNSUPPORTED("bsbgshly9fnfkjkq1j8wzgf6v"); // static nsitem_t *mkItem(Dt_t * d, nsitem_t * obj, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4dsr793q1dbnq4jof60oe0a1x"); // nsitem_t *ap = (nsitem_t*)gmalloc(sizeof(nsitem_t)); UNSUPPORTED("2a3snjof794fbvtns64g1oydj"); // ap->np = obj->np; UNSUPPORTED("b8cimfvcp1vea97hyfr4m9nix"); // return ap; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c5n5x0ad5kdzzfdcyn4jk60uk // static void freeItem(Dt_t * d, nsitem_t * obj, Dtdisc_t * disc) public static Object freeItem(Object... arg) { UNSUPPORTED("4ynix280v14ql47zkf5nhsqjo"); // static void freeItem(Dt_t * d, nsitem_t * obj, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8are8jqzwfj87yj4tkaohi3tf"); // free(obj); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 75pqi5jto64y7vf5woibc7we7 // static int cmpItem(Dt_t * d, Agnode_t ** key1, Agnode_t ** key2, Dtdisc_t * disc) public static Object cmpItem(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("23scptyfqg3min3jegzkmsba5"); // cmpItem(Dt_t * d, Agnode_t ** key1, Agnode_t ** key2, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7utf654gwt7egdzz3hm89nlxl"); // if (*key1 > *key2) UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("6upfe9100usb1lfxsl7la30s7"); // else if (*key1 < *key2) UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 54whed6ufxjlmpxj9tx6zqlbx // static Dtdisc_t nodeDisc = //3 450ov2obe7vcg7jy4mdrs1kq6 // nodeset_t *mkNodeset() public static Object mkNodeset(Object... arg) { UNSUPPORTED("2zeou2lmth8zxf98spohfevn9"); // nodeset_t *mkNodeset() UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7w5u5wrm21t7ngnd9pe778h25"); // nodeset_t *s = dtopen(&nodeDisc, Dtoset); UNSUPPORTED("3y6wj3ntgmr1qkdpm7wp1dsch"); // return s; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clbr7gnx6ka3lhe7su6lm9txj // void freeNodeset(nodeset_t * s) public static Object freeNodeset(Object... arg) { UNSUPPORTED("grtt180bkqajtt8903kd4w3w"); // void freeNodeset(nodeset_t * s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2tsp1c0clxcfselstsr54hnrg"); // if (s != NULL) UNSUPPORTED("8ozn8claiw8jsksr2w5j0028i"); // dtclose(s); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4ruhmyhymnmhpz0b78gk3dya // void clearNodeset(nodeset_t * s) public static Object clearNodeset(Object... arg) { UNSUPPORTED("5af7s6p6nj71jacraqx9oerps"); // void clearNodeset(nodeset_t * s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8idvqx73jm5c6q3x6qk0uuv33"); // (*(((Dt_t*)(s))->searchf))((s),(void*)(0),0000100); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c5x2cnob455a31zsm30tmlmqc // void insertNodeset(nodeset_t * ns, Agnode_t * n) public static Object insertNodeset(Object... arg) { UNSUPPORTED("dctuhmh9290ltkzbol4v2c181"); // void insertNodeset(nodeset_t * ns, Agnode_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b6eq7i5dup9xp7pea447e40j4"); // nsitem_t key; UNSUPPORTED("4sacr2xzpt0z7lm5tpdtj5o2e"); // key.np = n; UNSUPPORTED("adp8kv3cgemc8cu7fohblmj0f"); // (*(((Dt_t*)(ns))->searchf))((ns),(void*)(&key),0000001); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e0ghryzmt0b0d3blwtyi1t6is // void removeNodeset(nodeset_t * ns, Agnode_t * n) public static Object removeNodeset(Object... arg) { UNSUPPORTED("7vkqkt69zioljaapauhoi7zxt"); // void removeNodeset(nodeset_t * ns, Agnode_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b6eq7i5dup9xp7pea447e40j4"); // nsitem_t key; UNSUPPORTED("4sacr2xzpt0z7lm5tpdtj5o2e"); // key.np = n; UNSUPPORTED("4ncqgz69861d8ismpkbjmad92"); // (*(((Dt_t*)(ns))->searchf))((ns),(void*)(&key),0000002); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 q9vubw6u2jkstxm4emkzpxtu // int sizeNodeset(nodeset_t * ns) public static Object sizeNodeset(Object... arg) { UNSUPPORTED("2a1aiss2f5k7z2sowpoo65ojd"); // int sizeNodeset(nodeset_t * ns) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7xkm2ev66k4ilje9ec4lpq6ad"); // return dtsize(ns); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5os2x3unmsneajs4xd4i1jkxp // void printNodeset(nodeset_t * ns) public static Object printNodeset(Object... arg) { UNSUPPORTED("a8uozjs0q7y2pa14d9yqrbk6s"); // void printNodeset(nodeset_t * ns) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9ha1577re7zue762z6qi4xtgd"); // nsitem_t *ip; UNSUPPORTED("1nnn5fn3otojyadjlfyivf1bo"); // for (ip = (nsitem_t *) (*(((Dt_t*)(ns))->searchf))((ns),(void*)(0),0000200); ip; UNSUPPORTED("dote9fxh3agqvjxns586ln04c"); // ip = (nsitem_t *) (*(((Dt_t*)(ns))->searchf))((ns),(void*)(ip),0000010)) { UNSUPPORTED("9qkbnrn10w82tq2g5boqlixvv"); // fprintf(stderr, "%s", agnameof(ip->np)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c95k2u5egba0bgdcr1c8inc4e"); // fputs("\n", stderr); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/common/000077500000000000000000000000001340005343600176615ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/gen/lib/common/args__c.java000066400000000000000000001060341340005343600221250ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class args__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4bf9buvykusqzi4629qwmbd2x // static int neato_extra_args(GVC_t *gvc, int argc, char** argv) public static Object neato_extra_args(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("esa1s702otdlr6702fn7wstuz"); // neato_extra_args(GVC_t *gvc, int argc, char** argv) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("vchrmawq91kb0ii45yhrwq9"); // char** p = argv+1; UNSUPPORTED("29u9nk1nrupcw2j8c7qe5glz7"); // int i; UNSUPPORTED("dqwks39qtsnmvslaj3igd3y27"); // char* arg; UNSUPPORTED("b153u7kyw153reyniefayrq6n"); // int cnt = 1; UNSUPPORTED("dm1yusgl0wehpupm0jpt4whpr"); // for (i = 1; i < argc; i++) { UNSUPPORTED("7yfqt2sdvyf0czltsldtzxf02"); // arg = argv[i]; UNSUPPORTED("78ho9iw8bl94i74str8zdbor8"); // if (arg && *arg == '-') { UNSUPPORTED("52y2apnsdpil1r7ibzx11pfwq"); // switch (arg[1]) { UNSUPPORTED("1xmmmvijo8yqys8w1l7equ9bh"); // case 'x' : Reduce = NOT(0); break; UNSUPPORTED("np1uxcrfeypdcuwqmi7i4srq"); // case 'n': UNSUPPORTED("9sjpw2ts0x0qu27cc7xgcoc36"); // if (arg[2]) { UNSUPPORTED("c45q8u35p73iqi4c2x1tt50s7"); // Nop = atoi(arg+2); UNSUPPORTED("e7kh2ktytt7wqgsocz9cktts3"); // if (Nop <= 0) { UNSUPPORTED("1yk7tr54pd4zonqofo51220c5"); // agerr (AGERR, "Invalid parameter \"%s\" for -n flag\n", arg+2); UNSUPPORTED("d48xlsgsi8ksecguxhnr5gpr6"); // dotneato_usage (1); UNSUPPORTED("aivfd7ajlfz8o8oi68d4u5s5z"); // return -1; UNSUPPORTED("4v3ujrl58y59e7pqk0ke5t564"); // } UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("296pjg5wdjsxjiyr8ajjrb5er"); // else Nop = 1; UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("63dmlsq766n7ojce42s6jvgyv"); // default : UNSUPPORTED("77mslev6fngkh87g2jkd6j87j"); // cnt++; UNSUPPORTED("6fllt9icceu2ygmiz84j3ls10"); // if (*p != arg) *p = arg; UNSUPPORTED("5ms90gds9d7jyok5oqzrumfjz"); // p++; UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("dquo3qofk56ds5xl95lhvcthf"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("cqtmxcio96sfpr9cmw4ukg3op"); // cnt++; UNSUPPORTED("5436ztz7fh7w1wa56xdldkwxj"); // if (*p != arg) *p = arg; UNSUPPORTED("broludtxg204vlgctqigehzxi"); // p++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("23w7qifugn1eere89tsewk6tp"); // *p = 0; UNSUPPORTED("aux4g6wms30ow0s96grtfcsba"); // return cnt; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8p7j205ggerm803oa23gkc2g8 // static int memtest_extra_args(GVC_t *gvc, int argc, char** argv) public static Object memtest_extra_args(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("7do955i8h8cmq6xw2d40dfrcs"); // memtest_extra_args(GVC_t *gvc, int argc, char** argv) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("vchrmawq91kb0ii45yhrwq9"); // char** p = argv+1; UNSUPPORTED("29u9nk1nrupcw2j8c7qe5glz7"); // int i; UNSUPPORTED("dqwks39qtsnmvslaj3igd3y27"); // char* arg; UNSUPPORTED("b153u7kyw153reyniefayrq6n"); // int cnt = 1; UNSUPPORTED("dm1yusgl0wehpupm0jpt4whpr"); // for (i = 1; i < argc; i++) { UNSUPPORTED("7yfqt2sdvyf0czltsldtzxf02"); // arg = argv[i]; UNSUPPORTED("78ho9iw8bl94i74str8zdbor8"); // if (arg && *arg == '-') { UNSUPPORTED("52y2apnsdpil1r7ibzx11pfwq"); // switch (arg[1]) { UNSUPPORTED("9zx51b0tqpm98tv6whinwsaf4"); // case 'm' : UNSUPPORTED("9sjpw2ts0x0qu27cc7xgcoc36"); // if (arg[2]) { UNSUPPORTED("bk5spyi1l39jkjsb3vbxzm3zv"); // MemTest = atoi(arg+2); UNSUPPORTED("3xb2rjjaiqbjuir0amd6fb25g"); // if (MemTest <= 0) { UNSUPPORTED("a1lgwp8e8pwhm57ony6wojcxk"); // agerr (AGERR, "Invalid parameter \"%s\" for -m flag\n", arg+2); UNSUPPORTED("d48xlsgsi8ksecguxhnr5gpr6"); // dotneato_usage (1); UNSUPPORTED("aivfd7ajlfz8o8oi68d4u5s5z"); // return -1; UNSUPPORTED("4v3ujrl58y59e7pqk0ke5t564"); // } UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("9fb91rfixm2s211ep1iptout"); // else MemTest = -1; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("63dmlsq766n7ojce42s6jvgyv"); // default : UNSUPPORTED("77mslev6fngkh87g2jkd6j87j"); // cnt++; UNSUPPORTED("6fllt9icceu2ygmiz84j3ls10"); // if (*p != arg) *p = arg; UNSUPPORTED("5ms90gds9d7jyok5oqzrumfjz"); // p++; UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("dquo3qofk56ds5xl95lhvcthf"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("cqtmxcio96sfpr9cmw4ukg3op"); // cnt++; UNSUPPORTED("5436ztz7fh7w1wa56xdldkwxj"); // if (*p != arg) *p = arg; UNSUPPORTED("broludtxg204vlgctqigehzxi"); // p++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("23w7qifugn1eere89tsewk6tp"); // *p = 0; UNSUPPORTED("aux4g6wms30ow0s96grtfcsba"); // return cnt; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5vvap3kfi3ewk4onfchidrfmz // static int config_extra_args(GVC_t *gvc, int argc, char** argv) public static Object config_extra_args(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("36f9jhc4e06p98qfdd1h9db62"); // config_extra_args(GVC_t *gvc, int argc, char** argv) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("vchrmawq91kb0ii45yhrwq9"); // char** p = argv+1; UNSUPPORTED("29u9nk1nrupcw2j8c7qe5glz7"); // int i; UNSUPPORTED("dqwks39qtsnmvslaj3igd3y27"); // char* arg; UNSUPPORTED("b153u7kyw153reyniefayrq6n"); // int cnt = 1; UNSUPPORTED("dm1yusgl0wehpupm0jpt4whpr"); // for (i = 1; i < argc; i++) { UNSUPPORTED("7yfqt2sdvyf0czltsldtzxf02"); // arg = argv[i]; UNSUPPORTED("78ho9iw8bl94i74str8zdbor8"); // if (arg && *arg == '-') { UNSUPPORTED("52y2apnsdpil1r7ibzx11pfwq"); // switch (arg[1]) { UNSUPPORTED("8hve8n5micl5wbpbe4s6tx91r"); // case 'v': UNSUPPORTED("1i5rkr1j6m4qjh4p7ccv160tb"); // gvc->common.verbose = 1; UNSUPPORTED("braofjgdk57w4vybhk2d5lf74"); // if (isdigit(arg[2])) UNSUPPORTED("eh4a9je8p9cc5237lmw5bge42"); // gvc->common.verbose = atoi(&arg[2]); UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("w7w6iggiak86ob87592vfsc6"); // case 'O' : UNSUPPORTED("dy3as4a2z79xr2yy9ruo7pvgr"); // gvc->common.auto_outfile_names = NOT(0); UNSUPPORTED("5tzm1n3i8u3c1oms5ri2fiqbt"); // break; UNSUPPORTED("28vj8fdgz2qg6391cwrl0oz21"); // case 'c' : UNSUPPORTED("63ui3zhby8bmj2wg0fn2q96xj"); // gvc->common.config = NOT(0); UNSUPPORTED("5tzm1n3i8u3c1oms5ri2fiqbt"); // break; UNSUPPORTED("63dmlsq766n7ojce42s6jvgyv"); // default : UNSUPPORTED("77mslev6fngkh87g2jkd6j87j"); // cnt++; UNSUPPORTED("6fllt9icceu2ygmiz84j3ls10"); // if (*p != arg) *p = arg; UNSUPPORTED("5ms90gds9d7jyok5oqzrumfjz"); // p++; UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("dquo3qofk56ds5xl95lhvcthf"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("cqtmxcio96sfpr9cmw4ukg3op"); // cnt++; UNSUPPORTED("5436ztz7fh7w1wa56xdldkwxj"); // if (*p != arg) *p = arg; UNSUPPORTED("broludtxg204vlgctqigehzxi"); // p++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("23w7qifugn1eere89tsewk6tp"); // *p = 0; UNSUPPORTED("aux4g6wms30ow0s96grtfcsba"); // return cnt; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 f1dd7gkq4wmnxg8hs236lk99y // static int setDouble (double* v, char* arg) public static Object setDouble(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("de23ht5iyfmjr52eufndqvviw"); // setDouble (double* v, char* arg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1vp9ctqomm1prbzfcw3iekjae"); // char* p; UNSUPPORTED("2di4na9yg012kjr64hp3x0c0f"); // double d; UNSUPPORTED("5chu16helmcmihc2ulr2kxgzr"); // d = strtod(arg,&p); UNSUPPORTED("1sa25jtazj7gwvr1kvphkc3dh"); // if (p == arg) { UNSUPPORTED("a23t2j8ukgpd3n7ubqpa5gccj"); // agerr (AGERR, "bad value in flag -L%s - ignored\n", arg-1); UNSUPPORTED("3tcgz4dupb6kw5tdk7n3pca2l"); // return 1; UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("9vlugsd3snak94gf05cwvnrr2"); // *v = d; UNSUPPORTED("bid671dovx1rdiquw5vm3fttj"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4gmf2emr89qdx3aqmaplne0k // static int setInt (int* v, char* arg) public static Object setInt(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("1ia068nvginu2yhs188oo991p"); // setInt (int* v, char* arg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1vp9ctqomm1prbzfcw3iekjae"); // char* p; UNSUPPORTED("63myvfqx2n5qchb2xsnadn2t3"); // int i; UNSUPPORTED("6tenu6ts0talbe25gqrp1boie"); // i = (int)strtol(arg,&p,10); UNSUPPORTED("1sa25jtazj7gwvr1kvphkc3dh"); // if (p == arg) { UNSUPPORTED("a23t2j8ukgpd3n7ubqpa5gccj"); // agerr (AGERR, "bad value in flag -L%s - ignored\n", arg-1); UNSUPPORTED("3tcgz4dupb6kw5tdk7n3pca2l"); // return 1; UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("3zdv2wxd4wuyb443w3ewc4tud"); // *v = i; UNSUPPORTED("bid671dovx1rdiquw5vm3fttj"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6150ojro4hufw87jc6pvq95dd // static int setFDPAttr (char* arg) public static Object setFDPAttr(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("bjhn85lnzdoq1133w83naducd"); // setFDPAttr (char* arg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("adal17qy2p2c2udfjdup5jcd8"); // switch (*arg++) { UNSUPPORTED("ewho1c3gx6n1smztwz6delx7f"); // case 'g' : UNSUPPORTED("16d1qggixmwdtn8d7fhnwln0u"); // fdp_parms->useGrid = 0; UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("2fn9v8i1hgalj7sq7q8huppke"); // case 'O' : UNSUPPORTED("8hzafgbup3w08h2m9b6005vp2"); // fdp_parms->useNew = 0; UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("ehgiqxt9i5d239qrzougvanzh"); // case 'n' : UNSUPPORTED("5v7kadf0khrmtx1dldq0rpi98"); // if (setInt (&fdp_parms->numIters, arg)) return 1; UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("2d40s862frst4por3szi6iowz"); // case 'U' : UNSUPPORTED("8b2suxlh89glat5kihpuepbzn"); // if (setInt (&fdp_parms->unscaled, arg)) return 1; UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("7dcx28zgefkzakfiqddjd4twc"); // case 'C' : UNSUPPORTED("2552dgdsp464ukyu0ul3iu8rr"); // if (setDouble (&fdp_parms->C, arg)) return 1; UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("3sutcnfx01z7382cib3gkfhht"); // case 'T' : UNSUPPORTED("45zugi5wky945tib5vhd1x21y"); // if (*arg == '*') { UNSUPPORTED("6iuiou1xlsam1m2a03r5hrp07"); // if (setDouble (&fdp_parms->Tfact, arg+1)) return 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("4kdlxsp3dqepnmerxanmtbvdi"); // if (setDouble (&fdp_parms->T0, arg)) return 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("ao6hmye4t5tgve7qeyo667z6m"); // default : UNSUPPORTED("bcdblpxa0h1d0z47irwzxw9p5"); // agerr (AGWARN, "unknown flag -L%s - ignored\n", arg-1); UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("bid671dovx1rdiquw5vm3fttj"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3vun3scvr1a4wzvyc881vq03y // static int fdp_extra_args (GVC_t *gvc, int argc, char** argv) public static Object fdp_extra_args(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("2mn97djxh0musn36mr9yc0fsu"); // fdp_extra_args (GVC_t *gvc, int argc, char** argv) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("vchrmawq91kb0ii45yhrwq9"); // char** p = argv+1; UNSUPPORTED("29u9nk1nrupcw2j8c7qe5glz7"); // int i; UNSUPPORTED("dqwks39qtsnmvslaj3igd3y27"); // char* arg; UNSUPPORTED("b153u7kyw153reyniefayrq6n"); // int cnt = 1; UNSUPPORTED("dm1yusgl0wehpupm0jpt4whpr"); // for (i = 1; i < argc; i++) { UNSUPPORTED("7yfqt2sdvyf0czltsldtzxf02"); // arg = argv[i]; UNSUPPORTED("ef9qwa3dgutydp4p7luyr2bc6"); // if (arg && (*arg == '-') && (*(arg+1) == 'L')) { UNSUPPORTED("5kylq06joc45h90diw5jw7ltf"); // if (setFDPAttr (arg+2)) { UNSUPPORTED("3336x5ydlp3mcvrtiyxeh97kg"); // dotneato_usage(1); UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("dquo3qofk56ds5xl95lhvcthf"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("cqtmxcio96sfpr9cmw4ukg3op"); // cnt++; UNSUPPORTED("5436ztz7fh7w1wa56xdldkwxj"); // if (*p != arg) *p = arg; UNSUPPORTED("broludtxg204vlgctqigehzxi"); // p++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("23w7qifugn1eere89tsewk6tp"); // *p = 0; UNSUPPORTED("aux4g6wms30ow0s96grtfcsba"); // return cnt; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5xe1appewv62gtmkzdjzib7mr // int gvParseArgs(GVC_t *gvc, int argc, char** argv) public static Object gvParseArgs(Object... arg) { UNSUPPORTED("9wm868oq7vnqwr4h9g3qwpp70"); // int gvParseArgs(GVC_t *gvc, int argc, char** argv) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ecz4e03zumggc8tfymqvirexq"); // int rv; UNSUPPORTED("1adiibcyzt5tbvoqh5dcoed4x"); // if ((argc = neato_extra_args(gvc, argc, argv)) < 0) UNSUPPORTED("9ha9lxje55wyq89xmlikm85qw"); // return (1-argc); UNSUPPORTED("9khladgfiv87rrhd2orifedvf"); // if ((argc = fdp_extra_args(gvc, argc, argv)) < 0) UNSUPPORTED("9ha9lxje55wyq89xmlikm85qw"); // return (1-argc); UNSUPPORTED("bw180d61ya05twg120nytatvc"); // if ((argc = memtest_extra_args(gvc, argc, argv)) < 0) UNSUPPORTED("9ha9lxje55wyq89xmlikm85qw"); // return (1-argc); UNSUPPORTED("3ardghom15gc1fi8iffbnxvo8"); // if ((argc = config_extra_args(gvc, argc, argv)) < 0) UNSUPPORTED("9ha9lxje55wyq89xmlikm85qw"); // return (1-argc); UNSUPPORTED("7ch594ljf53kf7khsyl2f7fd5"); // if ((rv = dotneato_args_initialize(gvc, argc, argv))) UNSUPPORTED("cs1ejkx9cw658cl8cagdzqrzm"); // return rv; UNSUPPORTED("2di5wqm6caczzl6bvqe35ry8y"); // if (Verbose) UNSUPPORTED("8xq126b3a0ygzs1b8d52hvvhm"); // gvplugin_write_status(gvc); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/common/arrows__c.java000066400000000000000000001747761340005343600225300ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static gen.lib.cgraph.attr__c.agxget; import static gen.lib.cgraph.graph__c.agisdirected; import static gen.lib.cgraph.obj__c.agraphof; import static gen.lib.common.splines__c.bezier_clip; import static gen.lib.common.utils__c.late_double; import static smetana.core.JUtils.LOG2; import static smetana.core.JUtils.function; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.DIST2; import static smetana.core.Macro.ED_conc_opp_flag; import static smetana.core.Macro.NOT; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agedge_s; import h.ST_arrowdir_t; import h.ST_arrowname_t; import h.ST_bezier; import h.ST_inside_t; import h.ST_pointf; import smetana.core.CString; import smetana.core.MutableDouble; import smetana.core.Z; public class arrows__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 8g6b12c9lhliz7wt1b4g6ol4q // static arrowdir_t Arrowdirs[] = //1 bh7utclfhqwp6bpy5c8g693wa // static arrowname_t Arrowsynonyms[] = /*private static final __array_of_struct__ Arrowsynonyms = __array_of_struct__.malloc(arrowname_t.class, 1); static { Arrowsynonyms.plus(0).setStruct(create_arrowname_t(null, 0)); }*/ //1 5yb25qm8n3hiqb86lalpa6q5n // static arrowname_t Arrowmods[] = /*private static final __array_of_struct__ Arrowmods = __array_of_struct__.malloc(arrowname_t.class, 1); static { Arrowmods.plus(0).setStruct(create_arrowname_t(null, 0)); }*/ //1 e8dhqbfo267go86knqiqq0dnv // static arrowname_t Arrownames[] = /*private static final __array_of_struct__ Arrownames = __array_of_struct__.malloc(arrowname_t.class, 3); static { Arrownames.plus(0).setStruct(create_arrowname_t("normal", 1)); Arrownames.plus(1).setStruct(create_arrowname_t("none", 8)); Arrownames.plus(2).setStruct(create_arrowname_t(null, 0)); } private final static __struct__ create_arrowname_t(String name, int type) { final __struct__ result = JUtils.from(arrowname_t.class); result.setCString("name", name==null?null:new CString(name)); result.setInt("type", type); return result; }*/ //1 dnirq5m2r8c2mep5o1m3cdn6d // static arrowtype_t Arrowtypes[] = /*private static final __array_of_struct__ Arrowtypes = __array_of_struct__.malloc(arrowtype_t.class, 9); static { Arrowtypes.plus(0).setStruct(createArrowtypes(1, 1.0, function(arrows__c.class, "arrow_type_normal"))); Arrowtypes.plus(1).setStruct(createArrowtypes(2, 1.0, function(arrows__c.class, "arrow_type_crow"))); Arrowtypes.plus(2).setStruct(createArrowtypes(3, 0.5, function(arrows__c.class, "arrow_type_tee"))); Arrowtypes.plus(3).setStruct(createArrowtypes(4, 1.0, function(arrows__c.class, "arrow_type_box"))); Arrowtypes.plus(4).setStruct(createArrowtypes(5, 1.2, function(arrows__c.class, "arrow_type_diamond"))); Arrowtypes.plus(5).setStruct(createArrowtypes(6, 0.8, function(arrows__c.class, "arrow_type_dot"))); Arrowtypes.plus(6).setStruct(createArrowtypes(7, 1.0, function(arrows__c.class, "arrow_type_curve"))); Arrowtypes.plus(7).setStruct(createArrowtypes(8, 0.5, function(arrows__c.class, "arrow_type_gap"))); Arrowtypes.plus(8).setStruct(createArrowtypes(0, 0.0, null)); } private final static __struct__ createArrowtypes(int type, double lenfact, CFunction function) { final __struct__ result = JUtils.from(arrowtype_t.class); result.setInt("type", type); result.setDouble("lenfact", lenfact); result.setPtr("gen", function); return result; }*/ //3 3apnay8wumntfkvud64ov7fcf // static char *arrow_match_name_frag(char *name, arrowname_t * arrownames, int *flag) public static CString arrow_match_name_frag(CString name, ST_arrowname_t[] arrowsynonyms, int flag[]) { ENTERING("3apnay8wumntfkvud64ov7fcf","arrow_match_name_frag"); try { UNSUPPORTED("cw8t22aa6zs16jqowqjjkzywg"); // static char *arrow_match_name_frag(char *name, arrowname_t * arrownames, int *flag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ij5y28mkncrjeiqcpshx0eb6"); // arrowname_t *arrowname; UNSUPPORTED("1tn1krtup6qe1swed3vb7rsyl"); // int namelen = 0; UNSUPPORTED("c0vrdgjia18jvvw01f49sovz5"); // char *rest = name; UNSUPPORTED("ecwk85uixpdt1xvlwr1rw58a4"); // for (arrowname = arrownames; arrowname->name; arrowname++) { UNSUPPORTED("9h58czuqvp8q45izpqt7dzgi6"); // namelen = strlen(arrowname->name); UNSUPPORTED("9fd8hjdir8m00yuhi9anrrnos"); // if (strncmp(name, arrowname->name, namelen) == 0) { UNSUPPORTED("ag3b2jixanemgvefu1c01mp6u"); // *flag |= arrowname->type; UNSUPPORTED("1h43j4ja8m8uxuvay0jg33ukm"); // rest += namelen; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bbweh79ihpurvsz097xab3u5k"); // return rest; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("3apnay8wumntfkvud64ov7fcf","arrow_match_name_frag"); } } //3 b669zec8aznq4obnil98j5lby // static char *arrow_match_shape(char *name, int *flag) public static CString arrow_match_shape(CString name, int flag[]) { ENTERING("b669zec8aznq4obnil98j5lby","arrow_match_shape"); try { CString next, rest; int f[] = new int[] {0}; rest = arrow_match_name_frag(name, Z.z().Arrowsynonyms, f); UNSUPPORTED("304yfmlt3qwn4zydpx1hgmf5o"); // if (rest == name) { UNSUPPORTED("8vxyvy38lzpbd83cu26nejaan"); // do { UNSUPPORTED("do0zgfzipmk0sgv0q0u14es1c"); // next = rest; UNSUPPORTED("csdu3mgjv4ya6xqk2bisko4gp"); // rest = arrow_match_name_frag(next, Arrowmods, &f); UNSUPPORTED("17cxbrtqid90xrrl75cvyvhs5"); // } while (next != rest); UNSUPPORTED("9u4q5zwdkpdava55p9xyg8xph"); // rest = arrow_match_name_frag(rest, Arrownames, &f); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("98pvjlaju0ufz56v1jcwyelw6"); // if (f && !(f & ((1 << 4) - 1))) UNSUPPORTED("2mly07gipiope02mgflzcie3e"); // f |= 1; UNSUPPORTED("48w47t8z0k3lb7rxdlbd6n7p9"); // *flag |= f; UNSUPPORTED("bbweh79ihpurvsz097xab3u5k"); // return rest; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("b669zec8aznq4obnil98j5lby","arrow_match_shape"); } } //3 2pveqb5qcgfxcqp410ub942eg // static void arrow_match_name(char *name, int *flag) public static void arrow_match_name(CString name, int flag[]) { ENTERING("2pveqb5qcgfxcqp410ub942eg","arrow_match_name"); try { CString rest = name; CString next; int i, f; flag[0] = 0; LOG2("Skipping arrow_match_name"); } finally { LEAVING("2pveqb5qcgfxcqp410ub942eg","arrow_match_name"); } } //3 2szgwtfieaw58pea2ohjyu8ea // void arrow_flags(Agedge_t * e, int *sflag, int *eflag) public static void arrow_flags(ST_Agedge_s e, int sflag[], int eflag[]) { ENTERING("2szgwtfieaw58pea2ohjyu8ea","arrow_flags"); try { CString attr; ST_arrowdir_t arrowdir; sflag[0] = (0); eflag[0] = agisdirected(agraphof(e)) ? 1 : (0); if (Z.z().E_dir!=null && ((attr = agxget(e, Z.z().E_dir))).charAt(0)!='\0') { UNSUPPORTED("em7x45v09orjeey5u06gf9b4s"); // for (arrowdir = Arrowdirs; arrowdir->dir; arrowdir++) { UNSUPPORTED("dhaookuw0a1xqmh07lldcvlgi"); // if ((*(attr)==*(arrowdir->dir)&&!strcmp(attr,arrowdir->dir))) { UNSUPPORTED("1d32qbc447n7nmmvedj3bnhr4"); // *sflag = arrowdir->sflag; UNSUPPORTED("4bwlkonvn34iwi5ea1o8zov3o"); // *eflag = arrowdir->eflag; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } } if (Z.z().E_arrowhead!=null && (eflag[0] == 1) && ((attr = agxget(e,Z.z(). E_arrowhead))).charAt(0)!='\0') arrow_match_name(attr, eflag); if (Z.z().E_arrowtail!=null && (sflag[0] == 1) && ((attr = agxget(e, Z.z().E_arrowtail))).charAt(0)!='\0') arrow_match_name(attr, sflag); if (ED_conc_opp_flag(e)) { UNSUPPORTED("1p2usipxeqlorwroqo37t3yfy"); // edge_t *f; UNSUPPORTED("6ne3pu2bnhx6tyx81t4td4up6"); // int s0, e0; UNSUPPORTED("8vccx8sm1c228dqm7l1jm2hfs"); // /* pick up arrowhead of opposing edge */ UNSUPPORTED("cu21qrxyz93ly7l96af2gcsle"); // f = (agedge(agraphof(aghead(e)),aghead(e),agtail(e),NULL,0)); UNSUPPORTED("9u6scg3h7baww90tcykvjhajo"); // arrow_flags(f, &s0, &e0); UNSUPPORTED("157il4mnbenpon7knxfdb4fwb"); // *eflag = *eflag | s0; UNSUPPORTED("7wucod5xwp24vblpcbjbmmcq1"); // *sflag = *sflag | e0; } } finally { LEAVING("2szgwtfieaw58pea2ohjyu8ea","arrow_flags"); } } //3 1yk5wl46i7rlzcern0tefd24s // double arrow_length(edge_t * e, int flag) public static double arrow_length(ST_Agedge_s e, int flag) { ENTERING("1yk5wl46i7rlzcern0tefd24s","arrow_length"); try { double lenfact = 0.0; int f, i; for (i = 0; i < 4; i++) { /* we don't simply index with flag because arrowtypes are not necessarily sorted */ f = (flag >> (i * 8)) & ((1 << 4) - 1); for (int arrowtype = 0; Z.z().Arrowtypes[arrowtype].gen!=null; arrowtype++) { if (f == Z.z().Arrowtypes[arrowtype].type) { lenfact += Z.z().Arrowtypes[arrowtype].lenfact; break; } } } /* The original was missing the factor E_arrowsz, but I believe it should be here for correct arrow clipping */ return 10. * lenfact * late_double(e, Z.z().E_arrowsz, 1.0, 0.0); } finally { LEAVING("1yk5wl46i7rlzcern0tefd24s","arrow_length"); } } //3 7ymcsnwqkr1crisrga0kezh1f // static boolean inside(inside_t * inside_context, pointf p) public static boolean inside(ST_inside_t inside_context, final ST_pointf p) { // WARNING!! STRUCT return inside_w_(inside_context, p.copy()); } private static boolean inside_w_(ST_inside_t inside_context, final ST_pointf p) { ENTERING("7ymcsnwqkr1crisrga0kezh1f","inside"); try { return DIST2(p, inside_context.a_p.get(0)) <= inside_context.a_r.getDouble(); } finally { LEAVING("7ymcsnwqkr1crisrga0kezh1f","inside"); } } //3 9eellwhg4gsa2pdszpeqihs2d // int arrowEndClip(edge_t* e, pointf * ps, int startp, int endp, bezier * spl, int eflag) public static int arrowEndClip(ST_Agedge_s e, ST_pointf.Array ps, int startp, int endp, ST_bezier spl, int eflag) { ENTERING("9eellwhg4gsa2pdszpeqihs2d","arrowEndClip"); try { final ST_inside_t inside_context = new ST_inside_t(); final ST_pointf.Array sp = new ST_pointf.Array( 4); double elen; MutableDouble elen2 = new MutableDouble(0); elen = arrow_length(e, eflag); elen2.setValue(elen * elen); spl.setInt("eflag", eflag); spl.setStruct("ep", ps.plus(endp + 3).getStruct()); if (endp > startp && DIST2(ps.get(endp), ps.get(endp + 3)) < elen2.getValue()) { endp -= 3; } sp.plus(3).setStruct(ps.plus(endp).getStruct()); sp.plus(2).setStruct(ps.plus(endp+1).getStruct()); sp.plus(1).setStruct(ps.plus(endp+2).getStruct()); sp.plus(0).setStruct(spl.ep); /* ensure endpoint starts inside */ inside_context.setPtr("a.p", sp.plus(0).asPtr()); inside_context.setPtr("a.r", elen2.amp()); bezier_clip(inside_context, function(arrows__c.class, "inside"), sp, NOT(false)); ps.plus(endp).setStruct(sp.plus(3).getStruct()); ps.plus(endp+1).setStruct(sp.plus(2).getStruct()); ps.plus(endp+2).setStruct(sp.plus(1).getStruct()); ps.plus(endp+3).setStruct(sp.plus(0).getStruct()); return endp; } finally { LEAVING("9eellwhg4gsa2pdszpeqihs2d","arrowEndClip"); } } //3 q7y4oxn0paexbgynmtg2zmiv // int arrowStartClip(edge_t* e, pointf * ps, int startp, int endp, bezier * spl, int sflag) public static int arrowStartClip(ST_Agedge_s e, ST_pointf.Array ps, int startp, int endp, ST_bezier spl, int sflag) { ENTERING("q7y4oxn0paexbgynmtg2zmiv","arrowStartClip"); try { final ST_inside_t inside_context = new ST_inside_t(); final ST_pointf.Array sp = new ST_pointf.Array( 4); double slen; MutableDouble slen2 = new MutableDouble(0); slen = arrow_length(e, sflag); slen2.setValue(slen * slen); spl.setInt("sflag", sflag); spl.setStruct("sp", ps.plus(startp).getStruct()); if (endp > startp && DIST2(ps.get(startp), ps.get(startp + 3)) < slen2.getValue()) { startp += 3; } sp.plus(0).setStruct(ps.plus(startp+3).getStruct()); sp.plus(1).setStruct(ps.plus(startp+2).getStruct()); sp.plus(2).setStruct(ps.plus(startp+1).getStruct()); sp.plus(3).setStruct(spl.sp); /* ensure endpoint starts inside */ inside_context.setPtr("a.p", sp.plus(3).asPtr()); inside_context.setPtr("a.r", slen2.amp()); bezier_clip(inside_context, function(arrows__c.class, "inside"), sp, false); ps.plus(startp).setStruct(sp.plus(3).getStruct()); ps.plus(startp+1).setStruct(sp.plus(2).getStruct()); ps.plus(startp+2).setStruct(sp.plus(1).getStruct()); ps.plus(startp+3).setStruct(sp.plus(0).getStruct()); return startp; } finally { LEAVING("9eellwhg4gsa2pdszpeqihs2d","arrowEndClip"); } } //3 5i0vg914q5v5dzz5vo7rg9omc // void arrowOrthoClip(edge_t* e, pointf* ps, int startp, int endp, bezier* spl, int sflag, int eflag) public static Object arrowOrthoClip(Object... arg) { UNSUPPORTED("5cmga0193q90gs5y2r0l9ekgq"); // void arrowOrthoClip(edge_t* e, pointf* ps, int startp, int endp, bezier* spl, int sflag, int eflag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("y7yudkjc31udfiam6z6lkpyz"); // pointf p, q, r, s, t; UNSUPPORTED("3kkc3p6yj8romhqyooa86wcf7"); // double d, tlen, hlen, maxd; UNSUPPORTED("c69aoxg5blb5c27rwb7uvguna"); // if (sflag && eflag && (endp == startp)) { /* handle special case of two arrows on a single segment */ UNSUPPORTED("eb6qp4f6c1liqz5gv8yr4nt2u"); // p = ps[endp]; UNSUPPORTED("ecphms6syi9sh7jtisdvhb8hr"); // q = ps[endp+3]; UNSUPPORTED("2pzsi9r63yv2o8qeounzv6cny"); // tlen = arrow_length (e, sflag); UNSUPPORTED("f4d86okjchj0qyg2roq13hufh"); // hlen = arrow_length (e, eflag); UNSUPPORTED("3sbhjktcu1u1avngc5ej62mw4"); // d = DIST(p, q); UNSUPPORTED("bsdcbs5e8tkm1802lidu0jtw8"); // if (hlen + tlen >= d) { UNSUPPORTED("8gpoj60hh2teibwc83s0ii79w"); // hlen = tlen = d/3.0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6xtkcedj7la7fqplc0unqj0wx"); // if (p.y == q.y) { /* horz segment */ UNSUPPORTED("9n0q5j1nqa19z0zoz3mpmwpdv"); // s.y = t.y = p.y; UNSUPPORTED("c2tle7mztwggexoad4drqjw0a"); // if (p.x < q.x) { UNSUPPORTED("183kgzstrmgynznfkfj0jl3df"); // t.x = q.x - hlen; UNSUPPORTED("7cugpgpm4lyr66kkhauqj5qvy"); // s.x = p.x + tlen; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("a8lrkw50xbjo3ntsv0r1mz5i9"); // t.x = q.x + hlen; UNSUPPORTED("37zp6lexzsbm2vomf22x7i5r"); // s.x = p.x - tlen; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("4l6yfu81669thfh19tmcn44pu"); // else { /* vert segment */ UNSUPPORTED("bc0n1oxhmb3wgphgm1w4n9dz1"); // s.x = t.x = p.x; UNSUPPORTED("d2pzq44lkkxam6rx01xnozquf"); // if (p.y < q.y) { UNSUPPORTED("5k5qyffqi7gacnu4jwl6efngx"); // t.y = q.y - hlen; UNSUPPORTED("7ppaznbfc8awmm6e9d9qzw4ms"); // s.y = p.y + tlen; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("8ohhvcqa5v7oor1gbpznb6faq"); // t.y = q.y + hlen; UNSUPPORTED("4j6guu6e5ddqobe77kt7sbmjq"); // s.y = p.y - tlen; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("a4d4fgiq4l3sbeb9ud8dowkby"); // ps[endp] = ps[endp + 1] = s; UNSUPPORTED("db740uoo9pfyknnmi2yx0glgb"); // ps[endp + 2] = ps[endp + 3] = t; UNSUPPORTED("ewajj4utlr95mfmaswtc9yeiv"); // spl->eflag = eflag, spl->ep = p; UNSUPPORTED("9bgf1pn9yx1vlolgcjos2emsl"); // spl->sflag = sflag, spl->sp = q; UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5zse8mf1iyqtzzlq2txqcym6x"); // if (eflag) { UNSUPPORTED("bpf9snlwegftq8d78l9hsz76b"); // hlen = arrow_length(e, eflag); UNSUPPORTED("eb6qp4f6c1liqz5gv8yr4nt2u"); // p = ps[endp]; UNSUPPORTED("ecphms6syi9sh7jtisdvhb8hr"); // q = ps[endp+3]; UNSUPPORTED("3sbhjktcu1u1avngc5ej62mw4"); // d = DIST(p, q); UNSUPPORTED("9b0ae4jocdkvqt8r3iw39yf5d"); // maxd = 0.9*d; UNSUPPORTED("bwzkrhk431iwhs6c467tb0yh9"); // if (hlen >= maxd) { /* arrow too long */ UNSUPPORTED("23uwvl5a8msik1u1crb262nqj"); // hlen = maxd; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6xtkcedj7la7fqplc0unqj0wx"); // if (p.y == q.y) { /* horz segment */ UNSUPPORTED("a851ewci39wssny4nn99f4nmr"); // r.y = p.y; UNSUPPORTED("a2dyb0em7hwd4qdx1u0tuc8pl"); // if (p.x < q.x) r.x = q.x - hlen; UNSUPPORTED("90ksto8lyojedi0p77l4zm7x"); // else r.x = q.x + hlen; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("4l6yfu81669thfh19tmcn44pu"); // else { /* vert segment */ UNSUPPORTED("4rh9lai2dcsutwg48bb2qljyg"); // r.x = p.x; UNSUPPORTED("6gnp9tso58zn1rn4j7jv3i1y0"); // if (p.y < q.y) r.y = q.y - hlen; UNSUPPORTED("3wd6fw8km4tp6a1p9ijk343ih"); // else r.y = q.y + hlen; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("bxxlk6noh1kzyi93fptcz29j4"); // ps[endp + 1] = p; UNSUPPORTED("d3kionq4ycqr87orc5vkdnse0"); // ps[endp + 2] = ps[endp + 3] = r; UNSUPPORTED("4uwxjmxybnuriwua5xoo17bfa"); // spl->eflag = eflag; UNSUPPORTED("25oo9o1uy5fisoodt43sio6zx"); // spl->ep = q; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3297fx8lk8bjyg998l9ujeeph"); // if (sflag) { UNSUPPORTED("5slqgq5wsgplyy9uj9mg5pkrc"); // tlen = arrow_length(e, sflag); UNSUPPORTED("ayxhimnpo6p08kshlux75qpcu"); // p = ps[startp]; UNSUPPORTED("2ydx1urmjnn1tgx6ffzsvwimx"); // q = ps[startp+3]; UNSUPPORTED("3sbhjktcu1u1avngc5ej62mw4"); // d = DIST(p, q); UNSUPPORTED("9b0ae4jocdkvqt8r3iw39yf5d"); // maxd = 0.9*d; UNSUPPORTED("1uya1cfbkj8b6j38zbvdxmgrq"); // if (tlen >= maxd) { /* arrow too long */ UNSUPPORTED("3ydle9u127f7saxiibosc2lxs"); // tlen = maxd; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6xtkcedj7la7fqplc0unqj0wx"); // if (p.y == q.y) { /* horz segment */ UNSUPPORTED("a851ewci39wssny4nn99f4nmr"); // r.y = p.y; UNSUPPORTED("7xq2f46jfu6rsd83fqyr71z26"); // if (p.x < q.x) r.x = p.x + tlen; UNSUPPORTED("8gtrjqabiq8x8jl0j2eveiugg"); // else r.x = p.x - tlen; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("4l6yfu81669thfh19tmcn44pu"); // else { /* vert segment */ UNSUPPORTED("4rh9lai2dcsutwg48bb2qljyg"); // r.x = p.x; UNSUPPORTED("es4i2rg7sahthpreieu5hcwl7"); // if (p.y < q.y) r.y = p.y + tlen; UNSUPPORTED("26o5nwhklplaxveikjpxzxoom"); // else r.y = p.y - tlen; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5pnx91gtz1gahdprf0syc4yk5"); // ps[startp] = ps[startp + 1] = r; UNSUPPORTED("3e3iux8uecaf6eu2s9q46clr5"); // ps[startp + 2] = q; UNSUPPORTED("bmeeipd0o72kslox40628z9gj"); // spl->sflag = sflag; UNSUPPORTED("dwq656v3u8zmbqdetlo0wmyeb"); // spl->sp = p; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 b7nm38od2nxotpyzxg0ychqdb // static void arrow_type_normal(GVJ_t * job, pointf p, pointf u, double arrowsize, double penwidth, int flag) public static Object arrow_type_normal(Object... arg) { UNSUPPORTED("bk3aihjbdtkitpdvvtmzbt2zu"); // static void arrow_type_normal(GVJ_t * job, pointf p, pointf u, double arrowsize, double penwidth, int flag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4z3ehq6q8ofvyjy4r4mrg86cl"); // pointf q, v, a[5]; UNSUPPORTED("5qr741c2e1pdivv0bbjcr6cik"); // double arrowwidth; UNSUPPORTED("9gahmv6psjnccqesq7xt6q6hx"); // arrowwidth = 0.35; UNSUPPORTED("bih7b1ef9lfxy4uy4o07ae3bk"); // if (penwidth > 4) UNSUPPORTED("o3yn0730zlzconddqarivq05"); // arrowwidth *= penwidth / 4; UNSUPPORTED("949z3586m713okvlu1ymyw1us"); // v.x = -u.y * arrowwidth; UNSUPPORTED("c8xqr3hfd006yf1uuh47ndi71"); // v.y = u.x * arrowwidth; UNSUPPORTED("eh1wtktxp1goqc7akjgyqf00j"); // q.x = p.x + u.x; UNSUPPORTED("3op9xoxcy2m0v7q790ta7f9hl"); // q.y = p.y + u.y; UNSUPPORTED("eh6fh3kco3kvywuta8d8yb5v0"); // if (flag & (1<<(4+1))) { UNSUPPORTED("3by9fwhdnq30ll5nt8qbfwx0p"); // a[0] = a[4] = p; UNSUPPORTED("4ut2bmvsgdsemxiv8urham7m3"); // a[1].x = p.x - v.x; UNSUPPORTED("asa1ffrrxd6dkzm1sdamgofuu"); // a[1].y = p.y - v.y; UNSUPPORTED("60oc061ln68pvrg7zp8s3ncog"); // a[2] = q; UNSUPPORTED("591i8kbz6r8bskar4gy0vpsus"); // a[3].x = p.x + v.x; UNSUPPORTED("7i9sj4qz5f52w1wiz47bo6dv2"); // a[3].y = p.y + v.y; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("6ofxgqmmh2ikk8818bf8aw2mw"); // a[0] = a[4] = q; UNSUPPORTED("4l3g4pagkn0dto3bwi2e0bukd"); // a[1].x = q.x - v.x; UNSUPPORTED("9wv7w8vdiedhkfehzqwyyv897"); // a[1].y = q.y - v.y; UNSUPPORTED("d0mui3zxt1cx6mx5wfax35iah"); // a[2] = p; UNSUPPORTED("b5arwmpck5jtms8g1zgnojj5o"); // a[3].x = q.x + v.x; UNSUPPORTED("3viyneb6qkp0alwghd7mo06cc"); // a[3].y = q.y + v.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3kac8n2z06u2z5pqkm7c4z4nl"); // if (flag & (1<<(4+2))) UNSUPPORTED("52punwd4fhhq1arhez8cuwvam"); // gvrender_polygon(job, a, 3, !(flag & (1<<(4+0)))); UNSUPPORTED("9i420px3t1z2sosclutiev22e"); // else if (flag & (1<<(4+3))) UNSUPPORTED("gu9pg6c0d0uzlztdiq2o96zh"); // gvrender_polygon(job, &a[2], 3, !(flag & (1<<(4+0)))); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("7c6e70h4efa2wpa155lfy3er5"); // gvrender_polygon(job, &a[1], 3, !(flag & (1<<(4+0)))); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 b6y46a44yguy7zuhgxukxnq79 // static void arrow_type_crow(GVJ_t * job, pointf p, pointf u, double arrowsize, double penwidth, int flag) public static Object arrow_type_crow(Object... arg) { UNSUPPORTED("6rtaogz992ixfhc4qfzpl9pw8"); // static void arrow_type_crow(GVJ_t * job, pointf p, pointf u, double arrowsize, double penwidth, int flag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1hutab8l2bf18ywdh16qls7ix"); // pointf m, q, v, w, a[9]; UNSUPPORTED("9riilhm03el22oazbpvsntuyd"); // double arrowwidth, shaftwidth; UNSUPPORTED("3pjnxs55moxekjdkzcgmes60h"); // arrowwidth = 0.45; UNSUPPORTED("7k8ulzafyheqq2wcj2ued1mll"); // if (penwidth > (4 * arrowsize) && (flag & (1<<(4+1)))) UNSUPPORTED("85aamjzbblwnk2bp9jvnetpmf"); // arrowwidth *= penwidth / (4 * arrowsize); UNSUPPORTED("ykk0490b4cs8a1v9gpqx95we"); // shaftwidth = 0; UNSUPPORTED("61i60vknj2akb0ojgfdcnjjyh"); // if (penwidth > 1 && (flag & (1<<(4+1)))) UNSUPPORTED("ak0a6438e5b0b2nu2wl572f6d"); // shaftwidth = 0.05 * (penwidth - 1) / arrowsize; /* arrowsize to cancel the arrowsize term already in u */ UNSUPPORTED("949z3586m713okvlu1ymyw1us"); // v.x = -u.y * arrowwidth; UNSUPPORTED("c8xqr3hfd006yf1uuh47ndi71"); // v.y = u.x * arrowwidth; UNSUPPORTED("56jq7ic46net8ort3ve4st2tw"); // w.x = -u.y * shaftwidth; UNSUPPORTED("ampfe31k0mn8vsflzy5cx4lgv"); // w.y = u.x * shaftwidth; UNSUPPORTED("eh1wtktxp1goqc7akjgyqf00j"); // q.x = p.x + u.x; UNSUPPORTED("3op9xoxcy2m0v7q790ta7f9hl"); // q.y = p.y + u.y; UNSUPPORTED("cfk5fnc73y4ey68iwqxlsr7u9"); // m.x = p.x + u.x * 0.5; UNSUPPORTED("2mtpxqz0h7jsb7bmao9g1vkar"); // m.y = p.y + u.y * 0.5; UNSUPPORTED("5rymactsr9099qy69qf1bkwdr"); // if (flag & (1<<(4+1))) { /* vee */ UNSUPPORTED("4s8pxkc9kbvhabi2gbpxic5sm"); // a[0] = a[8] = p; UNSUPPORTED("4l3g4pagkn0dto3bwi2e0bukd"); // a[1].x = q.x - v.x; UNSUPPORTED("9wv7w8vdiedhkfehzqwyyv897"); // a[1].y = q.y - v.y; UNSUPPORTED("6rqmfaf4g98cg0t1qaax08e69"); // a[2].x = m.x - w.x; UNSUPPORTED("1nwyu905ao88kvq8pgnfwerf5"); // a[2].y = m.y - w.y; UNSUPPORTED("9z1frd2w5h9zvfo4pszqlzp30"); // a[3].x = q.x - w.x; UNSUPPORTED("1s86b9xef6phy3gt70ojgn6ip"); // a[3].y = q.y - w.y; UNSUPPORTED("4zd6xleeq5n1l2zznquvnlw7v"); // a[4] = q; UNSUPPORTED("2wb1104b1x08j7tecfcwk25uj"); // a[5].x = q.x + w.x; UNSUPPORTED("6tq7rnp0h0p9xtxibo13g8v3t"); // a[5].y = q.y + w.y; UNSUPPORTED("7byonl28yipw4lk1syuuj51it"); // a[6].x = m.x + w.x; UNSUPPORTED("lwb6vnlr2dq5ysijij21wbgl"); // a[6].y = m.y + w.y; UNSUPPORTED("eh4rkk1h3ciybh0u0hgehkdxx"); // a[7].x = q.x + v.x; UNSUPPORTED("bxhyoes561jf42tw73tjj33sj"); // a[7].y = q.y + v.y; UNSUPPORTED("54abbljqrd361peswxjtohjg0"); // } else { /* crow */ UNSUPPORTED("5i9r1mehhwkkn8ojo8csm0piw"); // a[0] = a[8] = q; UNSUPPORTED("4ut2bmvsgdsemxiv8urham7m3"); // a[1].x = p.x - v.x; UNSUPPORTED("asa1ffrrxd6dkzm1sdamgofuu"); // a[1].y = p.y - v.y; UNSUPPORTED("6rqmfaf4g98cg0t1qaax08e69"); // a[2].x = m.x - w.x; UNSUPPORTED("1nwyu905ao88kvq8pgnfwerf5"); // a[2].y = m.y - w.y; UNSUPPORTED("5yhpyznqsxb2ga5si6phvakqg"); // a[3].x = p.x; UNSUPPORTED("3eko75yr046fkm2yulawhw236"); // a[3].y = p.y; UNSUPPORTED("7nofpsbtwg78gooeo8makz5bb"); // a[4] = p; UNSUPPORTED("dl1jq9xglce6cfpe03mzu3p22"); // a[5].x = p.x; UNSUPPORTED("8kqrguezr1d2awpazfz88cw5"); // a[5].y = p.y; UNSUPPORTED("7byonl28yipw4lk1syuuj51it"); // a[6].x = m.x + w.x; UNSUPPORTED("lwb6vnlr2dq5ysijij21wbgl"); // a[6].y = m.y + w.y; UNSUPPORTED("egqlf021ldci9s31jrpk2m1pk"); // a[7].x = p.x + v.x; UNSUPPORTED("60b7k5jzqw1ndaxnese0cnx2t"); // a[7].y = p.y + v.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3kac8n2z06u2z5pqkm7c4z4nl"); // if (flag & (1<<(4+2))) UNSUPPORTED("8vyuq79k664wims1n1ltnudbt"); // gvrender_polygon(job, a, 6, 1); UNSUPPORTED("9i420px3t1z2sosclutiev22e"); // else if (flag & (1<<(4+3))) UNSUPPORTED("ap1vbm2kxsjtcp3pezwq2jwln"); // gvrender_polygon(job, &a[3], 6, 1); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("d0npn4cmn6nd0ytaww7u7ghrw"); // gvrender_polygon(job, a, 9, 1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e8w54seijyii7km6zl3sivjpu // static void arrow_type_gap(GVJ_t * job, pointf p, pointf u, double arrowsize, double penwidth, int flag) public static Object arrow_type_gap(Object... arg) { UNSUPPORTED("anlswsxb36i1znu2805bu47t2"); // static void arrow_type_gap(GVJ_t * job, pointf p, pointf u, double arrowsize, double penwidth, int flag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("brf7jajkh244o41ekaw2tyora"); // pointf q, a[2]; UNSUPPORTED("eh1wtktxp1goqc7akjgyqf00j"); // q.x = p.x + u.x; UNSUPPORTED("3op9xoxcy2m0v7q790ta7f9hl"); // q.y = p.y + u.y; UNSUPPORTED("dhfgavaa2js7qt2ciwujmmrpv"); // a[0] = p; UNSUPPORTED("7b2bztb06255tydz21zauq8qq"); // a[1] = q; UNSUPPORTED("9hbag2bcttyxj9vas0kvof5qp"); // gvrender_polyline(job, a, 2); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eg7sgk8umcqfthbo1t0plohbt // static void arrow_type_tee(GVJ_t * job, pointf p, pointf u, double arrowsize, double penwidth, int flag) public static Object arrow_type_tee(Object... arg) { UNSUPPORTED("9u6pwrzl9t5i0kfvnwn7uufrp"); // static void arrow_type_tee(GVJ_t * job, pointf p, pointf u, double arrowsize, double penwidth, int flag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1hwyzphi1ihi2lx3engtta1qa"); // pointf m, n, q, v, a[4]; UNSUPPORTED("e8sltpxlu9ln6k3zn49u46zau"); // v.x = -u.y; UNSUPPORTED("1wxxf464go09wrecpyo3y2k25"); // v.y = u.x; UNSUPPORTED("eh1wtktxp1goqc7akjgyqf00j"); // q.x = p.x + u.x; UNSUPPORTED("3op9xoxcy2m0v7q790ta7f9hl"); // q.y = p.y + u.y; UNSUPPORTED("61cj5vg96f8j145swk5v2nz5a"); // m.x = p.x + u.x * 0.2; UNSUPPORTED("25zmgst5hb9ya664up64k51tt"); // m.y = p.y + u.y * 0.2; UNSUPPORTED("9wrt18toae33nd3tmifyahyt8"); // n.x = p.x + u.x * 0.6; UNSUPPORTED("1151hzer2rx55qz715on0gexs"); // n.y = p.y + u.y * 0.6; UNSUPPORTED("4ihm8x9khys2bcoivyqzf4dth"); // a[0].x = m.x + v.x; UNSUPPORTED("941h30wfi9u1c17vhabko438l"); // a[0].y = m.y + v.y; UNSUPPORTED("7qtkiyjyg6pzhhoyslv8pmp1q"); // a[1].x = m.x - v.x; UNSUPPORTED("24iwwf6paxfgux41w93obhwp4"); // a[1].y = m.y - v.y; UNSUPPORTED("314g2i9mvbz4um5y7oiyuldvw"); // a[2].x = n.x - v.x; UNSUPPORTED("7ebhg7671hxu0useo7ewi26kn"); // a[2].y = n.y - v.y; UNSUPPORTED("8mc60oc3vsykq69a5zb6h72u4"); // a[3].x = n.x + v.x; UNSUPPORTED("6q0rldgbg1rfr4skqzq0v099f"); // a[3].y = n.y + v.y; UNSUPPORTED("9u73bl75ej5xy9pe46nac6ih5"); // if (flag & (1<<(4+2))) { UNSUPPORTED("6omh7vjmab159riw0fejjpwk0"); // a[0] = m; UNSUPPORTED("3w139dwzvrzrghf5w8hox1qen"); // a[3] = n; UNSUPPORTED("2u9qb4zvcio06wzd2nb3bjrs4"); // } else if (flag & (1<<(4+3))) { UNSUPPORTED("7g1lyxw6yo0ycv1l688mehedr"); // a[1] = m; UNSUPPORTED("72r460jtb2id4k8ri9sdwuqy4"); // a[2] = n; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("15b4dosag4vcx31fnicxczw81"); // gvrender_polygon(job, a, 4, 1); UNSUPPORTED("dhfgavaa2js7qt2ciwujmmrpv"); // a[0] = p; UNSUPPORTED("7b2bztb06255tydz21zauq8qq"); // a[1] = q; UNSUPPORTED("9hbag2bcttyxj9vas0kvof5qp"); // gvrender_polyline(job, a, 2); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3hdgy0baje1akb7fjw9yovjwz // static void arrow_type_box(GVJ_t * job, pointf p, pointf u, double arrowsize, double penwidth, int flag) public static Object arrow_type_box(Object... arg) { UNSUPPORTED("4u7yj9rhqxdonlyd5taprxs28"); // static void arrow_type_box(GVJ_t * job, pointf p, pointf u, double arrowsize, double penwidth, int flag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5lmvyh791uemv9zn9qfakp4qb"); // pointf m, q, v, a[4]; UNSUPPORTED("ep2toe83b4kkoeb00wqwru73t"); // v.x = -u.y * 0.4; UNSUPPORTED("8c686kltb5ewlt4qkf7ljmmc8"); // v.y = u.x * 0.4; UNSUPPORTED("66oe3r3caie8ddr9mgkqkk0r3"); // m.x = p.x + u.x * 0.8; UNSUPPORTED("1mowxzv768r12lzc4blbkl873"); // m.y = p.y + u.y * 0.8; UNSUPPORTED("eh1wtktxp1goqc7akjgyqf00j"); // q.x = p.x + u.x; UNSUPPORTED("3op9xoxcy2m0v7q790ta7f9hl"); // q.y = p.y + u.y; UNSUPPORTED("apz7b1n6lnsr7u47d661qkf7r"); // a[0].x = p.x + v.x; UNSUPPORTED("eqdvtg0j9avxbrpfozktn2358"); // a[0].y = p.y + v.y; UNSUPPORTED("f0vjjdkq6txr0nrc7xjvcxpa9"); // a[1].x = p.x - v.x; UNSUPPORTED("4e5dina8t36xvh3bfr8y98a9m"); // a[1].y = p.y - v.y; UNSUPPORTED("4npxatuz83si51hcyaeshl3x3"); // a[2].x = m.x - v.x; UNSUPPORTED("br2saagm87ysykkosh9e0xjab"); // a[2].y = m.y - v.y; UNSUPPORTED("8kb1ee4fjdywi21l0xydfefb4"); // a[3].x = m.x + v.x; UNSUPPORTED("coalhyxqy4kj07zi50yoc48fy"); // a[3].y = m.y + v.y; UNSUPPORTED("9u73bl75ej5xy9pe46nac6ih5"); // if (flag & (1<<(4+2))) { UNSUPPORTED("5fbtaluh9dcnwehl25ff3obkc"); // a[0] = p; UNSUPPORTED("9bjq8dynp7r5d7sbwtodjucxc"); // a[3] = m; UNSUPPORTED("2u9qb4zvcio06wzd2nb3bjrs4"); // } else if (flag & (1<<(4+3))) { UNSUPPORTED("e2cqpiig8ac96q5ovh3nyr7t1"); // a[1] = p; UNSUPPORTED("4uekqgdzqn4bhxlllod39w27b"); // a[2] = m; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7y7z0oxvzng5clk605r3p4zz8"); // gvrender_polygon(job, a, 4, !(flag & (1<<(4+0)))); UNSUPPORTED("1p9lzfwbik1778u5gdeqpxm31"); // a[0] = m; UNSUPPORTED("7b2bztb06255tydz21zauq8qq"); // a[1] = q; UNSUPPORTED("9hbag2bcttyxj9vas0kvof5qp"); // gvrender_polyline(job, a, 2); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 equc1q4r6wcoe2pwwnk2u01og // static void arrow_type_diamond(GVJ_t * job, pointf p, pointf u, double arrowsize, double penwidth, int flag) public static Object arrow_type_diamond(Object... arg) { UNSUPPORTED("4wg2b1eyit9ve72uqrds41jk2"); // static void arrow_type_diamond(GVJ_t * job, pointf p, pointf u, double arrowsize, double penwidth, int flag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7ww1c4ncz55av20zgtif7choz"); // pointf q, r, v, a[5]; UNSUPPORTED("1xsjvcsxdwie2v666ry6ihghq"); // v.x = -u.y / 3.; UNSUPPORTED("9xea2lahdijfjgz0skow4ps5m"); // v.y = u.x / 3.; UNSUPPORTED("4p3vbsracdkwmi6dly3odymvb"); // r.x = p.x + u.x / 2.; UNSUPPORTED("7y5j7ecroy4fci5jzh6mk2sl9"); // r.y = p.y + u.y / 2.; UNSUPPORTED("eh1wtktxp1goqc7akjgyqf00j"); // q.x = p.x + u.x; UNSUPPORTED("3op9xoxcy2m0v7q790ta7f9hl"); // q.y = p.y + u.y; UNSUPPORTED("8n36qnwzpe2hugs30s3am1zsg"); // a[0] = a[4] = q; UNSUPPORTED("e97x8nztsokegzu9u2tgwssgi"); // a[1].x = r.x + v.x; UNSUPPORTED("3yv64xfvqgiyturtkz9pnkbtd"); // a[1].y = r.y + v.y; UNSUPPORTED("3isw1pofpfafh53xdqo1gmbrr"); // a[2] = p; UNSUPPORTED("655732redrvi9o3a3dyjh90af"); // a[3].x = r.x - v.x; UNSUPPORTED("55u2biopicz70n81k5ml5lzjp"); // a[3].y = r.y - v.y; UNSUPPORTED("3kac8n2z06u2z5pqkm7c4z4nl"); // if (flag & (1<<(4+2))) UNSUPPORTED("gu9pg6c0d0uzlztdiq2o96zh"); // gvrender_polygon(job, &a[2], 3, !(flag & (1<<(4+0)))); UNSUPPORTED("9i420px3t1z2sosclutiev22e"); // else if (flag & (1<<(4+3))) UNSUPPORTED("52punwd4fhhq1arhez8cuwvam"); // gvrender_polygon(job, a, 3, !(flag & (1<<(4+0)))); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("6qac6zmwtg6rwpmn73fq6poje"); // gvrender_polygon(job, a, 4, !(flag & (1<<(4+0)))); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dxl50r7ooipvtkyjb0sleittd // static void arrow_type_dot(GVJ_t * job, pointf p, pointf u, double arrowsize, double penwidth, int flag) public static Object arrow_type_dot(Object... arg) { UNSUPPORTED("bsrxktb5cvoy4qewxrb3z3ht"); // static void arrow_type_dot(GVJ_t * job, pointf p, pointf u, double arrowsize, double penwidth, int flag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e077smjlsfuq1ptdwqpn7lcf0"); // double r; UNSUPPORTED("c1555k4n8zggr5m5nozuhequ8"); // pointf AF[2]; UNSUPPORTED("9nadrv289g5ravobyhu05u9or"); // r = sqrt(u.x * u.x + u.y * u.y) / 2.; UNSUPPORTED("bxxvjt8g03vytuyx531n55b1g"); // AF[0].x = p.x + u.x / 2. - r; UNSUPPORTED("8lbe9l6h0hqnth5j5skwrhxx1"); // AF[0].y = p.y + u.y / 2. - r; UNSUPPORTED("1krebba2swwkp12jt15xqkjqd"); // AF[1].x = p.x + u.x / 2. + r; UNSUPPORTED("btubzlppo1x1284g7zu99lk03"); // AF[1].y = p.y + u.y / 2. + r; UNSUPPORTED("7mu57g14vmt1bdc523s4wiy22"); // gvrender_ellipse(job, AF, 2, !(flag & (1<<(4+0)))); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5oioemwdl3g1maj3ikzleo0nm // static void arrow_type_curve(GVJ_t* job, pointf p, pointf u, double arrowsize, double penwidth, int flag) public static Object arrow_type_curve(Object... arg) { UNSUPPORTED("2rt93fe18qb092yomrw5l6mko"); // static void arrow_type_curve(GVJ_t* job, pointf p, pointf u, double arrowsize, double penwidth, int flag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7127v6bnaxe4g216ue7fn3fyp"); // double arrowwidth = penwidth > 4 ? 0.5 * penwidth / 4 : 0.5; UNSUPPORTED("euvu8ayo5swdxux8kyjmrywr5"); // pointf q, v, w; UNSUPPORTED("9jc1l9d43c00gutvyto6snss3"); // pointf AF[4], a[2]; UNSUPPORTED("eh1wtktxp1goqc7akjgyqf00j"); // q.x = p.x + u.x; UNSUPPORTED("4qmtmdrrceo9h0mka0fkj5xci"); // q.y = p.y + u.y; UNSUPPORTED("bvibgke8hnjr9rlyzfdumk5w"); // v.x = -u.y * arrowwidth; UNSUPPORTED("c8xqr3hfd006yf1uuh47ndi71"); // v.y = u.x * arrowwidth; UNSUPPORTED("duqsnax25spvj38rnd9v32b4d"); // w.x = v.y; // same direction as u, same magnitude as v. UNSUPPORTED("4srsifkr8qc1viu2xijhnt66s"); // w.y = -v.x; UNSUPPORTED("dhfgavaa2js7qt2ciwujmmrpv"); // a[0] = p; UNSUPPORTED("7b2bztb06255tydz21zauq8qq"); // a[1] = q; UNSUPPORTED("11fvrbnzwbuar9l5gc9wurbor"); // AF[0].x = p.x + v.x + w.x; UNSUPPORTED("34xjxb9aaiworzwsfodegww0g"); // AF[0].y = p.y + v.y + w.y; UNSUPPORTED("73ax76wsls8wr2c86mm6umxkl"); // AF[3].x = p.x - v.x + w.x; UNSUPPORTED("7q0ly8njmscobyx3v5u7xb59c"); // AF[3].y = p.y - v.y + w.y; UNSUPPORTED("9qmj4a7f67dltmu1pte8pzqox"); // AF[1].x = p.x + 0.95 * v.x + w.x - w.x * 4.0 / 3.0; UNSUPPORTED("5spg9wtj9dwqh43yhk0dqfija"); // AF[1].y = AF[0].y - w.y * 4.0 / 3.0; UNSUPPORTED("ab3yikrvtlncw10ivdxvr4a52"); // AF[2].x = p.x - 0.95 * v.x + w.x - w.x * 4.0 / 3.0; UNSUPPORTED("45ok1xa7ia1ugs2o8ediwmd5p"); // AF[2].y = AF[3].y - w.y * 4.0 / 3.0; UNSUPPORTED("9hbag2bcttyxj9vas0kvof5qp"); // gvrender_polyline(job, a, 2); UNSUPPORTED("3kac8n2z06u2z5pqkm7c4z4nl"); // if (flag & (1<<(4+2))) UNSUPPORTED("58oum3y30wqa0bofgze20unn7"); // Bezier(AF, 3, 0.5, NULL, AF); UNSUPPORTED("9i420px3t1z2sosclutiev22e"); // else if (flag & (1<<(4+3))) UNSUPPORTED("8dngt8wih972oouawx4wska6k"); // Bezier(AF, 3, 0.5, AF, NULL); UNSUPPORTED("78tsqk66ihei67oy2ptr6t6f3"); // gvrender_beziercurve(job, AF, sizeof(AF) / sizeof(pointf), 0, 0, 0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ruebmb0rzoin79tmkp4o357x // static pointf arrow_gen_type(GVJ_t * job, pointf p, pointf u, double arrowsize, double penwidth, int flag) public static Object arrow_gen_type(Object... arg) { UNSUPPORTED("6eekmrou08qiz0zielzyhyn4g"); // static pointf arrow_gen_type(GVJ_t * job, pointf p, pointf u, double arrowsize, double penwidth, int flag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9rrbht5x8qg377l1khejt2as2"); // int f; UNSUPPORTED("aed0rb6bb02eluj3o0ugcfqv9"); // arrowtype_t *arrowtype; UNSUPPORTED("ml2ttdehp7agi83yijbgk49r"); // f = flag & ((1 << 4) - 1); UNSUPPORTED("f036frj7aawxz98ctbodsj666"); // for (arrowtype = Arrowtypes; arrowtype->type; arrowtype++) { UNSUPPORTED("6qf8zxk5crelbhxfi42gd00l3"); // if (f == arrowtype->type) { UNSUPPORTED("epoo24e6zcp2uaje5ukce1yvh"); // u.x *= arrowtype->lenfact * arrowsize; UNSUPPORTED("bcfjvd5s3jub6wo9roe0xmn0g"); // u.y *= arrowtype->lenfact * arrowsize; UNSUPPORTED("5wc1a7bb8k1d528kxw2uchm7c"); // (arrowtype->gen) (job, p, u, arrowsize, penwidth, flag); UNSUPPORTED("3wwns14fz356e6p4s8byp3d6i"); // p.x = p.x + u.x; UNSUPPORTED("3rzld1v7nkscibpukz3bdox3v"); // p.y = p.y + u.y; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("91xduilalb406jjyw2g1i07th"); // return p; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2u4vcl57jl62dmf8fy80ioppm // boxf arrow_bb(pointf p, pointf u, double arrowsize, int flag) public static Object arrow_bb(Object... arg) { UNSUPPORTED("67tfc7x1j056na7s6itymoeol"); // boxf arrow_bb(pointf p, pointf u, double arrowsize, int flag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2fvgbj82ham8m0frx5hn9dyi"); // double s; UNSUPPORTED("2lzsl1e035wt5epd1h8f4bn8m"); // boxf bb; UNSUPPORTED("94ds3z1i0vt5rbv13ja90fdfp"); // double ax,ay,bx,by,cx,cy,dx,dy; UNSUPPORTED("6r1gp4hfea5imwnuiyfuxzh6k"); // double ux2, uy2; UNSUPPORTED("d5vh8if7unojun6hmulj4il7u"); // /* generate arrowhead vector */ UNSUPPORTED("5yc3jb0utnnay4x88h644puhz"); // u.x -= p.x; UNSUPPORTED("egh8lzpdfrza6k11lopupxykp"); // u.y -= p.y; UNSUPPORTED("bh7ueu6dokefdmej3xz79c7ty"); // /* the EPSILONs are to keep this stable as length of u approaches 0.0 */ UNSUPPORTED("3oao4fejxee2cop1fhd4m8tae"); // s = 10. * arrowsize / (sqrt(u.x * u.x + u.y * u.y) + .0001); UNSUPPORTED("8qxmhdlg9d49yg9gxkjw043"); // u.x += (u.x >= 0.0) ? .0001 : -.0001; UNSUPPORTED("4vxtvwh3x5b3i33sdyppe3trq"); // u.y += (u.y >= 0.0) ? .0001 : -.0001; UNSUPPORTED("bwi3f8xk8t2nbzy5tjtgeewjl"); // u.x *= s; UNSUPPORTED("do56zsbrbn95ovnoqu6zzjjmw"); // u.y *= s; UNSUPPORTED("alix1e6k9ywov3xxcwxcgo1hh"); // /* compute all 4 corners of rotated arrowhead bounding box */ UNSUPPORTED("9bdmzamsx8jasbcfy2mk0v7yt"); // ux2 = u.x / 2.; UNSUPPORTED("3k8htwk7cas9gfe4j797zk3b"); // uy2 = u.y / 2.; UNSUPPORTED("ar2s2pmmxun5v6p0d4mlij1ro"); // ax = p.x - uy2; UNSUPPORTED("d9cpq1pbscjxjhkyi57s76o4r"); // ay = p.y - ux2; UNSUPPORTED("7m3bdjur8btdn3q1dzd4o751s"); // bx = p.x + uy2; UNSUPPORTED("bhn3rg0stek17iytsy7bgbwqw"); // by = p.y + ux2; UNSUPPORTED("ai8hjx4uwhzow4nolep1478xn"); // cx = ax + u.x; UNSUPPORTED("15l0cqg7njm4ebimncczi9uho"); // cy = ay + u.y; UNSUPPORTED("29117dcz6pcm4ibiebo4cemeh"); // dx = bx + u.x; UNSUPPORTED("7s3y5imd0u3woy1d0q58g1wlh"); // dy = by + u.y; UNSUPPORTED("7lzozmdnkd5c06cyxy2skrar5"); // /* compute a right bb */ UNSUPPORTED("4shnxc3z5z4wj3l0pl7tml625"); // bb.UR.x = MAX(ax, MAX(bx, MAX(cx, dx))); UNSUPPORTED("2igw3asrvk13qlfbw4sgn7vxt"); // bb.UR.y = MAX(ay, MAX(by, MAX(cy, dy))); UNSUPPORTED("7fz9fiabx9i87t8t6bgjeso5a"); // bb.LL.x = MIN(ax, MIN(bx, MIN(cx, dx))); UNSUPPORTED("c6v20rdx0lfdvypx8l4tomnri"); // bb.LL.y = MIN(ay, MIN(by, MIN(cy, dy))); UNSUPPORTED("5v5hh30squmit8o2i5hs25eig"); // return bb; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8ss8m9a0p5v0yx2oqggh0rx57 // void arrow_gen(GVJ_t * job, emit_state_t emit_state, pointf p, pointf u, double arrowsize, double penwidth, int flag) public static Object arrow_gen(Object... arg) { UNSUPPORTED("ag73i6wbc5lb0d46ul40euyur"); // void arrow_gen(GVJ_t * job, emit_state_t emit_state, pointf p, pointf u, double arrowsize, double penwidth, int flag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("2fvgbj82ham8m0frx5hn9dyi"); // double s; UNSUPPORTED("66oipfshtfj4imr4j2x2drib0"); // int i, f; UNSUPPORTED("ecr1y7qy0ikxkidkdfvwv88ir"); // emit_state_t old_emit_state; UNSUPPORTED("c3lqudp40feg72zp97ngqkww9"); // old_emit_state = obj->emit_state; UNSUPPORTED("3ook7gsw0rr7b6uwm9f5a5dtx"); // obj->emit_state = emit_state; UNSUPPORTED("exvy7jlggpvu1zhz08fo1jbvi"); // /* Dotted and dashed styles on the arrowhead are ugly (dds) */ UNSUPPORTED("em34eidklzv0dobtybvgz9gwu"); // /* linewidth needs to be reset */ UNSUPPORTED("4g8oyutwebzej18aaiz74zb9k"); // gvrender_set_style(job, job->gvc->defaultlinestyle); UNSUPPORTED("eertb1vvqryb308a1uuff8s0"); // gvrender_set_penwidth(job, penwidth); UNSUPPORTED("d5vh8if7unojun6hmulj4il7u"); // /* generate arrowhead vector */ UNSUPPORTED("5yc3jb0utnnay4x88h644puhz"); // u.x -= p.x; UNSUPPORTED("egh8lzpdfrza6k11lopupxykp"); // u.y -= p.y; UNSUPPORTED("bh7ueu6dokefdmej3xz79c7ty"); // /* the EPSILONs are to keep this stable as length of u approaches 0.0 */ UNSUPPORTED("9s182w6wdwxo0pwu9hljlyofe"); // s = 10. / (sqrt(u.x * u.x + u.y * u.y) + .0001); UNSUPPORTED("8qxmhdlg9d49yg9gxkjw043"); // u.x += (u.x >= 0.0) ? .0001 : -.0001; UNSUPPORTED("4vxtvwh3x5b3i33sdyppe3trq"); // u.y += (u.y >= 0.0) ? .0001 : -.0001; UNSUPPORTED("bwi3f8xk8t2nbzy5tjtgeewjl"); // u.x *= s; UNSUPPORTED("do56zsbrbn95ovnoqu6zzjjmw"); // u.y *= s; UNSUPPORTED("3zei0bi63grn37qiuxn09n7hz"); // /* the first arrow head - closest to node */ UNSUPPORTED("a2n8aqfq0cqpx8elstmfn9oq6"); // for (i = 0; i < 4; i++) { UNSUPPORTED("8sgyt5ym5jt73oknb4tdj2zpl"); // f = (flag >> (i * 8)) & ((1 << 8) - 1); UNSUPPORTED("5vg3retgvi5ekir9xbw8j4zoq"); // if (f == (0)) UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("biq7xz2uj7ksjrqn6tqr9glzj"); // p = arrow_gen_type(job, p, u, arrowsize, penwidth, f); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b1bkq4eyrmepbxyb3qiuhi8b8"); // obj->emit_state = old_emit_state; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/common/colxlate__c.java000066400000000000000000001063701340005343600230070ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static smetana.core.Macro.UNSUPPORTED; public class colxlate__c { //1 9jk9ukwctyqdsan5lm6845y0i // static hsvrgbacolor_t color_lib[] = //1 48s1hew37k508i0ge3vcsxs69 // static char* colorscheme //3 7m77ow39f9cx65se44asa35dr // static void hsv2rgb(double h, double s, double v, double *r, double *g, double *b) public static Object hsv2rgb(Object... arg) { UNSUPPORTED("bimj2bwogufgm8nwcyse0gmpq"); // static void hsv2rgb(double h, double s, double v, UNSUPPORTED("95mlswcykd5as5wr8jbkfhz4f"); // double *r, double *g, double *b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("zxlsmu6cv48cbb2gz66otml0"); // double f, p, q, t; UNSUPPORTED("8c67ztx4rycxh4gu2wweri33c"); // if (s <= 0.0) { /* achromatic */ UNSUPPORTED("94xhdyetsqaie6jerahy5j021"); // *r = v; UNSUPPORTED("9yacceicho3snok9td1kmsz9n"); // *g = v; UNSUPPORTED("8ocel5g2qz8h3vz6bplc9bqe1"); // *b = v; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("6yid2gjsrd4a5mnmskepuy6us"); // if (h >= 1.0) UNSUPPORTED("6n63uw6udor92ej9zr5x3cno3"); // h = 0.0; UNSUPPORTED("3i7f8yorkl1thq29uhkr8b1uu"); // h = 6.0 * h; UNSUPPORTED("12owlv8yrft4tfobrzyrgicux"); // i = (int) h; UNSUPPORTED("5u8p6i1s1982n1h0xpp8k1pro"); // f = h - (double) i; UNSUPPORTED("ajuk9rgsixt6bj32ar7rcc0y7"); // p = v * (1 - s); UNSUPPORTED("707y9q1bx5bjn1lvry15sl54u"); // q = v * (1 - (s * f)); UNSUPPORTED("jfjlwylasccbjb8xviddgimf"); // t = v * (1 - (s * (1 - f))); UNSUPPORTED("9bo1itj979wxduxtvlcn8uetb"); // switch (i) { UNSUPPORTED("46lzlkypfilrge90rkaiveuyb"); // case 0: UNSUPPORTED("3i88n1gcazf1gz2x4pkhnw9so"); // *r = v; UNSUPPORTED("bc8k4esl3g1mon6lhrh3ekj1w"); // *g = t; UNSUPPORTED("7yrzwjb1vtg9vfwd29ab2xh4d"); // *b = p; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("2o83im06dulx11wjpy469gkoa"); // case 1: UNSUPPORTED("1487j2wuhsnecg3oa9zmz8ykw"); // *r = q; UNSUPPORTED("1ynaxhs8cckpg37mv7f9id75r"); // *g = v; UNSUPPORTED("7yrzwjb1vtg9vfwd29ab2xh4d"); // *b = p; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("b8vgbvwzllfs4lrqmmqyr1spk"); // case 2: UNSUPPORTED("251n6pj3iysy48k21h1sj93lb"); // *r = p; UNSUPPORTED("1ynaxhs8cckpg37mv7f9id75r"); // *g = v; UNSUPPORTED("bdpl9tlkwe79rgxap4jt30wsz"); // *b = t; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1640m8as34e90xhvvtl877cmo"); // case 3: UNSUPPORTED("251n6pj3iysy48k21h1sj93lb"); // *r = p; UNSUPPORTED("nsh415cf187nepn41pky0qp2"); // *g = q; UNSUPPORTED("6p2xjajb6ttv9mqfeunzd9eil"); // *b = v; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("495y0cnvj5vci19wsufg88rrq"); // case 4: UNSUPPORTED("9fwms7ny5s08rx7kz1uyk22di"); // *r = t; UNSUPPORTED("d9mdl8v0dmc06nxrlfveytbxc"); // *g = p; UNSUPPORTED("6p2xjajb6ttv9mqfeunzd9eil"); // *b = v; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1wjv2f7dql1ddky1us3a7q5jq"); // case 5: UNSUPPORTED("3i88n1gcazf1gz2x4pkhnw9so"); // *r = v; UNSUPPORTED("d9mdl8v0dmc06nxrlfveytbxc"); // *g = p; UNSUPPORTED("85qonu4zwiaxex0rz7lnk8erp"); // *b = q; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dujzfvldmjwflku9wihupdxnv // static void rgb2hsv(double r, double g, double b, double *h, double *s, double *v) public static Object rgb2hsv(Object... arg) { UNSUPPORTED("c10593ciqiaa4rupftmpdu18r"); // static void rgb2hsv(double r, double g, double b, UNSUPPORTED("e4aaxkxcwspiazmche1j75xdt"); // double *h, double *s, double *v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("440ugp6g625kjfyqr3kq3jrya"); // double rgbmin, rgbmax; UNSUPPORTED("4zaqiduai9l3ps6u0ild4xiok"); // double rc, bc, gc; UNSUPPORTED("cii4xmgmg0i6aidwdo4k8lvrg"); // double ht = 0.0, st = 0.0; UNSUPPORTED("29eodvfgvnx0ikz7xtmlydoyb"); // rgbmin = MIN(r, MIN(g, b)); UNSUPPORTED("2q0rmom8c6ik02h6h0nuybjln"); // rgbmax = MAX(r, MAX(g, b)); UNSUPPORTED("1a9pi00vrpfpynvcdzxg33yji"); // if (rgbmax > 0.0) UNSUPPORTED("38gq7n4g3llpkn0d8h2ncfn4a"); // st = (rgbmax - rgbmin) / rgbmax; UNSUPPORTED("e92j0hzan753sveeu1kuwt73a"); // if (st > 0.0) { UNSUPPORTED("8yt1g8tezilw0yagtf68gd4qn"); // rc = (rgbmax - r) / (rgbmax - rgbmin); UNSUPPORTED("8h7ff4ogst5zbmyxcuu263r3l"); // gc = (rgbmax - g) / (rgbmax - rgbmin); UNSUPPORTED("5sstg8pw8w9jswa78mg2lp3o1"); // bc = (rgbmax - b) / (rgbmax - rgbmin); UNSUPPORTED("7qtihe7rt5ub2gdmz6y337qie"); // if (r == rgbmax) UNSUPPORTED("9f8cswgb2rpdygjlxjh2iulgq"); // ht = bc - gc; UNSUPPORTED("5m7yr50934hcucttwck4tl2o9"); // else if (g == rgbmax) UNSUPPORTED("brfmtodakxaatp88cgebeetdl"); // ht = 2 + rc - bc; UNSUPPORTED("7x8fw9oqxkymp3jp9hvfvoh7o"); // else if (b == rgbmax) UNSUPPORTED("5ev3v0kjv7x08a9yplztn6wa2"); // ht = 4 + gc - rc; UNSUPPORTED("aasi665vfkuijj147w3r3jb8b"); // ht = ht * 60.0; UNSUPPORTED("1wreejtyubn67ne2tfig9anp0"); // if (ht < 0.0) UNSUPPORTED("2cxp7z4dkecyj870xw6hya2rj"); // ht += 360.0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7970jq9aylmwywthy9p42i5fy"); // *h = ht / 360.0; UNSUPPORTED("6couzbc17vserykjutgcv7bau"); // *v = rgbmax; UNSUPPORTED("218fn8tnzsp40gkh5om1ut3qy"); // *s = st; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9dul807684jurxmxyyg1zyure // static void rgb2cmyk(double r, double g, double b, double *c, double *m, double *y, double *k) public static Object rgb2cmyk(Object... arg) { UNSUPPORTED("352h951qbn47q4ctnzbrevu5m"); // static void rgb2cmyk(double r, double g, double b, double *c, double *m, UNSUPPORTED("plznbj7ka6vfot5ko2iqa8gb"); // double *y, double *k) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("mlwnha0hbx9pl1rufkohkksk"); // *c = 1.0 - r; UNSUPPORTED("40r81y2k11kyitt5p234zhr70"); // *m = 1.0 - g; UNSUPPORTED("ds3bnptxye9sd8n9a6gnfbrf4"); // *y = 1.0 - b; UNSUPPORTED("562ybodfaiqpazgnghrz8vu3h"); // *k = *c < *m ? *c : *m; UNSUPPORTED("4agh1yjrfmwb2sia0cnj5q0j1"); // *k = *y < *k ? *y : *k; UNSUPPORTED("9tw36bdsk4la16ly056swg45a"); // *c -= *k; UNSUPPORTED("63fae2kzb2jh1n6rs66cvwviz"); // *m -= *k; UNSUPPORTED("bdgp8lodki7wk4jv9ml43a0zd"); // *y -= *k; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4yhpwysfqkk00mf4cyx28mzrl // static int colorcmpf(const void *p0, const void *p1) public static Object colorcmpf(Object... arg) { UNSUPPORTED("vnbeb7jqvgxfst4woiz27q00"); // static int colorcmpf(const void *p0, const void *p1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("anwjd7uy4hi0y3rmpq55acgx0"); // return strcasecmp(((hsvrgbacolor_t *) p0)->name, ((hsvrgbacolor_t *) p1)->name); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ax75qqr4my2r9ct8dbjvvjtx6 // char *canontoken(char *str) public static Object canontoken(Object... arg) { UNSUPPORTED("1629zjdfy374s0osuesihd243"); // char *canontoken(char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2v53bu6z6q950ej04e355vyf7"); // static unsigned char *canon; UNSUPPORTED("7bza0dswpz5oeunov6e43mgnz"); // static int allocated; UNSUPPORTED("8j8ixiwexrxoe86i1a876qdje"); // unsigned char c, *p, *q; UNSUPPORTED("dwe86466ugstemepdfk8yzphz"); // int len; UNSUPPORTED("1zhw3nw03w7084dt7cn5ig222"); // p = (unsigned char *) str; UNSUPPORTED("8vgrid9zcfh2t3gzsci2uvqde"); // len = strlen(str); UNSUPPORTED("6kgkyoeg9m2xhq784cr9r710f"); // if (len >= allocated) { UNSUPPORTED("choxsv8xq99cuoyy5rg3o3ufx"); // allocated = len + 1 + 10; UNSUPPORTED("ccnla80pbvf8pmi4mw346hsq"); // canon = grealloc(canon, allocated); UNSUPPORTED("evp8j7r652aqkdwzrhv80ufny"); // if (!canon) UNSUPPORTED("7t3fvwp9cv90qu5bdjdglcgtk"); // return NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("53qdbi352d1p2q9140cbko0cz"); // q = (unsigned char *) canon; UNSUPPORTED("5idssb31ihz3min8hoscutczg"); // while ((c = *p++)) { UNSUPPORTED("6oxkjdt12xal6ds7edudbei57"); // /* if (isalnum(c) == FALSE) */ UNSUPPORTED("9aswll10socwk83z1vt2t2vu5"); // /* continue; */ UNSUPPORTED("4ne58tc0bo4i4oz5o4b4jme6v"); // if (isupper(c)) UNSUPPORTED("815fsuia4alqab5oi8bf1fe1u"); // c = tolower(c); UNSUPPORTED("6ibj8xkzlbep7pg079j68cmn5"); // *q++ = c; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5i5738mywatxkhk4v46m08ovk"); // *q = '\0'; UNSUPPORTED("6nni1hupcgk2q8q167p2yra2t"); // return (char*)canon; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5vgbyvdcctqnygkqbcvf8gqkn // static char* fullColor (char* prefix, char* str) public static Object fullColor(Object... arg) { UNSUPPORTED("6jzwle4t7n644wac4w3ptbzmk"); // static char* fullColor (char* prefix, char* str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("424m1v4nzzlsabaud5t50dky9"); // static char *fulls; UNSUPPORTED("7bza0dswpz5oeunov6e43mgnz"); // static int allocated; UNSUPPORTED("5tzyrmochxttq8ah54w2vyt0t"); // int len = strlen (prefix) + strlen (str) + 3; UNSUPPORTED("6kgkyoeg9m2xhq784cr9r710f"); // if (len >= allocated) { UNSUPPORTED("5nfq8ajs2tcl63yizz227j6hh"); // allocated = len + 10; UNSUPPORTED("ahqyb9ue6f8my0dze9s8q9uqt"); // fulls = grealloc(fulls, allocated); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("f07r4c1sjki0te2vto68bc7d5"); // sprintf (fulls, "/%s/%s", prefix, str); UNSUPPORTED("585wlsg0zojpqdlnosc7sdtor"); // return fulls; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7fjoenpad8y11os28cr4ephqh // static char* resolveColor (char* str) public static Object resolveColor(Object... arg) { UNSUPPORTED("7m0ujhxnmed6v558yry5p4sic"); // static char* resolveColor (char* str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("yiuh599p05f2mpu2e3pesu2o"); // char* s; UNSUPPORTED("a7quapa33ocs19moe9pa284em"); // char* ss; /* second slash */ UNSUPPORTED("8rgzc2l3qs5gokf0lfbwmmhs3"); // char* c2; /* second char */ UNSUPPORTED("7ucbnwh0ljbustpvbj9f1fn8t"); // if ((*str == 'b') || !strncmp(str+1,"lack",4)) return str; UNSUPPORTED("a0xs3pzeccr79t7yxu1vm2r8u"); // if ((*str == 'w') || !strncmp(str+1,"hite",4)) return str; UNSUPPORTED("d8l6cky1r79llb12wx586fh0i"); // if ((*str == 'l') || !strncmp(str+1,"ightgrey",8)) return str; UNSUPPORTED("68g0vl4sfqxaix0eokby77miu"); // if (*str == '/') { /* if begins with '/' */ UNSUPPORTED("1thcre099akc701ud9cuvpzq9"); // c2 = str+1; UNSUPPORTED("8u609q2j81o8ca2nq875feu9l"); // if ((ss = strchr(c2, '/'))) { /* if has second '/' */ UNSUPPORTED("96qq76vindtvvu8py6ok6rsr8"); // if (*c2 == '/') { /* if second '/' is second character */ UNSUPPORTED("6ob87wfl5ntacrexwpvwr2quj"); // /* Do not compare against final '/' */ UNSUPPORTED("5o4dygmz7fi9rfd6gjdpg4y4o"); // if (((colorscheme) && *(colorscheme) && strncasecmp("X11/", colorscheme, ((sizeof("X11/")-1)/sizeof(char))-1))) UNSUPPORTED("bwvwh0rl4f7dxumtom7tf2aa0"); // s = fullColor (colorscheme, c2+1); UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("6w0zpynuopuao5in4a5tgvx5f"); // s = c2+1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("3q14jpw2hoz4iitdnw1u99dd1"); // else if (strncasecmp("X11/", c2, ((sizeof("X11/")-1)/sizeof(char)))) s = str; UNSUPPORTED("7dtq56iupgwvfj9k3shmy1wkp"); // else s = ss + 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1rqtbmq74rzsr87zc33fdw705"); // else s = c2; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("62rg8f7qxc5hu0156fliwf3ag"); // else if (((colorscheme) && *(colorscheme) && strncasecmp("X11/", colorscheme, ((sizeof("X11/")-1)/sizeof(char))-1))) s = fullColor (colorscheme, str); UNSUPPORTED("33x0otv2ficwuhmdfoii6co2s"); // else s = str; UNSUPPORTED("f133bzwue6od0ojktddh20n9o"); // return canontoken(s); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2zuzgeyimjdnf5mv3x8t0ki77 // int colorxlate(char *str, gvcolor_t * color, color_type_t target_type) public static Object colorxlate(Object... arg) { UNSUPPORTED("ehzhqf0ynhngejezvvyifodzu"); // int colorxlate(char *str, gvcolor_t * color, color_type_t target_type) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8dd4kyqg8a18xkqxxrnm0kpsx"); // static hsvrgbacolor_t *last; UNSUPPORTED("2v53bu6z6q950ej04e355vyf7"); // static unsigned char *canon; UNSUPPORTED("7bza0dswpz5oeunov6e43mgnz"); // static int allocated; UNSUPPORTED("31egkhuhw9vzm6yjeq3o989rg"); // unsigned char *p, *q; UNSUPPORTED("2pxbjw6strjq1x0l4vcvhnzrd"); // hsvrgbacolor_t fake; UNSUPPORTED("10sir32iwi5l2jyfgp65pihto"); // unsigned char c; UNSUPPORTED("f2swz3fpapldgb0ehjrn24ye6"); // double H, S, V, A, R, G, B; UNSUPPORTED("e82iuugluc7yqcpf1hzdj9t0b"); // double C, M, Y, K; UNSUPPORTED("5fmu1gaywyplm6yn24ng702iy"); // unsigned int r, g, b, a; UNSUPPORTED("2w4c2wk59z31rlianeffya4b7"); // int len, rc; UNSUPPORTED("3xampp1xmjli0ebd8k04oflkz"); // color->type = target_type; UNSUPPORTED("z00zvrgs8voqmzcegfqnd3mj"); // rc = 0; UNSUPPORTED("aa2xm983i87wm9yrret50wu7z"); // for (; *str == ' '; str++); /* skip over any leading whitespace */ UNSUPPORTED("1zhw3nw03w7084dt7cn5ig222"); // p = (unsigned char *) str; UNSUPPORTED("6ylglimpylokiuqholp7kc8f1"); // /* test for rgb value such as: "#ff0000" UNSUPPORTED("1hhw7mmcd7hy3tga5c2cy4uj1"); // or rgba value such as "#ff000080" */ UNSUPPORTED("dlrbi3u8m2m8y76z33sps4wba"); // a = 255; /* default alpha channel value=opaque in case not supplied */ UNSUPPORTED("5z0a0j45mhkka5aqm9y0dmg2"); // if ((*p == '#') UNSUPPORTED("aycrro09nwns8jn23jakn4e31"); // && (sscanf((char *) p, "#%2x%2x%2x%2x", &r, &g, &b, &a) >= 3)) { UNSUPPORTED("cqoqa6pnbr8t180lly83arzbf"); // switch (target_type) { UNSUPPORTED("8x2g67uo65ux7na4wn8yr2hoi"); // case HSVA_DOUBLE: UNSUPPORTED("dpkd6jyfsackl5xx7qm7yc3ju"); // R = (double) r / 255.0; UNSUPPORTED("cepcltt67wcchzsr6s990ntkq"); // G = (double) g / 255.0; UNSUPPORTED("4ntwadqpbmdf0t4d0ua8tquxu"); // B = (double) b / 255.0; UNSUPPORTED("c5xrk3b0ql8xij7ug0lc3j511"); // A = (double) a / 255.0; UNSUPPORTED("7p8xgh8y8u9gfp2723esq8nhr"); // rgb2hsv(R, G, B, &H, &S, &V); UNSUPPORTED("3c6fimz05io2h7r45jqm5akmd"); // color->u.HSVA[0] = H; UNSUPPORTED("dvkaok4qjui5j7he8uyb7cjkk"); // color->u.HSVA[1] = S; UNSUPPORTED("esjtk662lb2dnrfl7t3r19b07"); // color->u.HSVA[2] = V; UNSUPPORTED("a8ptt1hl64brvfj57jiv380y2"); // color->u.HSVA[3] = A; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("4qyq5lb20pb6flw57yam37kot"); // case RGBA_BYTE: UNSUPPORTED("9fiju79nf1q6i93juztjnip4z"); // color->u.rgba[0] = r; UNSUPPORTED("1tmbx7r5acrevkd0wcmtzec6i"); // color->u.rgba[1] = g; UNSUPPORTED("5tqv0dfpaz9wlvpf33sd44mnj"); // color->u.rgba[2] = b; UNSUPPORTED("4ubswipncx92gv5jqv7v4n7un"); // color->u.rgba[3] = a; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("b18nw968wk9mdxeq4ho72d8xp"); // case CMYK_BYTE: UNSUPPORTED("dpkd6jyfsackl5xx7qm7yc3ju"); // R = (double) r / 255.0; UNSUPPORTED("cepcltt67wcchzsr6s990ntkq"); // G = (double) g / 255.0; UNSUPPORTED("4ntwadqpbmdf0t4d0ua8tquxu"); // B = (double) b / 255.0; UNSUPPORTED("7tttv6awjz9muyxywh3cs8h1a"); // rgb2cmyk(R, G, B, &C, &M, &Y, &K); UNSUPPORTED("c0b76suwtky43nbsirv28wize"); // color->u.cmyk[0] = (int) C *255; UNSUPPORTED("5yg3z9bc07yyfs901cvlx7p6b"); // color->u.cmyk[1] = (int) M *255; UNSUPPORTED("5rh4naug8vgufalo3q2odxixd"); // color->u.cmyk[2] = (int) Y *255; UNSUPPORTED("2ijzabu50uo431fzaevemaq3p"); // color->u.cmyk[3] = (int) K *255; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("3hhhktkxv13skdg8qtbqfccvb"); // case RGBA_WORD: UNSUPPORTED("bsssysiehopm4fcx00c71nb0u"); // color->u.rrggbbaa[0] = r * 65535 / 255; UNSUPPORTED("bc6z6ydxkwnxduq905k7ry0gj"); // color->u.rrggbbaa[1] = g * 65535 / 255; UNSUPPORTED("1u2tjaly9mqdx06awvx8fw8c4"); // color->u.rrggbbaa[2] = b * 65535 / 255; UNSUPPORTED("86f7yk4nr72y7ayyrc6e57135"); // color->u.rrggbbaa[3] = a * 65535 / 255; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1ap6qfmpr0qmmroo04n4v2y6p"); // case RGBA_DOUBLE: UNSUPPORTED("ammm9vmhuq93wsdacjqvvo546"); // color->u.RGBA[0] = (double) r / 255.0; UNSUPPORTED("5x5jz0u21i8uemni5rpvge5oa"); // color->u.RGBA[1] = (double) g / 255.0; UNSUPPORTED("9nfyug5ab9pqtaa0fxrdd2v8a"); // color->u.RGBA[2] = (double) b / 255.0; UNSUPPORTED("eyrh1tnmpdj4ybancy56dmmml"); // color->u.RGBA[3] = (double) a / 255.0; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("3963t7kz3wj9jmr4b42bh0ikz"); // case COLOR_STRING: UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("8efm2ybg3ifrezi2q4fb03p57"); // case COLOR_INDEX: UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("eitnhp9lhv04qoq5fn35tp7p2"); // return rc; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("e75g686bfy9mqu1k87in9vv1r"); // /* test for hsv value such as: ".6,.5,.3" */ UNSUPPORTED("e2k96empw2ygjnzfrqjpvgffr"); // if (((c = *p) == '.') || isdigit(c)) { UNSUPPORTED("3zq9jhiq7l7htzl88zmc4a0b2"); // len = strlen((char*)p); UNSUPPORTED("28up8t9arwfar8xkch24atnae"); // if (len >= allocated) { UNSUPPORTED("ddmhu29n34mvpbug20e7gfrpp"); // allocated = len + 1 + 10; UNSUPPORTED("c8rgido7c9hwk057p1nwflu9h"); // canon = grealloc(canon, allocated); UNSUPPORTED("3soihimxufqqtgztcecr5lan"); // if (! canon) { UNSUPPORTED("47umle9mvhgi9vy7toebc2zvw"); // rc = -1; UNSUPPORTED("cgwgihktqarc0n7hll268tdb4"); // return rc; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("d1cbfh7ze9z7h7rh3jxl96c8x"); // q = canon; UNSUPPORTED("6uczw0au913vi88zvveu2h0tl"); // while ((c = *p++)) { UNSUPPORTED("f0m7phmob63hrmzhuvohg5wet"); // if (c == ',') UNSUPPORTED("ael7ld07kdrxvpb8xj12l8vij"); // c = ' '; UNSUPPORTED("a1naxqdqse0i1gltpcxpqtfp9"); // *q++ = c; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cxlp7boqg1gqp4ii26w29519a"); // *q = '\0'; UNSUPPORTED("2ppiwy4oes1lkaol4e2nknf9c"); // if (sscanf((char *) canon, "%lf%lf%lf", &H, &S, &V) == 3) { UNSUPPORTED("2c8rcf5yaysr8fqa5ap1asp9j"); // /* clip to reasonable values */ UNSUPPORTED("4tzrqsjvx05il761enljel6n6"); // H = MAX(MIN(H, 1.0), 0.0); UNSUPPORTED("dqjpxih9a58hiwicuciw06vr4"); // S = MAX(MIN(S, 1.0), 0.0); UNSUPPORTED("2za1jxsv0x24f8jimgjfpvj15"); // V = MAX(MIN(V, 1.0), 0.0); UNSUPPORTED("7tcobltkij2n43sx05o9n6kug"); // switch (target_type) { UNSUPPORTED("3waht38mgt9ux3yz4zl4g1g4k"); // case HSVA_DOUBLE: UNSUPPORTED("nuwdoqw88otrz2ssylnbnhnh"); // color->u.HSVA[0] = H; UNSUPPORTED("f2w3ia24h1oa09rc6ewthuc5i"); // color->u.HSVA[1] = S; UNSUPPORTED("605q0z46ca4sxxsb3vb0rvj5o"); // color->u.HSVA[2] = V; UNSUPPORTED("6zqfqqrvuik71peygm447hc76"); // color->u.HSVA[3] = 1.0; /* opaque */ UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6ulscgeog9ank5opws5gczv7f"); // case RGBA_BYTE: UNSUPPORTED("99gjspcfmqpjeen6w12y4grb9"); // hsv2rgb(H, S, V, &R, &G, &B); UNSUPPORTED("bwjh16cq6yjwoe2p22hgy0pum"); // color->u.rgba[0] = (int) (R * 255); UNSUPPORTED("7pi61v8ugyyvumjdeyhcs1bzc"); // color->u.rgba[1] = (int) (G * 255); UNSUPPORTED("5ydlbqv65443sqvn73lcaww78"); // color->u.rgba[2] = (int) (B * 255); UNSUPPORTED("7thq3k4slxcy7ycv1gx28o9h0"); // color->u.rgba[3] = 255; /* opaque */ UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("1nx06r4czcqlfs4lqegi34ddz"); // case CMYK_BYTE: UNSUPPORTED("99gjspcfmqpjeen6w12y4grb9"); // hsv2rgb(H, S, V, &R, &G, &B); UNSUPPORTED("2bxuxozonvzepjt6utzrrqfdu"); // rgb2cmyk(R, G, B, &C, &M, &Y, &K); UNSUPPORTED("ehoij0dm9c7xnl5za53e9joub"); // color->u.cmyk[0] = (int) C *255; UNSUPPORTED("3kk069yq96yvqh7cbytq1oe9p"); // color->u.cmyk[1] = (int) M *255; UNSUPPORTED("pnh92bvbr8g0ovs0svdb0ety"); // color->u.cmyk[2] = (int) Y *255; UNSUPPORTED("8j6drpob4qn1tzqv46ezm2qta"); // color->u.cmyk[3] = (int) K *255; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("40ebfdiui5ixqhgg7n6ycmk1d"); // case RGBA_WORD: UNSUPPORTED("99gjspcfmqpjeen6w12y4grb9"); // hsv2rgb(H, S, V, &R, &G, &B); UNSUPPORTED("bqjm1u4dd0c7dgjivlp4lunfx"); // color->u.rrggbbaa[0] = (int) (R * 65535); UNSUPPORTED("7qa6nwupc5p5tzjy2j3sbpw84"); // color->u.rrggbbaa[1] = (int) (G * 65535); UNSUPPORTED("9upp88q1d7krwt03zdr7f2dp1"); // color->u.rrggbbaa[2] = (int) (B * 65535); UNSUPPORTED("v5ww88r64fhyefive8jpwod1"); // color->u.rrggbbaa[3] = 65535; /* opaque */ UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("f20hyopi99mh64hgvbob3629i"); // case RGBA_DOUBLE: UNSUPPORTED("99gjspcfmqpjeen6w12y4grb9"); // hsv2rgb(H, S, V, &R, &G, &B); UNSUPPORTED("6jkogp2xmtjsirkkt4gq0qk9g"); // color->u.RGBA[0] = R; UNSUPPORTED("9k4pjgp3uz7nshtjln3fy9auu"); // color->u.RGBA[1] = G; UNSUPPORTED("7y5ue1vo9dkn36t07st57ckmh"); // color->u.RGBA[2] = B; UNSUPPORTED("afan1dakanjzco4n2c6rjrxw1"); // color->u.RGBA[3] = 1.0; /* opaque */ UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("yi2ftsdqvd62kvijtv49ciof"); // case COLOR_STRING: UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("bptas91kxl67utozz0z9ksslp"); // case COLOR_INDEX: UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("boigxj79k0wl3vix6mrtksbik"); // return rc; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("akwwtrxikvsg54ppqaouiraja"); // /* test for known color name (generic, not renderer specific known names) */ UNSUPPORTED("bniidu3c7uw4j4gnlrw1sml7b"); // fake.name = resolveColor(str); UNSUPPORTED("a3ffcy8id0r4fealybty3ncv2"); // if (!fake.name) UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("nlfkt4ol3t13u9upjdrx7dnl"); // if ((last == NULL) UNSUPPORTED("dcjahkpgs4yy496ikzaozniuw"); // || (last->name[0] != fake.name[0]) UNSUPPORTED("4nyn87tawoh9ejder70ax0di4"); // || (strcmp(last->name, fake.name))) { UNSUPPORTED("c8e30ys418x2wrqsniggk3h2u"); // last = (hsvrgbacolor_t *) bsearch((void *) &fake, UNSUPPORTED("13zn2zu4jxknhl31gd5np1hq9"); // (void *) color_lib, UNSUPPORTED("csk5c5fpsg633xn59o6ekp7kw"); // sizeof(color_lib) / UNSUPPORTED("326muvlkda3aeejlqnmab0unj"); // sizeof(hsvrgbacolor_t), sizeof(fake), UNSUPPORTED("92scws4jkdku0225nkuwyg3en"); // colorcmpf); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7wyv7w4rv25zss2ym7p8di9e"); // if (last != NULL) { UNSUPPORTED("cqoqa6pnbr8t180lly83arzbf"); // switch (target_type) { UNSUPPORTED("8x2g67uo65ux7na4wn8yr2hoi"); // case HSVA_DOUBLE: UNSUPPORTED("1p412ag7t6o00ebns760u1buq"); // color->u.HSVA[0] = ((double) last->h) / 255.0; UNSUPPORTED("3u2uzmxb21wo3n5ofhxvsos1j"); // color->u.HSVA[1] = ((double) last->s) / 255.0; UNSUPPORTED("1f7avk3ldrvt4iqyousfpakfa"); // color->u.HSVA[2] = ((double) last->v) / 255.0; UNSUPPORTED("9cutkzl8ytljfv3pdlcwwuo39"); // color->u.HSVA[3] = ((double) last->a) / 255.0; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("4qyq5lb20pb6flw57yam37kot"); // case RGBA_BYTE: UNSUPPORTED("euv8extiyg9ojwarxbdg173x0"); // color->u.rgba[0] = last->r; UNSUPPORTED("ew13r0uorvrr11af042y87wox"); // color->u.rgba[1] = last->g; UNSUPPORTED("ama3ynaxltjqwoy88w1z0aarf"); // color->u.rgba[2] = last->b; UNSUPPORTED("1chs0ktvl6et5zijblcp8qlnr"); // color->u.rgba[3] = last->a; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("b18nw968wk9mdxeq4ho72d8xp"); // case CMYK_BYTE: UNSUPPORTED("yiknpgciig2uwoai0h23rlk8"); // R = (last->r) / 255.0; UNSUPPORTED("xlpnj1maqomtvccdwcrsa06q"); // G = (last->g) / 255.0; UNSUPPORTED("956if091oxzp9zfflftahx9vj"); // B = (last->b) / 255.0; UNSUPPORTED("7tttv6awjz9muyxywh3cs8h1a"); // rgb2cmyk(R, G, B, &C, &M, &Y, &K); UNSUPPORTED("dq3d8fxtdbd8vmi1ctrbouqys"); // color->u.cmyk[0] = (int) C * 255; UNSUPPORTED("1v32c1lsmzvu5i9ciubbfzgj8"); // color->u.cmyk[1] = (int) M * 255; UNSUPPORTED("8ilbscdq894a1u0mxx9qehekv"); // color->u.cmyk[2] = (int) Y * 255; UNSUPPORTED("4p9d1nzs3tw96wxlefrt3dbum"); // color->u.cmyk[3] = (int) K * 255; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("3hhhktkxv13skdg8qtbqfccvb"); // case RGBA_WORD: UNSUPPORTED("2chrmq478c0dkbx2vtuzkttt3"); // color->u.rrggbbaa[0] = last->r * 65535 / 255; UNSUPPORTED("elxida3hf2w5648hreja3h77h"); // color->u.rrggbbaa[1] = last->g * 65535 / 255; UNSUPPORTED("7vfbr6rrlg6254zzkf6ezthyz"); // color->u.rrggbbaa[2] = last->b * 65535 / 255; UNSUPPORTED("9d0ijf90chv5xiy3wyak6svth"); // color->u.rrggbbaa[3] = last->a * 65535 / 255; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1ap6qfmpr0qmmroo04n4v2y6p"); // case RGBA_DOUBLE: UNSUPPORTED("c8i3r57st2or1lb0p5zmpjbel"); // color->u.RGBA[0] = last->r / 255.0; UNSUPPORTED("bad4ojyrfigi4mmom4cehxisg"); // color->u.RGBA[1] = last->g / 255.0; UNSUPPORTED("e69nmcysppzvuafruou5z51pw"); // color->u.RGBA[2] = last->b / 255.0; UNSUPPORTED("5x4y6hddq6bkpbfumqlnf287x"); // color->u.RGBA[3] = last->a / 255.0; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("3963t7kz3wj9jmr4b42bh0ikz"); // case COLOR_STRING: UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("8efm2ybg3ifrezi2q4fb03p57"); // case COLOR_INDEX: UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("eitnhp9lhv04qoq5fn35tp7p2"); // return rc; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c2rphnmj3qjo7esjrr8lrf9n8"); // /* if we're still here then we failed to find a valid color spec */ UNSUPPORTED("7g304hflsebasgkwe7p0ogfcf"); // rc = 1; UNSUPPORTED("7g1g78rlfxhrdbth346b6va3v"); // switch (target_type) { UNSUPPORTED("3xh9pvlzl0se6kai61hpvztb0"); // case HSVA_DOUBLE: UNSUPPORTED("77m5r1fi548i2a3r9s6x0gsce"); // color->u.HSVA[0] = color->u.HSVA[1] = color->u.HSVA[2] = 0.0; UNSUPPORTED("8r2m62v2wseqye77wjj1iuzx5"); // color->u.HSVA[3] = 1.0; /* opaque */ UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("1ke9k1couoeb4od2nwibgg0xu"); // case RGBA_BYTE: UNSUPPORTED("3f06oe6h7bl42mxja847kojce"); // color->u.rgba[0] = color->u.rgba[1] = color->u.rgba[2] = 0; UNSUPPORTED("epcd3n4y8gy400i35b2dx3dfz"); // color->u.rgba[3] = 255; /* opaque */ UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("3setnlgc8vsi8j9jzph3w3tgw"); // case CMYK_BYTE: UNSUPPORTED("8moqdtdmwf0umamz8fe6mppyd"); // color->u.cmyk[0] = UNSUPPORTED("66cowglrsnm9ygf0ojc1i0tka"); // color->u.cmyk[1] = color->u.cmyk[2] = color->u.cmyk[3] = 0; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("1gc399p944szfhhd18p1c2zde"); // case RGBA_WORD: UNSUPPORTED("a7056wzw9fyolfdizijjxbrnr"); // color->u.rrggbbaa[0] = color->u.rrggbbaa[1] = color->u.rrggbbaa[2] = 0; UNSUPPORTED("4e0n7dmb7rj5h0oatmxqc3lv2"); // color->u.rrggbbaa[3] = 65535; /* opaque */ UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("ix5z8u4vldva0mpwk1hnmx3s"); // case RGBA_DOUBLE: UNSUPPORTED("a86aiakru49t2tk7tg5y7ym3h"); // color->u.RGBA[0] = color->u.RGBA[1] = color->u.RGBA[2] = 0.0; UNSUPPORTED("ck9hrfq4njkslj58o9vzim5wf"); // color->u.RGBA[3] = 1.0; /* opaque */ UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8d4tzwdd3f608e3jl4lzyugu0"); // case COLOR_STRING: UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("aa8lnx1ghmaq1qg4pxuhfpz9d"); // case COLOR_INDEX: UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5bc9k4vsl6g7wejc5xefc5964"); // return rc; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6xt07sam57leaegn555zem71x // static void rgba_wordToByte (int* rrggbbaa, unsigned char* rgba) public static Object rgba_wordToByte(Object... arg) { UNSUPPORTED("bao9ostouhscklw6g4sr9d1ca"); // static void rgba_wordToByte (int* rrggbbaa, unsigned char* rgba) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("a2n8aqfq0cqpx8elstmfn9oq6"); // for (i = 0; i < 4; i++) { UNSUPPORTED("56z2bopl8zqqjgty1iei0mdz8"); // rgba[i] = rrggbbaa[i] * 255 / 65535; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6yolsjak65tidlbndbkdir4zi // static void rgba_dblToByte (double* RGBA, unsigned char* rgba) public static Object rgba_dblToByte(Object... arg) { UNSUPPORTED("44ty1s8y3t609jxlz3dhwo8up"); // static void rgba_dblToByte (double* RGBA, unsigned char* rgba) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("a2n8aqfq0cqpx8elstmfn9oq6"); // for (i = 0; i < 4; i++) { UNSUPPORTED("7top6cd4psdex6hfkw4d92a5z"); // rgba[i] = (unsigned char)(RGBA[i] * 255); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4u0xx0imm7gw6d27a58wt7uhd // int colorCvt(gvcolor_t *ocolor, gvcolor_t *ncolor) public static Object colorCvt(Object... arg) { UNSUPPORTED("crf94filr3nvamikn2fv9l283"); // int colorCvt(gvcolor_t *ocolor, gvcolor_t *ncolor) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1bh3yj957he6yv2dkeg4pzwdk"); // int rc; UNSUPPORTED("cf8w5z35zxww7q6yjin9lc9op"); // char buf[BUFSIZ]; UNSUPPORTED("yiuh599p05f2mpu2e3pesu2o"); // char* s; UNSUPPORTED("7n0bnxi86o1eioqyouz3afqm6"); // unsigned char rgba[4]; UNSUPPORTED("4rev51u4r7578qsqtboqis36t"); // if (ocolor->type == ncolor->type) { UNSUPPORTED("b5cexskqcmrvkru1pwloy29ap"); // memcpy (&ncolor->u, &ocolor->u, sizeof(ocolor->u)); UNSUPPORTED("awjmnc3xe191yrjoav96x4t6i"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("29yartnlkg78jtqss7wvr2ukx"); // s = buf; UNSUPPORTED("bprjantrlt6985c2t92ljx17q"); // switch (ocolor->type) { UNSUPPORTED("85pg3jiffmuxf208m722qskve"); // case HSVA_DOUBLE : UNSUPPORTED("b61kxubde7agaa67lf3047gw9"); // sprintf (buf, "%.03f %.03f %.03f %.03f", UNSUPPORTED("ecz167vvi43rqv3i1be6y9d44"); // ocolor->u.HSVA[0], ocolor->u.HSVA[1], ocolor->u.HSVA[2], ocolor->u.HSVA[3]); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dxegdbspzy9czkr6nd5x8poe1"); // case RGBA_BYTE : UNSUPPORTED("bdfv0m39061r7mieslqyunk37"); // sprintf (buf, "#%02x%02x%02x%02x", UNSUPPORTED("eavvghusqadvoi5m9t899gywv"); // ocolor->u.rgba[0], ocolor->u.rgba[1], ocolor->u.rgba[2], ocolor->u.rgba[3]); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("1gc399p944szfhhd18p1c2zde"); // case RGBA_WORD: UNSUPPORTED("ahox2to99gp3ku632fit5yh2w"); // rgba_wordToByte (ocolor->u.rrggbbaa, rgba); UNSUPPORTED("dvj2lr88uw99nw4a2fsu74quo"); // sprintf (buf, "#%02x%02x%02x%02x", rgba[0], rgba[1], rgba[2], rgba[3]); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("ix5z8u4vldva0mpwk1hnmx3s"); // case RGBA_DOUBLE: UNSUPPORTED("a04b7du8qje7yf4tbvp5yadym"); // rgba_dblToByte (ocolor->u.RGBA, rgba); UNSUPPORTED("dvj2lr88uw99nw4a2fsu74quo"); // sprintf (buf, "#%02x%02x%02x%02x", rgba[0], rgba[1], rgba[2], rgba[3]); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8d4tzwdd3f608e3jl4lzyugu0"); // case COLOR_STRING: UNSUPPORTED("e7srlpjuk0ycck3ei9y4xotvg"); // s = ocolor->u.string; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8p4y43r1r9vccmnk4h3h083v9"); // case CMYK_BYTE : UNSUPPORTED("1z040zrivaz8vtuh8w8a4mqsn"); // /* agerr (AGWARN, "Input color type 'CMYK_BYTE' not supported for conversion\n"); */ UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("aa8lnx1ghmaq1qg4pxuhfpz9d"); // case COLOR_INDEX: UNSUPPORTED("99jz8sfo7x4ocdi773b6ja0za"); // /* agerr (AGWARN, "Input color type 'COLOR_INDEX' not supported for conversion\n"); */ UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("dxk2qiq2wg8ckisq3kx3k8wd"); // /* agerr (AGWARN, "Unknown input color type value '%u'\n", ncolor->type); */ UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("eq82slwrwm0pcpqius7pgtlrn"); // rc = colorxlate (s, ncolor, ncolor->type); UNSUPPORTED("5bc9k4vsl6g7wejc5xefc5964"); // return rc; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 idov6ir1ql05vewhvosl6zmm // void setColorScheme (char* s) public static Object setColorScheme(Object... arg) { UNSUPPORTED("aae50vjirjpwewp57f09nxgqi"); // void setColorScheme (char* s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9d6vms1yygd86dcdp61pb75o5"); // colorscheme = s; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/common/ellipse__c.java000066400000000000000000001315411340005343600226270ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class ellipse__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8vtqch9vmg15ugkvb5kjl1qj0 // static void computeFoci(ellipse_t * ep) public static Object computeFoci(Object... arg) { UNSUPPORTED("5bcbitmdppffwahp7nmlbi83r"); // static void computeFoci(ellipse_t * ep) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eid8kqvkuydr459fnsfbtpyc3"); // double d = sqrt(ep->a * ep->a - ep->b * ep->b); UNSUPPORTED("eeaywijqk4uxvw19tkbgu253m"); // double dx = d * ep->cosTheta; UNSUPPORTED("7vyd4ve72btbkfo43shwx7kau"); // double dy = d * ep->sinTheta; UNSUPPORTED("br7a9whx0v42l4kzkaa11t9pa"); // ep->xF1 = ep->cx - dx; UNSUPPORTED("dnp04v8l7mdx3jxxtc3sec415"); // ep->yF1 = ep->cy - dy; UNSUPPORTED("9hptigk23rnp3v4o7v1c9xvmx"); // ep->xF2 = ep->cx + dx; UNSUPPORTED("e94dmwui1l6ntq9ng55xax8sz"); // ep->yF2 = ep->cy + dy; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dbew322vv0bgrg4pymgszeaae // static void computeEndPoints(ellipse_t * ep) public static Object computeEndPoints(Object... arg) { UNSUPPORTED("rteaacx2szzim69sc25f66sp"); // static void computeEndPoints(ellipse_t * ep) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("852vsfhje4mvzn5rx2n6haj3a"); // double aCosEta1 = ep->a * cos(ep->eta1); UNSUPPORTED("5vmwuoxk5n6ypgduysu1dh0kp"); // double bSinEta1 = ep->b * sin(ep->eta1); UNSUPPORTED("4ezeyj8mjzl0ud7yld078fcyn"); // double aCosEta2 = ep->a * cos(ep->eta2); UNSUPPORTED("5opkvasd5uqsvfp6dk3070nav"); // double bSinEta2 = ep->b * sin(ep->eta2); UNSUPPORTED("8epdhhsfs576m8gn5ouli23am"); // // start point UNSUPPORTED("auzwiyyj4hsb2eboae8lyqlmr"); // ep->x1 = ep->cx + aCosEta1 * ep->cosTheta - bSinEta1 * ep->sinTheta; UNSUPPORTED("2fkvvtpflc1gcev5x50ukgmni"); // ep->y1 = ep->cy + aCosEta1 * ep->sinTheta + bSinEta1 * ep->cosTheta; UNSUPPORTED("3t5jjvo0n6xmvf92fj004j0hs"); // // end point UNSUPPORTED("ejinp3zk9hy2cymz06oocdlyj"); // ep->x2 = ep->cx + aCosEta2 * ep->cosTheta - bSinEta2 * ep->sinTheta; UNSUPPORTED("dpv02upzejm2ish3bydlsyc1z"); // ep->y2 = ep->cy + aCosEta2 * ep->sinTheta + bSinEta2 * ep->cosTheta; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 f3ru0t0ysk3xq8fbxnr5ujcol // static void computeBounds(ellipse_t * ep) public static Object computeBounds(Object... arg) { UNSUPPORTED("9u1yf6gyi3s9qsowre67k9cox"); // static void computeBounds(ellipse_t * ep) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1jhf3o4xhvl4fndu7fi826pia"); // double bOnA = ep->b / ep->a; UNSUPPORTED("bee7zzfdd190fvfubd4fs5b6l"); // double etaXMin, etaXMax, etaYMin, etaYMax; UNSUPPORTED("5afe3vaihk6e4p8x6gy8qfhcr"); // if (abs(ep->sinTheta) < 0.1) { UNSUPPORTED("b44ulenttvb6b1j69bgmz2dyb"); // double tanTheta = ep->sinTheta / ep->cosTheta; UNSUPPORTED("8i8hnf634d0hep4k8kabadrxc"); // if (ep->cosTheta < 0) { UNSUPPORTED("4b1t0o4s7kq4i1undk0da0jcz"); // etaXMin = -atan(tanTheta * bOnA); UNSUPPORTED("b7jmwu8pdrcw664uippx0c5la"); // etaXMax = etaXMin + M_PI; UNSUPPORTED("edthlj4laeqv2dvsbdo0ujj77"); // etaYMin = 0.5 * M_PI - atan(tanTheta / bOnA); UNSUPPORTED("9uxxapjhe1pfj97wusc80hs82"); // etaYMax = etaYMin + M_PI; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("5xmqdjsimutfhanihqci92yoj"); // etaXMax = -atan(tanTheta * bOnA); UNSUPPORTED("k1fpex84n120tc9umch4dd0n"); // etaXMin = etaXMax - M_PI; UNSUPPORTED("2i5a5rw4qsc8scf27aedttnj5"); // etaYMax = 0.5 * M_PI - atan(tanTheta / bOnA); UNSUPPORTED("2414bgwj0n3olrl7u8abdy7hm"); // etaYMin = etaYMax - M_PI; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("dnl9l5tyykjo0dn6xjrbhnfaz"); // double invTanTheta = ep->cosTheta / ep->sinTheta; UNSUPPORTED("n4to8nhj56e7uztxuu78u0sv"); // if (ep->sinTheta < 0) { UNSUPPORTED("e9iw0rwef6vz2hztrrbzy3v6k"); // etaXMax = 0.5 * M_PI + atan(invTanTheta / bOnA); UNSUPPORTED("k1fpex84n120tc9umch4dd0n"); // etaXMin = etaXMax - M_PI; UNSUPPORTED("1cy9nyh492abntcky0ue533o7"); // etaYMin = atan(invTanTheta * bOnA); UNSUPPORTED("9uxxapjhe1pfj97wusc80hs82"); // etaYMax = etaYMin + M_PI; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("ckx1q1okd2zthayurvcirb8w3"); // etaXMin = 0.5 * M_PI + atan(invTanTheta / bOnA); UNSUPPORTED("b7jmwu8pdrcw664uippx0c5la"); // etaXMax = etaXMin + M_PI; UNSUPPORTED("1sqp1jtgyx1b6flh58samo02q"); // etaYMax = atan(invTanTheta * bOnA); UNSUPPORTED("2414bgwj0n3olrl7u8abdy7hm"); // etaYMin = etaYMax - M_PI; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7ltffkplh3lj7prv6bon5ei7e"); // etaXMin -= ((2*M_PI) * floor((etaXMin - ep->eta1) / (2*M_PI))); UNSUPPORTED("ady72sy3azf76ixh9cxjttc56"); // etaYMin -= ((2*M_PI) * floor((etaYMin - ep->eta1) / (2*M_PI))); UNSUPPORTED("9c6vacohw6o4p1e7voqrkz6n6"); // etaXMax -= ((2*M_PI) * floor((etaXMax - ep->eta1) / (2*M_PI))); UNSUPPORTED("cwmxqy86krxnxsomsoybaspuc"); // etaYMax -= ((2*M_PI) * floor((etaYMax - ep->eta1) / (2*M_PI))); UNSUPPORTED("dij74k8lt7yzvn6n6xmfq75n8"); // ep->xLeft = (etaXMin <= ep->eta2) UNSUPPORTED("1ukn2pq6zv8y6a9fgougih6wt"); // ? (ep->cx + ep->a * cos(etaXMin) * ep->cosTheta - UNSUPPORTED("aa4t9o7jjo8u8eqipf4kbzcq0"); // ep->b * sin(etaXMin) * ep->sinTheta) UNSUPPORTED("3zjfvhmp6k0k6v7hdfkdlto1q"); // : MIN(ep->x1, ep->x2); UNSUPPORTED("atkfn6kpphewnxtsynnmvfeel"); // ep->yUp = (etaYMin <= ep->eta2) UNSUPPORTED("58sfpd21ohh829mr07sxluba8"); // ? (ep->cy + ep->a * cos(etaYMin) * ep->sinTheta + UNSUPPORTED("exo6jd6mgq4ngv2kzclxi72p7"); // ep->b * sin(etaYMin) * ep->cosTheta) UNSUPPORTED("3h3l4h9ad373p847bxm8pti3o"); // : MIN(ep->y1, ep->y2); UNSUPPORTED("6y80nhe43fd7avmd01vjaydxv"); // ep->width = ((etaXMax <= ep->eta2) UNSUPPORTED("9rbb1o9htcoqa6f7h6yld63s8"); // ? (ep->cx + ep->a * cos(etaXMax) * ep->cosTheta - UNSUPPORTED("9abeby5gfh0jqgx8dk98hr2fc"); // ep->b * sin(etaXMax) * ep->sinTheta) UNSUPPORTED("bhv1vywv9qd5ca6t99xgkzk17"); // : MAX(ep->x1, ep->x2)) - ep->xLeft; UNSUPPORTED("2exid5xh3kknda3ysp93l9d3s"); // ep->height = ((etaYMax <= ep->eta2) UNSUPPORTED("1wxk3315oh6f0xk0syz7qugv"); // ? (ep->cy + ep->a * cos(etaYMax) * ep->sinTheta + UNSUPPORTED("1y457377scnua66r6tsljyj7u"); // ep->b * sin(etaYMax) * ep->cosTheta) UNSUPPORTED("8imiuzth6v80tk5lgs51w60jr"); // : MAX(ep->y1, ep->y2)) - ep->yUp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6ux66xrlzxo48ong9gml2cqz6 // static void initEllipse(ellipse_t * ep, double cx, double cy, double a, double b, double theta, double lambda1, double lambda2) public static Object initEllipse(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("4qt5lx5lec9tzx3nexn72e2p0"); // initEllipse(ellipse_t * ep, double cx, double cy, double a, double b, UNSUPPORTED("4fozc01yvrouj1drvzdcxx8tz"); // double theta, double lambda1, double lambda2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("90mx2sux5frp9aptmc8h9ye7y"); // ep->cx = cx; UNSUPPORTED("52hr1pca3zdv84xe26bd4fgng"); // ep->cy = cy; UNSUPPORTED("2aclnqswxw7pae437ifnxl13f"); // ep->a = a; UNSUPPORTED("36t2inuf67b2oiq7lep7z0zsh"); // ep->b = b; UNSUPPORTED("76yrwughjo484aczhkqz91f8c"); // ep->theta = theta; UNSUPPORTED("3lkrt052c6yilscp9h7qbjesg"); // ep->eta1 = atan2(sin(lambda1) / b, cos(lambda1) / a); UNSUPPORTED("b583gqgxa482v3bdcaa3hmw6q"); // ep->eta2 = atan2(sin(lambda2) / b, cos(lambda2) / a); UNSUPPORTED("cyam280f24o4coz4q6l0avz1t"); // ep->cosTheta = cos(theta); UNSUPPORTED("a0l008pmkvmqfo8fhm5sr77zm"); // ep->sinTheta = sin(theta); UNSUPPORTED("75g4xmc5yynuwuvgw4zi23c2l"); // // make sure we have eta1 <= eta2 <= eta1 + 2*PI UNSUPPORTED("1kto59za5qccggp3qkrmli3lb"); // ep->eta2 -= (2*M_PI) * floor((ep->eta2 - ep->eta1) / (2*M_PI)); UNSUPPORTED("4hr1qdifrsqwsjgm5wxg8i4zo"); // // the preceding correction fails if we have exactly eta2 - eta1 = 2*PI UNSUPPORTED("2f6g4qg6bii7atjcpo9cpc4kg"); // // it reduces the interval to zero length UNSUPPORTED("1ezgfy2ndbltclwxwp8oojvm"); // if ((lambda2 - lambda1 > M_PI) && (ep->eta2 - ep->eta1 < M_PI)) { UNSUPPORTED("bynickn53la7xh8nqg3h8i1w"); // ep->eta2 += (2*M_PI); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("cccwh34t2pmjflf3kvq62r2x7"); // computeFoci(ep); UNSUPPORTED("wwi2rzhppnx0345v75k7kshh"); // computeEndPoints(ep); UNSUPPORTED("7i38ish6k60higbgoc0t6zryh"); // computeBounds(ep); UNSUPPORTED("8fv18ee53q0sd6joolf3c8tjf"); // /* Flatness parameters */ UNSUPPORTED("5xixk4yhld5skmu6j7lpzrkg5"); // ep->f = (ep->a - ep->b) / ep->a; UNSUPPORTED("6dycpzwekx4x3ruzple8snldz"); // ep->e2 = ep->f * (2.0 - ep->f); UNSUPPORTED("adhmukdd7ygvxewqssb73dt59"); // ep->g = 1.0 - ep->f; UNSUPPORTED("1e4mn2c02ynfoqykfwkqf80y7"); // ep->g2 = ep->g * ep->g; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 modnvis05b2ap40fth36fsbx // typedef double erray_t[2][4][4] //1 c28e3zyflxpxh5u2y5l9lxth7 // static erray_t coeffs2Low = //1 8xpyyldrcpysiemcf8n5fzkce // static erray_t coeffs2High = //1 8srrrv3xnjrk83hlma25mqog0 // static double safety2[] = //1 c8as7txd6r6suzmt2cdon5boo // static erray_t coeffs3Low = //1 5530t4mftd6n4c3wvqkmwe6pb // static erray_t coeffs3High = //1 4jjyqprhu52o35a0x8um9rzbj // static double safety3[] = //3 f45byv8jwcavrwa02m57bsq2f // static double estimateError(ellipse_t * ep, int degree, double etaA, double etaB) public static Object estimateError(Object... arg) { UNSUPPORTED("lt6cippjix5bbvyhkcpl8g7g"); // static double UNSUPPORTED("81pe9jboqg99odbe4gatii9o5"); // estimateError(ellipse_t * ep, int degree, double etaA, double etaB) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4nqjmzm78sbspzbbvh83l1wqj"); // double c0, c1, eta = 0.5 * (etaA + etaB); UNSUPPORTED("ei3ryx6a8qmb3j08w0r38fm5m"); // if (degree < 2) { UNSUPPORTED("bafgj5541k02iovom9pghd35i"); // // start point UNSUPPORTED("al3j4ybn9xey3d8hxfovxes0r"); // double aCosEtaA = ep->a * cos(etaA); UNSUPPORTED("6j0wqgniqhykqlxzy5nfjkcht"); // double bSinEtaA = ep->b * sin(etaA); UNSUPPORTED("5v68bplm2zxmrq1941oy9c0he"); // double xA = UNSUPPORTED("7hlnzbhb4vu0s8m3iekr9hs7i"); // ep->cx + aCosEtaA * ep->cosTheta - bSinEtaA * ep->sinTheta; UNSUPPORTED("bakm3osn3jh0yvyhjtb8auiqf"); // double yA = UNSUPPORTED("25tfmxpd3xeq7idm8hg6smumu"); // ep->cy + aCosEtaA * ep->sinTheta + bSinEtaA * ep->cosTheta; UNSUPPORTED("57vo4lo58ualncbhe0g66qqxo"); // // end point UNSUPPORTED("e1lvbiz37gwq3w3lsbwmywejy"); // double aCosEtaB = ep->a * cos(etaB); UNSUPPORTED("6g4xkqaa3vkriejl85k6d6ip8"); // double bSinEtaB = ep->b * sin(etaB); UNSUPPORTED("5b70fbxrii2h834flkxu129e3"); // double xB = UNSUPPORTED("ctwnvvfffsf081yo227cp2slu"); // ep->cx + aCosEtaB * ep->cosTheta - bSinEtaB * ep->sinTheta; UNSUPPORTED("74m124l1fdd7igt4ja3mvquo1"); // double yB = UNSUPPORTED("efdfyhsh3wk8cpsn3nrf1ib7m"); // ep->cy + aCosEtaB * ep->sinTheta + bSinEtaB * ep->cosTheta; UNSUPPORTED("d6dlj9oid3ny4l1nt34bpj05b"); // // maximal error point UNSUPPORTED("9mm8mdhifxed86jq3pangsa8k"); // double aCosEta = ep->a * cos(eta); UNSUPPORTED("4rv2z0s2o3hox4otx4uyxx16r"); // double bSinEta = ep->b * sin(eta); UNSUPPORTED("53v1o3w0oa8nltejmlnlem1c8"); // double x = UNSUPPORTED("ddk8om4owxtmb9qebyops2xgx"); // ep->cx + aCosEta * ep->cosTheta - bSinEta * ep->sinTheta; UNSUPPORTED("d6e8tgeqiqg1hn73iswv050l5"); // double y = UNSUPPORTED("6jzcvmj8xlc2s6kq5pn8zgiq1"); // ep->cy + aCosEta * ep->sinTheta + bSinEta * ep->cosTheta; UNSUPPORTED("7shptv1gfgw2txdkiohaew5qu"); // double dx = xB - xA; UNSUPPORTED("7q4tonxuivpv3r60br713u8cw"); // double dy = yB - yA; UNSUPPORTED("7dxwccoxgtghiyyg2nbgngdrt"); // return abs(x * dy - y * dx + xB * yA - xA * yB) UNSUPPORTED("6ttfnx9a8ob4ukzb7oecubvg9"); // / sqrt(dx * dx + dy * dy); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("2y5n6pky28slb57ykhvtcp62n"); // double x = ep->b / ep->a; UNSUPPORTED("2csh64kflwrp07e3dwv9oz03t"); // double dEta = etaB - etaA; UNSUPPORTED("et9z35jbfy808p3b42ps137cy"); // double cos2 = cos(2 * eta); UNSUPPORTED("asyn8y03tdpjngvspmbkqth8c"); // double cos4 = cos(4 * eta); UNSUPPORTED("dbgklearxausxvblrhmwm69km"); // double cos6 = cos(6 * eta); UNSUPPORTED("a58pvybppvlmnbdyx45xdpyzw"); // // select the right coefficient's set according to degree and b/a UNSUPPORTED("2258kkvkn5md3tcdny03b96k2"); // double (*coeffs)[4][4]; UNSUPPORTED("1ukfunkznhy5tkck4go86qhv9"); // double *safety; UNSUPPORTED("1o8yyd7ow42gdsrc8ewk6le6n"); // if (degree == 2) { UNSUPPORTED("41zkkw49rrvzklq1eqh9s2s9r"); // coeffs = (x < 0.25) ? coeffs2Low : coeffs2High; UNSUPPORTED("cg5jc2ey7bz90ddwt40jqnapb"); // safety = safety2; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("9rtt3vwq0rhvfakl2i8tdk8be"); // coeffs = (x < 0.25) ? coeffs3Low : coeffs3High; UNSUPPORTED("egps64f0a68wnh3q6fx4p2ysy"); // safety = safety3; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("eml5k8qxnrchzpqnm01ruuwqo"); // c0 = ((x * (x * coeffs[0][0][0] + coeffs[0][0][1]) + coeffs[0][0][2]) / (x + coeffs[0][0][3])) UNSUPPORTED("cqxpgi4zr6bvyfr0o4mp6rd5s"); // + cos2 * ((x * (x * coeffs[0][1][0] + coeffs[0][1][1]) + coeffs[0][1][2]) / (x + coeffs[0][1][3])) UNSUPPORTED("b2eaiaddcuwhzq50t4gatlzww"); // + cos4 * ((x * (x * coeffs[0][2][0] + coeffs[0][2][1]) + coeffs[0][2][2]) / (x + coeffs[0][2][3])) UNSUPPORTED("3d527fertf5i60a5fk29pct9d"); // + cos6 * ((x * (x * coeffs[0][3][0] + coeffs[0][3][1]) + coeffs[0][3][2]) / (x + coeffs[0][3][3])); UNSUPPORTED("c6s11bu0ckntk4q6dyit2jxic"); // c1 = ((x * (x * coeffs[1][0][0] + coeffs[1][0][1]) + coeffs[1][0][2]) / (x + coeffs[1][0][3])) UNSUPPORTED("f3pfupz6exjm23p6vys39euar"); // + cos2 * ((x * (x * coeffs[1][1][0] + coeffs[1][1][1]) + coeffs[1][1][2]) / (x + coeffs[1][1][3])) UNSUPPORTED("bgs8cv8obm3ryyjj229tlmswm"); // + cos4 * ((x * (x * coeffs[1][2][0] + coeffs[1][2][1]) + coeffs[1][2][2]) / (x + coeffs[1][2][3])) UNSUPPORTED("azmk1qgarnulp3giuvas37jno"); // + cos6 * ((x * (x * coeffs[1][3][0] + coeffs[1][3][1]) + coeffs[1][3][2]) / (x + coeffs[1][3][3])); UNSUPPORTED("1ky4r4vl6t393yk9kbgw7bh2x"); // return ((x * (x * safety[0] + safety[1]) + safety[2]) / (x + safety[3])) * ep->a * exp(c0 + c1 * dEta); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 70xw8j1k8uyzbal94r6eojd9y // static int bufsize //3 6ob4t12ro0s6l779gciak3bch // static void moveTo(Ppolyline_t * path, double x, double y) public static Object moveTo(Object... arg) { UNSUPPORTED("1hy4wd0k1zued4le59e0n2zc2"); // static void moveTo(Ppolyline_t * path, double x, double y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3wse6f3637ka6m9l7uw8u00zs"); // bufsize = 100; UNSUPPORTED("36x1yvktu0m3dauxwru23h4he"); // path->ps = (pointf*)zmalloc((bufsize)*sizeof(pointf)); UNSUPPORTED("3jdc8ww9wt3jm2on3wzk2iicp"); // path->ps[0].x = x; UNSUPPORTED("2ott6971tzqm0pgv2ntsp6xmq"); // path->ps[0].y = y; UNSUPPORTED("blxf8yf4uhyfflf4s704tdny4"); // path->pn = 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 92tacqag0enwgnsai827dzvj // static void curveTo(Ppolyline_t * path, double x1, double y1, double x2, double y2, double x3, double y3) public static Object curveTo(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("8wpj32rf7vxw5vksq9xbd723q"); // curveTo(Ppolyline_t * path, double x1, double y1, UNSUPPORTED("d9cxkpd6vb2ake96idw50f8p4"); // double x2, double y2, double x3, double y3) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3ffriosb52yi4g0r0rfskyuh2"); // if (path->pn + 3 >= bufsize) { UNSUPPORTED("89opqpdbhaunecn3x2fhgoqi1"); // bufsize *= 2; UNSUPPORTED("el037gz5k64eu70ci3r4jz1fg"); // path->ps = realloc(path->ps, bufsize * sizeof(pointf)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("cnq0jqrsqam2tzexsj9ljdacb"); // path->ps[path->pn].x = x1; UNSUPPORTED("eb422k88tthew61m5cvgev4zm"); // path->ps[path->pn++].y = y1; UNSUPPORTED("7tynfe9ozr1hbls4dy97cydmg"); // path->ps[path->pn].x = x2; UNSUPPORTED("5n2xvadiyrbz2jru3tqre1yia"); // path->ps[path->pn++].y = y2; UNSUPPORTED("9sdwwiwapq125zwfw36v6hq0n"); // path->ps[path->pn].x = x3; UNSUPPORTED("3dhx7b3v7gj0wtqehfwnjh7ql"); // path->ps[path->pn++].y = y3; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5wgj2c7ammc2srsk18ybblucr // static void lineTo(Ppolyline_t * path, double x, double y) public static Object lineTo(Object... arg) { UNSUPPORTED("4788edx5cz2g1llvg7gdrhgkb"); // static void lineTo(Ppolyline_t * path, double x, double y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7bwr2izdyqrsr0jge28mgc6h7"); // pointf curp = path->ps[path->pn - 1]; UNSUPPORTED("6uibs0390x3y4023ll8jz3mtf"); // curveTo(path, curp.x, curp.y, x, y, x, y); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4si3gfp3na9r1cx2rppxmqocc // static void endPath(Ppolyline_t * path, boolean close) public static Object endPath(Object... arg) { UNSUPPORTED("a3i3545ftylhs0w17yipx92xr"); // static void endPath(Ppolyline_t * path, boolean close) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("125u8ocmya1ui6f2vy92ys41c"); // if (close) { UNSUPPORTED("3djonfjd3xbwxbodqwx1skugw"); // pointf p0 = path->ps[0]; UNSUPPORTED("71o5tbu2chebztr0guygypx2z"); // lineTo(path, p0.x, p0.y); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("encppe3huv4mp2ji9ia8we1rf"); // path->ps = realloc(path->ps, path->pn * sizeof(pointf)); UNSUPPORTED("dq633y7scsa3qogdlcv98ujt4"); // bufsize = 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 b76b8i1fllarol9vjfahw6uya // static Ppolyline_t *genEllipticPath(ellipse_t * ep, int degree, double threshold, boolean isSlice) public static Object genEllipticPath(Object... arg) { UNSUPPORTED("91sbkwh00nzifuk95ozdary4"); // static Ppolyline_t *genEllipticPath(ellipse_t * ep, int degree, UNSUPPORTED("1jho2qfx5zatpnhywq7fypo"); // double threshold, boolean isSlice) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("aowovz5r9m2dfhwxk2moegfwg"); // double dEta; UNSUPPORTED("cbeyotgoz8sj8w1p2ma1po8yg"); // double etaB; UNSUPPORTED("31to79oaw2rkhf29ccrl20mj2"); // double cosEtaB; UNSUPPORTED("b8gcx58tzmh72ms4ssnot545i"); // double sinEtaB; UNSUPPORTED("4eacqyzdlewxnmaedlule7mx8"); // double aCosEtaB; UNSUPPORTED("8oztmyi1wky7n2k1gjxw5k2kf"); // double bSinEtaB; UNSUPPORTED("1kstfc0e2hdfd15g9e9uvr53g"); // double aSinEtaB; UNSUPPORTED("9rgvt9yas8ku0zhgttge30k3x"); // double bCosEtaB; UNSUPPORTED("dpyf0oqvxn4itklm9k5eo1fif"); // double xB; UNSUPPORTED("di8gcqpn4bf80nprjr1q526q4"); // double yB; UNSUPPORTED("89sledhxl1y6gptmb75g76trn"); // double xBDot; UNSUPPORTED("aau6f1pgrltq35uj7q9zcuevw"); // double yBDot; UNSUPPORTED("6wfj8onzmd4ihhh62dqfmqpbx"); // double t; UNSUPPORTED("7y0h5n9q9sdwej5muoboxjtl8"); // double alpha; UNSUPPORTED("6gfec3zgd4i523lz512hts9ly"); // Ppolyline_t *path = (Ppolyline_t*)zmalloc(sizeof(Ppolyline_t)); UNSUPPORTED("dh1qpynvja9ozx3mmd9xuy10i"); // // find the number of Bezier curves needed UNSUPPORTED("ar4ns635419133da91e2k1etc"); // boolean found = 0; UNSUPPORTED("8w8z8tst3x20ezyvmfejrucxb"); // int i, n = 1; UNSUPPORTED("41b6xd1eatvjppvf8h03krn8u"); // while ((!found) && (n < 1024)) { UNSUPPORTED("f2apscs44h7zvtbyq6zuf5leb"); // double dEta = (ep->eta2 - ep->eta1) / n; UNSUPPORTED("z2j1gwsh2yqpq6i9hqsygpn7"); // if (dEta <= 0.5 * M_PI) { UNSUPPORTED("5ypdcm9cz1l4o6qvyhn7lusyw"); // double etaB = ep->eta1; UNSUPPORTED("3rhtrb7nj3d17mymh37964wkq"); // found = NOT(0); UNSUPPORTED("dmx4u8plzqizvbw217h1c18v0"); // for (i = 0; found && (i < n); ++i) { UNSUPPORTED("1owrp5mnc0asdgluskbl1mc2t"); // double etaA = etaB; UNSUPPORTED("cpmqpv752wy651vgw5t9u64dp"); // etaB += dEta; UNSUPPORTED("abj2hmy07ynfglx6g7zr1f6ne"); // found = UNSUPPORTED("6vs1fqoounnf8ofyr68pb75xn"); // (estimateError(ep, degree, etaA, etaB) <= threshold); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9ei4d4anf86nhrp9dfszb6ff5"); // n = n << 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8glirgejroxk9jsnn8oejt27z"); // dEta = (ep->eta2 - ep->eta1) / n; UNSUPPORTED("394kiqtci2payvw1njliknrih"); // etaB = ep->eta1; UNSUPPORTED("2ve4a5xpd6fkmbne0apabjwlq"); // cosEtaB = cos(etaB); UNSUPPORTED("1rbfssozfn3y0rahc86urmbxz"); // sinEtaB = sin(etaB); UNSUPPORTED("81sh0z0xif6urj4v0h9absql5"); // aCosEtaB = ep->a * cosEtaB; UNSUPPORTED("7odi6naflbbvvowb3vp5gtyhd"); // bSinEtaB = ep->b * sinEtaB; UNSUPPORTED("7luv4wv6c1jfj68avkop12sdz"); // aSinEtaB = ep->a * sinEtaB; UNSUPPORTED("jebv6n0pxm00athds44rw762"); // bCosEtaB = ep->b * cosEtaB; UNSUPPORTED("aaqx8hl76xuq6qx64odpwxjsy"); // xB = ep->cx + aCosEtaB * ep->cosTheta - bSinEtaB * ep->sinTheta; UNSUPPORTED("a7epwiprisvk7hatwz29e81vn"); // yB = ep->cy + aCosEtaB * ep->sinTheta + bSinEtaB * ep->cosTheta; UNSUPPORTED("cx4qajzc2uxg7xihh8j3ydlmd"); // xBDot = -aSinEtaB * ep->cosTheta - bCosEtaB * ep->sinTheta; UNSUPPORTED("f2a8vdqh1dkv7gnwr4536d6af"); // yBDot = -aSinEtaB * ep->sinTheta + bCosEtaB * ep->cosTheta; UNSUPPORTED("7pkr7zujmkk8j0xh1n1ivj8i1"); // if (isSlice) { UNSUPPORTED("csdxg3xqeagn92mcrjyq40r5c"); // moveTo(path, ep->cx, ep->cy); UNSUPPORTED("1fqyscfa9fwuf5n2rhjn4nvuj"); // lineTo(path, xB, yB); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("6htku7y9bbpib1fzlig3k9ial"); // moveTo(path, xB, yB); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8oqm5tqho5p9xkljdyubg0zur"); // t = tan(0.5 * dEta); UNSUPPORTED("97rqqc2zbf5t0if1dkm0j3um1"); // alpha = sin(dEta) * (sqrt(4 + 3 * t * t) - 1) / 3; UNSUPPORTED("8hfre4wnsmu5vg8bloua9pt0x"); // for (i = 0; i < n; ++i) { UNSUPPORTED("1f7sp0cdfz66t9m125f6bwj0a"); // double xA = xB; UNSUPPORTED("3qungfyrl8d4zazdrtnoqi7bj"); // double yA = yB; UNSUPPORTED("djs8dfefd0tw9q6sty5q9kb6x"); // double xADot = xBDot; UNSUPPORTED("5s7fznr9wo7tb01tnkzy3a9x0"); // double yADot = yBDot; UNSUPPORTED("9zmdugqhtonbk2uax4r1smfp0"); // etaB += dEta; UNSUPPORTED("40atcaschllkhc48gvgcctqqx"); // cosEtaB = cos(etaB); UNSUPPORTED("3wk53wrbggqm9bldp0x0imauu"); // sinEtaB = sin(etaB); UNSUPPORTED("cgtssyu17hyr1izu0kd9zqyb2"); // aCosEtaB = ep->a * cosEtaB; UNSUPPORTED("5w40g6uq2np9av26cpdk9i9b4"); // bSinEtaB = ep->b * sinEtaB; UNSUPPORTED("3b4sjubnmli66nlqf5q3q3719"); // aSinEtaB = ep->a * sinEtaB; UNSUPPORTED("7nqyo2i7o0i5814kpz1t8fvkf"); // bCosEtaB = ep->b * cosEtaB; UNSUPPORTED("orxom0ksatjcwil29m8c8xpr"); // xB = ep->cx + aCosEtaB * ep->cosTheta - bSinEtaB * ep->sinTheta; UNSUPPORTED("9y4re0bc7gs6ezwo6dc6qq99n"); // yB = ep->cy + aCosEtaB * ep->sinTheta + bSinEtaB * ep->cosTheta; UNSUPPORTED("7m8ftuaslxmui9i3e48skp9jg"); // xBDot = -aSinEtaB * ep->cosTheta - bCosEtaB * ep->sinTheta; UNSUPPORTED("8m21k2haq7dcptayx554yipuh"); // yBDot = -aSinEtaB * ep->sinTheta + bCosEtaB * ep->cosTheta; UNSUPPORTED("1mkkhdqaw4q68ikbcimj4nnhm"); // if (degree == 1) { UNSUPPORTED("4y2q0gdsegz0qgrxygnze69gy"); // lineTo(path, xB, yB); UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("8szp6o6pmribq5pnz7f822m68"); // curveTo(path, (xA + alpha * xADot), (yA + alpha * yADot), UNSUPPORTED("e24ni1b4ssyrj0fchznzlca7f"); // (xB - alpha * xBDot), (yB - alpha * yBDot), xB, yB); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("drbttufba5uy7q29k27vn86q2"); // endPath(path, isSlice); UNSUPPORTED("1funi6zh0ilqaehngcqcvj4dv"); // return path; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ee3uvbiaoz1oj4yogh3160ow8 // Ppolyline_t *ellipticWedge(pointf ctr, double xsemi, double ysemi, double angle0, double angle1) public static Object ellipticWedge(Object... arg) { UNSUPPORTED("451xfygtsc86bfhvc33x9gzww"); // Ppolyline_t *ellipticWedge(pointf ctr, double xsemi, double ysemi, UNSUPPORTED("578jtluj0t4iz6w97uoncr9mi"); // double angle0, double angle1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b1pam4t64t0vpc7cazx2uxqpw"); // ellipse_t ell; UNSUPPORTED("8b9keoeetrhid6hvr0lbl3p9l"); // Ppolyline_t *pp; UNSUPPORTED("wm5wmb9qw0libmt58lrk9ql5"); // initEllipse(&ell, ctr.x, ctr.y, xsemi, ysemi, 0, angle0, angle1); UNSUPPORTED("18dpm0f93alpm6wn3gvtr5a18"); // pp = genEllipticPath(&ell, 3, 0.00001, 1); UNSUPPORTED("7etsvryh248syh0l6ag8lcsi2"); // return pp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/common/emit__c.java000066400000000000000000011001471340005343600221270ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static gen.lib.cgraph.attr__c.agget; import static gen.lib.common.geom__c.ptToLine2; import static gen.lib.common.utils__c.Bezier; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agraph_s; import h.ST_boxf; import h.ST_pointf; import h.xdot; import smetana.core.CString; import smetana.core.__ptr__; public class emit__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7udip7yo3ddkp9ocjftokpm9y // void* init_xdot (Agraph_t* g) public static __ptr__ init_xdot(ST_Agraph_s g) { ENTERING("7udip7yo3ddkp9ocjftokpm9y","init_xdot"); try { CString p; xdot xd = null; if (N((p = agget(g, new CString("_background")))!=null && p.charAt(0)!='\0')) { if (N((p = agget(g, new CString("_draw_")))!=null && p.charAt(0)!='\0')) { return null; } } UNSUPPORTED("16fu50ud9qppkwxzdy0nde3lm"); // xd = parseXDotF (p, NULL, sizeof (exdot_op)); UNSUPPORTED("1x2xrqe9on9i2dlb07gj02n65"); // if (!xd) { UNSUPPORTED("b4emzm37tsv7edlai0fhwoul1"); // agerr(AGWARN, "Could not parse \"_background\" attribute in graph %s\n", agnameof(g)); UNSUPPORTED("72v3r8ey2hvh1o9qskrji8im4"); // agerr(AGPREV, " \"%s\"\n", p); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("jujeh27uxxeyas8n09tnlnbu"); // return xd; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("7udip7yo3ddkp9ocjftokpm9y","init_xdot"); } } //1 2mlc0h4j6tfwqvwqa6hyvz4o5 // static char *defaultlinestyle[3] = //3 7d00uua41zvsvxe77gttfnmy // obj_state_t* push_obj_state(GVJ_t *job) public static Object push_obj_state(Object... arg) { UNSUPPORTED("epyu2q1m9hozws9k2sjri40sa"); // obj_state_t* push_obj_state(GVJ_t *job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e468kl46d9gv50x67guzl3gvx"); // obj_state_t *obj, *parent; UNSUPPORTED("4iwsnw8sdl14e952mea0vbirj"); // if (! (obj = zmalloc(sizeof(obj_state_t)))) UNSUPPORTED("ehd3dhcaq9t6u9bppvv8uk9pq"); // agerr(AGERR, "no memory from zmalloc()\n"); UNSUPPORTED("4sj5l7lrob40gejr8efmsh7jd"); // parent = obj->parent = job->obj; UNSUPPORTED("cymxgixtrn3cty2dfm0f5n993"); // job->obj = obj; UNSUPPORTED("2yxuvhwao8vnwsdql2towwn8a"); // if (parent) { UNSUPPORTED("at60efb0o2t6r5j89rkvnvmmz"); // obj->pencolor = parent->pencolor; /* default styles to parent's style */ UNSUPPORTED("2i4ng2pvtum10vrqr1k5jmdhy"); // obj->fillcolor = parent->fillcolor; UNSUPPORTED("er3gsvbhtbl0f2njgt05z1ula"); // obj->pen = parent->pen; UNSUPPORTED("e20x3563jh67vt1lll5yvztoa"); // obj->fill = parent->fill; UNSUPPORTED("1vf36pbannt87rqhdedfp9tzg"); // obj->penwidth = parent->penwidth; UNSUPPORTED("bm8svjgexuo58jrlla94c7lmf"); // obj->gradient_angle = parent->gradient_angle; UNSUPPORTED("96a2xfansfphgn02ik2pzbgsk"); // obj->stopcolor = parent->stopcolor; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("2hztnghjdrq4iblkkiw28e6lp"); // /* obj->pencolor = NULL */ UNSUPPORTED("f1vt7k6jpnvkr3l5hnrufbo7n"); // /* obj->fillcolor = NULL */ UNSUPPORTED("1d8vwhh78wsjnjv3b66v7k71f"); // obj->pen = PEN_SOLID; UNSUPPORTED("327rx5pyklem7b31hdikywlqb"); // obj->fill = FILL_NONE; UNSUPPORTED("8jey9s92w1zm7gze74a8q4dp6"); // obj->penwidth = 1.; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5ps6tm8zierqwp3ptuy9ntbwr"); // return obj; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 fky2di67il17v6esshx73u77 // void pop_obj_state(GVJ_t *job) public static Object pop_obj_state(Object... arg) { UNSUPPORTED("b5pcmjz1yx45rkkn6ihfese3y"); // void pop_obj_state(GVJ_t *job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("cvrjqjl5r3cwa1izxxgzgzrap"); // assert(obj); UNSUPPORTED("1ngdn0iitk41tdtce8t4ip3nx"); // free(obj->id); UNSUPPORTED("4di6e9e0vvr37qbzgje4ludyv"); // free(obj->url); UNSUPPORTED("11bs83ywfvb5bc5pmq26xjbe1"); // free(obj->labelurl); UNSUPPORTED("4iclkuumd2z23hcz3vtlmij9v"); // free(obj->tailurl); UNSUPPORTED("7w1xqpnr4u8nds6opogcbvnya"); // free(obj->headurl); UNSUPPORTED("b8dl0ih21bsnryi1pxe5tgqjp"); // free(obj->tooltip); UNSUPPORTED("9l3frodyf6j4nlcj24te5nrwp"); // free(obj->labeltooltip); UNSUPPORTED("tl0hkuk7y0kr8oegohd0xg83"); // free(obj->tailtooltip); UNSUPPORTED("8td9te5re4sfu60jumgh7qvpd"); // free(obj->headtooltip); UNSUPPORTED("azi0jshcues9wq2154bdnsfdu"); // free(obj->target); UNSUPPORTED("1bv7lwtfb303gq0pr61b5ie5e"); // free(obj->labeltarget); UNSUPPORTED("36xt1x2kwfa0fj8scj17o65hk"); // free(obj->tailtarget); UNSUPPORTED("eikpmw4wrmt4519cz2ixxv4hn"); // free(obj->headtarget); UNSUPPORTED("5g6xu70y47jbf9u1izz9d7lqm"); // free(obj->url_map_p); UNSUPPORTED("9d3byqiz2l6m12o73jh9el0av"); // free(obj->url_bsplinemap_p); UNSUPPORTED("e2337piojwep89s9v6hvret9f"); // free(obj->url_bsplinemap_n); UNSUPPORTED("36q9rct12zy148w6hckc97kcj"); // job->obj = obj->parent; UNSUPPORTED("8are8jqzwfj87yj4tkaohi3tf"); // free(obj); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 z4e7tnt40d3c4kv5u7cyhl9x // int initMapData (GVJ_t* job, char* lbl, char* url, char* tooltip, char* target, char *id, void* gobj) public static Object initMapData(Object... arg) { UNSUPPORTED("etrjsq5w49uo9jq5pzifohkqw"); // int UNSUPPORTED("1r7179s3ntgv42pdh8lf7ri6p"); // initMapData (GVJ_t* job, char* lbl, char* url, char* tooltip, char* target, char *id, UNSUPPORTED("us8je5vaodb65uh2al1w1c3h"); // void* gobj) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("12bpksga44s9sfl7x8xn2rt2k"); // int flags = job->flags; UNSUPPORTED("5x4jq493dtdcx7z85qo0l2vwm"); // int assigned = 0; UNSUPPORTED("9c0gci8o1tk34epj1ssmue4dx"); // if ((flags & (1<<15)) && lbl) UNSUPPORTED("6hfoiuvpq4uvwmw4pxqqcjro6"); // obj->label = lbl; UNSUPPORTED("ekhzvq8l2u2frs2tl01cuf71s"); // if (flags & (1<<16)) { UNSUPPORTED("5u6uuo67mo3c4f2ojvfudltt5"); // obj->id = strdup_and_subst_obj(id, gobj); UNSUPPORTED("rss1781s9o1r7w5npkmc0bmg"); // if (url && url[0]) { UNSUPPORTED("1sruesngpnjzqoec5jwxwxwj8"); // obj->url = strdup_and_subst_obj(url, gobj); UNSUPPORTED("e9av6ob52m06dxds7d0uontab"); // assigned = 1; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ep9t9tvrtouwjd7pulp378fzi"); // if (flags & (1<<22)) { UNSUPPORTED("ccrueeib4dlvmyrlpzxl572jv"); // if (tooltip && tooltip[0]) { UNSUPPORTED("96zad8kmhopk7wo5xdyxacpl0"); // obj->tooltip = strdup_and_subst_obj(tooltip, gobj); UNSUPPORTED("3fiobhu1ragr2f099ghsonx1h"); // obj->explicit_tooltip = NOT(0); UNSUPPORTED("e9av6ob52m06dxds7d0uontab"); // assigned = 1; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("a3azuqia2enebzovqhpnhquvj"); // else if (obj->label) { UNSUPPORTED("2l7dzbw9rqphv63paqq8wvbrc"); // obj->tooltip = strdup(obj->label); UNSUPPORTED("e9av6ob52m06dxds7d0uontab"); // assigned = 1; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4lne2bv62nrpmlhj27vxjy1f6"); // if ((flags & (1<<23)) && target && target[0]) { UNSUPPORTED("ebgucy53hwmcaz1m04q7dolf4"); // obj->target = strdup_and_subst_obj(target, gobj); UNSUPPORTED("3wreyz9de84yyv079xk4ujkv3"); // assigned = 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2zpk6us1pyyltxkpge8hnuyn2"); // return assigned; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d74beympg4wulmk8p6lh8daql // static void layerPagePrefix (GVJ_t* job, agxbuf* xb) public static Object layerPagePrefix(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("6djudoziuh8bcxd8oxm1qch58"); // layerPagePrefix (GVJ_t* job, agxbuf* xb) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8gm1i2tpkqevee6guh43vbzjg"); // char buf[128]; /* large enough for 2 decimal 64-bit ints and "page_," */ UNSUPPORTED("cxr89wmz3j80aqc8410masvdn"); // if (job->layerNum > 1 && (job->flags & (1<<6))) { UNSUPPORTED("bmg9rcy7b1x6gh95ojpwla6i8"); // agxbput (xb, job->gvc->layerIDs[job->layerNum]); UNSUPPORTED("7eax6z8h47h2x1xxyqr1tkluc"); // ((((xb)->ptr >= (xb)->eptr) ? agxbmore(xb,1) : 0), (int)(*(xb)->ptr++ = ((unsigned char)'_'))); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("age7jtxi8adhl9jz4ne7xdp80"); // if ((job->pagesArrayElem.x > 0) || (job->pagesArrayElem.x > 0)) { UNSUPPORTED("cnwkbrftohdks7u707na56420"); // sprintf (buf, "page%d,%d_", job->pagesArrayElem.x, job->pagesArrayElem.y); UNSUPPORTED("2i6wv75y4aki5i8plhbvy276v"); // agxbput (xb, buf); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3uk5ht4qhgq91m46lw7xtdx8q // char* getObjId (GVJ_t* job, void* obj, agxbuf* xb) public static Object getObjId(Object... arg) { UNSUPPORTED("cqm25rponse4rsi686sbn1lo0"); // char* UNSUPPORTED("cxy7pg7aplrpxxilr17uxmir1"); // getObjId (GVJ_t* job, void* obj, agxbuf* xb) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e7icadj7xe1r3gypdnhaaqh0z"); // char* id; UNSUPPORTED("c34mxcvhpn9flzo7mx3jta9v6"); // graph_t* root = job->gvc->g; UNSUPPORTED("4vz75ugb6dvgui5r4b3vha9w5"); // char* gid = GD_drawing(root)->id; UNSUPPORTED("b6fudxfj7yzgmij9ar0axs3cs"); // long idnum; UNSUPPORTED("1y49dkdztswfqp8gc2fsgsfjt"); // char* pfx; UNSUPPORTED("42dnqesv46qi3oy4hhv4xtngt"); // char buf[64]; /* large enough for a decimal 64-bit int */ UNSUPPORTED("eyzyn1uwtp0eb367awnyqsnu9"); // layerPagePrefix (job, xb); UNSUPPORTED("4ivnihqhlqxt5urta85bj8cvo"); // id = agget(obj, "id"); UNSUPPORTED("b5lnfc5x2s74jwjfi17neykdl"); // if (id && (*id != '\0')) { UNSUPPORTED("h8d3b8qgeb1asgpckee022dh"); // agxbput (xb, id); UNSUPPORTED("7q3mbxgjfr96cttjsdev54twj"); // return (((((xb)->ptr >= (xb)->eptr) ? agxbmore(xb,1) : 0), (int)(*(xb)->ptr++ = ((unsigned char)'\0'))),(char*)((xb)->ptr = (xb)->buf)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("442w4uruys9gula2urpooqejy"); // if ((obj != root) && gid) { UNSUPPORTED("b58nurhwbw66quisr070n2wi8"); // agxbput (xb, gid); UNSUPPORTED("7eax6z8h47h2x1xxyqr1tkluc"); // ((((xb)->ptr >= (xb)->eptr) ? agxbmore(xb,1) : 0), (int)(*(xb)->ptr++ = ((unsigned char)'_'))); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("91broiy562bqiwualvjbh1l0s"); // switch (agobjkind(obj)) { UNSUPPORTED("eyna33dobiebmtd0nihpgura4"); // case AGRAPH: UNSUPPORTED("250ofmvxldcwzahtn4zl83wcq"); // idnum = AGSEQ(obj); UNSUPPORTED("7ivrapxz56e3axqq0wlp2c84o"); // if (root == obj) UNSUPPORTED("8i5eqmk1n84h3oisk8qmr80fk"); // pfx = "graph"; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("eghyuptvw5kbqlkky78xkyqch"); // pfx = "clust"; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("6x7ztvlgv763oeop84udp1egg"); // case AGNODE: UNSUPPORTED("dioszphfdf02j4mzkk1orixil"); // idnum = AGSEQ((Agnode_t*)obj); UNSUPPORTED("24c6tv0vcpu7u1sf37b5vd6bn"); // pfx = "node"; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("2dqikmmb6ag0anvbzo5tybf1r"); // case AGEDGE: UNSUPPORTED("88j50o42ltjx7x5kljmhtaimc"); // idnum = AGSEQ((Agedge_t*)obj); UNSUPPORTED("8dj6qoxln9rok8xeaycmhigg3"); // pfx = "edge"; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("doz63noywyk8negzqyp5wtn7y"); // agxbput (xb, pfx); UNSUPPORTED("9arliqoqxm070wy9ayr807ydh"); // sprintf (buf, "%ld", idnum); UNSUPPORTED("4nzvose05k5ompo6nn67jyf82"); // agxbput (xb, buf); UNSUPPORTED("ersrvcvo8qkfouomz222hiih7"); // return (((((xb)->ptr >= (xb)->eptr) ? agxbmore(xb,1) : 0), (int)(*(xb)->ptr++ = ((unsigned char)'\0'))),(char*)((xb)->ptr = (xb)->buf)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dcom8r4kkrsi0tbps20sjm7rl // static void initObjMapData (GVJ_t* job, textlabel_t *lab, void* gobj) public static Object initObjMapData(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("ezkgjtfltwmwf154o793aps7z"); // initObjMapData (GVJ_t* job, textlabel_t *lab, void* gobj) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4m1ejpxv77loq6ojxpmbi77gc"); // char* lbl; UNSUPPORTED("dr7hyuwqwq1d5pbc066tdwb5g"); // char* url = agget(gobj, "href"); UNSUPPORTED("9eonbfqft5myxd7s5xqwvv974"); // char* tooltip = agget(gobj, "tooltip"); UNSUPPORTED("5tk1r0qbghssa155we7canz54"); // char* target = agget(gobj, "target"); UNSUPPORTED("e7icadj7xe1r3gypdnhaaqh0z"); // char* id; UNSUPPORTED("h0or3v13348vfl22jqz895yc"); // unsigned char buf[128]; UNSUPPORTED("9gou5otj6s39l2cbyc8i5i5lq"); // agxbuf xb; UNSUPPORTED("ci65k77x1b3nq6luu69s87oup"); // agxbinit(&xb, 128, buf); UNSUPPORTED("e1z56ssmce7u8j50hn74nzs06"); // if (lab) lbl = lab->text; UNSUPPORTED("bw2gbd060avck8ivr43eed32t"); // else lbl = NULL; UNSUPPORTED("9kl6bihhj6lqk5907u9vx0svh"); // if (!url || !*url) /* try URL as an alias for href */ UNSUPPORTED("5x0bbp126wunx54k3b5z6kqiv"); // url = agget(gobj, "URL"); UNSUPPORTED("5n6h8udz66glqsnvzl6q0ax4d"); // id = getObjId (job, gobj, &xb); UNSUPPORTED("5eb4m9ppzio68im6rq3z9owdi"); // initMapData (job, lbl, url, tooltip, target, id, gobj); UNSUPPORTED("1at5m9ctjn3ukv5gqtfswik02"); // agxbfree(&xb); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 hjkaeebrodvjebhg1hpg9z5e // static void map_point(GVJ_t *job, pointf pf) public static Object map_point(Object... arg) { UNSUPPORTED("8blzxhihaqxozyztu9fj7nshg"); // static void map_point(GVJ_t *job, pointf pf) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("12bpksga44s9sfl7x8xn2rt2k"); // int flags = job->flags; UNSUPPORTED("aukx8c3dz83p6cpnh0fhhnqo8"); // pointf *p; UNSUPPORTED("6ic0ku7wr32jsf5j0pwkrzq8j"); // if (flags & ((1<<16) | (1<<22))) { UNSUPPORTED("68o2j7ic39aasjk49deprnnhh"); // if (flags & (1<<17)) { UNSUPPORTED("69ud33lfpzxun6ls6bpequzo8"); // obj->url_map_shape = MAP_RECTANGLE; UNSUPPORTED("d7uo4fiq8is4wmoeklxb9lrhm"); // obj->url_map_n = 2; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("5k8t4lz63jq26u2xqeoskhen7"); // obj->url_map_shape = MAP_POLYGON; UNSUPPORTED("ah8hfbgy2ofsubklkazu04w4d"); // obj->url_map_n = 4; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9wnyoic97gd28arr56l0i8iy3"); // free(obj->url_map_p); UNSUPPORTED("ec0oubjt8fhapkogfpg8s7y13"); // obj->url_map_p = p = (pointf*)zmalloc((obj->url_map_n)*sizeof(pointf)); UNSUPPORTED("d7tqa8sc5yn0805hga1a0lhy2"); // (p[0].x = pf.x - 3, p[0].y = pf.y - 3, p[1].x = pf.x + 3, p[1].y = pf.y + 3); UNSUPPORTED("cnadzqqicrskcdzko360llcg5"); // if (! (flags & (1<<13))) UNSUPPORTED("9626u9a6bmyb4pqydfy9oe48w"); // gvrender_ptf_A(job, p, p, 2); UNSUPPORTED("3qt79u8muuulxatmo48vjk6r3"); // if (! (flags & (1<<17))) UNSUPPORTED("e0f10b7obog3b7z2tra14ajtx"); // rect2poly(p); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dlyzfsrfmu4fl7l50uzdvu3mc // static char **checkClusterStyle(graph_t* sg, int *flagp) public static Object checkClusterStyle(Object... arg) { UNSUPPORTED("4fe1xtiblsit7upcg8o8vn11n"); // static char **checkClusterStyle(graph_t* sg, int *flagp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("byo308l1rmve5rmx8wt32juux"); // char *style; UNSUPPORTED("1m69eum6fcxl62kbxksis88or"); // char **pstyle = 0; UNSUPPORTED("1y4qclfm9xrlqe6oi5k512dih"); // int istyle = 0; UNSUPPORTED("c77cb1sgh5mlnuscrdp9pxwm8"); // if (((style = agget(sg, "style")) != 0) && style[0]) { UNSUPPORTED("h7xdp8l98vgmu8dkibee5kcm"); // char **pp; UNSUPPORTED("9uleufnyvtzwmq2wbcnmeyp3a"); // char **qp; UNSUPPORTED("1ys4x1uj0hoyf2yuvrmddwh9i"); // char *p; UNSUPPORTED("6akvfrhnmmgier60pl8bkt42r"); // pp = pstyle = parse_style(style); UNSUPPORTED("9vj0v0tutidnb2hxprdosjm39"); // while ((p = *pp)) { UNSUPPORTED("e3mpm8potxtvjdd42cnwhluxl"); // if (strcmp(p, "filled") == 0) { UNSUPPORTED("5uu1d9grveb0bmsov10mqrtj3"); // istyle |= (1 << 0); UNSUPPORTED("5lcmi10wuwp3fyn36cloc29y3"); // pp++; UNSUPPORTED("5fxeuc5zc3643ly5dyson06s5"); // }else if (strcmp(p, "radial") == 0) { UNSUPPORTED("a3fnxu8lgm7c35op5nmoe8xj6"); // istyle |= ((1 << 0) | (1 << 1)); UNSUPPORTED("9bo1rem63xdcqaveddsqb89y"); // qp = pp; /* remove rounded from list passed to renderer */ UNSUPPORTED("21y8hlxutle9votbe86f2hfpl"); // do { UNSUPPORTED("7ca407ksqxmxkuny8m7gr1rzj"); // qp++; UNSUPPORTED("7jb3shp3mthw99uh3iir44z47"); // *(qp-1) = *qp; UNSUPPORTED("1ujv3j8mb7i0c6nzdfgy27w4s"); // } while (*qp); UNSUPPORTED("9wcwovvjpprmy66u5cc2hpy3i"); // }else if (strcmp(p, "striped") == 0) { UNSUPPORTED("6tcwivyh9w6pmh1ys8hf9m48o"); // istyle |= (1 << 6); UNSUPPORTED("9bo1rem63xdcqaveddsqb89y"); // qp = pp; /* remove rounded from list passed to renderer */ UNSUPPORTED("21y8hlxutle9votbe86f2hfpl"); // do { UNSUPPORTED("7ca407ksqxmxkuny8m7gr1rzj"); // qp++; UNSUPPORTED("7jb3shp3mthw99uh3iir44z47"); // *(qp-1) = *qp; UNSUPPORTED("1ujv3j8mb7i0c6nzdfgy27w4s"); // } while (*qp); UNSUPPORTED("agd1qpujy8ioolsnjhmz0zapr"); // }else if (strcmp(p, "rounded") == 0) { UNSUPPORTED("dtj2r1tvn8fuoefvhmbg7k8es"); // istyle |= (1 << 2); UNSUPPORTED("9bo1rem63xdcqaveddsqb89y"); // qp = pp; /* remove rounded from list passed to renderer */ UNSUPPORTED("21y8hlxutle9votbe86f2hfpl"); // do { UNSUPPORTED("7ca407ksqxmxkuny8m7gr1rzj"); // qp++; UNSUPPORTED("7jb3shp3mthw99uh3iir44z47"); // *(qp-1) = *qp; UNSUPPORTED("1ujv3j8mb7i0c6nzdfgy27w4s"); // } while (*qp); UNSUPPORTED("7z03qzrkm0iobzqhlwp87ljr2"); // } else pp++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8wc6gkmat3lo0h81wd7xv879k"); // *flagp = istyle; UNSUPPORTED("iuoxnbeo1cwfgz97k92ylegx"); // return pstyle; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9iqjkcr5mukm81hrbwh0ea6fl // static void freeSegs (colorsegs_t* segs) public static Object freeSegs(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("464xlb3ygxv6p9mg54yjog4xx"); // freeSegs (colorsegs_t* segs) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("byogskcr9egmgq0x5kmqvwi4v"); // free (segs->base); UNSUPPORTED("70o1qrp2ik2rtbnfye965jlti"); // free (segs->segs); UNSUPPORTED("864f5ylvxgoy5rwmwl4pstg2p"); // free (segs); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 97btw75unjbstma95wtq0zatf // static double getSegLen (char* s) public static Object getSegLen(Object... arg) { UNSUPPORTED("9xupxgb2zpj09jpcf9avjwewg"); // static double getSegLen (char* s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2xm53iv3ul2vyq7751jovt7yv"); // char* p = strchr (s, ';'); UNSUPPORTED("bkz9mqmemp1ljxdwdbu8xv3e9"); // char* endp; UNSUPPORTED("9gol5nm38e942ve1ebl1cjtlv"); // double v; UNSUPPORTED("e5uuzflrromc49aac8g763pcj"); // if (!p) { UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ad4vrj0twr5jijvunb1bz9koj"); // *p++ = '\0'; UNSUPPORTED("8hxu46s395rpsel8pqxzl9ana"); // v = strtod (p, &endp); UNSUPPORTED("bog16vtrt7asrtd5qswrdityh"); // if (endp != p) { /* scanned something */ UNSUPPORTED("rqt6x5hv72afst4yu8og4eh1"); // if (v >= 0) UNSUPPORTED("b9t6ne0njxrwqqcdw8t4lt7kt"); // return v; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8azkpi8o0wzdufa90lw8hpt6q"); // return -1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8zfj6ri8h66qg7vjb6r0gtwl5 // static int parseSegs (char* clrs, int nseg, colorsegs_t** psegs) public static Object parseSegs(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("apdtd2ytdipe6mbcrtuzg8me3"); // parseSegs (char* clrs, int nseg, colorsegs_t** psegs) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b2p5bomt1ebfvkood2varaauq"); // colorsegs_t* segs = (colorsegs_t*)zmalloc(sizeof(colorsegs_t)); UNSUPPORTED("8zv1ffgik05z2fcc41di32sn8"); // colorseg_t* s; UNSUPPORTED("elj0n3kcg90w49mdluubv8bns"); // char* colors = strdup (clrs); UNSUPPORTED("3tsetuywdzi8crkdp7yfkzgs0"); // char* color; UNSUPPORTED("c4mq9v0j066932j65m2kds553"); // int cnum = 0; UNSUPPORTED("5wbs6wytrjo8k4jbvke5n0u42"); // double v, left = 1; UNSUPPORTED("4tnoq3emby6jh6mtizghjicok"); // static int doWarn = 1; UNSUPPORTED("a8vxj66zhdcnifeyd5g50smwk"); // int i, rval = 0; UNSUPPORTED("a4px33i4moqe8ybwatz0g8k6"); // char* p; UNSUPPORTED("axv64lmdgc8l7wrse4f2uje2c"); // if (nseg == 0) { UNSUPPORTED("9kkvl2096j2mcfgl88zxrg3mt"); // nseg = 1; UNSUPPORTED("1p0odq4xbiiyk9zulrtgh78p7"); // /* need to know how many colors separated by ':' */ UNSUPPORTED("8lwg5726u0argoi40r0o86mvp"); // for (p = colors; *p; p++) { UNSUPPORTED("1rfsopgavnlzprt3drtcsj0x4"); // if (*p == ':') nseg++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9bp5sal0vgfug2x1wf511qs7f"); // segs->base = colors; UNSUPPORTED("2ivkw78cp3krrv7689cye5s78"); // segs->segs = s = (colorseg_t*)zmalloc((nseg+1)*sizeof(colorseg_t)); UNSUPPORTED("4szmily3ea0fmu6uuro6gu156"); // for (color = strtok(colors, ":"); color; color = strtok(0, ":")) { UNSUPPORTED("4004f4k7a6sfsgb610fgbmu5w"); // if ((v = getSegLen (color)) >= 0) { UNSUPPORTED("azbip4rt1t97r5xu2s3fylz3y"); // double del = v - left; UNSUPPORTED("8h66ar8vsn5btqcntrimnkktm"); // if (del > 0) { UNSUPPORTED("ed89ssfw3aoze3hsxopkgecse"); // if (doWarn && !(((del) < 1E-5) && ((del) > -1E-5))) { UNSUPPORTED("bteqpt6c6yz7o7d5dbmof10wj"); // agerr (AGWARN, "Total size > 1 in \"%s\" color spec ", clrs); UNSUPPORTED("24grm1ux24glgzb3vunz0hgk2"); // doWarn = 0; UNSUPPORTED("7uujii1ibtc8h2vtmdczkb97f"); // rval = 3; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("c5j07yi4nl2nzq8fjmkv7tsby"); // v = left; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("733sj1rtrkdhnykyrn3z1muzd"); // left -= v; UNSUPPORTED("7dvqls8r4achyytx9jb4ce5nd"); // if (v > 0) s[cnum].hasFraction = NOT(0); UNSUPPORTED("3jt663rt945dkhqkl1rv5w95u"); // if (*color) s[cnum].color = color; UNSUPPORTED("c1mbrfego3c40gci714lbozdu"); // s[cnum++].t = v; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("7qqjev9ey61berllhtqdtio5j"); // if (doWarn) { UNSUPPORTED("1uclwqp3vls9evizalhsqup1f"); // agerr (AGERR, "Illegal length value in \"%s\" color attribute ", clrs); UNSUPPORTED("ccs8p4eo4ehywnii033x2xz3k"); // doWarn = 0; UNSUPPORTED("4o9eycynbr1xrbs7xu7wqkoqo"); // rval = 2; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("5spew51c4hokx3tvptq38hoif"); // else rval = 1; UNSUPPORTED("723lxfi188696x4nsqtjqibuc"); // freeSegs (segs); UNSUPPORTED("4sm28tt9yujgmryycwcj3ozcs"); // return rval; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dcahiv0k45nuszddfmx52qvsl"); // if ((((left) < 1E-5) && ((left) > -1E-5))) { UNSUPPORTED("546rex5xh4grberu1heou0wg1"); // left = 0; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8wynr3ctvgfgo13bcha3yofvl"); // /* distribute remaining into slot with t == 0; if none, add to last */ UNSUPPORTED("az8pyhrjnf2hzlv8tkhg72zw6"); // if (left > 0) { UNSUPPORTED("dutfiykx9omnitayjorbg1vx2"); // /* count zero segments */ UNSUPPORTED("49ujuxia41bf3tqa9jq7skubi"); // nseg = 0; UNSUPPORTED("7wc6473fldnm8onr6x54aoknb"); // for (i = 0; i < cnum; i++) { UNSUPPORTED("hw7c0mgetn36f6qtikru7dxh"); // if (s[i].t == 0) nseg++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("e5xpvo7h1n57u6ajux2emdsjl"); // if (nseg > 0) { UNSUPPORTED("b9220xzm85t055qqrbe3x2o91"); // double delta = left/nseg; UNSUPPORTED("2tpczuw50n6atxp3ugll97g2l"); // for (i = 0; i < cnum; i++) { UNSUPPORTED("datujg26m1qe4v9viophnfqmk"); // if (s[i].t == 0) s[i].t = delta; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("cpvqe6ppslph7n78gdtd33ll2"); // s[cnum-1].t += left; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bzphdbk9lv18c2kha9yj9p9bq"); // /* Make sure last positive segment is followed by a sentinel. */ UNSUPPORTED("dnru0y416hypltckpasyalvi1"); // nseg = 0; UNSUPPORTED("8es1vpe9qvsc5j4mi98x0h6ml"); // for (i = cnum-1; i >= 0; i--) { UNSUPPORTED("8eg8vanptayonxgtj46f8qo4h"); // if (s[i].t > 0) break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("63bgrye6x8o4p2w5u6ix8cfnh"); // s[i+1].color = NULL; UNSUPPORTED("cg9otruqfz0hiw1to7o5dbvz2"); // segs->numc = i+1; UNSUPPORTED("9evut88r5b01zyynad10pnqj6"); // *psegs = segs; UNSUPPORTED("bhpm3hntm4gkn66ozolahaqhb"); // return rval; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5mu8biu5ww33wd5ieraclh88z // int wedgedEllipse (GVJ_t* job, pointf * pf, char* clrs) public static Object wedgedEllipse(Object... arg) { UNSUPPORTED("7zkpme13g8rxxwloxvpvvnbcw"); // int UNSUPPORTED("aa0ojv015bm44zwcwqav8hg79"); // wedgedEllipse (GVJ_t* job, pointf * pf, char* clrs) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8z3a2qjysx0m326m5qjy91tnu"); // colorsegs_t* segs; UNSUPPORTED("8zv1ffgik05z2fcc41di32sn8"); // colorseg_t* s; UNSUPPORTED("ecz4e03zumggc8tfymqvirexq"); // int rv; UNSUPPORTED("8vpvinya0zfrnowhlphkyccd5"); // double save_penwidth = job->obj->penwidth; UNSUPPORTED("1nq1fbyjqq72b0sc2bulz00rw"); // pointf ctr, semi; UNSUPPORTED("qw8wtu53e7k1aubdv962neuz"); // Ppolyline_t* pp; UNSUPPORTED("ecf4tlsg5qocdf5cl3xt0usir"); // double angle0, angle1; UNSUPPORTED("7w32bzfgk50pyvzfs7qaxoi1e"); // rv = parseSegs (clrs, 0, &segs); UNSUPPORTED("45tn760kszitmijgc00zjux63"); // if ((rv == 1) || (rv == 2)) return rv; UNSUPPORTED("5a05hfj5quc4ubw4bd0bbtjoq"); // ctr.x = (pf[0].x + pf[1].x) / 2.; UNSUPPORTED("65mz1z9ktoe9whfa6lwcmvscf"); // ctr.y = (pf[0].y + pf[1].y) / 2.; UNSUPPORTED("8ji2e4xqar7owxkedpin2m8ez"); // semi.x = pf[1].x - ctr.x; UNSUPPORTED("92ipp30q5f40j3d2wqk9xu4od"); // semi.y = pf[1].y - ctr.y; UNSUPPORTED("2qlp0rgdgbozdtvtuwqp37pa4"); // if (save_penwidth > 0.5) UNSUPPORTED("hmdk2acbhhzqbukut4pqgz2q"); // gvrender_set_penwidth(job, 0.5); UNSUPPORTED("dddsxf9cjjlgn8v2snkxl6e1z"); // angle0 = 0; UNSUPPORTED("9lw73gbrcdxipj1j1b1kpyvfc"); // for (s = segs->segs; s->color; s++) { UNSUPPORTED("8wmjgptzcrcqkza35tcf7btrq"); // if (s->t == 0) continue; UNSUPPORTED("40pn9i6e6b8aw6gvfysg075ae"); // gvrender_set_fillcolor (job, (s->color?s->color:"black")); UNSUPPORTED("4vzp246p162a5yt5k0d62gcz6"); // if (s[1].color == NULL) UNSUPPORTED("9647s4q9zvdoqktuh274a9y3e"); // angle1 = 2*M_PI; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("caiwb8g1acalpp0esm3dy0be2"); // angle1 = angle0 + 2*M_PI*(s->t); UNSUPPORTED("9ll9d8jthp2hl8sh52a8h2dgp"); // pp = ellipticWedge (ctr, semi.x, semi.y, angle0, angle1); UNSUPPORTED("7arx1xvmroi48xi8occ15h0qj"); // gvrender_beziercurve(job, pp->ps, pp->pn, 0, 0, 1); UNSUPPORTED("dtpeo119iz3e8pf4sty2eypec"); // angle0 = angle1; UNSUPPORTED("bku6jthxqindqm1lycet3lgq1"); // freePath (pp); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2qlp0rgdgbozdtvtuwqp37pa4"); // if (save_penwidth > 0.5) UNSUPPORTED("efgc8uu9zhn5gek92wvnw2cqt"); // gvrender_set_penwidth(job, save_penwidth); UNSUPPORTED("dwbftn5fib1yir7gshhy14cup"); // freeSegs (segs); UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1lx9cef1wqmf2k66twye6mf9g // int stripedBox (GVJ_t * job, pointf* AF, char* clrs, int rotate) public static Object stripedBox(Object... arg) { UNSUPPORTED("etrjsq5w49uo9jq5pzifohkqw"); // int UNSUPPORTED("ekv2bika3f3ammx903i7szf5x"); // stripedBox (GVJ_t * job, pointf* AF, char* clrs, int rotate) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8z3a2qjysx0m326m5qjy91tnu"); // colorsegs_t* segs; UNSUPPORTED("8zv1ffgik05z2fcc41di32sn8"); // colorseg_t* s; UNSUPPORTED("ecz4e03zumggc8tfymqvirexq"); // int rv; UNSUPPORTED("cvn5016us8gcyjc73vgd06clq"); // double xdelta; UNSUPPORTED("d8sp6cfkpfyndzmid92shiq50"); // pointf pts[4]; UNSUPPORTED("aqsj4hnm1mckt6pv4pqok37cv"); // double lastx; UNSUPPORTED("8vpvinya0zfrnowhlphkyccd5"); // double save_penwidth = job->obj->penwidth; UNSUPPORTED("7w32bzfgk50pyvzfs7qaxoi1e"); // rv = parseSegs (clrs, 0, &segs); UNSUPPORTED("45tn760kszitmijgc00zjux63"); // if ((rv == 1) || (rv == 2)) return rv; UNSUPPORTED("csirqgn1exx47m56awd7suhlq"); // if (rotate) { UNSUPPORTED("6yvxg6bp1ape4nmefxjyjjhti"); // pts[0] = AF[2]; UNSUPPORTED("7x2bhgf39q42g2fhxk0vfkxxk"); // pts[1] = AF[3]; UNSUPPORTED("f179v6qur6kketo9cy3lotml7"); // pts[2] = AF[0]; UNSUPPORTED("b1kk11zisn7fvypwmt593hdwp"); // pts[3] = AF[1]; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("eolhyp22bac440ap3o96c3mqz"); // pts[0] = AF[0]; UNSUPPORTED("7bgongoew7lrxnvqed64y1aq5"); // pts[1] = AF[1]; UNSUPPORTED("dsj2jtc38wd64ffe18qloaybe"); // pts[2] = AF[2]; UNSUPPORTED("w8lcp07u15ugb9pbyz628ux6"); // pts[3] = AF[3]; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8cka942q7qvwsisxeamy9xfgs"); // lastx = pts[1].x; UNSUPPORTED("el6wjonhvfaekmhry0o1xncfi"); // xdelta = (pts[1].x - pts[0].x); UNSUPPORTED("m16l42bmexhmji8xy54ow3ac"); // pts[1].x = pts[2].x = pts[0].x; UNSUPPORTED("2qlp0rgdgbozdtvtuwqp37pa4"); // if (save_penwidth > 0.5) UNSUPPORTED("hmdk2acbhhzqbukut4pqgz2q"); // gvrender_set_penwidth(job, 0.5); UNSUPPORTED("9lw73gbrcdxipj1j1b1kpyvfc"); // for (s = segs->segs; s->color; s++) { UNSUPPORTED("8wmjgptzcrcqkza35tcf7btrq"); // if (s->t == 0) continue; UNSUPPORTED("40pn9i6e6b8aw6gvfysg075ae"); // gvrender_set_fillcolor (job, (s->color?s->color:"black")); UNSUPPORTED("3r3zv42eo8ubdity1juxhmhh4"); // /* gvrender_polygon(job, pts, 4, FILL | NO_POLY); */ UNSUPPORTED("4vzp246p162a5yt5k0d62gcz6"); // if (s[1].color == NULL) UNSUPPORTED("9zsrpebctk9utmb3xexrrnn5n"); // pts[1].x = pts[2].x = lastx; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("cnyxri62od5y8ghnijv4z9wsb"); // pts[1].x = pts[2].x = pts[0].x + xdelta*(s->t); UNSUPPORTED("7s4cl2nfmsmuphbzuu24n43gk"); // gvrender_polygon(job, pts, 4, 1); UNSUPPORTED("8g6jo6gn7rt47zmjtrbh705qi"); // pts[0].x = pts[3].x = pts[1].x; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2qlp0rgdgbozdtvtuwqp37pa4"); // if (save_penwidth > 0.5) UNSUPPORTED("efgc8uu9zhn5gek92wvnw2cqt"); // gvrender_set_penwidth(job, save_penwidth); UNSUPPORTED("dwbftn5fib1yir7gshhy14cup"); // freeSegs (segs); UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a4ze3nkth5n070iajraile73b // void emit_map_rect(GVJ_t *job, boxf b) public static Object emit_map_rect(Object... arg) { UNSUPPORTED("co9kbfer4pfzrsg32xzdxnu2u"); // void emit_map_rect(GVJ_t *job, boxf b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("12bpksga44s9sfl7x8xn2rt2k"); // int flags = job->flags; UNSUPPORTED("aukx8c3dz83p6cpnh0fhhnqo8"); // pointf *p; UNSUPPORTED("6ic0ku7wr32jsf5j0pwkrzq8j"); // if (flags & ((1<<16) | (1<<22))) { UNSUPPORTED("68o2j7ic39aasjk49deprnnhh"); // if (flags & (1<<17)) { UNSUPPORTED("69ud33lfpzxun6ls6bpequzo8"); // obj->url_map_shape = MAP_RECTANGLE; UNSUPPORTED("d7uo4fiq8is4wmoeklxb9lrhm"); // obj->url_map_n = 2; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("5k8t4lz63jq26u2xqeoskhen7"); // obj->url_map_shape = MAP_POLYGON; UNSUPPORTED("ah8hfbgy2ofsubklkazu04w4d"); // obj->url_map_n = 4; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9wnyoic97gd28arr56l0i8iy3"); // free(obj->url_map_p); UNSUPPORTED("ec0oubjt8fhapkogfpg8s7y13"); // obj->url_map_p = p = (pointf*)zmalloc((obj->url_map_n)*sizeof(pointf)); UNSUPPORTED("67z1fedypeeyro29m0t5h6cii"); // p[0] = b.LL; UNSUPPORTED("dskfal9yhsof4338w6yry9mve"); // p[1] = b.UR; UNSUPPORTED("cnadzqqicrskcdzko360llcg5"); // if (! (flags & (1<<13))) UNSUPPORTED("9626u9a6bmyb4pqydfy9oe48w"); // gvrender_ptf_A(job, p, p, 2); UNSUPPORTED("3qt79u8muuulxatmo48vjk6r3"); // if (! (flags & (1<<17))) UNSUPPORTED("e0f10b7obog3b7z2tra14ajtx"); // rect2poly(p); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3ai5lu5hhd5fuikmo022v1jm0 // static void map_label(GVJ_t *job, textlabel_t *lab) public static Object map_label(Object... arg) { UNSUPPORTED("c4rnzzthoq9f8agcrqudi4mz"); // static void map_label(GVJ_t *job, textlabel_t *lab) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("12bpksga44s9sfl7x8xn2rt2k"); // int flags = job->flags; UNSUPPORTED("aukx8c3dz83p6cpnh0fhhnqo8"); // pointf *p; UNSUPPORTED("6ic0ku7wr32jsf5j0pwkrzq8j"); // if (flags & ((1<<16) | (1<<22))) { UNSUPPORTED("68o2j7ic39aasjk49deprnnhh"); // if (flags & (1<<17)) { UNSUPPORTED("69ud33lfpzxun6ls6bpequzo8"); // obj->url_map_shape = MAP_RECTANGLE; UNSUPPORTED("d7uo4fiq8is4wmoeklxb9lrhm"); // obj->url_map_n = 2; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("5k8t4lz63jq26u2xqeoskhen7"); // obj->url_map_shape = MAP_POLYGON; UNSUPPORTED("ah8hfbgy2ofsubklkazu04w4d"); // obj->url_map_n = 4; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9wnyoic97gd28arr56l0i8iy3"); // free(obj->url_map_p); UNSUPPORTED("ec0oubjt8fhapkogfpg8s7y13"); // obj->url_map_p = p = (pointf*)zmalloc((obj->url_map_n)*sizeof(pointf)); UNSUPPORTED("pv2pug94o7tyi304mtm18jaw"); // (p[0].x = lab->pos.x - lab->dimen.x / 2., p[0].y = lab->pos.y - lab->dimen.y / 2., p[1].x = lab->pos.x + lab->dimen.x / 2., p[1].y = lab->pos.y + lab->dimen.y / 2.); UNSUPPORTED("cnadzqqicrskcdzko360llcg5"); // if (! (flags & (1<<13))) UNSUPPORTED("9626u9a6bmyb4pqydfy9oe48w"); // gvrender_ptf_A(job, p, p, 2); UNSUPPORTED("3qt79u8muuulxatmo48vjk6r3"); // if (! (flags & (1<<17))) UNSUPPORTED("e0f10b7obog3b7z2tra14ajtx"); // rect2poly(p); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9hfoy16yb9l36g778lx6o4loa // static boolean isRect(polygon_t * p) public static Object isRect(Object... arg) { UNSUPPORTED("9boj1p1495tsl7kbb9os62euc"); // static boolean isRect(polygon_t * p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("jq836u6s0o7a40yevy0sjlhv"); // return (p->sides == 4 && (ROUND(p->orientation) % 90) == 0 UNSUPPORTED("2pp49cjtsontnjugs7vlomdvi"); // && p->distortion == 0.0 && p->skew == 0.0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 drf7d6idpinqx579kloyv3tjf // static int ifFilled(node_t * n) public static Object ifFilled(Object... arg) { UNSUPPORTED("576n3ll5ycnzfrne5a0vg4kmb"); // static int ifFilled(node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ezo17twsxmg7baw2hkcmffhbr"); // char *style, *p, **pp; UNSUPPORTED("9lfwryf4m8bo4travw1edcxtr"); // int r = 0; UNSUPPORTED("8pjk3xuss8ew2p7e7t0djo8qp"); // style = late_nnstring(n, N_style, ""); UNSUPPORTED("4ouo3ttcnk1yyzsz5wrt88zw"); // if (style[0]) { UNSUPPORTED("a7llauzxp1up7djc1wq1dnfco"); // pp = parse_style(style); UNSUPPORTED("307dibrb4o6rniseaep5vofol"); // while ((p = *pp)) { UNSUPPORTED("36yyrnflvlp1fqax3117d8a7o"); // if (strcmp(p, "filled") == 0) UNSUPPORTED("dxmd648tdx5y1devieu0sclw"); // r = 1; UNSUPPORTED("8dkwt30u4binxrx5y6sqggg8i"); // pp++; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3sh9756i5zm4vgebijiohr21q // static pointf *pEllipse(double a, double b, int np) public static Object pEllipse(Object... arg) { UNSUPPORTED("81ja3n1hoznf26wc2vhvhl9fj"); // static pointf *pEllipse(double a, double b, int np) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("39lrh4yp65e7bz2yxmw4eykrf"); // double theta = 0.0; UNSUPPORTED("eyglfufrpugwrnbykbifud876"); // double deltheta = 2 * M_PI / np; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("2rkzhui0essisp5zlw44vx4j9"); // pointf *ps; UNSUPPORTED("9plpwtwefveugoac2qi9x6chi"); // ps = (pointf*)zmalloc((np)*sizeof(pointf)); UNSUPPORTED("8sd8edat3oeyfbnetgt6bwa6l"); // for (i = 0; i < np; i++) { UNSUPPORTED("78zadymnp5kv296ust519rwwy"); // ps[i].x = a * cos(theta); UNSUPPORTED("7aqmygicj0weq2ez2gpdasxzj"); // ps[i].y = b * sin(theta); UNSUPPORTED("4tksxfn79hejj7dk9u7587tdx"); // theta += deltheta; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b0dfwpxhogdrp9mwkzc8oa9vt"); // return ps; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7nqmdkcnal35ollpstkk707t8 // static int check_control_points(pointf *cp) public static boolean check_control_points(__ptr__ cp) { ENTERING("7nqmdkcnal35ollpstkk707t8","check_control_points"); try { double dis1 = ptToLine2 ((ST_pointf)cp.plus(0).getStruct(), (ST_pointf)cp.plus(3).getStruct(), (ST_pointf)cp.plus(1).getStruct()); double dis2 = ptToLine2 ((ST_pointf)cp.plus(0).getStruct(), (ST_pointf)cp.plus(3).getStruct(), (ST_pointf)cp.plus(2).getStruct()); if (dis1 < 2.0*2.0 && dis2 < 2.0*2.0) return true; else return false; } finally { LEAVING("7nqmdkcnal35ollpstkk707t8","check_control_points"); } } //3 5wldemr88fdxl6101ugewclw9 // void update_bb_bz(boxf *bb, pointf *cp) public static void update_bb_bz(ST_boxf bb, ST_pointf.Array cp) { ENTERING("5wldemr88fdxl6101ugewclw9","update_bb_bz"); try { /* if any control point of the segment is outside the bounding box */ if (cp.get(0).x > bb.UR.x || cp.get(0).x < bb.LL.x || cp.get(0).y > bb.UR.y || cp.get(0).y < bb.LL.y || cp.get(1).x > bb.UR.x || cp.get(1).x < bb.LL.x || cp.get(1).y > bb.UR.y || cp.get(1).y < bb.LL.y || cp.get(2).x > bb.UR.x || cp.get(2).x < bb.LL.x || cp.get(2).y > bb.UR.y || cp.get(2).y < bb.LL.y || cp.get(3).x > bb.UR.x || cp.get(3).x < bb.LL.x || cp.get(3).y > bb.UR.y || cp.get(3).y < bb.LL.y) { /* if the segment is sufficiently refined */ if (check_control_points(cp.asPtr())) { int i; /* expand the bounding box */ for (i = 0; i < 4; i++) { if (cp.get(i).x > bb.UR.x) bb.UR.setDouble("x", cp.get(i).x); else if (cp.get(i).x < bb.LL.x) bb.LL.setDouble("x", cp.get(i).x); if (cp.get(i).y > bb.UR.y) bb.UR.setDouble("y", cp.get(i).y); else if (cp.get(i).y < bb.LL.y) bb.LL.setDouble("y", cp.get(i).y); } } else { /* else refine the segment */ final ST_pointf.Array left = new ST_pointf.Array( 4); final ST_pointf.Array right = new ST_pointf.Array( 4); Bezier (cp, 3, 0.5, left.asPtr(), right.asPtr()); update_bb_bz(bb, left); update_bb_bz(bb, right); } } } finally { LEAVING("5wldemr88fdxl6101ugewclw9","update_bb_bz"); } } //3 5inp24tkswwr4gef832cfsh04 // static segitem_t* appendSeg (pointf p, segitem_t* lp) public static Object appendSeg(Object... arg) { UNSUPPORTED("9ox1lgfkkrjj3l9g1jpe0gs04"); // static segitem_t* appendSeg (pointf p, segitem_t* lp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bk3628thwysou5cfzrxarcqte"); // segitem_t* s = (segitem_t*)gmalloc(sizeof(segitem_t)); UNSUPPORTED("3tnumckwljivhxj7b6mdf24d6"); // {(s)->next = 0; (s)->p = p;}; UNSUPPORTED("46ylfb4pi0znpxitzsije2mhw"); // lp->next = s; UNSUPPORTED("3y6wj3ntgmr1qkdpm7wp1dsch"); // return s; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4n0kvrpdwpl0e1imvz963aa1o // static void map_bspline_poly(pointf **pbs_p, int **pbs_n, int *pbs_poly_n, int n, pointf* p1, pointf* p2) public static Object map_bspline_poly(Object... arg) { UNSUPPORTED("1r3l20vlipm0x1r2dprvygc9i"); // static void map_bspline_poly(pointf **pbs_p, int **pbs_n, int *pbs_poly_n, int n, pointf* p1, pointf* p2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("30xnf4zdgb1ykf89oqbuo4l2a"); // int i = 0, nump = 0, last = 2*n-1; UNSUPPORTED("f06mx73hq0m616fggpl7pm6l0"); // for ( ; i < *pbs_poly_n; i++) UNSUPPORTED("9bq6z8tgn463c2b2b1ujzzu64"); // nump += (*pbs_n)[i]; UNSUPPORTED("6xsx7pggjnc2umqgysrjf2o7f"); // (*pbs_poly_n)++; UNSUPPORTED("cavf92uaf58wsqimp1tktt9u5"); // *pbs_n = grealloc(*pbs_n, (*pbs_poly_n) * sizeof(int)); UNSUPPORTED("9v28ohj2y5y341vn7mh44qo8"); // (*pbs_n)[i] = 2*n; UNSUPPORTED("8uvz87etb5208kleb7ehkzyfc"); // *pbs_p = grealloc(*pbs_p, (nump + 2*n) * sizeof(pointf)); UNSUPPORTED("1vi49g48u2rc9v88yhabta0yw"); // for (i = 0; i < n; i++) { UNSUPPORTED("6hab7v9b2nr1fy1es1y7q8vhn"); // (*pbs_p)[nump+i] = p1[i]; UNSUPPORTED("2qtwscm7pv5eahjzljn3gwez3"); // (*pbs_p)[nump+last-i] = p2[i]; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7vktvjafa2lmwlaxsy0nbulut // static segitem_t* approx_bezier (pointf *cp, segitem_t* lp) public static Object approx_bezier(Object... arg) { UNSUPPORTED("al673209lz1hskkt7drx6qaib"); // static segitem_t* approx_bezier (pointf *cp, segitem_t* lp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9460wahmu30hhy9lbmjxls3ju"); // pointf left[4], right[4]; UNSUPPORTED("eomhceyowlehxg33yuxfclcdz"); // if (check_control_points(cp)) { UNSUPPORTED("czol56efilyo93ev9cxz3ytyo"); // if (((lp)->next == (segitem_t*)1)) {(lp)->next = 0; (lp)->p = cp[0];}; UNSUPPORTED("1358cb4a22h5h06oy1a6j08sq"); // lp = appendSeg (cp[3], lp); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("9czjzt923nh9t1r0ofwg1uiqi"); // Bezier (cp, 3, 0.5, left, right); UNSUPPORTED("b0liuqott07bzgsycyywz3wgi"); // lp = approx_bezier (left, lp); UNSUPPORTED("3fohjex9x5u6w5e9ivere17uz"); // lp = approx_bezier (right, lp); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("22f0z0bsq8tczqmt8rdxhmye9"); // return lp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3nlf0dmvl0qwc88vhsi69eo85 // static double bisect (pointf pp, pointf cp, pointf np) public static Object bisect(Object... arg) { UNSUPPORTED("8h36arb302hy4bmfyuq5lvq4d"); // static double bisect (pointf pp, pointf cp, pointf np) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8kh11h44zj580voonfm37tko9"); // double ang, theta, phi; UNSUPPORTED("85xsvegtkipyc8fvrmffpt7on"); // theta = atan2(np.y - cp.y,np.x - cp.x); UNSUPPORTED("c3wm3ceipv4mlnttlnfmsnx9c"); // phi = atan2(pp.y - cp.y,pp.x - cp.x); UNSUPPORTED("b0ntn6nfptzm2qbjo2ls49i1c"); // ang = theta - phi; UNSUPPORTED("4li40ysz6584mc8iejchar0ej"); // if (ang > 0) ang -= 2*M_PI; UNSUPPORTED("col2agnktr81l4ybzpnuvni0b"); // return (phi + ang/2.0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 45zvw50w2tfskogjqa2wzlmhg // static void mkSegPts (segitem_t* prv, segitem_t* cur, segitem_t* nxt, pointf* p1, pointf* p2, double w2) public static Object mkSegPts(Object... arg) { UNSUPPORTED("5hv5nomfe90vtds8hxhox7yej"); // static void mkSegPts (segitem_t* prv, segitem_t* cur, segitem_t* nxt, UNSUPPORTED("78rchge0ctod4mkpq2fslrh0s"); // pointf* p1, pointf* p2, double w2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("egh0kbv4tt7cyg4y0jqpw892u"); // pointf cp, pp, np; UNSUPPORTED("biw1k2scxl82ky4h2e5gzzz3w"); // double theta, delx, dely; UNSUPPORTED("2bghyit203pd6xw2ihhenzyn8"); // pointf p; UNSUPPORTED("1uw3lcxgjre9mhnye9n5mc3nq"); // cp = cur->p; UNSUPPORTED("8oyy7q664cu8y31s5gm98jaok"); // /* if prv or nxt are NULL, use the one given to create a collinear UNSUPPORTED("7cujcl5h2n20wpsmy96ce8y1t"); // * prv or nxt. This could be more efficiently done with special case code, UNSUPPORTED("90m6pb4mxn7bdssm66d6ex652"); // * but this way is more uniform. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("4m73973c5to6aicgd30f6yzaf"); // if (prv) { UNSUPPORTED("c1rauhosdsgiv6485akroiljy"); // pp = prv->p; UNSUPPORTED("ethb044vg7vhe5m2lhq81kab3"); // if (nxt) UNSUPPORTED("5svwwfzkdun5jxqdn4mouh5n6"); // np = nxt->p; UNSUPPORTED("3jir07ymknf0hmb9pv9x4dr3o"); // else { UNSUPPORTED("b6z52jimoq1wmtvxf8qjyx889"); // np.x = 2*cp.x - pp.x; UNSUPPORTED("7plg4dt2urchak7x50b0qhyz2"); // np.y = 2*cp.y - pp.y; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("8hw6aqovl83yx8u0xlbnkcbw2"); // np = nxt->p; UNSUPPORTED("a6vni7nsbr4l53ceg9tyv09i8"); // pp.x = 2*cp.x - np.x; UNSUPPORTED("9r62maaemrr57dm3tdh7fuva6"); // pp.y = 2*cp.y - np.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3ktptkz1bjdklvgym7woyu60x"); // theta = bisect(pp,cp,np); UNSUPPORTED("a4adtr9lu9kofe8mqolr4fg4r"); // delx = w2*cos(theta); UNSUPPORTED("4uljbij5lrj26jqovnqnbkzxc"); // dely = w2*sin(theta); UNSUPPORTED("6r23zes3ngn7ela6z0elabnsq"); // p.x = cp.x + delx; UNSUPPORTED("4uzttmp6bugdo2qudn1xrr8fj"); // p.y = cp.y + dely; UNSUPPORTED("bntn382sm9mnloab7gci08f64"); // *p1 = p; UNSUPPORTED("92rv8dekgpna6e0qh7la8kyg0"); // p.x = cp.x - delx; UNSUPPORTED("2czgguvp48sudmjwiuoanrvbq"); // p.y = cp.y - dely; UNSUPPORTED("823jqic6za2w9bn6bxd5sfovp"); // *p2 = p; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3xmhrtq5g7trpp4u40xr0b8y2 // static void map_output_bspline (pointf **pbs, int **pbs_n, int *pbs_poly_n, bezier* bp, double w2) public static Object map_output_bspline(Object... arg) { UNSUPPORTED("6lvrwl802yfwlo7kfixgg5nez"); // static void map_output_bspline (pointf **pbs, int **pbs_n, int *pbs_poly_n, bezier* bp, double w2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("460a9s2we7gle00rxon2fthvv"); // segitem_t* segl = (segitem_t*)gmalloc(sizeof(segitem_t)); UNSUPPORTED("7jg00n3u4jk162hmdo63f64lo"); // segitem_t* segp = segl; UNSUPPORTED("b8pna82nkq66ot9l709idym2o"); // segitem_t* segprev; UNSUPPORTED("agsgwjn5iwlfedcqbv8ckm57"); // segitem_t* segnext; UNSUPPORTED("8kw0juwrrjw2z97umyrg0g1qd"); // int nc, j, k, cnt; UNSUPPORTED("8d1z0mjgb910nvnha97hjtek8"); // pointf pts[4], pt1[50], pt2[50]; UNSUPPORTED("asm74enhle0g30mwnz8t1buui"); // ((segl)->next = (segitem_t*)1); UNSUPPORTED("2adno2mo8kzsvrdtc21rhj4v5"); // nc = (bp->size - 1)/3; /* nc is number of bezier curves */ UNSUPPORTED("7swib3bakj4z6ubjcayxfitj6"); // for (j = 0; j < nc; j++) { UNSUPPORTED("95y530ux2hdmxrhr3nyzp3g9t"); // for (k = 0; k < 4; k++) { UNSUPPORTED("c9uvgse79w32172gjma953aq2"); // pts[k] = bp->list[3*j + k]; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("5sy2c7piyke76572zgaizewud"); // segp = approx_bezier (pts, segp); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6ivsqczanxvoll90ol5rf9nwj"); // segp = segl; UNSUPPORTED("7934mrgiu0ms3qybvycy3cgay"); // segprev = 0; UNSUPPORTED("3wtn792c3ql5yhn77alu6r5d8"); // cnt = 0; UNSUPPORTED("2aqvc301awlepsejrafp4yyc6"); // while (segp) { UNSUPPORTED("3aw5thxio3mh4yvrwep3op3cb"); // segnext = segp->next; UNSUPPORTED("4ov54jbry4z74fejjwuepxe84"); // mkSegPts (segprev, segp, segnext, pt1+cnt, pt2+cnt, w2); UNSUPPORTED("77mslev6fngkh87g2jkd6j87j"); // cnt++; UNSUPPORTED("2r5ivfdgqpq5a6nyot9hijti3"); // if ((segnext == NULL) || (cnt == 50)) { UNSUPPORTED("8upks3wb9w2i7a6fib6tg86so"); // map_bspline_poly (pbs, pbs_n, pbs_poly_n, cnt, pt1, pt2); UNSUPPORTED("br4bzacgnowkbgloqwj6hi6xi"); // pt1[0] = pt1[cnt-1]; UNSUPPORTED("1a82ke2ad8rgjec4c9c58r8nz"); // pt2[0] = pt2[cnt-1]; UNSUPPORTED("5n5phg49hlzthwyjtssepk4pr"); // cnt = 1; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("3m3komtzmujd239y2dgskiyj6"); // segprev = segp; UNSUPPORTED("7gox3cmouztk9pgbp4kyi21n3"); // segp = segnext; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("f3da2ac9kdmfwv0pfno2zrouc"); // /* free segl */ UNSUPPORTED("5h71fr0i2yoyjffmruxsjp21z"); // while (segl) { UNSUPPORTED("diwidyhfydftnczhbvpa03d1"); // segp = segl->next; UNSUPPORTED("n2x8n88pew5ot3r4s1zgnqw9"); // free (segl); UNSUPPORTED("9facw1k96gpqu3xnm2hjb1d2c"); // segl = segp; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9xju3of8zy5f2mk0f6vd6kxoi // static boolean is_natural_number(char *sstr) public static Object is_natural_number(Object... arg) { UNSUPPORTED("9rhheqjcnai59q1k0d8y9jynt"); // static boolean is_natural_number(char *sstr) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1dlob9vbxvn4cj6g0rosu94jd"); // unsigned char *str = (unsigned char *) sstr; UNSUPPORTED("alw7hro2r95xcs6yzutcluxtm"); // while (*str) UNSUPPORTED("9m3itcf8i2mq6xorvv3zdwhh"); // if (NOT(isdigit(*str++))) UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("8fwlqtemsmckleh6946lyd8mw"); // return NOT(0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4udru8pf61208dtuf22zzmmqd // static int layer_index(GVC_t *gvc, char *str, int all) public static Object layer_index(Object... arg) { UNSUPPORTED("3lxm6mluhtqpfsa9nzkd3apqi"); // static int layer_index(GVC_t *gvc, char *str, int all) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3ak6myanfllb9z1xz4e6c0nhf"); // /* GVJ_t *job = gvc->job; */ UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("ddtbvyocaoyzuds5nmnsodhqb"); // if ((*(str)==*("all")&&!strcmp(str,"all"))) UNSUPPORTED("8duf2go7r0jiqw3wnkiqbol4r"); // return all; UNSUPPORTED("8ztkkwz0e702fr9np4y6o4kuu"); // if (is_natural_number(str)) UNSUPPORTED("34uc4omjjar6x7rskk72va3j6"); // return atoi(str); UNSUPPORTED("1s842n3ke9usoirca1dwsrrzx"); // if (gvc->layerIDs) UNSUPPORTED("cpogmg64n6exvblx87d1pmwfo"); // for (i = 1; i <= gvc->numLayers; i++) UNSUPPORTED("939rzzi8dp0sws71xjv2n1d66"); // if ((*(str)==*(gvc->layerIDs[i])&&!strcmp(str,gvc->layerIDs[i]))) UNSUPPORTED("b9e4nv60rh6o1ai85uu0ougv"); // return i; UNSUPPORTED("8azkpi8o0wzdufa90lw8hpt6q"); // return -1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a8rdk6dogn52h5grbbxfoq34z // static boolean selectedLayer(GVC_t *gvc, int layerNum, int numLayers, char *spec) public static Object selectedLayer(Object... arg) { UNSUPPORTED("eri18s9ivcrynir2bpx4jnw8g"); // static boolean selectedLayer(GVC_t *gvc, int layerNum, int numLayers, char *spec) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("15uc40a82mi1mztghnyvoy460"); // int n0, n1; UNSUPPORTED("h0or3v13348vfl22jqz895yc"); // unsigned char buf[128]; UNSUPPORTED("2zdui2eukxklqn2ig8nh0bw1t"); // char *w0, *w1; UNSUPPORTED("ccg75yolmilezu48nio7ksbf9"); // char *buf_part_p = NULL, *buf_p = NULL, *cur, *part_in_p; UNSUPPORTED("9gou5otj6s39l2cbyc8i5i5lq"); // agxbuf xb; UNSUPPORTED("9h6icoq4cc2e2ibff10l3xrob"); // boolean rval = 0; UNSUPPORTED("ci65k77x1b3nq6luu69s87oup"); // agxbinit(&xb, 128, buf); UNSUPPORTED("bhiyk7f25o6jysgsxycaf5vbo"); // agxbput(&xb, spec); UNSUPPORTED("aww221dmkj4h9x0qmlvai6bun"); // part_in_p = (((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf)); UNSUPPORTED("8o0g4i9g8jc2qoljztsf5l69"); // /* Thanks to Matteo Nastasi for this extended code. */ UNSUPPORTED("5wc9kd553mqdmeqrzv5u3kuyv"); // while ((rval == 0) && (cur = strtok_r(part_in_p, gvc->layerListDelims, &buf_part_p))) { UNSUPPORTED("5mvzc9us20jr0bcopdypz0mfo"); // w1 = w0 = strtok_r (cur, gvc->layerDelims, &buf_p); UNSUPPORTED("snrpgbkmqz2ba186d24cmfnx"); // if (w0) UNSUPPORTED("bx1n828umga5916irui1tb7cx"); // w1 = strtok_r (NULL, gvc->layerDelims, &buf_p); UNSUPPORTED("crroc3un37wt9d0omuvaq8gca"); // switch ((w0 != NULL) + (w1 != NULL)) { UNSUPPORTED("46lzlkypfilrge90rkaiveuyb"); // case 0: UNSUPPORTED("1y7jah5hullcu9snkfa1oy1f2"); // rval = 0; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("2o83im06dulx11wjpy469gkoa"); // case 1: UNSUPPORTED("1jygz6h6idqhtvh7bqd78fhy2"); // n0 = layer_index(gvc, w0, layerNum); UNSUPPORTED("c8zzp13vx1yth31xuqj1661c8"); // rval = (n0 == layerNum); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("b8vgbvwzllfs4lrqmmqyr1spk"); // case 2: UNSUPPORTED("9y7cribaclzkutrf9lusdgb73"); // n0 = layer_index(gvc, w0, 0); UNSUPPORTED("45uxr9q1d74dbhay2ugv205w0"); // n1 = layer_index(gvc, w1, numLayers); UNSUPPORTED("2gcf1ylvtukspepmlgp37irq5"); // if ((n0 >= 0) || (n1 >= 0)) { UNSUPPORTED("ad3pm1secuibs7iqrobtxw2is"); // if (n0 > n1) { UNSUPPORTED("en01k6v1n32c2swyx0elf6pcg"); // int t = n0; UNSUPPORTED("2bjyjz9cvls6hyytpcmbkgmcs"); // n0 = n1; UNSUPPORTED("bpseot9l807jidv28yid809wm"); // n1 = t; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("cer1dt8c42dt0eigzkalgg0u4"); // rval = BETWEEN(n0, layerNum, n1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("59btplbumo93hp7myb8mvi5ee"); // part_in_p = NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1at5m9ctjn3ukv5gqtfswik02"); // agxbfree(&xb); UNSUPPORTED("bhpm3hntm4gkn66ozolahaqhb"); // return rval; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2zlzcril6uiesf8z9zo8bvfyz // static boolean selectedlayer(GVJ_t *job, char *spec) public static Object selectedlayer(Object... arg) { UNSUPPORTED("3nzphmy08w2y4a3yntr24xw0p"); // static boolean selectedlayer(GVJ_t *job, char *spec) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("any52sc1hzc52gsl6k37qteok"); // return selectedLayer (job->gvc, job->layerNum, job->numLayers, spec); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8elt2ktgbiurz9gdlvgjpr8mp // static int* parse_layerselect(GVC_t *gvc, graph_t * g, char *p) public static Object parse_layerselect(Object... arg) { UNSUPPORTED("6lvivuwtc6e4wjgguepfq8nud"); // static int* parse_layerselect(GVC_t *gvc, graph_t * g, char *p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ezxtli9973z4een4uoj2cfsho"); // int* laylist = (int*)gmalloc((gvc->numLayers+2)*sizeof(int)); UNSUPPORTED("b5a93beg34iiqtnufv9wanh2r"); // int i, cnt = 0; UNSUPPORTED("c2uuo0qyuykgxql7fsz1al9h4"); // for (i = 1; i <=gvc->numLayers; i++) { UNSUPPORTED("7u51wobeze34in0qy7cnjmqv5"); // if (selectedLayer (gvc, i, gvc->numLayers, p)) { UNSUPPORTED("b5ymvvr45fvj1wbcdyoe57nnd"); // laylist[++cnt] = i; UNSUPPORTED("8nzcpbtoi924xzu8ze3z6dbft"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("77njmf3w9m7xk714hk5o8hjv5"); // if (cnt) { UNSUPPORTED("f3878e9jng3sa7ipt8cmlofqs"); // laylist[0] = cnt; UNSUPPORTED("a3k7ll5ie5r0j4h3t4tefex3b"); // laylist[cnt+1] = gvc->numLayers+1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("c0ejg4cn6ao9jn7vtsuqug4gl"); // agerr(AGWARN, "The layerselect attribute \"%s\" does not match any layer specifed by the layers attribute - ignored.\n", p); UNSUPPORTED("f3878e9jng3sa7ipt8cmlofqs"); // laylist[0] = cnt; UNSUPPORTED("8skx11npk6vn3hbxvcuxklf6v"); // free (laylist); UNSUPPORTED("45iwrgdr374i74cf8em6uwfmx"); // laylist = NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("30gwy84osotlzmeicu7kfluyp"); // return laylist; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4kiahfclenuf921uyxg4lzlbs // static int parse_layers(GVC_t *gvc, graph_t * g, char *p) public static Object parse_layers(Object... arg) { UNSUPPORTED("1spuppzfx1me4g279wfftgu5n"); // static int parse_layers(GVC_t *gvc, graph_t * g, char *p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7v0207mxa8hqzexz49lscukl8"); // int ntok; UNSUPPORTED("eqt7m58ywry2anaa5wpii01ri"); // char *tok; UNSUPPORTED("bpt627vzs0r1tzo7jgpyjdssp"); // int sz; UNSUPPORTED("2v5nye0hqxoem0cn4n22cgcov"); // gvc->layerDelims = agget(g, "layersep"); UNSUPPORTED("2gnxlhqmvfrjzjd75hm5mx6em"); // if (!gvc->layerDelims) UNSUPPORTED("aia1lj9r0sseuxbuefdo14bao"); // gvc->layerDelims = ":\t "; UNSUPPORTED("6b9c2dn4yffcjru8dxyzsu37e"); // gvc->layerListDelims = agget(g, "layerlistsep"); UNSUPPORTED("7wf2w4t3x9ak3skyqq8y1okhb"); // if (!gvc->layerListDelims) UNSUPPORTED("563hs3cgmcdcqb6l4rrpv75ek"); // gvc->layerListDelims = ","; UNSUPPORTED("8r1h2mlb2u87klqp21y9ilhie"); // if ((tok = strpbrk (gvc->layerDelims, gvc->layerListDelims))) { /* conflict in delimiter strings */ UNSUPPORTED("q0y5qqfvuie4x5nbuh4ltwml"); // agerr(AGWARN, "The character \'%c\' appears in both the layersep and layerlistsep attributes - layerlistsep ignored.\n", *tok); UNSUPPORTED("5yy5l7k4jffs33fkk86gnxx1y"); // gvc->layerListDelims = ""; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c4wye11e21cuxetha8fjaezcj"); // ntok = 0; UNSUPPORTED("1gxcbnw3tixp11pk9jkijirao"); // sz = 0; UNSUPPORTED("2ejr8g3scrhv7fxwj1tno13zd"); // gvc->layers = strdup(p); UNSUPPORTED("6q7eqo62kv90x2ch8rce2nhwq"); // for (tok = strtok(gvc->layers, gvc->layerDelims); tok; UNSUPPORTED("577hr51xn1w20008653y51w8j"); // tok = strtok(NULL, gvc->layerDelims)) { UNSUPPORTED("7gwdsxgme4t8qinotj0dxsvcw"); // ntok++; UNSUPPORTED("2ffbgwipxpwoyr4fd0k4ha0nq"); // if (ntok > sz) { UNSUPPORTED("d3yzx9720tr2kq7hefgjdkrp6"); // sz += 128; UNSUPPORTED("32u0qx8yeqxu4r0bk3enhqi0n"); // gvc->layerIDs = ALLOC(sz, gvc->layerIDs, char *); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("3q96x283efzk6afscurxeve1h"); // gvc->layerIDs[ntok] = tok; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b0n1l1dvbn6aov6g3xvi2i0ur"); // if (ntok) { UNSUPPORTED("epu81n9xme9sxje3laz6szujx"); // gvc->layerIDs = RALLOC(ntok + 2, gvc->layerIDs, char *); /* shrink to minimum size */ UNSUPPORTED("yd1fq95zbahnl8ztvhpjb71k"); // gvc->layerIDs[0] = NULL; UNSUPPORTED("557694uxqmnbvy9qb7t1armld"); // gvc->layerIDs[ntok + 1] = NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c4f8xkcsh8jpj7admwanbez66"); // return ntok; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4gyjzihgl8che7plolivfm89h // static int chkOrder(graph_t * g) public static Object chkOrder(Object... arg) { UNSUPPORTED("9jzoupo86al5szoppdb9ug4jm"); // static int chkOrder(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7g8u2dbeh9st5st5kp6oshdu5"); // char *p = agget(g, "outputorder"); UNSUPPORTED("3cvmixd2u1g2d9l03kuxyyxxw"); // if (p) { UNSUPPORTED("a88zp39raphu4mpw0pi8oq1hi"); // char c = *p; UNSUPPORTED("a11i71rfjtl0mxznvr2rsxg4r"); // if ((c == 'n') && !strcmp(p + 1, "odesfirst")) UNSUPPORTED("d6qsecgbj60rq8xaef9umqge9"); // return (1<<0); UNSUPPORTED("a5f5xut0kypunfkizx4yu77ae"); // if ((c == 'e') && !strcmp(p + 1, "dgesfirst")) UNSUPPORTED("9boy87u68njstsw43wxf5urh9"); // return (1<<4); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 33hjwrwudmjobd5yhbvu86jxz // static void init_layering(GVC_t * gvc, graph_t * g) public static Object init_layering(Object... arg) { UNSUPPORTED("7iqktnxyjnxn51eeuuy0oh1uz"); // static void init_layering(GVC_t * gvc, graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("76nok3eiyr33qf4ecv69ujxn6"); // char *str; UNSUPPORTED("avab4390fpb68yais5eijodkt"); // /* free layer strings and pointers from previous graph */ UNSUPPORTED("8zsh0fgdj4ri6w73fr47391cy"); // if (gvc->layers) { UNSUPPORTED("6zw20p1kbgu9ycram23hk8ece"); // free(gvc->layers); UNSUPPORTED("a012u6bc7d55ctuf92taryny"); // gvc->layers = NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("42i2j3ry654uexmr231uhaqw8"); // if (gvc->layerIDs) { UNSUPPORTED("5x7zl391qtijlzmv7wg3my1uh"); // free(gvc->layerIDs); UNSUPPORTED("b4z8eoj6aem9v33o3snekjt37"); // gvc->layerIDs = NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1zd3la1zp34vbtw6eiyojzrxi"); // if (gvc->layerlist) { UNSUPPORTED("c2onv8y2o0rubycnv6cvmfgxx"); // free(gvc->layerlist); UNSUPPORTED("1ovwh9w5ny7xovqo71y582jpw"); // gvc->layerlist = NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("efigtm6w6713gs6f8j1kdon3p"); // if ((str = agget(g, "layers")) != 0) { UNSUPPORTED("vdhfuyl28ln9lsrhizcu26ri"); // gvc->numLayers = parse_layers(gvc, g, str); UNSUPPORTED("2zl1bqc97q5o2qjpkdo7svkrj"); // if (((str = agget(g, "layerselect")) != 0) && *str) { UNSUPPORTED("428c4zbkpplv4awwcg3ne3q2i"); // gvc->layerlist = parse_layerselect(gvc, g, str); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("b4z8eoj6aem9v33o3snekjt37"); // gvc->layerIDs = NULL; UNSUPPORTED("d1k0kld2zrm4eln7qp4kx6yaz"); // gvc->numLayers = 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3edoapk4bnc3rsmt3huwoqf9g // static int numPhysicalLayers (GVJ_t *job) public static Object numPhysicalLayers(Object... arg) { UNSUPPORTED("5zoarmqyf1m3t67nl5xahrslu"); // static int numPhysicalLayers (GVJ_t *job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bzx9zh3zx8kyugkbdhlk4qzte"); // if (job->gvc->layerlist) { UNSUPPORTED("60ik4am7yzmctb72j26n5lr2q"); // return job->gvc->layerlist[0]; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("1aeayu3ipqii7ienwaw2fclmc"); // return job->numLayers; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cpiumi39pczm8e5154f9udcco // static void firstlayer(GVJ_t *job, int** listp) public static Object firstlayer(Object... arg) { UNSUPPORTED("5e25vrbqvnj3q41zkb05shjgt"); // static void firstlayer(GVJ_t *job, int** listp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("90n549z2ovp2q6sbcp8ovmgl5"); // job->numLayers = job->gvc->numLayers; UNSUPPORTED("bzx9zh3zx8kyugkbdhlk4qzte"); // if (job->gvc->layerlist) { UNSUPPORTED("2fuv307u38d5mdk8l04r6u4wq"); // int *list = job->gvc->layerlist; UNSUPPORTED("y80sygu21ondz3a4lzihqypj"); // int cnt = *list++; UNSUPPORTED("5pz4cc2cq395z3znk5opultm2"); // if ((cnt > 1) && (! (job->flags & (1<<6)))) { UNSUPPORTED("4gruo7b3gf61r0fw9j6awgase"); // agerr(AGWARN, "layers not supported in %s output\n", UNSUPPORTED("6aw3ie76clejxz6q2120b63i8"); // job->output_langname); UNSUPPORTED("edlmftq4sdx2y0m6ghban11vo"); // list[1] = job->numLayers + 1; /* only one layer printed */ UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("397jrexm8oa7doqg2bmttotgy"); // job->layerNum = *list++; UNSUPPORTED("74506hoopc6w4pd2tieyyk052"); // *listp = list; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("9njkqrmknfdjv143rey9fn21b"); // if ((job->numLayers > 1) UNSUPPORTED("b6082dq1axeyie3r2u3gmt90y"); // && (! (job->flags & (1<<6)))) { UNSUPPORTED("4gruo7b3gf61r0fw9j6awgase"); // agerr(AGWARN, "layers not supported in %s output\n", UNSUPPORTED("6aw3ie76clejxz6q2120b63i8"); // job->output_langname); UNSUPPORTED("7aldo2ccuxu5nz7wrjpi2kgbk"); // job->numLayers = 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8fsuke0q52rma3v3dzl4r7nxl"); // job->layerNum = 1; UNSUPPORTED("8by4zer0vztykds6f7wo09dxl"); // *listp = NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 b445mlh9alsqmydjwlh3lzsnz // static boolean validlayer(GVJ_t *job) public static Object validlayer(Object... arg) { UNSUPPORTED("bfi9hniz5k2qe0dadeqq4ki5b"); // static boolean validlayer(GVJ_t *job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("45m14336nzkr3zwmroo7wwmop"); // return (job->layerNum <= job->numLayers); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3y21gcvzhj6vn9gl9g6gag119 // static void nextlayer(GVJ_t *job, int** listp) public static Object nextlayer(Object... arg) { UNSUPPORTED("28yugcvd6qow68yasmq967pbn"); // static void nextlayer(GVJ_t *job, int** listp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("20yv9az4kpafd26nxc9kj1ggt"); // int *list = *listp; UNSUPPORTED("essmww0ueu4ulfn9wjtq7m4vl"); // if (list) { UNSUPPORTED("397jrexm8oa7doqg2bmttotgy"); // job->layerNum = *list++; UNSUPPORTED("74506hoopc6w4pd2tieyyk052"); // *listp = list; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("2xz0u3jthtaln82mr50e5afw8"); // job->layerNum++; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dpqjdl72ma03lvh522bej00pf // static point pagecode(GVJ_t *job, char c) public static Object pagecode(Object... arg) { UNSUPPORTED("858jif62sg7t8bfj0q5dgi77b"); // static point pagecode(GVJ_t *job, char c) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e5r3mj8btrkw973m7l0rritko"); // point rv; UNSUPPORTED("b2ritu2u2kl5u66e81tvv21f8"); // rv.x = rv.y = 0; UNSUPPORTED("8amt8fmqdipygnxirowfbawox"); // switch (c) { UNSUPPORTED("2s6hwvc7utwke7l45suhmumhk"); // case 'T': UNSUPPORTED("13gd95p7284sp2kf1rup3gssg"); // job->pagesArrayFirst.y = job->pagesArraySize.y - 1; UNSUPPORTED("6nseewwep98wlkw901fwmkkr4"); // rv.y = -1; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("9nbe45sgjnq9pebqfddm57j34"); // case 'B': UNSUPPORTED("8wyp8gbxgnri6agdl2zv0nzbv"); // rv.y = 1; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("92wd4259ggzetbnn56kh75cap"); // case 'L': UNSUPPORTED("9zlyi4rkx1oa6app1mk6zdqs1"); // rv.x = 1; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("9rqaici2t4gmxgbc4jjbi5147"); // case 'R': UNSUPPORTED("d4nni7llszxdo8f1w0qosk8n2"); // job->pagesArrayFirst.x = job->pagesArraySize.x - 1; UNSUPPORTED("92r9rc8z07ot90pz7kfoilce8"); // rv.x = -1; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wn2yfi2l0bfzlw5fyeeunug7 // static void init_job_pagination(GVJ_t * job, graph_t *g) public static Object init_job_pagination(Object... arg) { UNSUPPORTED("3i2vk6s34y6kty29dnciiqr2i"); // static void init_job_pagination(GVJ_t * job, graph_t *g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eyew5ay5wwktz4fysz0b78ugv"); // GVC_t *gvc = job->gvc; UNSUPPORTED("1p9i7j8ykvafmept9v326ki38"); // pointf pageSize; /* page size for the graph - points*/ UNSUPPORTED("cbreumvyopnc8jb823f3fg490"); // pointf imageSize; /* image size on one page of the graph - points */ UNSUPPORTED("bvl8rq7rhjfofyjexcv6ath9j"); // pointf margin; /* margin for a page of the graph - points */ UNSUPPORTED("dlxve5gfi5a0trnjntul0l7vt"); // pointf centering = {0.0, 0.0}; /* centering offset - points */ UNSUPPORTED("7wipi75cu71j2ubfdid86r3mz"); // /* unpaginated image size - in points - in graph orientation */ UNSUPPORTED("4hd3j07l34jpp34kggybuv7g7"); // imageSize = job->view; UNSUPPORTED("euhifkui6pusftx1ts79yvw64"); // /* rotate imageSize to page orientation */ UNSUPPORTED("eoj2n5u9aqzo40fe4thgnio4v"); // if (job->rotation) UNSUPPORTED("5bktmmmrdanogwscr9akvqvgp"); // imageSize = exch_xyf(imageSize); UNSUPPORTED("cj9bqu9dsr79jfgtfgxyw1bt7"); // /* margin - in points - in page orientation */ UNSUPPORTED("2prr8ugshi1wh3b0uqq1rytbq"); // margin = job->margin; UNSUPPORTED("e0syewo5shkbuvckfgxahgawk"); // /* determine pagination */ UNSUPPORTED("3ben86oxo4b9mvbfear0uaa5k"); // if (gvc->graph_sets_pageSize && (job->flags & (1<<5))) { UNSUPPORTED("e9k3pfk8bwgj68mf5plbws00a"); // /* page was set by user */ UNSUPPORTED("26ouotfw5qjqy45epxvh85q2a"); // /* determine size of page for image */ UNSUPPORTED("cmeyghelvujbqypzncob2k347"); // pageSize.x = gvc->pageSize.x - 2 * margin.x; UNSUPPORTED("4hhbnhebhvdvguv07gl1exqzr"); // pageSize.y = gvc->pageSize.y - 2 * margin.y; UNSUPPORTED("7dzf9uvb5ahp4ja7cchy16e9q"); // if (pageSize.x < .0001) UNSUPPORTED("8qfk6mlrxuxel1fxryn3xxsw7"); // job->pagesArraySize.x = 1; UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("39zkkuuxu0d1bo4xiaa6rvio1"); // job->pagesArraySize.x = (int)(imageSize.x / pageSize.x); UNSUPPORTED("crpbptuooqpagkwwoovfr87ze"); // if ((imageSize.x - (job->pagesArraySize.x * pageSize.x)) > .0001) UNSUPPORTED("fvkmj6z0flmool752kj3ezui"); // job->pagesArraySize.x++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("aeqvjc584z1k3o3btf1z27yi"); // if (pageSize.y < .0001) UNSUPPORTED("9i2hzfup3uawsgs8xz84cvm3u"); // job->pagesArraySize.y = 1; UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("eu05pk9cbv4r7teo48863rut5"); // job->pagesArraySize.y = (int)(imageSize.y / pageSize.y); UNSUPPORTED("9ec6tcamvhf35mwg760yp31tj"); // if ((imageSize.y - (job->pagesArraySize.y * pageSize.y)) > .0001) UNSUPPORTED("2ptmkss0hqmoiaitn5hc03ccy"); // job->pagesArraySize.y++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dz4mq3t7i81irfy7jpgoo8slq"); // job->numPages = job->pagesArraySize.x * job->pagesArraySize.y; UNSUPPORTED("8umi1sn4x93betwy7p6c2ceqk"); // /* find the drawable size in points */ UNSUPPORTED("eei96a8vzvruyjbss0f6i4qe9"); // imageSize.x = MIN(imageSize.x, pageSize.x); UNSUPPORTED("a7bw5k7czo7ubsb5x8785vxd7"); // imageSize.y = MIN(imageSize.y, pageSize.y); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("226xpnvf8rs1n0r4ei8klybwz"); // /* page not set by user, use default from renderer */ UNSUPPORTED("916om7kp0deyvh2ghmt7tmt47"); // if (job->render.features) { UNSUPPORTED("21jloev0l8fed4itydbq5py3k"); // pageSize.x = job->device.features->default_pagesize.x - 2*margin.x; UNSUPPORTED("6c84lafv8rataik7pt8umib2"); // if (pageSize.x < 0.) UNSUPPORTED("86x0hskgajl1rvbco28b3ftih"); // pageSize.x = 0.; UNSUPPORTED("bvs3ijknux4wq8q8oh2adxyyp"); // pageSize.y = job->device.features->default_pagesize.y - 2*margin.y; UNSUPPORTED("5ff2kpbbm9iear9jk4p33l1eu"); // if (pageSize.y < 0.) UNSUPPORTED("nnszo3g5yfwbcgr1rfyh9htr"); // pageSize.y = 0.; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("7flj6fib45vcdli5dtp5hzydu"); // pageSize.x = pageSize.y = 0.; UNSUPPORTED("563r9ecafak4g1eplsnjkqdi3"); // job->pagesArraySize.x = job->pagesArraySize.y = job->numPages = 1; UNSUPPORTED("2ey4w19bytoq2sls78pheoku7"); // if (pageSize.x < imageSize.x) UNSUPPORTED("15499m2w5qjd6yd4xa4ixhvjr"); // pageSize.x = imageSize.x; UNSUPPORTED("austii7xnr5g8y2fjg8l6gl3"); // if (pageSize.y < imageSize.y) UNSUPPORTED("bblz8gxp9uoak4lx31ok0b8b8"); // pageSize.y = imageSize.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bbafhwu8tnhlc6acwajgx43vy"); // /* initial window size */ UNSUPPORTED("8362vxhywm5vjg5yy2rukot0l"); // //fprintf(stderr,"page=%g,%g dpi=%g,%g zoom=%g\n", pageSize.x, pageSize.y, job->dpi.x, job->dpi.y, job->zoom); UNSUPPORTED("9ov3mqr5woomu5pa3ijim18bp"); // job->width = ROUND((pageSize.x + 2*margin.x) * job->dpi.x / 72); UNSUPPORTED("dtc0guw406xkcekddmamm5rae"); // job->height = ROUND((pageSize.y + 2*margin.y) * job->dpi.y / 72); UNSUPPORTED("7osvdh761zt2s8mi855ch8az8"); // /* set up pagedir */ UNSUPPORTED("1cf5m3zu5ms9hd5uutq68nzfr"); // job->pagesArrayMajor.x = job->pagesArrayMajor.y UNSUPPORTED("cuhzmvcf28hg8mxfw6jzahyz1"); // = job->pagesArrayMinor.x = job->pagesArrayMinor.y = 0; UNSUPPORTED("910btb676tbzhf5zag3qt6p6y"); // job->pagesArrayFirst.x = job->pagesArrayFirst.y = 0; UNSUPPORTED("58i27py4gadbh4uynztkillbo"); // job->pagesArrayMajor = pagecode(job, gvc->pagedir[0]); UNSUPPORTED("4g3yxj64kn7kau45efo78icdp"); // job->pagesArrayMinor = pagecode(job, gvc->pagedir[1]); UNSUPPORTED("crjkqjf6ujmxl2713vrq1mowh"); // if ((abs(job->pagesArrayMajor.x + job->pagesArrayMinor.x) != 1) UNSUPPORTED("8xuyb2svr5wn3bsnke50x9egf"); // || (abs(job->pagesArrayMajor.y + job->pagesArrayMinor.y) != 1)) { UNSUPPORTED("rupytferkko4y32b1y4nvfda"); // job->pagesArrayMajor = pagecode(job, 'B'); UNSUPPORTED("3oh81o2dhshk0cwkh0se96nqd"); // job->pagesArrayMinor = pagecode(job, 'L'); UNSUPPORTED("6fm493t81wrciw7a1qwrwwv2v"); // agerr(AGWARN, "pagedir=%s ignored\n", gvc->pagedir); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("csilklooo31ve0sxcvlk6sz50"); // /* determine page box including centering */ UNSUPPORTED("alu1x0je9svo1m9vsro4jt661"); // if (GD_drawing(g)->centered) { UNSUPPORTED("bd1di5q520ro9gdu3luri6uqw"); // if (pageSize.x > imageSize.x) UNSUPPORTED("by6kyuqhzuke68yh4d1zsgjl8"); // centering.x = (pageSize.x - imageSize.x) / 2; UNSUPPORTED("245d5xe3ls4raq0ru2opv9bjk"); // if (pageSize.y > imageSize.y) UNSUPPORTED("entb38itr4f1eoghh2si1k2yc"); // centering.y = (pageSize.y - imageSize.y) / 2; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2jawgno03mhhf060l1l58y85o"); // /* rotate back into graph orientation */ UNSUPPORTED("3h1yo631e2fq69mxwoggya716"); // if (job->rotation) { UNSUPPORTED("5bktmmmrdanogwscr9akvqvgp"); // imageSize = exch_xyf(imageSize); UNSUPPORTED("cdvkc3n17wltx1ckd9ctxu40"); // pageSize = exch_xyf(pageSize); UNSUPPORTED("aoommvrw3wcdqhpe1d9z2nrbr"); // margin = exch_xyf(margin); UNSUPPORTED("am7xuokdmqu2xn6gmw3imq4ys"); // centering = exch_xyf(centering); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("452t79mqvs76inxtds258lmwc"); // /* canvas area, centered if necessary */ UNSUPPORTED("egq8epmn2ww7uiikth9xfqyg2"); // job->canvasBox.LL.x = margin.x + centering.x; UNSUPPORTED("317995ucd58ato9cs7ssy4kw5"); // job->canvasBox.LL.y = margin.y + centering.y; UNSUPPORTED("9dlme2kqph7etv96uch6et43x"); // job->canvasBox.UR.x = margin.x + centering.x + imageSize.x; UNSUPPORTED("5eznso0zqq6thx7ifejpl7egg"); // job->canvasBox.UR.y = margin.y + centering.y + imageSize.y; UNSUPPORTED("ejrxa302gsbb1mtk617yev4ma"); // /* size of one page in graph units */ UNSUPPORTED("2ktn14lo6mijabcu413qkefxe"); // job->pageSize.x = imageSize.x / job->zoom; UNSUPPORTED("mo56q7xk3qwgskgf05s41bku"); // job->pageSize.y = imageSize.y / job->zoom; UNSUPPORTED("b5mgup3twbezb6h3b77frrr32"); // /* pageBoundingBox in device units and page orientation */ UNSUPPORTED("wgrjodb4gag4o6bbqdxsct4f"); // job->pageBoundingBox.LL.x = ROUND(job->canvasBox.LL.x * job->dpi.x / 72); UNSUPPORTED("4ibgme5rpasxyxnxfo9nx0uej"); // job->pageBoundingBox.LL.y = ROUND(job->canvasBox.LL.y * job->dpi.y / 72); UNSUPPORTED("23f72iko8ym45z6o2v06lmrf8"); // job->pageBoundingBox.UR.x = ROUND(job->canvasBox.UR.x * job->dpi.x / 72); UNSUPPORTED("cazmki1n27pnpo1rf83qc35cv"); // job->pageBoundingBox.UR.y = ROUND(job->canvasBox.UR.y * job->dpi.y / 72); UNSUPPORTED("3h1yo631e2fq69mxwoggya716"); // if (job->rotation) { UNSUPPORTED("effd896sgn6sehp6jdoqfo5bu"); // job->pageBoundingBox.LL = exch_xy(job->pageBoundingBox.LL); UNSUPPORTED("e6umepvfyiglcz7y9070vqcw1"); // job->pageBoundingBox.UR = exch_xy(job->pageBoundingBox.UR); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 18839plafofp0mij32iifl4kw // static void firstpage(GVJ_t *job) public static Object firstpage(Object... arg) { UNSUPPORTED("54ikst765kaurqs5qbxgw62pi"); // static void firstpage(GVJ_t *job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("d5tvlsaovhs5xq1fsq2ff13ea"); // job->pagesArrayElem = job->pagesArrayFirst; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1oosdfui4w6wrmjyrea5q0q5j // static boolean validpage(GVJ_t *job) public static Object validpage(Object... arg) { UNSUPPORTED("5hdqj8s4dsinb9hoj6ra36f9w"); // static boolean validpage(GVJ_t *job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6s658komj0oc3gl02m6w1a5cl"); // return ((job->pagesArrayElem.x >= 0) UNSUPPORTED("i8aw94fegecco4s00otz3bb0"); // && (job->pagesArrayElem.x < job->pagesArraySize.x) UNSUPPORTED("61clso3i8seexlw62qjygdpkc"); // && (job->pagesArrayElem.y >= 0) UNSUPPORTED("aude4er9wxhdfvjg0cm8qe53l"); // && (job->pagesArrayElem.y < job->pagesArraySize.y)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9xha5eg5k3mbziq2ptbw1gyyk // static void nextpage(GVJ_t *job) public static Object nextpage(Object... arg) { UNSUPPORTED("3zzzr5yvj7mho7ylmluju8zzv"); // static void nextpage(GVJ_t *job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("90v54lwwxx1bsav5znrj48tkj"); // job->pagesArrayElem = add_point(job->pagesArrayElem, job->pagesArrayMinor); UNSUPPORTED("9lqhnwlrk62cxcln9uq0024y0"); // if (validpage(job) == 0) { UNSUPPORTED("2mcnl5q2zavzvatv4bugp5g6v"); // if (job->pagesArrayMajor.y) UNSUPPORTED("53fqbcbkex674c100tfx744f6"); // job->pagesArrayElem.x = job->pagesArrayFirst.x; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("503luvfr4rh4kt3ktfo48tii4"); // job->pagesArrayElem.y = job->pagesArrayFirst.y; UNSUPPORTED("a179fxb17hjyc52yjgeshme15"); // job->pagesArrayElem = add_point(job->pagesArrayElem, job->pagesArrayMajor); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a7du41byqeco4ri9ytgrmrv91 // static boolean write_edge_test(Agraph_t * g, Agedge_t * e) public static Object write_edge_test(Object... arg) { UNSUPPORTED("9rfens9tggchdklhfwa4kaqlu"); // static boolean write_edge_test(Agraph_t * g, Agedge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5qsdev7ikmpmm9zepv8ye0zy6"); // Agraph_t *sg; UNSUPPORTED("53xzwretgdbd0atozc0w6hagb"); // int c; UNSUPPORTED("99d9j6m0161wdv2tu4wbf3ifi"); // for (c = 1; c <= GD_n_cluster(g); c++) { UNSUPPORTED("cuf43q4kl3kqgyuuxdqve1mqt"); // sg = GD_clust(g)[c]; UNSUPPORTED("72iyzot8hjs1ni2lzvvc2ibn2"); // if (agcontains(sg, e)) UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8fwlqtemsmckleh6946lyd8mw"); // return NOT(0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 blr202hbxs2lw3k393qohaw2i // static boolean write_node_test(Agraph_t * g, Agnode_t * n) public static Object write_node_test(Object... arg) { UNSUPPORTED("9xuxw9sbimnioecqbuwnav0qp"); // static boolean write_node_test(Agraph_t * g, Agnode_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5qsdev7ikmpmm9zepv8ye0zy6"); // Agraph_t *sg; UNSUPPORTED("53xzwretgdbd0atozc0w6hagb"); // int c; UNSUPPORTED("99d9j6m0161wdv2tu4wbf3ifi"); // for (c = 1; c <= GD_n_cluster(g); c++) { UNSUPPORTED("cuf43q4kl3kqgyuuxdqve1mqt"); // sg = GD_clust(g)[c]; UNSUPPORTED("4mgclp1plbdi4oudwrp9t4oh2"); // if (agcontains(sg, n)) UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8fwlqtemsmckleh6946lyd8mw"); // return NOT(0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3w1wzp6uh4yl5o7brxcuf9ip6 // static pointf* copyPts (pointf* pts, int* ptsize, xdot_point* inpts, int numpts) public static Object copyPts(Object... arg) { UNSUPPORTED("1wmmoe7m5528rl69n3zrnxhrg"); // static pointf* UNSUPPORTED("7bm15tetrusr4tjv45g1l12mm"); // copyPts (pointf* pts, int* ptsize, xdot_point* inpts, int numpts) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9a0g5x0xovxojrvkasvwowcw5"); // int i, sz = *ptsize; UNSUPPORTED("a9llhmmnr8bimltlwtihii1cr"); // if (numpts > sz) { UNSUPPORTED("3z4f2367ql9ea8y2br7xxotsn"); // sz = MAX(2*sz, numpts); UNSUPPORTED("20m3u8zv7b0bef39rhk9o4ft5"); // pts = RALLOC(sz, pts, pointf); UNSUPPORTED("klakg17zs75ckw23eh65hsxj"); // *ptsize = sz; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5alxr1b92wrqvkbrhhkibw4n0"); // for (i = 0; i < numpts; i++) { UNSUPPORTED("23z0p3o7uw6iisz8rz93fmju8"); // pts[i].x = inpts[i].x; UNSUPPORTED("1otoj1bflw7ets1aqhi7x3gv7"); // pts[i].y = inpts[i].y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b7gk8q1reftzri269holggnig"); // return pts; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2ho96kyoz7afiqvpkgzje2q17 // static void emit_xdot (GVJ_t * job, xdot* xd) public static Object emit_xdot(Object... arg) { UNSUPPORTED("dx3xx20717wqwhmrxmr2vve4w"); // static void emit_xdot (GVJ_t * job, xdot* xd) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2p6ji7mn6c9yb2wjrxpfdi2a7"); // int image_warn = 1; UNSUPPORTED("4fdllwmvxpz1l1wbhs4x0nd8h"); // int ptsize = 1000; UNSUPPORTED("14sqwaw2nua8zxlzi03vrp99n"); // pointf* pts = (pointf*)gmalloc((1000)*sizeof(pointf)); UNSUPPORTED("6h54fnrtmztsxuhsa6imjz1a7"); // exdot_op* op; UNSUPPORTED("fliif79u3s8wl3il1sr4xy7m"); // int i, angle; UNSUPPORTED("a0vsnu7j685g9wawdylnp9ack"); // char** styles = 0; UNSUPPORTED("610stn97kmwddhnpeizvxmri2"); // int filled = 1; UNSUPPORTED("9go5curik6dnbejv5o2pj8ve2"); // op = (exdot_op*)(xd->ops); UNSUPPORTED("dvwaxn9xbj2jw2hjwvvs0tj3z"); // for (i = 0; i < xd->cnt; i++) { UNSUPPORTED("ab1ajnetstzss8ksa66rwdtze"); // switch (op->op.kind) { UNSUPPORTED("1texeok1es39lsgo5wdppbco2"); // case xd_filled_ellipse : UNSUPPORTED("effcskuftros0sla2ltem13mh"); // case xd_unfilled_ellipse : UNSUPPORTED("9oxng5yti9jzjlhlee8ivkduh"); // if (boxf_overlap(op->bb, job->clip)) { UNSUPPORTED("eh7zpmojvvc2ava7e01p17wy3"); // pts[0].x = op->op.u.ellipse.x - op->op.u.ellipse.w; UNSUPPORTED("6buxv3e1hyjli0lwoxxp24v0a"); // pts[0].y = op->op.u.ellipse.y - op->op.u.ellipse.h; UNSUPPORTED("7zuf0gmhnqw8pehovb01ajiff"); // pts[1].x = op->op.u.ellipse.w; UNSUPPORTED("8jfm3tgnfah6oxs36u6auntxy"); // pts[1].y = op->op.u.ellipse.h; UNSUPPORTED("9qjmukp231ben11immdj4r1tz"); // gvrender_ellipse(job, pts, 2, (op->op.kind == xd_filled_ellipse?filled:0)); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("40fjmoej0qk9hwneja77jlo2y"); // case xd_filled_polygon : UNSUPPORTED("6uw61r6bh4tiicbj46yxr9t4k"); // case xd_unfilled_polygon : UNSUPPORTED("9oxng5yti9jzjlhlee8ivkduh"); // if (boxf_overlap(op->bb, job->clip)) { UNSUPPORTED("e8xah2ix2nhclr9bifa3tcc8x"); // pts = copyPts (pts, &ptsize, op->op.u.polygon.pts, op->op.u.polygon.cnt); UNSUPPORTED("40c49lgnwfti09qhawe9qm3f7"); // gvrender_polygon(job, pts, op->op.u.polygon.cnt, (op->op.kind == xd_filled_polygon?filled:0)); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("4eu4a2drbgdgq6xb3lnl3hn9y"); // case xd_filled_bezier : UNSUPPORTED("bn514k7swi4s6uclqqke583n8"); // case xd_unfilled_bezier : UNSUPPORTED("9oxng5yti9jzjlhlee8ivkduh"); // if (boxf_overlap(op->bb, job->clip)) { UNSUPPORTED("2g406s0cpa1h7r9vudzsxwz3b"); // pts = copyPts (pts, &ptsize, op->op.u.bezier.pts, op->op.u.bezier.cnt); UNSUPPORTED("3kzwg9cpwabfnvuyfvvt0e4c9"); // gvrender_beziercurve(job, pts, op->op.u.bezier.cnt, 0, 0, (op->op.kind == xd_filled_bezier?filled:0)); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1l7ha9akoh6yew2v54hvu3del"); // case xd_polyline : UNSUPPORTED("9oxng5yti9jzjlhlee8ivkduh"); // if (boxf_overlap(op->bb, job->clip)) { UNSUPPORTED("75vwkjetu3vs2efqgkquomhey"); // pts = copyPts (pts, &ptsize, op->op.u.polyline.pts, op->op.u.polyline.cnt); UNSUPPORTED("2kirl6fra7pbqwmtc9b9rav42"); // gvrender_polyline(job, pts, op->op.u.polyline.cnt); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("60mg8gze602593bf2vddicza0"); // case xd_text : UNSUPPORTED("9oxng5yti9jzjlhlee8ivkduh"); // if (boxf_overlap(op->bb, job->clip)) { UNSUPPORTED("djw3lr9bvuzdg88p1b61ibm23"); // pts[0].x = op->op.u.text.x; UNSUPPORTED("405lw9ptftz28hgpp0qcf6ggg"); // pts[0].y = op->op.u.text.y; UNSUPPORTED("8uwiw0r7tra0g01788ktwkt8t"); // gvrender_textspan(job, pts[0], op->span); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("298qj2a6o0kxeatu0jgvoi784"); // case xd_fill_color : UNSUPPORTED("3zv13wowl159snnsunkxkjtug"); // gvrender_set_fillcolor(job, op->op.u.color); UNSUPPORTED("7ek7aftv8z293izx886r01oqm"); // filled = 1; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("qwcu5b23c4g1dkhz5kg9foza"); // case xd_pen_color : UNSUPPORTED("1zlhprkxd9efydpc2r24kd7fa"); // gvrender_set_pencolor(job, op->op.u.color); UNSUPPORTED("7ek7aftv8z293izx886r01oqm"); // filled = 1; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("8yhndo0ghuwhbavc33g7v21ni"); // case xd_grad_fill_color : UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("briow60sq6ay4k0slv0k1e0ai"); // char* clr0; UNSUPPORTED("1d5jtx9oz042hr4a21vm9wd8s"); // char* clr1; UNSUPPORTED("9tmq69gqblhx0uj3ylye71gdm"); // float frac; UNSUPPORTED("3qtmddjw3ecnb2jfielq996dh"); // if (op->op.u.grad_color.type == xd_radial) { UNSUPPORTED("7wjddh54icciyrvc03tmou0k6"); // xdot_radial_grad* p = &op->op.u.grad_color.u.ring; UNSUPPORTED("82vevzieh8c8a5vw0c3537ysr"); // clr0 = p->stops[0].color; UNSUPPORTED("25x3dhc524e69l7m63fm0botd"); // clr1 = p->stops[1].color; UNSUPPORTED("2yubqrr4rmb6wyok8zz3d4l4b"); // frac = p->stops[1].frac; UNSUPPORTED("c7ot1hnnumwoi4dv6bz51rr86"); // if ((p->x1 == p->x0) && (p->y1 == p->y0)) UNSUPPORTED("2wcz57lhb7pd9xqu6a16n149a"); // angle = 0; UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else UNSUPPORTED("o9ps6kmfn10hdy083p2fd3as"); // angle = (int)(180.0*acos((p->x0 - p->x1)/p->r0)/M_PI); UNSUPPORTED("34ytjoiyf9fnxnng5a51xtnj9"); // gvrender_set_fillcolor(job, clr0); UNSUPPORTED("7ynfnu592qnwkfm90qrka6a4n"); // gvrender_set_gradient_vals(job, clr1, angle, frac); UNSUPPORTED("5jf506rwz9snq4d6ozpjvg3yg"); // filled = 3; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else { UNSUPPORTED("828t3nqv5ns5qvt2e0glyg2ju"); // xdot_linear_grad* p = &op->op.u.grad_color.u.ling; UNSUPPORTED("82vevzieh8c8a5vw0c3537ysr"); // clr0 = p->stops[0].color; UNSUPPORTED("25x3dhc524e69l7m63fm0botd"); // clr1 = p->stops[1].color; UNSUPPORTED("2yubqrr4rmb6wyok8zz3d4l4b"); // frac = p->stops[1].frac; UNSUPPORTED("3w9y8g31d63rmvl7ccv0624ye"); // angle = (int)(180.0*atan2(p->y1-p->y0,p->x1-p->x0)/M_PI); UNSUPPORTED("34ytjoiyf9fnxnng5a51xtnj9"); // gvrender_set_fillcolor(job, clr0); UNSUPPORTED("7ynfnu592qnwkfm90qrka6a4n"); // gvrender_set_gradient_vals(job, clr1, angle, frac); UNSUPPORTED("7bikp52v1ey2yil3rybx6nris"); // filled = 2; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("6qu5ytxcjfat0eg64bep0kksy"); // case xd_grad_pen_color : UNSUPPORTED("as7jx69a7p4gq2bo9ij43797s"); // agerr (AGWARN, "gradient pen colors not yet supported.\n"); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("56n5nfs2z21zo7ac9z2ehf12l"); // case xd_font : UNSUPPORTED("94uhdsl49d2gyeyqzafatdww3"); // /* fontsize and fontname already encoded via xdotBB */ UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("60cspx7wpewmlz0ykd29ul27c"); // case xd_style : UNSUPPORTED("2du13zy7ki13r60g7zvb6kuz1"); // styles = parse_style (op->op.u.style); UNSUPPORTED("a5m3xgb63z0xz7nf5eez363f2"); // gvrender_set_style (job, styles); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("2kiqf0asbojt8x24lr5eykca1"); // case xd_fontchar : UNSUPPORTED("37zacnm7f82nfay9tbqkaay4d"); // /* font characteristics already encoded via xdotBB */ UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("91w60vqrbkqvk3q82pdoxz0y"); // case xd_image : UNSUPPORTED("6f7cw2kz0kg3lxhd6cgr661hm"); // if (image_warn) { UNSUPPORTED("euk5nzqu0sjv93t5ys3lhhx1q"); // agerr(AGWARN, "Images unsupported in \"background\" attribute\n"); UNSUPPORTED("6omlto7p0ejzb4vi9rt3vyuck"); // image_warn = 0; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("42f106i435avz0oneb0fhe81f"); // op++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7jkrbr4tf42xe3tv9gb8ao7iu"); // if (styles) UNSUPPORTED("aw7zhlkbn1bg9h9hrlr9by8ty"); // gvrender_set_style(job, job->gvc->defaultlinestyle); UNSUPPORTED("1yomvtf3njcprecdmp7eq33o7"); // free (pts); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3adhe426gweys0vj89xk7l5qs // static void emit_background(GVJ_t * job, graph_t *g) public static Object emit_background(Object... arg) { UNSUPPORTED("4gpum3t892n8i9y337zhppgqh"); // static void emit_background(GVJ_t * job, graph_t *g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5f36lqh4hk3q6qlni9dobv8ye"); // xdot* xd; UNSUPPORTED("76nok3eiyr33qf4ecv69ujxn6"); // char *str; UNSUPPORTED("4qfeabztp0a8uifsz5h2qj0xm"); // int dfltColor; UNSUPPORTED("5c5y7z63yavk2nbvb55um8ob0"); // /* if no bgcolor specified - first assume default of "white" */ UNSUPPORTED("eupo0q6569myn401db6vre9x9"); // if (! ((str = agget(g, "bgcolor")) && str[0])) { UNSUPPORTED("aje4jzb3skm6bryubgu0u8aoo"); // str = "white"; UNSUPPORTED("3myfxeslr7cfs3cawa74sviw2"); // dfltColor = 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("c3z9eq4yq4ibi29ne1aux9u1a"); // dfltColor = 0; UNSUPPORTED("72j9cwumrsza4qx1rwsxe0rxg"); // /* if device has no truecolor support, change "transparent" to "white" */ UNSUPPORTED("ati9yt7rkd3v77g6nvlpbc3wa"); // if (! (job->flags & (1<<8)) && ((*(str)==*("transparent")&&!strcmp(str,"transparent")))) { UNSUPPORTED("aje4jzb3skm6bryubgu0u8aoo"); // str = "white"; UNSUPPORTED("3myfxeslr7cfs3cawa74sviw2"); // dfltColor = 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bvjta4pe1bd0an3zb3gm4m9ug"); // /* except for "transparent" on truecolor, or default "white" on (assumed) white paper, paint background */ UNSUPPORTED("aj6etszuv7t3orniarovw9oui"); // if (!( ((job->flags & (1<<8)) && (*(str)==*("transparent")&&!strcmp(str,"transparent"))) UNSUPPORTED("ysgvhk2xw5my7hpp0pyhsyhv"); // || ((job->flags & (1<<25)) && dfltColor))) { UNSUPPORTED("qsl046aw7731cpj2cdrs5l2u"); // char* clrs[2]; UNSUPPORTED("4xv0cmpfa4sol0pqmfumr0rnm"); // float frac; UNSUPPORTED("3oqdtywao9635lj8pbh00gww9"); // if ((findStopColor (str, clrs, &frac))) { UNSUPPORTED("3vfwc36a7qaby9xcub7abdnrw"); // int filled, istyle = 0; UNSUPPORTED("5m1l4f0yk2x1r9n00p7xoarhk"); // gvrender_set_fillcolor(job, clrs[0]); UNSUPPORTED("ca8n6otn7zx4kgpo3p43opznn"); // gvrender_set_pencolor(job, "transparent"); UNSUPPORTED("4xxqxkr63rp33ynfp8093ce5j"); // checkClusterStyle(g, &istyle); UNSUPPORTED("850qgpdnne96gxnh244hf2rh2"); // if (clrs[1]) UNSUPPORTED("2i2pjytalbtpm2nu5e4l391tt"); // gvrender_set_gradient_vals(job,clrs[1],late_int(g,G_gradientangle,0,0), frac); UNSUPPORTED("f3qa0cv737ikcre1vpqlkukio"); // else UNSUPPORTED("cqldfd2kxstrxcsu8vov72204"); // gvrender_set_gradient_vals(job,"black",late_int(g,G_gradientangle,0,0), frac); UNSUPPORTED("4z7nxcqujj30hxs47niv7ng5z"); // if (istyle & (1 << 1)) UNSUPPORTED("s4xfcz4il9k9jw0w0dh9lzpj"); // filled = 3; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("1ijl60mqfpjns1tss115yw4zp"); // filled = 2; UNSUPPORTED("shtvpixd4zg9junin51ss0n6"); // gvrender_box(job, job->clip, filled); UNSUPPORTED("tddizbp6oh1hmfmmbyetc39q"); // free (clrs[0]); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("75elz449frogpglpfecpb7n35"); // gvrender_set_fillcolor(job, str); UNSUPPORTED("aa64pbbtgdbmq07oeeb6b6xd6"); // gvrender_set_pencolor(job, "transparent"); UNSUPPORTED("em1ymq2htxwlplauvapkn96jg"); // gvrender_box(job, job->clip, 1); /* filled */ UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b3w7cbaupdjkjv8mlqprw6bgy"); // if ((xd = (xdot*)GD_drawing(g)->xdots)) UNSUPPORTED("91v0ozby5hp08jwxac38nv9eq"); // emit_xdot (job, xd); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 500xb8otehz86mqouvbmd0ri4 // static void setup_page(GVJ_t * job, graph_t * g) public static Object setup_page(Object... arg) { UNSUPPORTED("eie6fiea6odhb16j5p69i17ps"); // static void setup_page(GVJ_t * job, graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e8udyft1fkl49dzp8kuvsscja"); // point pagesArrayElem = job->pagesArrayElem, pagesArraySize = job->pagesArraySize; UNSUPPORTED("3h1yo631e2fq69mxwoggya716"); // if (job->rotation) { UNSUPPORTED("4m3552gi4z6716erhvg0mybdi"); // pagesArrayElem = exch_xy(pagesArrayElem); UNSUPPORTED("5n79xja43o2fzgv2jpwlowx9e"); // pagesArraySize = exch_xy(pagesArraySize); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3ezjo786mtpn6j3zv1sixv5yx"); // /* establish current box in graph units */ UNSUPPORTED("2wdi0jzr6koh59dq2o5wm7rdk"); // job->pageBox.LL.x = pagesArrayElem.x * job->pageSize.x - job->pad.x; UNSUPPORTED("8tjzkjxgopydb6bnmjxzwrdza"); // job->pageBox.LL.y = pagesArrayElem.y * job->pageSize.y - job->pad.y; UNSUPPORTED("su2b0thzhhuzkggkmn3o5olo"); // job->pageBox.UR.x = job->pageBox.LL.x + job->pageSize.x; UNSUPPORTED("3lljoqtt3qxcnasqtqf3ibj8v"); // job->pageBox.UR.y = job->pageBox.LL.y + job->pageSize.y; UNSUPPORTED("6i1o1mvszl64iabuc4wxhwwsz"); // /* maximum boundingBox in device units and page orientation */ UNSUPPORTED("51aihik1hbq97o8c6qesdchi2"); // if (job->common->viewNum == 0) UNSUPPORTED("1hl3w4ojiqaffaut1cbitfui3"); // job->boundingBox = job->pageBoundingBox; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("67qpim1lm8zwmdptcomxyx9zh"); // EXPANDBB(job->boundingBox, job->pageBoundingBox); UNSUPPORTED("dutcpy0okvnjgc0dspbfidfls"); // if (job->flags & (1<<7)) { UNSUPPORTED("2xekg55ov733mt60q1dwo2uau"); // job->clip.LL.x = job->focus.x - job->view.x / 2.; UNSUPPORTED("elawyto1cl29eu55o90i97mwe"); // job->clip.LL.y = job->focus.y - job->view.y / 2.; UNSUPPORTED("cvsh3xbateu7iuus29faim1ib"); // job->clip.UR.x = job->focus.x + job->view.x / 2.; UNSUPPORTED("2dms1ogbgw3r7bq8cz5sikfnm"); // job->clip.UR.y = job->focus.y + job->view.y / 2.; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("axdbapte9nha7r33skc7m9qp8"); // job->clip.LL.x = job->focus.x + job->pageSize.x * (pagesArrayElem.x - pagesArraySize.x / 2.); UNSUPPORTED("9y9ky161dftrmlq4zybikd3wo"); // job->clip.LL.y = job->focus.y + job->pageSize.y * (pagesArrayElem.y - pagesArraySize.y / 2.); UNSUPPORTED("28rqxotpw4u5xyb8k5ntx5sv3"); // job->clip.UR.x = job->clip.LL.x + job->pageSize.x; UNSUPPORTED("1yvnjmifai53mslfxbm113t6z"); // job->clip.UR.y = job->clip.LL.y + job->pageSize.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6dd6oqrwhbhk7mqj8blieol8a"); // /* CAUTION - job->translation was difficult to get right. */ UNSUPPORTED("ati7mqxwmn8u4o5lrx82875b7"); // /* Test with and without assymetric margins, e.g: -Gmargin="1,0" */ UNSUPPORTED("3h1yo631e2fq69mxwoggya716"); // if (job->rotation) { UNSUPPORTED("64qd8daar2r794nip6jt8u6r1"); // job->translation.y = - job->clip.UR.y - job->canvasBox.LL.y / job->zoom; UNSUPPORTED("4356s4xto6awx7cij60pg6lvm"); // if ((job->flags & (1<<12)) || (Y_invert)) UNSUPPORTED("9rso607ag8rokfb0keaj3dw8i"); // job->translation.x = - job->clip.UR.x - job->canvasBox.LL.x / job->zoom; UNSUPPORTED("35nw1pbiz2p3s6qwlam5eoo3m"); // else UNSUPPORTED("6nzlh7e28djtn3tuh7wyazl0f"); // job->translation.x = - job->clip.LL.x + job->canvasBox.LL.x / job->zoom; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("9ndd3yrf6pi0yzyq6qhvwvkmb"); // /* pre unscale margins to keep them constant under scaling */ UNSUPPORTED("71450l3ur3gaikd8hf09vaisy"); // job->translation.x = - job->clip.LL.x + job->canvasBox.LL.x / job->zoom; UNSUPPORTED("4356s4xto6awx7cij60pg6lvm"); // if ((job->flags & (1<<12)) || (Y_invert)) UNSUPPORTED("e3i6pyd8cgpyxqdji6ikxfolc"); // job->translation.y = - job->clip.UR.y - job->canvasBox.LL.y / job->zoom; UNSUPPORTED("35nw1pbiz2p3s6qwlam5eoo3m"); // else UNSUPPORTED("8bfteitivddvt9tazhk9smelv"); // job->translation.y = - job->clip.LL.y + job->canvasBox.LL.y / job->zoom; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 as589o2efx45izm3wp7enyaht // static boolean node_in_layer(GVJ_t *job, graph_t * g, node_t * n) public static Object node_in_layer(Object... arg) { UNSUPPORTED("9qfpqdz7l9i14k8tt5niso9hr"); // static boolean node_in_layer(GVJ_t *job, graph_t * g, node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4np0l1afjcabfu4lj2slo7u1h"); // char *pn, *pe; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("br25a8xf14d9pszeecj99a422"); // if (job->numLayers <= 1) UNSUPPORTED("bp2y18pqq5n09006utwifdyxo"); // return NOT(0); UNSUPPORTED("6b110nazp4kekcjo0cggixji8"); // pn = late_string(n, N_layer, ""); UNSUPPORTED("3jdetxpc61my2m5ouwwlafmya"); // if (selectedlayer(job, pn)) UNSUPPORTED("bp2y18pqq5n09006utwifdyxo"); // return NOT(0); UNSUPPORTED("1472k1aiajh8fdwws76p0peui"); // if (pn[0]) UNSUPPORTED("974jvy6bjjit5aunmg1ofk323"); // return 0; /* Only check edges if pn = "" */ UNSUPPORTED("6iiceie8alt1qdir25ryu1f6k"); // if ((e = agfstedge(g, n)) == NULL) UNSUPPORTED("bp2y18pqq5n09006utwifdyxo"); // return NOT(0); UNSUPPORTED("dcuhjbsiioawp6zspvonwd4px"); // for (e = agfstedge(g, n); e; e = agnxtedge(g, e, n)) { UNSUPPORTED("82x79oibcq3pjyv631qc1tlg0"); // pe = late_string(e, E_layer, ""); UNSUPPORTED("820bc3hf82s7cw6chnw5c4nbq"); // if ((pe[0] == '\0') || selectedlayer(job, pe)) UNSUPPORTED("9qhn9m3123s8n6wwxjfo8awlm"); // return NOT(0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1u0s2ppd3ul08n4e2gdaryyy8 // static boolean edge_in_layer(GVJ_t *job, graph_t * g, edge_t * e) public static Object edge_in_layer(Object... arg) { UNSUPPORTED("313onxwqkhkgi36hzjkauyb42"); // static boolean edge_in_layer(GVJ_t *job, graph_t * g, edge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("utbq83gb14i5eml17vr8pcid"); // char *pe, *pn; UNSUPPORTED("6iv4xusq3ncisurzdtlt8lhe9"); // int cnt; UNSUPPORTED("br25a8xf14d9pszeecj99a422"); // if (job->numLayers <= 1) UNSUPPORTED("bp2y18pqq5n09006utwifdyxo"); // return NOT(0); UNSUPPORTED("6x2v74zlvitlrgkn17942vcgh"); // pe = late_string(e, E_layer, ""); UNSUPPORTED("3ywt8di993vozrwwnup6dpwyy"); // if (selectedlayer(job, pe)) UNSUPPORTED("bp2y18pqq5n09006utwifdyxo"); // return NOT(0); UNSUPPORTED("1qtr20a3naoc1fyck8og7mmrh"); // if (pe[0]) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("6b357rcrnr0ds1kjupqbpaa3e"); // for (cnt = 0; cnt < 2; cnt++) { UNSUPPORTED("b8bas27843d09g6jaaawthl8w"); // pn = late_string(cnt < 1 ? agtail(e) : aghead(e), N_layer, ""); UNSUPPORTED("jsx6qbuduuwph63wgsoiqgvq"); // if ((pn[0] == '\0') || selectedlayer(job, pn)) UNSUPPORTED("9qhn9m3123s8n6wwxjfo8awlm"); // return NOT(0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dyo8zdve7djszp87cuf0xuoet // static boolean clust_in_layer(GVJ_t *job, graph_t * sg) public static Object clust_in_layer(Object... arg) { UNSUPPORTED("4e36i94sm4m9tfa4ajm22cim8"); // static boolean clust_in_layer(GVJ_t *job, graph_t * sg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b9rg1zyq2dr4mvb3afpkekhnt"); // char *pg; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("br25a8xf14d9pszeecj99a422"); // if (job->numLayers <= 1) UNSUPPORTED("bp2y18pqq5n09006utwifdyxo"); // return NOT(0); UNSUPPORTED("20qd9xj97lsoon2qf56l64qxd"); // pg = late_string(sg, agattr(sg, AGRAPH, "layer", 0), ""); UNSUPPORTED("658zavk95iaxd3u1jryh7rbqc"); // if (selectedlayer(job, pg)) UNSUPPORTED("bp2y18pqq5n09006utwifdyxo"); // return NOT(0); UNSUPPORTED("82stl7dpo6yrg2w5a6umx8q9c"); // if (pg[0]) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("bjjx5k3xelkwyvbcb4gwnqq7s"); // for (n = agfstnode(sg); n; n = agnxtnode(sg, n)) UNSUPPORTED("dl5e8i6kxe0n05x40z42vjo3g"); // if (node_in_layer(job, sg, n)) UNSUPPORTED("9qhn9m3123s8n6wwxjfo8awlm"); // return NOT(0); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 75k6tn88w31u4ppw3q70g1jsk // static boolean node_in_box(node_t *n, boxf b) public static Object node_in_box(Object... arg) { UNSUPPORTED("211j77g7ql3frkbpciwlnn9zy"); // static boolean node_in_box(node_t *n, boxf b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("46tealt6sxovbrn80ssq4sa8g"); // return boxf_overlap(ND_bb(n), b); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7j4u56kqr6m677iq36g2aih28 // static void emit_begin_node(GVJ_t * job, node_t * n) public static Object emit_begin_node(Object... arg) { UNSUPPORTED("6oh0hqc0y111peee2y6h3dyp0"); // static void emit_begin_node(GVJ_t * job, node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8lamppsqs7nhiu5v8k1f5jfh2"); // obj_state_t *obj; UNSUPPORTED("12bpksga44s9sfl7x8xn2rt2k"); // int flags = job->flags; UNSUPPORTED("ey6s6opybnefos5fozgk763tu"); // int sides, peripheries, i, j, filled = 0, rect = 0, shape, nump = 0; UNSUPPORTED("cc2tjyw4ovc2cfzpfqu5s7xnr"); // polygon_t *poly = NULL; UNSUPPORTED("1rh8tfsy1jwdlk7jeq8xlypar"); // pointf *vertices, *p = NULL; UNSUPPORTED("avrrxyqlc98q6r2lvs1ku6ptd"); // pointf coord; UNSUPPORTED("8yytudftst76763qgnjebkzhm"); // char *s; UNSUPPORTED("1iexddadjo0w6fdgddatfx40s"); // obj = push_obj_state(job); UNSUPPORTED("7o8x3n4tonxrhr3uxintmcd0j"); // obj->type = NODE_OBJTYPE; UNSUPPORTED("otsh0jqjlx2ylharf6sknjc7"); // obj->u.n = n; UNSUPPORTED("heflz2y0siuc5a4qsd7xdy0i"); // obj->emit_state = EMIT_NDRAW; UNSUPPORTED("984vi925q5gu9ti0dn4c6h1pu"); // if (flags & (1<<24)) { UNSUPPORTED("8hn4rzdhnzbbm4vcj7b1o2h8s"); // /* obj->z = late_double(n, N_z, 0.0, -MAXFLOAT); */ UNSUPPORTED("7xl25s8bmvdzfgqceezs4vbv7"); // if (GD_odim(agraphof(n)) >=3) UNSUPPORTED("e9bowj0fth92lpwok5jw7ygmv"); // obj->z = (ROUND((ND_pos(n)[2])*72)); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("7ss0158fo4kqsce5naq3vb9di"); // obj->z = 0.0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("de51o3rsacfia37u3ekmuuyep"); // initObjMapData (job, ND_label(n), n); UNSUPPORTED("8k7npuk2pg2np42cu63aachgc"); // if ((flags & ((1<<16) | (1<<22))) UNSUPPORTED("ap5s8ebp9t1efc4rdd66xi8h2"); // && (obj->url || obj->explicit_tooltip)) { UNSUPPORTED("752pv46veugd2etmozcnfiypa"); // /* checking shape of node */ UNSUPPORTED("5zbsi1lwuz5ursdo00msuv88d"); // shape = shapeOf(n); UNSUPPORTED("7s077dx2lcy2m2jqo0bd1qwbj"); // /* node coordinate */ UNSUPPORTED("2qpk1rnkjskc4vssp5kqy1hob"); // coord = ND_coord(n); UNSUPPORTED("4htxfyxz1smr3utoocizilxu4"); // /* checking if filled style has been set for node */ UNSUPPORTED("5kcgc99yv9rp8w1dcte4rnf51"); // filled = ifFilled(n); UNSUPPORTED("600lgxny2fkn72axw3r34cgqb"); // if (shape == SH_POLY || shape == SH_POINT) { UNSUPPORTED("d5nksf3ih1yt0kg59sfkewlsj"); // poly = (polygon_t *) ND_shape_info(n); UNSUPPORTED("456i8yij35bvszszfonbqz35a"); // /* checking if polygon is regular rectangle */ UNSUPPORTED("4vyy0i6dsllcradhvl2oe51ir"); // if (isRect(poly) && (poly->peripheries || filled)) UNSUPPORTED("3yn5fb3yxthk0g149yritkp9"); // rect = 1; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("5t5nn5iltsyof8cyz3b2gwvdf"); // /* When node has polygon shape and requested output supports polygons UNSUPPORTED("rtnlliq5iwd307fmm56s27kf"); // * we use a polygon to map the clickable region that is a: UNSUPPORTED("awa42ejtbglkhruoiebsfh83c"); // * circle, ellipse, polygon with n side, or point. UNSUPPORTED("4w3ojigi9jyced2btkx1r494k"); // * For regular rectangular shape we have use node's bounding box to map clickable region UNSUPPORTED("3vesx4cskuo1q42jvwmoum2xs"); // */ UNSUPPORTED("1qgrvitr94qu2hi2by8s1ylm1"); // if (poly && !rect && (flags & (1<<19))) { UNSUPPORTED("91fvk4kb7gg5t610zxi308wws"); // if (poly->sides < 3) UNSUPPORTED("f4hqnp8zargnp3vhkbcl094mr"); // sides = 1; UNSUPPORTED("1knjyao8ci3w18zqqcnmnitir"); // else UNSUPPORTED("csupw9r57m2dwx6i5f2tu4d86"); // sides = poly->sides; UNSUPPORTED("5q6n2srifirg3tkf0bas934m1"); // if (poly->peripheries < 2) UNSUPPORTED("6panx1vemgvl6wfskrd3m1mww"); // peripheries = 1; UNSUPPORTED("1knjyao8ci3w18zqqcnmnitir"); // else UNSUPPORTED("81q50lt0mna1wn04hztqusptn"); // peripheries = poly->peripheries; UNSUPPORTED("2uakxkguw0fhjjx37xg11qtpp"); // vertices = poly->vertices; UNSUPPORTED("dp132vof8gu0b6vv6svot7dp4"); // if ((s = agget(n, "samplepoints"))) UNSUPPORTED("3ditmtyp8gocdq6i8g23oqfk3"); // nump = atoi(s); UNSUPPORTED("9rcwqkr45gajonyf3mylgs54d"); // /* We want at least 4 points. For server-side maps, at most 100 UNSUPPORTED("80gxq7mljih09qbykr2a77hji"); // * points are allowed. To simplify things to fit with the 120 points UNSUPPORTED("95v6tfii1cmgyczmw9snifrz2"); // * used for skewed ellipses, we set the bound at 60. UNSUPPORTED("29edlge3wqyp1gs0vymtr5700"); // */ UNSUPPORTED("24rjq7ktpbelyle5ccux41fbw"); // if ((nump < 4) || (nump > 60)) UNSUPPORTED("8f615e20vka2xve8ihx3czfgz"); // nump = 20; UNSUPPORTED("7o7i7thssuva8pvhyrohuym9s"); // /* use bounding box of text label or node image for mapping UNSUPPORTED("2bw9y6a24gfxnxsqoc4pzu34f"); // * when polygon has no peripheries and node is not filled UNSUPPORTED("29edlge3wqyp1gs0vymtr5700"); // */ UNSUPPORTED("a7oq5da9ov5iuj0nr5evgcaey"); // if (poly->peripheries == 0 && !filled) { UNSUPPORTED("5hkjrhdwgew8q4bjy8hi39y0l"); // obj->url_map_shape = MAP_RECTANGLE; UNSUPPORTED("6z27gxa0h15ax0y7jhl4jqw7u"); // nump = 2; UNSUPPORTED("6y6ve2v6irttd8deh2u0tidty"); // p = (pointf*)zmalloc((nump)*sizeof(pointf)); UNSUPPORTED("586tid4nqbu8z1d3usgwdw8jp"); // (p[0].x = coord.x - ND_lw(n), p[0].y = coord.y - ND_ht(n) / 2.0, p[1].x = coord.x + ND_lw(n), p[1].y = coord.y + ND_ht(n) / 2.0); UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("d4glybpyvbpo9bu6saa4l6bde"); // /* circle or ellipse */ UNSUPPORTED("9d4mrdegox0b1pm5xbfep5uko"); // else if (poly->sides < 3 && poly->skew == 0.0 && poly->distortion == 0.0) { UNSUPPORTED("cdqbx7sifcci71ypvwe0wz7yv"); // if (poly->regular) { UNSUPPORTED("7dlfvykcyhmfeqqtnxuxpu83y"); // obj->url_map_shape = MAP_CIRCLE; UNSUPPORTED("5um56x6io8un90j92meh20cjv"); // nump = 2; /* center of circle and top right corner of bb */ UNSUPPORTED("yoyr2t09q9xi2y3drrvf3xad"); // p = (pointf*)zmalloc((nump)*sizeof(pointf)); UNSUPPORTED("7p1zauucnrwblaitis0khiz1r"); // p[0].x = coord.x; UNSUPPORTED("e6o8x1sj9om9kkeixtn7zklcs"); // p[0].y = coord.y; UNSUPPORTED("60m7eqldm742a0adfcs7kfqcg"); // /* even vertices contain LL corner of bb */ UNSUPPORTED("9758i1qof39xb2yzi57in7oxt"); // /* odd vertices contain UR corner of bb */ UNSUPPORTED("854obam1okv2gd6w4k2r6m9ot"); // p[1].x = coord.x + vertices[2*peripheries - 1].x; UNSUPPORTED("2f7rjskpdx9cpkmm1a048d0oe"); // p[1].y = coord.y + vertices[2*peripheries - 1].y; UNSUPPORTED("7nxu74undh30brb8laojud3f9"); // } UNSUPPORTED("9amplb4x49w5htb1q19aqmixx"); // else { /* ellipse is treated as polygon */ UNSUPPORTED("7cvkihpbuxq2fiho8en5lxlk5"); // obj->url_map_shape= MAP_POLYGON; UNSUPPORTED("5n0o7h3635rfk8v1ofc24e5vh"); // p = pEllipse((double)(vertices[2*peripheries - 1].x), UNSUPPORTED("68gocmgm77xvuicc7u8i05814"); // (double)(vertices[2*peripheries - 1].y), nump); UNSUPPORTED("34bytcpuln6qgd13en0tbt49q"); // for (i = 0; i < nump; i++) { UNSUPPORTED("7d7wspnuodlkz25ma45nsi6ag"); // p[i].x += coord.x; UNSUPPORTED("75mj4vd1u3ik8porqjoty5tt1"); // p[i].y += coord.y; UNSUPPORTED("3e08x1y395304nd0y3uwffvim"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("1b3uzl88u778jb7f869wx7xpc"); // /* all other polygonal shape */ UNSUPPORTED("89xddhb2xugz6vr9s2y1n4iko"); // else { UNSUPPORTED("7n9hod7wrkfif1s19ajej7dxw"); // int offset = (peripheries - 1)*(poly->sides); UNSUPPORTED("8mmxiwtk0jn6wb1tdqa1b3w10"); // obj->url_map_shape = MAP_POLYGON; UNSUPPORTED("9f3mabmc7lq7y42eheer04fzl"); // /* distorted or skewed ellipses and circles are polygons with 120 UNSUPPORTED("5xz548f5h9x5kyiwplsm69qf5"); // * sides. For mapping we convert them into polygon with sample sides UNSUPPORTED("316yclqq5365l289qzfq39l6w"); // */ UNSUPPORTED("6tjxq9hxjynudn5fd5eb09jyb"); // if (poly->sides >= nump) { UNSUPPORTED("bdbaovdssj5kkgpsxokx4trlm"); // int delta = poly->sides / nump; UNSUPPORTED("yoyr2t09q9xi2y3drrvf3xad"); // p = (pointf*)zmalloc((nump)*sizeof(pointf)); UNSUPPORTED("c046rwe9l0lp00lemr5p5fxa"); // for (i = 0, j = 0; j < nump; i += delta, j++) { UNSUPPORTED("c1dhcvofcsymhvnczsxmmhr41"); // p[j].x = coord.x + vertices[i + offset].x; UNSUPPORTED("ei7ntnpjxjte5mvwta7em30ll"); // p[j].y = coord.y + vertices[i + offset].y; UNSUPPORTED("3e08x1y395304nd0y3uwffvim"); // } UNSUPPORTED("esb1hqr9y2ldyt0mt0w98tg6k"); // } else { UNSUPPORTED("ofg0e43bcmuyf7t2nedsgevg"); // nump = sides; UNSUPPORTED("yoyr2t09q9xi2y3drrvf3xad"); // p = (pointf*)zmalloc((nump)*sizeof(pointf)); UNSUPPORTED("34bytcpuln6qgd13en0tbt49q"); // for (i = 0; i < nump; i++) { UNSUPPORTED("dnojnlwgkx6ddefag0zwo6ds2"); // p[i].x = coord.x + vertices[i + offset].x; UNSUPPORTED("4dblb5sdbisslvfdhwsybgeh"); // p[i].y = coord.y + vertices[i + offset].y; UNSUPPORTED("3e08x1y395304nd0y3uwffvim"); // } UNSUPPORTED("7nxu74undh30brb8laojud3f9"); // } UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("3jir07ymknf0hmb9pv9x4dr3o"); // else { UNSUPPORTED("98n8obslcmy8y3s7e6jf9esg2"); // /* we have to use the node's bounding box to map clickable region UNSUPPORTED("50m9f9e7fwiwwh75wjf4clqoj"); // * when requested output format is not capable of polygons. UNSUPPORTED("29edlge3wqyp1gs0vymtr5700"); // */ UNSUPPORTED("dtpqdcuqa1r9h12j3i5ycrvw1"); // obj->url_map_shape = MAP_RECTANGLE; UNSUPPORTED("64g4nd2mma198mwj1rn8lub1x"); // nump = 2; UNSUPPORTED("cfwfzr78yzuxsg39clh917i7v"); // p = (pointf*)zmalloc((nump)*sizeof(pointf)); UNSUPPORTED("odbnll58vskylwajptbzx1ep"); // p[0].x = coord.x - ND_lw(n); UNSUPPORTED("nz1xqz7manrsw4hebsgnykie"); // p[0].y = coord.y - (ND_ht(n) / 2); UNSUPPORTED("40l7iiv57pa37xyblc80nhqjv"); // p[1].x = coord.x + ND_rw(n); UNSUPPORTED("bvo8cz7zx62rjde71khxdb3li"); // p[1].y = coord.y + (ND_ht(n) / 2); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("4lzx178ws3xixysf6d4x8jxs2"); // if (! (flags & (1<<13))) UNSUPPORTED("6vlhqkskkzyjn8cw33u0m8dkp"); // gvrender_ptf_A(job, p, p, nump); UNSUPPORTED("d6dtek5hzc7rtaly67ykeq98d"); // obj->url_map_p = p; UNSUPPORTED("c1ycajl1r4i9caqbpdh9zmyx0"); // obj->url_map_n = nump; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("aemq91z7mpchiy1jqeg9gcaix"); // setColorScheme (agget (n, "colorscheme")); UNSUPPORTED("65nxjiymni4pwghzckh64eskn"); // gvrender_begin_node(job, n); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d9mzxl9say77sxvq7p8x64arq // static void emit_end_node(GVJ_t * job) public static Object emit_end_node(Object... arg) { UNSUPPORTED("2l9v7jqkrub7vxobkquy7asiq"); // static void emit_end_node(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1ibtlropykj9c7r9ibxwqb2mq"); // gvrender_end_node(job); UNSUPPORTED("39iamwq9cd9iv3d2iyiaq8gz9"); // pop_obj_state(job); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 do63wzhzr0kzmjcdc6gjwjnj1 // static void emit_node(GVJ_t * job, node_t * n) public static Object emit_node(Object... arg) { UNSUPPORTED("a610z8g79rvtm3401gis6ckc8"); // static void emit_node(GVJ_t * job, node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eyew5ay5wwktz4fysz0b78ugv"); // GVC_t *gvc = job->gvc; UNSUPPORTED("8yytudftst76763qgnjebkzhm"); // char *s; UNSUPPORTED("byo308l1rmve5rmx8wt32juux"); // char *style; UNSUPPORTED("getfykrvugvlv3wxt5qm5ghl"); // char **styles = 0; UNSUPPORTED("9q7vvjxznd6x0u1t6fgd82byj"); // char **sp; UNSUPPORTED("aexhdud6z2wbwwi73yppp0ynl"); // char *p; UNSUPPORTED("1ox2ru6l44s8f2m2tqkkpb60"); // if (ND_shape(n) /* node has a shape */ UNSUPPORTED("2pbaf4f2fx6en7dizu6y1x508"); // && node_in_layer(job, agraphof(n), n) /* and is in layer */ UNSUPPORTED("bfz19cj6ftdbt8an3chivuz6r"); // && node_in_box(n, job->clip) /* and is in page/view */ UNSUPPORTED("7beo9zmd6okbo2j2mrhh57pg5"); // && (ND_state(n) != gvc->common.viewNum)) /* and not already drawn */ UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("5xnzubm059ragnfr4w9qppbcd"); // ND_state(n) = gvc->common.viewNum; /* mark node as drawn */ UNSUPPORTED("d06edad4blz58hs97kcth9q6u"); // gvrender_comment(job, agnameof(n)); UNSUPPORTED("cagpugtwz1xuxol6c2w44i117"); // s = late_string(n, N_comment, ""); UNSUPPORTED("7oyyy6d3itm6qqhr3p5zu6ded"); // if (s[0]) UNSUPPORTED("8gbf99sx0atz9ku0tfjv4m4o3"); // gvrender_comment(job, s); UNSUPPORTED("9ihgp28ukdi3iied1az7rndhv"); // style = late_string(n, N_style, ""); UNSUPPORTED("12ihr78gv09dxppuorymkgt75"); // if (style[0]) { UNSUPPORTED("32d3t9w0x6lbw2olmibm97mqd"); // styles = parse_style(style); UNSUPPORTED("ai2h90fa4b5ss40yyc0ehvrzd"); // sp = styles; UNSUPPORTED("9v2c8p99l7pj3zqwvtb298adq"); // while ((p = *sp++)) { UNSUPPORTED("xtuts27rjtqvzh4gjkw96ime"); // if ((*(p)==*("invis")&&!strcmp(p,"invis"))) return; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("58q1665qa9481hld1ioe4zwoj"); // emit_begin_node(job, n); UNSUPPORTED("mfw9xokftdmhodm2jpp901c5"); // ND_shape(n)->fns->codefn(job, n); UNSUPPORTED("cncg3snxi0wuz6b1dkj8gz85t"); // if (ND_xlabel(n) && ND_xlabel(n)->set) UNSUPPORTED("67z3k2l4flib7gfhwxaekdsam"); // emit_label(job, EMIT_NLABEL, ND_xlabel(n)); UNSUPPORTED("2jcokqlllmekcinbvegkojl7u"); // emit_end_node(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1690phewavvug1dfq83cwep5d // static pointf computeoffset_p(pointf p, pointf q, double d) public static Object computeoffset_p(Object... arg) { UNSUPPORTED("63wh9kozu453znl0upnphf9mi"); // static pointf computeoffset_p(pointf p, pointf q, double d) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5uemny2bjcvw6dq2uqo1t1xl0"); // pointf res; UNSUPPORTED("cj9v3vgjktw1o09qn9i35u6gl"); // double x = p.x - q.x, y = p.y - q.y; UNSUPPORTED("c619zohl4d6wz9g3kekvpg7d1"); // /* keep d finite as line length approaches 0 */ UNSUPPORTED("5c6u3xrusgxwuo66z5mvimg9m"); // d /= sqrt(x * x + y * y + .0001); UNSUPPORTED("4lo34cbbs51klu8okkvjbbg1u"); // res.x = y * d; UNSUPPORTED("cdsev61yjq1ezm8vyeqy9bskw"); // res.y = -x * d; UNSUPPORTED("cezffb75elgmxmthji4vj0se9"); // return res; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dly15js1s0j0q9xlzznflvp5o // static pointf computeoffset_qr(pointf p, pointf q, pointf r, pointf s, double d) public static Object computeoffset_qr(Object... arg) { UNSUPPORTED("8sdovg67zcg8hbc8uxomazvo7"); // static pointf computeoffset_qr(pointf p, pointf q, pointf r, pointf s, UNSUPPORTED("cw59rrix8ii9c4gpgc087wzod"); // double d) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5uemny2bjcvw6dq2uqo1t1xl0"); // pointf res; UNSUPPORTED("83zpklqoz4hkcpabg6bg1meo4"); // double len; UNSUPPORTED("sk1w1xfer0nznuf4hm21fm98"); // double x = q.x - r.x, y = q.y - r.y; UNSUPPORTED("2c5il9v49cdl4tr8gyt83did1"); // len = sqrt(x * x + y * y); UNSUPPORTED("2ach8qtgjeze9t2249wcwdkat"); // if (len < .0001) { UNSUPPORTED("6lej7y0livho67yeaclv11eqn"); // /* control points are on top of each other UNSUPPORTED("c2tbggffhpyqvaphzbz85js2"); // use slope between endpoints instead */ UNSUPPORTED("ld3z8wtan3gkvuzdn53c58vc"); // x = p.x - s.x, y = p.y - s.y; UNSUPPORTED("7htvz9tvqvjgwskwcyc2urf53"); // /* keep d finite as line length approaches 0 */ UNSUPPORTED("ealmen1ps4qroua1hv1qypt8o"); // len = sqrt(x * x + y * y + .0001); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("p5a5c43qtb7svsztnqiqbvut"); // d /= len; UNSUPPORTED("4lo34cbbs51klu8okkvjbbg1u"); // res.x = y * d; UNSUPPORTED("cdsev61yjq1ezm8vyeqy9bskw"); // res.y = -x * d; UNSUPPORTED("cezffb75elgmxmthji4vj0se9"); // return res; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9jbox5ffqmnuiqxjmiewkjd7v // static void emit_attachment(GVJ_t * job, textlabel_t * lp, splines * spl) public static Object emit_attachment(Object... arg) { UNSUPPORTED("cqsl6q4bc0by6b7m5fjbaz0ff"); // static void emit_attachment(GVJ_t * job, textlabel_t * lp, splines * spl) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("69bvnbgbqrcytrd76lwcg0vka"); // pointf sz, AF[3]; UNSUPPORTED("7f6xhv1pxs09lj5ogjqiqd0jc"); // unsigned char *s; UNSUPPORTED("3asm1mshny9o50slevb5zf6uy"); // for (s = (unsigned char *) (lp->text); *s; s++) { UNSUPPORTED("ndpe342kdaool85s57l4ih7r"); // if (isspace(*s) == 0) UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7w2f0c8cdlaczfa4mtfux75ou"); // if (*s == 0) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("adxqzkeq9mg15dgugx9z222go"); // sz = lp->dimen; UNSUPPORTED("8n9kjtyakr4mqv1td5vrgkb96"); // AF[0] = pointfof(lp->pos.x + sz.x / 2., lp->pos.y - sz.y / 2.); UNSUPPORTED("6kkjo8ld87lpzum3u7wv6yv4b"); // AF[1] = pointfof(AF[0].x - sz.x, AF[0].y); UNSUPPORTED("6ezlaa100st3k35o4mzoczre2"); // AF[2] = dotneato_closest(spl, lp->pos); UNSUPPORTED("aigctuc4kajr8onbk5fmrvh00"); // /* Don't use edge style to draw attachment */ UNSUPPORTED("4g8oyutwebzej18aaiz74zb9k"); // gvrender_set_style(job, job->gvc->defaultlinestyle); UNSUPPORTED("6farm4z5p1r4wzjnb5f1kioin"); // /* Use font color to draw attachment UNSUPPORTED("25anit6qhtt5ef1ewc1h0q577"); // - need something unambiguous in case of multicolored parallel edges UNSUPPORTED("f115hnh0a1ezbinf75vc9r0lg"); // - defaults to black for html-like labels UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("bl5mm7hn2il0n2e623rbq8q5w"); // gvrender_set_pencolor(job, lp->fontcolor); UNSUPPORTED("35prexehk0x6n14ojx7sihunn"); // gvrender_polyline(job, AF, 3); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4g1n8pxbh06t81obycv6rqtxv // static char* default_pencolor(char *pencolor, char *deflt) public static Object default_pencolor(Object... arg) { UNSUPPORTED("4wukcoxynojzor25ps1rby9yw"); // static char* default_pencolor(char *pencolor, char *deflt) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8kywmm7f51dmrjngxwvnpsd4o"); // static char *buf; UNSUPPORTED("22dcr6aukx12do9pe4dib69c4"); // static int bufsz; UNSUPPORTED("aexhdud6z2wbwwi73yppp0ynl"); // char *p; UNSUPPORTED("a005u14z35hf8yjnafoaaeqg"); // int len, ncol; UNSUPPORTED("e6y6l26pcnusy834r3jfxyd52"); // ncol = 1; UNSUPPORTED("6zcf9gon91dymhtem9dwap4mh"); // for (p = pencolor; *p; p++) { UNSUPPORTED("2s6gq2wmmin2ab5zt90m5xjep"); // if (*p == ':') UNSUPPORTED("9f19jjr21zaezdxswj6tevd9n"); // ncol++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2134j62fnfo06vfq9fo45gceu"); // len = ncol * (strlen(deflt) + 1); UNSUPPORTED("55qowwh2rcv2v2uu70hde9ct4"); // if (bufsz < len) { UNSUPPORTED("19odu3570teiwv839flm3iezt"); // bufsz = len + 10; UNSUPPORTED("e15ktgr11acljfi5jubpq5sba"); // buf = realloc(buf, bufsz); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3nutbraj7qprn5hvmj8fqtl63"); // strcpy(buf, deflt); UNSUPPORTED("22y7o7tq5wsmfgkczgy0hqxmx"); // while(--ncol) { UNSUPPORTED("9se30dn1tgkm9kisqzl2ojhic"); // strcat(buf, ":"); UNSUPPORTED("68ovea8yallwok9w5wpk46e5m"); // strcat(buf, deflt); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5jfpogdyby101eyuw2dhtb5cg"); // return buf; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4idfslavgy1wy953xlflg5ws6 // static double approxLen (pointf* pts) public static Object approxLen(Object... arg) { UNSUPPORTED("6tz6ed7moergtlszt1ajl0p9v"); // static double approxLen (pointf* pts) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3s4rz758a6plk3e82llqp2gg9"); // double d = DIST(pts[0],pts[1]); UNSUPPORTED("9v02me6trkr3y3f94cm9fyk9a"); // d += DIST(pts[1],pts[2]); UNSUPPORTED("8r2j0wkc637k7tyzg3r6uh9iv"); // d += DIST(pts[2],pts[3]); UNSUPPORTED("3r3o80n61nmy2jv0ezi9xg2xp"); // return d; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c24egok0eodx1gogrwwnimllw // static void splitBSpline (bezier* bz, float t, bezier* left, bezier* right) public static Object splitBSpline(Object... arg) { UNSUPPORTED("bzosun8763baoenilgqapqo0v"); // static void splitBSpline (bezier* bz, float t, bezier* left, bezier* right) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dakf3h64dqiulqbamu0w9twdu"); // int i, j, k, cnt = (bz->size - 1)/3; UNSUPPORTED("7lwfrj61cydg2xwok9ruezq5q"); // double* lens; UNSUPPORTED("6xpvacdzhffp9veax0hnyrxsk"); // double last, len, sum; UNSUPPORTED("48n1zwofayobr58hhiz0y5wfp"); // pointf* pts; UNSUPPORTED("89zep3p5j2e5egc7g57ipff0g"); // float r; UNSUPPORTED("6556o7pk7swku5m4ocatctrjt"); // if (cnt == 1) { UNSUPPORTED("e6f8rl0x4aqawbb1f9o0iw15m"); // left->size = 4; UNSUPPORTED("twafm7lir3aq9n2mil73iowf"); // left->list = (pointf*)zmalloc((4)*sizeof(pointf)); UNSUPPORTED("1baicin4fqf7m9f8aohq6veca"); // right->size = 4; UNSUPPORTED("4iwp6vrwtjet80pf2dloisel9"); // right->list = (pointf*)zmalloc((4)*sizeof(pointf)); UNSUPPORTED("cewi4etd9db03yftetga0xkdh"); // Bezier (bz->list, 3, t, left->list, right->list); UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dd6fkzw1fpmv18pgue4xs5bqi"); // lens = (double*)zmalloc((cnt)*sizeof(double)); UNSUPPORTED("a6vxbyim8v2mmrdcey3t2n4r0"); // sum = 0; UNSUPPORTED("6vpzf70qotrvlbnwdne2riv0x"); // pts = bz->list; UNSUPPORTED("1psokm6w9e7qw7fm2g1cayuk7"); // for (i = 0; i < cnt; i++) { UNSUPPORTED("8r4arv0b9go700qz2tm3mm221"); // lens[i] = approxLen (pts); UNSUPPORTED("eoo69513qfc7r4hl1k5c2eiwv"); // sum += lens[i]; UNSUPPORTED("e4542wxbu4szwpfa8e0ra68f2"); // pts += 3; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4ajaxhjxm9owoq0tyl6901zpb"); // len = t*sum; UNSUPPORTED("a6vxbyim8v2mmrdcey3t2n4r0"); // sum = 0; UNSUPPORTED("1psokm6w9e7qw7fm2g1cayuk7"); // for (i = 0; i < cnt; i++) { UNSUPPORTED("eoo69513qfc7r4hl1k5c2eiwv"); // sum += lens[i]; UNSUPPORTED("5boo0t1khz74gcsiopw0n3w2z"); // if (sum >= len) UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("75pszhfxvdcbo780wsjt6bh92"); // left->size = 3*(i+1) + 1; UNSUPPORTED("6dip2t5t8rbleilxa8lj81obn"); // left->list = (pointf*)zmalloc((left->size)*sizeof(pointf)); UNSUPPORTED("5p4l0m9e5xsnuegq2yhv5c3d6"); // right->size = 3*(cnt-i) + 1; UNSUPPORTED("26r2b2ifak9lziwwpho1xrj5x"); // right->list = (pointf*)zmalloc((right->size)*sizeof(pointf)); UNSUPPORTED("3wleiy529fpgcsz1ikho2emvm"); // for (j = 0; j < left->size; j++) UNSUPPORTED("ba9gueiwlmayc8ysz2l1cwcxj"); // left->list[j] = bz->list[j]; UNSUPPORTED("ep0odw2vpvxzya4y8rennmr9k"); // k = j - 4; UNSUPPORTED("e6f27aong4yxk1ijo8d8w0888"); // for (j = 0; j < right->size; j++) UNSUPPORTED("9wqub3rjwa4mbj3s7e2szhas0"); // right->list[j] = bz->list[k++]; UNSUPPORTED("7a9c792hfdlnnk7sj8q4whllc"); // last = lens[i]; UNSUPPORTED("8sjlbix5lxv8ks4no35ryh1ky"); // r = (len - (sum - last))/last; UNSUPPORTED("d2rexqliaoccgx5aaon5n8xad"); // Bezier (bz->list + 3*i, 3, r, left->list + 3*i, right->list); UNSUPPORTED("abtwh44up8wmpmdx48y0s2mc9"); // free (lens); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 emsbbp4kdnhrbf2gca7ikthj5 // static int multicolor (GVJ_t * job, edge_t * e, char** styles, char* colors, int num, double arrowsize, double penwidth) public static Object multicolor(Object... arg) { UNSUPPORTED("dvqr9ynn0c9bn4xfcpie8zyez"); // static int multicolor (GVJ_t * job, edge_t * e, char** styles, char* colors, int num, double arrowsize, double penwidth) UNSUPPORTED("yo7buicdiu29rv5vxhas0v3s"); // { UNSUPPORTED("37thdceezsvepe7tlyfatrbcw"); // bezier bz; UNSUPPORTED("2g6n25q0mmfzs7lbcmb5xqnsw"); // bezier bz0, bz_l, bz_r; UNSUPPORTED("ec8yrss5nd4ir33xtxncbfbx1"); // int i, rv; UNSUPPORTED("8z3a2qjysx0m326m5qjy91tnu"); // colorsegs_t* segs; UNSUPPORTED("8zv1ffgik05z2fcc41di32sn8"); // colorseg_t* s; UNSUPPORTED("491d6vy43b2c5s364tuuj531z"); // char* endcolor; UNSUPPORTED("23904qu3vgmgg4o78f0lbtk03"); // double left; UNSUPPORTED("3wtewf1w0788agxoxikqp6n0a"); // int first; /* first segment with t > 0 */ UNSUPPORTED("5vkb2ckjwqesd3277mqs5of2i"); // rv = parseSegs (colors, num, &segs); UNSUPPORTED("2m7c7iiy39zf5k6eva7052n4u"); // if (rv > 1) { UNSUPPORTED("cfaq63es7s358djxe08cx7kjx"); // Agraph_t* g = agraphof(agtail(e)); UNSUPPORTED("82aqfdoa44vt6zjffu4h6i7tz"); // agerr (AGPREV, "in edge %s%s%s\n", agnameof(agtail(e)), (agisdirected(g)?" -> ":" -- "), agnameof(aghead(e))); UNSUPPORTED("bqes0nkjkdq91khi1ouux7zfv"); // if (rv == 2) UNSUPPORTED("btmwubugs9vkexo4yb7a5nqel"); // return 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("tqrvg9la1h2jgnwa0zql3ck5"); // else if (rv == 1) UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("egp4hta3woqfkcxs9fcq2yvuy"); // for (i = 0; i < ED_spl(e)->size; i++) { UNSUPPORTED("cgwd7hfmn0br1bm5fi4gr97b3"); // left = 1; UNSUPPORTED("5ngoqqxxd5huppctrruhxjota"); // bz = ED_spl(e)->list[i]; UNSUPPORTED("3vet6pylmf84jbf0ssb1sifb7"); // first = 1; UNSUPPORTED("d2ic66tp4jlglvga1xy32sk6j"); // for (s = segs->segs; s->color; s++) { UNSUPPORTED("78q8ibx2yffz6m8wihta0ii64"); // if ((((s->t) < 1E-5) && ((s->t) > -1E-5))) continue; UNSUPPORTED("xa07dy2pw68wlizyfp8oymag"); // gvrender_set_pencolor(job, s->color); UNSUPPORTED("56ofcgemtdmz0pup4itjvidtj"); // left -= s->t; UNSUPPORTED("chr2o19f7c3h4ymbaatmy5jae"); // endcolor = s->color; UNSUPPORTED("ay38rk7fywnv41q0742j6585x"); // if (first) { UNSUPPORTED("7ttvwgvz7wpyo71aggs2auiau"); // first = 0; UNSUPPORTED("9rs2pz8j0ynilgapygagbgd89"); // splitBSpline (&bz, s->t, &bz_l, &bz_r); UNSUPPORTED("99cbkfbl5fivdra5eaj0kf8n5"); // gvrender_beziercurve(job, bz_l.list, bz_l.size, 0, 0, 0); UNSUPPORTED("vrjjl72p0ams86w0e3fsnith"); // free (bz_l.list); UNSUPPORTED("48xtw1gzugr4tgwurr50x6d8e"); // if ((((left) < 1E-5) && ((left) > -1E-5))) { UNSUPPORTED("bkk1vblwk5js8005v0nk0jk15"); // free (bz_r.list); UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("4mbggres28g1urrdviyjscdh0"); // else if ((((left) < 1E-5) && ((left) > -1E-5))) { UNSUPPORTED("16m5vvsclnhu00mxtqc62jc5q"); // gvrender_beziercurve(job, bz_r.list, bz_r.size, 0, 0, 0); UNSUPPORTED("dukn62ogiycorcn8c4esuwmu1"); // free (bz_r.list); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("2ej2iwx8roed79sbv44tte9sg"); // bz0 = bz_r; UNSUPPORTED("82oq6xp2v59bcqu7z1dbvilyn"); // splitBSpline (&bz0, (s->t)/(left+s->t), &bz_l, &bz_r); UNSUPPORTED("btj36obnij7vfhl4k6li7ixlh"); // free (bz0.list); UNSUPPORTED("99cbkfbl5fivdra5eaj0kf8n5"); // gvrender_beziercurve(job, bz_l.list, bz_l.size, 0, 0, 0); UNSUPPORTED("vrjjl72p0ams86w0e3fsnith"); // free (bz_l.list); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("bjb95001z7szmwgcquyyal5ta"); // /* arrow_gen resets the job style (How? FIXME) UNSUPPORTED("eevkw6z2fbi2d7kpx3zp0uuvc"); // * If we have more splines to do, restore the old one. UNSUPPORTED("500s7rroyq30zj2qxhdp4jluo"); // * Use local copy of penwidth to work around reset. UNSUPPORTED("316yclqq5365l289qzfq39l6w"); // */ UNSUPPORTED("2qc36pchob3dha7c8jedwalcn"); // if (bz.sflag) { UNSUPPORTED("b6y3ukuisz1mssdko3l2oa179"); // gvrender_set_pencolor(job, segs->segs->color); UNSUPPORTED("b33lxxzdyehr8v8uwpkcgabuh"); // gvrender_set_fillcolor(job, segs->segs->color); UNSUPPORTED("7l0hrlftphvjrn1f7whgtaofw"); // arrow_gen(job, EMIT_TDRAW, bz.sp, bz.list[0], arrowsize, penwidth, bz.sflag); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("973cbk976xio10xxw9bgkyen2"); // if (bz.eflag) { UNSUPPORTED("7mplmupdwkpendc0q8ocljk18"); // gvrender_set_pencolor(job, endcolor); UNSUPPORTED("ahacu4j8j9b29k2c80wyfedus"); // gvrender_set_fillcolor(job, endcolor); UNSUPPORTED("d89bwaeqinnrhngamz9mrl01r"); // arrow_gen(job, EMIT_HDRAW, bz.ep, bz.list[bz.size - 1], arrowsize, penwidth, bz.eflag); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9zc0fxovb3sw9wibqdnoqamso"); // if ((ED_spl(e)->size>1) && (bz.sflag||bz.eflag) && styles) UNSUPPORTED("1sadq9tjru1s6bzpcgl677k6i"); // gvrender_set_style(job, styles); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("864f5ylvxgoy5rwmwl4pstg2p"); // free (segs); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 13jatehy3n1t03488fq3ek8st // static void free_stroke (stroke_t* sp) public static Object free_stroke(Object... arg) { UNSUPPORTED("ahnzha1pnhrfmdhm9uwi8iuao"); // static void free_stroke (stroke_t* sp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3h9wjmlt6pp3ti25zl9lhmigy"); // if (sp) { UNSUPPORTED("c8uned45gp04il3dvzfnj6g5k"); // free (sp->vertices); UNSUPPORTED("6tcxn9cesyebua29d6q299172"); // free (sp); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5b9ltl2mduk3ua0x8235o922t // static double forfunc (double curlen, double totallen, double initwid) public static Object forfunc(Object... arg) { UNSUPPORTED("3t80v9xj410ss5j0pqnc1zrjp"); // static double forfunc (double curlen, double totallen, double initwid) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7w1a8rqs29lelmnia96oa58f9"); // return ((1 - (curlen/totallen))*initwid/2.0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dsgrrv9hsyak20n1h9x5jvp3f // static double revfunc (double curlen, double totallen, double initwid) public static Object revfunc(Object... arg) { UNSUPPORTED("bld5nqyhkdbuxeay2ll473qr6"); // static double revfunc (double curlen, double totallen, double initwid) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("blt0wpagxakbwm5voqwfqir05"); // return (((curlen/totallen))*initwid/2.0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3evv2ec1hr5uijikij2h26w3t // static double nonefunc (double curlen, double totallen, double initwid) public static Object nonefunc(Object... arg) { UNSUPPORTED("e8e1fgr1nlozsj7m2ijaws2gd"); // static double nonefunc (double curlen, double totallen, double initwid) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2zcusggl2dike7m7cwbckjltr"); // return (initwid/2.0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 333yk8u7vrjjv2pfad3z273ra // static double bothfunc (double curlen, double totallen, double initwid) public static Object bothfunc(Object... arg) { UNSUPPORTED("au7dp9qva7eo751dhmuu29nq9"); // static double bothfunc (double curlen, double totallen, double initwid) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7hpykssamp5naz4fl0qzgklsq"); // double fr = curlen/totallen; UNSUPPORTED("bixgbzdc1rbkvbqmjxn5drr4k"); // if (fr <= 0.5) return (fr*initwid); UNSUPPORTED("1b7ckst75n0s5njx7vvi7w3jw"); // else return ((1-fr)*initwid); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 256panf42dptclohlg3aolfqv // static radfunc_t taperfun (edge_t* e) public static Object taperfun(Object... arg) { UNSUPPORTED("ygkpgli37inuq18f0rtbwcs1"); // static radfunc_t UNSUPPORTED("6r0vilajj0np6wokfkwjl7ykm"); // taperfun (edge_t* e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6ms33tgqoacyvkev0g6t87x2n"); // char* attr; UNSUPPORTED("1un0u4nwlweclzc8w1ydozt5q"); // if (E_dir && ((attr = agxget(e, E_dir)))[0]) { UNSUPPORTED("bslhjzz27pwavlahlu4z4vaei"); // if ((*(attr)==*("forward")&&!strcmp(attr,"forward"))) return forfunc; UNSUPPORTED("eulgmrvzxxnnylptzfoj4ebix"); // if ((*(attr)==*("back")&&!strcmp(attr,"back"))) return revfunc; UNSUPPORTED("7jy0p75av38y41nrehkh8eh5r"); // if ((*(attr)==*("both")&&!strcmp(attr,"both"))) return bothfunc; UNSUPPORTED("15n6mwfm4pg2fpvr7pkllvmcs"); // if ((*(attr)==*("none")&&!strcmp(attr,"none"))) return nonefunc; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bsel6fx8wjsph743urtdg1qfv"); // return (agisdirected(agraphof(aghead(e))) ? forfunc : nonefunc); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7u6cnonl0chpkjro9quo09fyr // static void emit_edge_graphics(GVJ_t * job, edge_t * e, char** styles) public static Object emit_edge_graphics(Object... arg) { UNSUPPORTED("44vrfcbqr2d1szhfncg37jn9c"); // static void emit_edge_graphics(GVJ_t * job, edge_t * e, char** styles) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dyh4es8zja669xh6w704698u1"); // int i, j, cnum, numc = 0, numsemi = 0; UNSUPPORTED("4fd30tht9vca24rbn5qkxxm2h"); // char *color, *pencolor, *fillcolor; UNSUPPORTED("dou14upt5u5f8go87xjj5jdtc"); // char *headcolor, *tailcolor, *lastcolor; UNSUPPORTED("da94242ir0732sz1wjfrstzam"); // char *colors = NULL; UNSUPPORTED("37thdceezsvepe7tlyfatrbcw"); // bezier bz; UNSUPPORTED("3l9st5qdrh657gcmhelkkjwk3"); // splines offspl, tmpspl; UNSUPPORTED("9sg7pim3sh38o6cyrrysxdihv"); // pointf pf0, pf1, pf2 = { 0, 0 }, pf3, *offlist, *tmplist; UNSUPPORTED("20vx89srcsfcjhjnu7dhv2ha0"); // double arrowsize, numc2, penwidth=job->obj->penwidth; UNSUPPORTED("a4px33i4moqe8ybwatz0g8k6"); // char* p; UNSUPPORTED("d7s9yrspa1yd9tdzj22df8zfx"); // boolean tapered = 0; UNSUPPORTED("d7dk8nv783iyi7g16fbyvoswy"); // setColorScheme (agget (e, "colorscheme")); UNSUPPORTED("4pdkymy0wuxj1yn9xqqzp2x4h"); // if (ED_spl(e)) { UNSUPPORTED("kp36oq4bt444kf967o82pd23"); // arrowsize = late_double(e, E_arrowsz, 1.0, 0.0); UNSUPPORTED("47l2wt9sohpfh3winazhczpb4"); // color = late_string(e, E_color, ""); UNSUPPORTED("d2n6qh5kiavdnxsfrc0fqqv4e"); // if (styles) { UNSUPPORTED("54isti54aox6yj0vuk6j86qhs"); // char** sp = styles; UNSUPPORTED("9v2c8p99l7pj3zqwvtb298adq"); // while ((p = *sp++)) { UNSUPPORTED("2ku2emqwvspqz2c6481orcixb"); // if ((*(p)==*("tapered")&&!strcmp(p,"tapered"))) { UNSUPPORTED("adyiyvvw6sowssjqqu2wojmtv"); // tapered = 1; UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1p0odq4xbiiyk9zulrtgh78p7"); // /* need to know how many colors separated by ':' */ UNSUPPORTED("epbhl3zzqty7zxgexbqsijz3t"); // for (p = color; *p; p++) { UNSUPPORTED("1zdp9y9tqsxdxtj8gfy3leixo"); // if (*p == ':') UNSUPPORTED("5iqqlev08y8ukmtx3vha7s7kc"); // numc++; UNSUPPORTED("88xgi4gcg06c70hzvrxc2pij2"); // else if (*p == ';') UNSUPPORTED("ajossrlhthg39idzi4plrieni"); // numsemi++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("f1kfj1lvizljipxfa8m49o34e"); // if (numsemi && numc) { UNSUPPORTED("9vi0u3wh25rzf9qx22ub742q9"); // if (multicolor (job, e, styles, color, numc+1, arrowsize, penwidth)) { UNSUPPORTED("2hm4ng34o2djs8z7qg2ac3c1x"); // color = "black"; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("6bj8inpmr5ulm16jmfxsstjtn"); // return; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1adkfqmo3ykccvljbvh44veke"); // fillcolor = pencolor = color; UNSUPPORTED("5zjv2jq8jwy0xnngx03rvezxj"); // if (ED_gui_state(e) & (1<<0)) { UNSUPPORTED("e1znbw6oeo9yq3u94bd736qh0"); // pencolor = late_nnstring(e, E_activepencolor, UNSUPPORTED("1g9t8pkrtaf7lucfw4wjhwq1b"); // default_pencolor(pencolor, "#808080")); UNSUPPORTED("2jqwe3bwxzh4ldnv9yft80lr9"); // fillcolor = late_nnstring(e, E_activefillcolor, "#fcfcfc"); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("d3olcb516sc9gnsf00xgo98dd"); // else if (ED_gui_state(e) & (1<<1)) { UNSUPPORTED("6n83olgg54bds3atz6ocdxcgm"); // pencolor = late_nnstring(e, E_selectedpencolor, UNSUPPORTED("bjgr6yow0b74j4um7a2sekd1t"); // default_pencolor(pencolor, "#303030")); UNSUPPORTED("cm8kancv5dyuwquvezp6bfx54"); // fillcolor = late_nnstring(e, E_selectedfillcolor, "#e8e8e8"); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3szmncx89hltlxv3fqrn7abjs"); // else if (ED_gui_state(e) & (1<<3)) { UNSUPPORTED("9pzm0fj2ru19falkosarggftj"); // pencolor = late_nnstring(e, E_deletedpencolor, UNSUPPORTED("1ivzzes2dmdgnv86yk0ffaf2u"); // default_pencolor(pencolor, "#e0e0e0")); UNSUPPORTED("8o3b6zumizq20edhwhmjjtvjf"); // fillcolor = late_nnstring(e, E_deletedfillcolor, "#f0f0f0"); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("59tkofvq26pokzebj54fxmvn"); // else if (ED_gui_state(e) & (1<<2)) { UNSUPPORTED("9ur79rphks1cca1bf289echp6"); // pencolor = late_nnstring(e, E_visitedpencolor, UNSUPPORTED("5c0jkjan0v1lp9rthvuo36q5e"); // default_pencolor(pencolor, "#101010")); UNSUPPORTED("73uog35zh3g1t58z0zbwtmoxh"); // fillcolor = late_nnstring(e, E_visitedfillcolor, "#f8f8f8"); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("70e3lpuncfyeq8ow3o0twrknb"); // fillcolor = late_nnstring(e, E_fillcolor, color); UNSUPPORTED("besdb3lw2v7ps66w9w7tit6bj"); // if (pencolor != color) UNSUPPORTED("4s4clbt0ohbem378iomo2d67o"); // gvrender_set_pencolor(job, pencolor); UNSUPPORTED("ajy8xtlpgl5nu72sbovqnt6fl"); // if (fillcolor != color) UNSUPPORTED("b156qgcfm85r551m3jmzhysy7"); // gvrender_set_fillcolor(job, fillcolor); UNSUPPORTED("eso6mj6u37z0eyzv9bnyclws9"); // color = pencolor; UNSUPPORTED("75fa2ioc5gvzkhqk5qlljrc5k"); // if (tapered) { UNSUPPORTED("d2fgbjxcola63obus1hikp8pg"); // stroke_t* stp; UNSUPPORTED("4fan4tn82jocc40ifj8ouifx4"); // if (*color == '\0') color = "black"; UNSUPPORTED("287ivnme7uzrjofjffd2b728s"); // if (*fillcolor == '\0') fillcolor = "black"; UNSUPPORTED("aa64pbbtgdbmq07oeeb6b6xd6"); // gvrender_set_pencolor(job, "transparent"); UNSUPPORTED("b4ftxmadx3875jpvifjzhsz4d"); // gvrender_set_fillcolor(job, color); UNSUPPORTED("3cdfvg0cegvnb5z8rbltyba5w"); // bz = ED_spl(e)->list[0]; UNSUPPORTED("bstcwq3pyy3ut7b2lsr32fr81"); // stp = taper (&bz, taperfun (e), penwidth, 0, 0); UNSUPPORTED("4b4v79dvjxu6pk3cfm0u6f6ec"); // gvrender_polygon(job, stp->vertices, stp->nvertices, NOT(0)); UNSUPPORTED("chpwwmn3mqyi2bzsp7whr9nd9"); // free_stroke (stp); UNSUPPORTED("2dyaq1mbp4llru6ov9chn9lky"); // gvrender_set_pencolor(job, color); UNSUPPORTED("7tv6l7sws5ownkmdcnfh1bd70"); // if (fillcolor != color) UNSUPPORTED("c8g4zrr9fhcg9l45gm7ut3wkl"); // gvrender_set_fillcolor(job, fillcolor); UNSUPPORTED("4ulz6ze3ok8dfrvqvzfe163do"); // if (bz.sflag) { UNSUPPORTED("3bsc7v0uj4ukdu3q4yku6pyc5"); // arrow_gen(job, EMIT_TDRAW, bz.sp, bz.list[0], arrowsize, penwidth, bz.sflag); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("5t5bh9txkzxp6h1lozsf250ww"); // if (bz.eflag) { UNSUPPORTED("dosyp6r5kbys1grl265mqm6d6"); // arrow_gen(job, EMIT_HDRAW, bz.ep, bz.list[bz.size - 1], arrowsize, penwidth, bz.eflag); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3rk5e1uiwm7hzn0bhxpzi5dey"); // /* if more than one color - then generate parallel beziers, one per color */ UNSUPPORTED("arvi3zjcegh42bgtwaulg8wkn"); // else if (numc) { UNSUPPORTED("8eaaczlv3zth4i3rc8kryne45"); // /* calculate and save offset vector spline and initialize first offset spline */ UNSUPPORTED("8a120p6zsfs8ycbql82yqol7p"); // tmpspl.size = offspl.size = ED_spl(e)->size; UNSUPPORTED("e3xuwliq0lpq61lr4e3efh174"); // offspl.list = malloc(sizeof(bezier) * offspl.size); UNSUPPORTED("41o3n44hn71jtdapbdfe0y9si"); // tmpspl.list = malloc(sizeof(bezier) * tmpspl.size); UNSUPPORTED("8pvfophsjdyrye9m6oieixnvf"); // numc2 = (2 + numc) / 2.0; UNSUPPORTED("7wvoxnl3dqatxwcvgzbrvp8lz"); // for (i = 0; i < offspl.size; i++) { UNSUPPORTED("6uzqmcfjwogzxlwn3gsd5jdj"); // bz = ED_spl(e)->list[i]; UNSUPPORTED("4lo2g191z1b9knaq7l6mnn6bh"); // tmpspl.list[i].size = offspl.list[i].size = bz.size; UNSUPPORTED("cc4js3gwy5jel80gaqbo8y129"); // offlist = offspl.list[i].list = malloc(sizeof(pointf) * bz.size); UNSUPPORTED("vf689dmffmji3k8sgjrc525g"); // tmplist = tmpspl.list[i].list = malloc(sizeof(pointf) * bz.size); UNSUPPORTED("6g7ruy3ae9horpmcz5nfjwyvm"); // pf3 = bz.list[0]; UNSUPPORTED("7foyxeolsc28jypsxdwryyo6j"); // for (j = 0; j < bz.size - 1; j += 3) { UNSUPPORTED("du9m49x179tlyjv3kpi4ajyxu"); // pf0 = pf3; UNSUPPORTED("4kiwxmoozlkcz1l62hop75o9g"); // pf1 = bz.list[j + 1]; UNSUPPORTED("euzly3uj0433xtqrcskytd7pi"); // /* calculate perpendicular vectors for each bezier point */ UNSUPPORTED("8dvury325tlnhct9axnqkloml"); // if (j == 0) /* first segment, no previous pf2 */ UNSUPPORTED("eqrlk7aad4crtsnmovu8rx5e6"); // offlist[j] = computeoffset_p(pf0, pf1, 2.0); UNSUPPORTED("ybsy5tjwpggeq6c9pm1r0mvg"); // else /* i.e. pf2 is available from previous segment */ UNSUPPORTED("1x7zjqoo6zzgcjg1fmrin53gg"); // offlist[j] = computeoffset_p(pf2, pf1, 2.0); UNSUPPORTED("31nofnynnq04ixi0v38p12n9p"); // pf2 = bz.list[j + 2]; UNSUPPORTED("w4fsbg1khv9rq1z4zqjr6buj"); // pf3 = bz.list[j + 3]; UNSUPPORTED("5pp5m5z0j3ifb4261labxynia"); // offlist[j + 1] = offlist[j + 2] = UNSUPPORTED("az662ecxsluy2yowrt3q6ek2p"); // computeoffset_qr(pf0, pf1, pf2, pf3, 2.0); UNSUPPORTED("cbwbz3whkfb01jvescyn9k0sv"); // /* initialize tmpspl to outermost position */ UNSUPPORTED("8wlvgs6gmjfrxnf217l61k9gs"); // tmplist[j].x = pf0.x - numc2 * offlist[j].x; UNSUPPORTED("88jzucdv8idpx03j2fewuvg1x"); // tmplist[j].y = pf0.y - numc2 * offlist[j].y; UNSUPPORTED("9xhxpretw3vq1bse37lv4cu0y"); // tmplist[j + 1].x = pf1.x - numc2 * offlist[j + 1].x; UNSUPPORTED("e3usjnf19ii4a29t9rtdtmfqy"); // tmplist[j + 1].y = pf1.y - numc2 * offlist[j + 1].y; UNSUPPORTED("a68d7jpzubul7pz15p6d036t0"); // tmplist[j + 2].x = pf2.x - numc2 * offlist[j + 2].x; UNSUPPORTED("9arrexwrbyqpj4ypwfyhjrtzg"); // tmplist[j + 2].y = pf2.y - numc2 * offlist[j + 2].y; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("ed04mnw0pqbnqfyg4xzrkfzkt"); // /* last segment, no next pf1 */ UNSUPPORTED("gwh8gl1f8r7993j5qtnjb5du"); // offlist[j] = computeoffset_p(pf2, pf3, 2.0); UNSUPPORTED("80gkd0c5b7k80ahlygpim1gmb"); // tmplist[j].x = pf3.x - numc2 * offlist[j].x; UNSUPPORTED("3z599nt08uc3h1yma07b04aj3"); // tmplist[j].y = pf3.y - numc2 * offlist[j].y; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("4tu18v3pp0xuim6h8mg6d5acj"); // lastcolor = headcolor = tailcolor = color; UNSUPPORTED("e898dxfr4zmw4omwcbes9a6bp"); // colors = strdup(color); UNSUPPORTED("9c7ud1ls5bwt4gauc6v44g982"); // for (cnum = 0, color = strtok(colors, ":"); color; UNSUPPORTED("9ekqe3cr3rsir3piy9j737nk2"); // cnum++, color = strtok(0, ":")) { UNSUPPORTED("anr2fzsu68eq5ho25s3n57ucq"); // if (!color[0]) UNSUPPORTED("axx7q4yy90hd2qya7l3hppd5c"); // color = "black"; UNSUPPORTED("a2ducrn6b7qjjhh7f81totdqw"); // if (color != lastcolor) { UNSUPPORTED("aabfth40rjblehad0r9zya7ci"); // if (! (ED_gui_state(e) & ((1<<0) | (1<<1)))) { UNSUPPORTED("aa6xnio2sxgn1omogw6y8xyri"); // gvrender_set_pencolor(job, color); UNSUPPORTED("cjpgya31i8in4mlytxcux25xk"); // gvrender_set_fillcolor(job, color); UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("e9aurhv58krtw8fa2qx3bd70y"); // lastcolor = color; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("1ngzlxjzccbsg6ucsln5rvfy0"); // if (cnum == 0) UNSUPPORTED("7hmj22ga66vzbca8w3syrk9f7"); // headcolor = tailcolor = color; UNSUPPORTED("4wn5san08kv94kkd7i7afxjhl"); // if (cnum == 1) UNSUPPORTED("7oxd4vlfp5a45womyvouxm6d6"); // tailcolor = color; UNSUPPORTED("d7gdoq0jhg8b4ac0gf5kv9ivo"); // for (i = 0; i < tmpspl.size; i++) { UNSUPPORTED("46p8d4gs7irf8q8np6w0dmvi2"); // tmplist = tmpspl.list[i].list; UNSUPPORTED("ew31zut96cgfu6j038wbwoeuh"); // offlist = offspl.list[i].list; UNSUPPORTED("5aahyg8gv7pvkfk4zigpruzu6"); // for (j = 0; j < tmpspl.list[i].size; j++) { UNSUPPORTED("428mqlpmorpkmzs7314jtfgo1"); // tmplist[j].x += offlist[j].x; UNSUPPORTED("870cggpxew62biyq2myzh1be"); // tmplist[j].y += offlist[j].y; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("1n3ez6dffthnb7zqgi0dc571b"); // gvrender_beziercurve(job, tmplist, tmpspl.list[i].size, UNSUPPORTED("3tvyao2azw8uqezjar4gg12rj"); // 0, 0, 0); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("4ulz6ze3ok8dfrvqvzfe163do"); // if (bz.sflag) { UNSUPPORTED("cnl2vgj89lj652fz58jzw5fgr"); // if (color != tailcolor) { UNSUPPORTED("61755uq447ue5aaxqvfbryhfo"); // color = tailcolor; UNSUPPORTED("aabfth40rjblehad0r9zya7ci"); // if (! (ED_gui_state(e) & ((1<<0) | (1<<1)))) { UNSUPPORTED("aa6xnio2sxgn1omogw6y8xyri"); // gvrender_set_pencolor(job, color); UNSUPPORTED("cjpgya31i8in4mlytxcux25xk"); // gvrender_set_fillcolor(job, color); UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("ankm9epmn1d51qf5040r6fpo3"); // arrow_gen(job, EMIT_TDRAW, bz.sp, bz.list[0], UNSUPPORTED("4o0fkltlgsxx45rvoau5pvp16"); // arrowsize, penwidth, bz.sflag); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("5t5bh9txkzxp6h1lozsf250ww"); // if (bz.eflag) { UNSUPPORTED("1bf269kx0rl5v6qpt9cbabezx"); // if (color != headcolor) { UNSUPPORTED("91s08h9fw7wrj8oyt31cgu4or"); // color = headcolor; UNSUPPORTED("aabfth40rjblehad0r9zya7ci"); // if (! (ED_gui_state(e) & ((1<<0) | (1<<1)))) { UNSUPPORTED("aa6xnio2sxgn1omogw6y8xyri"); // gvrender_set_pencolor(job, color); UNSUPPORTED("cjpgya31i8in4mlytxcux25xk"); // gvrender_set_fillcolor(job, color); UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("77fdpd135fqcv7jprr2ac2k7b"); // arrow_gen(job, EMIT_HDRAW, bz.ep, bz.list[bz.size - 1], UNSUPPORTED("3umh63h5q3be2s7ix5nvchvxa"); // arrowsize, penwidth, bz.eflag); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ein30zj4hern2nnkuo8pqpwqy"); // free(colors); UNSUPPORTED("7wvoxnl3dqatxwcvgzbrvp8lz"); // for (i = 0; i < offspl.size; i++) { UNSUPPORTED("1wjuw35ysxsboo3rdxm79nmfy"); // free(offspl.list[i].list); UNSUPPORTED("60zkuby9v464su4bc563u74ts"); // free(tmpspl.list[i].list); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ewlz06ozbl7bfb9epkz1ox6mt"); // free(offspl.list); UNSUPPORTED("14byj4mkdb5aaeyd48wnrxku6"); // free(tmpspl.list); UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("8gqszi1k0mq14icjh1ot8vg53"); // if (! (ED_gui_state(e) & ((1<<0) | (1<<1)))) { UNSUPPORTED("5czy66vom4jkjwpkobz0tn2kv"); // if (color[0]) { UNSUPPORTED("bd0syu44e3lbokb2mhifc6xzx"); // gvrender_set_pencolor(job, color); UNSUPPORTED("sj6fn2hkr0i5p6gyntb8nbz7"); // gvrender_set_fillcolor(job, fillcolor); UNSUPPORTED("3pv9j4qzifaa1yqzdsrv6crqk"); // } else { UNSUPPORTED("38cb36y8b8k7nyp8ou2ci224"); // gvrender_set_pencolor(job, "black"); UNSUPPORTED("53s7vea1n8kkq2j04kqwf7f57"); // if (fillcolor[0]) UNSUPPORTED("b3wipvue5h9yn4mwq4jdrvbqj"); // gvrender_set_fillcolor(job, fillcolor); UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else UNSUPPORTED("3gfs0bkmty8cyqpr1hvhleit"); // gvrender_set_fillcolor(job, "black"); UNSUPPORTED("6o67xwzi6pf81mieipn703sxl"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ah9ldbdg46psh3ic9qv1v1w1h"); // for (i = 0; i < ED_spl(e)->size; i++) { UNSUPPORTED("6uzqmcfjwogzxlwn3gsd5jdj"); // bz = ED_spl(e)->list[i]; UNSUPPORTED("4vmmlrhormhci854vjzy3xfp5"); // if (job->flags & (1<<14)) { UNSUPPORTED("3fq5qfvm5itvhminu91gbm0xl"); // gvrender_beziercurve(job, bz.list, bz.size, bz.sflag, bz.eflag, 0); UNSUPPORTED("a47jqpic91ky93e1ohxv590l5"); // } else { UNSUPPORTED("dpf7yejadgyhte1g6i690hdvh"); // gvrender_beziercurve(job, bz.list, bz.size, 0, 0, 0); UNSUPPORTED("1varqft14sst3gy9wlbwfxs2h"); // if (bz.sflag) { UNSUPPORTED("4kjbcxhhyztcuvz6tljmieqnn"); // arrow_gen(job, EMIT_TDRAW, bz.sp, bz.list[0], UNSUPPORTED("4on3hu0dhyuvi03lazibxt3cb"); // arrowsize, penwidth, bz.sflag); UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("1rw0tdjfpvfjrqqs2goiovglj"); // if (bz.eflag) { UNSUPPORTED("308rgxf2j9o0sn6ergiflga31"); // arrow_gen(job, EMIT_HDRAW, bz.ep, bz.list[bz.size - 1], UNSUPPORTED("dbyip7sr13mvy3tsoe4o9i19t"); // arrowsize, penwidth, bz.eflag); UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6k0z6eroe598hkmkh1ynpnanu"); // if ((ED_spl(e)->size>1) && (bz.sflag||bz.eflag) && styles) UNSUPPORTED("44yezt0mg1ptjxgfbrz8rnq3d"); // gvrender_set_style(job, styles); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8clgbd8hcgw564ispajc9fzmg // static boolean edge_in_box(edge_t *e, boxf b) public static Object edge_in_box(Object... arg) { UNSUPPORTED("4ocf4su3fqdqvh06u5f0hltsn"); // static boolean edge_in_box(edge_t *e, boxf b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6tl9mepc2bett364jduh2q4mf"); // splines *spl; UNSUPPORTED("cqwl7s9yvzr8n5v8svuuv1a1q"); // textlabel_t *lp; UNSUPPORTED("2c3cg84bl0xam4mk6g5f31jj0"); // spl = ED_spl(e); UNSUPPORTED("7hvxias4hzevaqzopdofxqtf7"); // if (spl && boxf_overlap(spl->bb, b)) UNSUPPORTED("anqbm3khxs8r22akkx8kcgbbx"); // return NOT(0); UNSUPPORTED("n9pj1f2ecz41q7q378oisbjt"); // lp = ED_label(e); UNSUPPORTED("26tbjilm0lmi9lsxtc9qh7qr"); // if (lp && overlap_label(lp, b)) UNSUPPORTED("anqbm3khxs8r22akkx8kcgbbx"); // return NOT(0); UNSUPPORTED("16wq7hm2hmp8t60ogm2usvvsu"); // lp = ED_xlabel(e); UNSUPPORTED("erykqbn6tqjiaxzh5ob60z1f1"); // if (lp && lp->set && overlap_label(lp, b)) UNSUPPORTED("anqbm3khxs8r22akkx8kcgbbx"); // return NOT(0); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cbl8pryorx02zjsmvgy70ve3p // static void emit_begin_edge(GVJ_t * job, edge_t * e, char** styles) public static Object emit_begin_edge(Object... arg) { UNSUPPORTED("2ig8s73qzrztk38xr6ky7zb11"); // static void emit_begin_edge(GVJ_t * job, edge_t * e, char** styles) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8lamppsqs7nhiu5v8k1f5jfh2"); // obj_state_t *obj; UNSUPPORTED("12bpksga44s9sfl7x8xn2rt2k"); // int flags = job->flags; UNSUPPORTED("8yytudftst76763qgnjebkzhm"); // char *s; UNSUPPORTED("161c0dnzyd7i9yp8msmk5m4uk"); // textlabel_t *lab = NULL, *tlab = NULL, *hlab = NULL; UNSUPPORTED("5nywj0gapcfc2dmrad685bp6p"); // pointf *pbs = NULL; UNSUPPORTED("cl4bevd50vcwmjkrgq0elpafi"); // int i, nump, *pbs_n = NULL, pbs_poly_n = 0; UNSUPPORTED("3jo16cd9vt1kjc2upgxm9v4ro"); // char* dflt_url = NULL; UNSUPPORTED("c1xlgxbqyzghwddjio1795bot"); // char* dflt_target = NULL; UNSUPPORTED("75w3zx2oz7s1yf7arcxf48heo"); // double penwidth; UNSUPPORTED("1iexddadjo0w6fdgddatfx40s"); // obj = push_obj_state(job); UNSUPPORTED("b89ouigo5gftk9ug9cj99l2ev"); // obj->type = EDGE_OBJTYPE; UNSUPPORTED("8uahr3ivszgqh5671v8617mjq"); // obj->u.e = e; UNSUPPORTED("atedmjmxm7qoeolyi1wi7k1j4"); // obj->emit_state = EMIT_EDRAW; UNSUPPORTED("1db1hibhp0ubguecujfaj8wix"); // /* We handle the edge style and penwidth here because the width UNSUPPORTED("69ewknm6ydrnvfky1fo5ty9my"); // * is needed below for calculating polygonal image maps UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("rrp11kv0zwuznrwfe4ka8ko0"); // if (styles && ED_spl(e)) gvrender_set_style(job, styles); UNSUPPORTED("6vy4pkkhruh7w9iykz7tfgi9g"); // if (E_penwidth && ((s=agxget(e,E_penwidth)) && s[0])) { UNSUPPORTED("bei9v8b4qq66l2v8kmz3bnuwb"); // penwidth = late_double(e, E_penwidth, 1.0, 0.0); UNSUPPORTED("a85jezrt5nu63vkla8bslhzcx"); // gvrender_set_penwidth(job, penwidth); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("984vi925q5gu9ti0dn4c6h1pu"); // if (flags & (1<<24)) { UNSUPPORTED("aaozphuch8tw889utqbq1vdsl"); // /* obj->tail_z = late_double(agtail(e), N_z, 0.0, -1000.0); */ UNSUPPORTED("1qb7gbxecops5b2y4ze6kkb3m"); // /* obj->head_z = late_double(aghead(e), N_z, 0.0, -MAXFLOAT); */ UNSUPPORTED("d9qmjxnu6if6ms7ptj8jv1sou"); // if (GD_odim(agraphof(agtail(e))) >=3) { UNSUPPORTED("apupbk890ov955gpnt1ywdg8x"); // obj->tail_z = (ROUND((ND_pos(agtail(e))[2])*72)); UNSUPPORTED("7l2k0b1xoqey4kaneraonwuox"); // obj->head_z = (ROUND((ND_pos(aghead(e))[2])*72)); UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("e5r0sn9g2mp9ns4hrphra5h51"); // obj->tail_z = obj->head_z = 0.0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("23wil4rzu7y2cg0oxiahdthfo"); // if (flags & (1<<15)) { UNSUPPORTED("1vaujzmkgkvzg9r3ws72hd0sn"); // if ((lab = ED_label(e))) UNSUPPORTED("10gcpuuqg5ziec0pp9kyhlbqb"); // obj->label = lab->text; UNSUPPORTED("18olw94kq4sb382d1xowaqmex"); // obj->taillabel = obj->headlabel = obj->xlabel = obj->label; UNSUPPORTED("2hqbgo1ml83utbsvik1j8i2us"); // if ((tlab = ED_xlabel(e))) UNSUPPORTED("4lnx8sli5qlwwkc6jf7fct4rl"); // obj->xlabel = tlab->text; UNSUPPORTED("ach6hnpzids5tf6isfd5kmv6k"); // if ((tlab = ED_tail_label(e))) UNSUPPORTED("e7gzimwa7y8dtdogbme4beiz1"); // obj->taillabel = tlab->text; UNSUPPORTED("9i7k1tgfaw9tmwoxsq3mqygz7"); // if ((hlab = ED_head_label(e))) UNSUPPORTED("dp7pv3xtw76x8tv19cch23xnp"); // obj->headlabel = hlab->text; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ekhzvq8l2u2frs2tl01cuf71s"); // if (flags & (1<<16)) { UNSUPPORTED("8moktqylyfg7421xon31c77cc"); // agxbuf xb; UNSUPPORTED("2m3h7h7zkzx4aix1gvfd54itd"); // unsigned char xbuf[128]; UNSUPPORTED("6dfmabcsvvsbizc4h30vlmcv0"); // agxbinit(&xb, 128, xbuf); UNSUPPORTED("cxt18v48tfjjupb58w42yijkl"); // s = getObjId (job, e, &xb); UNSUPPORTED("20n0stvu1ku0ueoyhntfblzwk"); // obj->id = strdup_and_subst_obj(s, (void*)e); UNSUPPORTED("52frst03mcbsuu6bmnqs962qm"); // agxbfree(&xb); UNSUPPORTED("1671vg2ii28nl1884z9by98oj"); // if (((s = agget(e, "href")) && s[0]) || ((s = agget(e, "URL")) && s[0])) UNSUPPORTED("d91p689ronm5sfp1t1zp8a9lg"); // dflt_url = strdup_and_subst_obj(s, (void*)e); UNSUPPORTED("14h7yzdms65e8u39cm8u9j09d"); // if (((s = agget(e, "edgehref")) && s[0]) || ((s = agget(e, "edgeURL")) && s[0])) UNSUPPORTED("7tbdqrc1yfgnnqv43758e83ox"); // obj->url = strdup_and_subst_obj(s, (void*)e); UNSUPPORTED("95kpmzfgantzkuuqda3257e1w"); // else if (dflt_url) UNSUPPORTED("bpb2jomy0ylc3sny2qpqs5ow0"); // obj->url = strdup(dflt_url); UNSUPPORTED("4px9z3013lzzxp1y25an6kq60"); // if (((s = agget(e, "labelhref")) && s[0]) || ((s = agget(e, "labelURL")) && s[0])) UNSUPPORTED("at75pf09xegtmpfpxuho1ez3a"); // obj->labelurl = strdup_and_subst_obj(s, (void*)e); UNSUPPORTED("95kpmzfgantzkuuqda3257e1w"); // else if (dflt_url) UNSUPPORTED("97vequ01i369l44p14efuqvhm"); // obj->labelurl = strdup(dflt_url); UNSUPPORTED("9iu3uo079ib1p40uh1yasbvqm"); // if (((s = agget(e, "tailhref")) && s[0]) || ((s = agget(e, "tailURL")) && s[0])) { UNSUPPORTED("ytymloen95ie2kurds6mbjqg"); // obj->tailurl = strdup_and_subst_obj(s, (void*)e); UNSUPPORTED("7hm7tuu8dsjj1pui6g0tc1k6f"); // obj->explicit_tailurl = NOT(0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("95kpmzfgantzkuuqda3257e1w"); // else if (dflt_url) UNSUPPORTED("47aatd2rv5gwkpo89wjbtk0h1"); // obj->tailurl = strdup(dflt_url); UNSUPPORTED("7nxel42t6oq08r8gct4rsxf7v"); // if (((s = agget(e, "headhref")) && s[0]) || ((s = agget(e, "headURL")) && s[0])) { UNSUPPORTED("7gtgsooxqvcu6l1puh1h4eo7b"); // obj->headurl = strdup_and_subst_obj(s, (void*)e); UNSUPPORTED("asli1axdl9etovuah6pxmmee5"); // obj->explicit_headurl = NOT(0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("95kpmzfgantzkuuqda3257e1w"); // else if (dflt_url) UNSUPPORTED("4pmt43kqcvoumkzh5z4w2t1vf"); // obj->headurl = strdup(dflt_url); UNSUPPORTED("3xbu5lb3fe5zgccq9vbjk3kln"); // } UNSUPPORTED("akp8i12zqhzyti5072dctwx4z"); // if (flags & (1<<23)) { UNSUPPORTED("6863y1q9ojbbbx8f4e3vwlen2"); // if ((s = agget(e, "target")) && s[0]) UNSUPPORTED("6e7ucuyioknvvz9i86kctjo8f"); // dflt_target = strdup_and_subst_obj(s, (void*)e); UNSUPPORTED("9ybfu42vnta17eg18hledoxk7"); // if ((s = agget(e, "edgetarget")) && s[0]) { UNSUPPORTED("doh5a8birowwtmsp8f8982lle"); // obj->explicit_edgetarget = NOT(0); UNSUPPORTED("4z44bpd7qea5mlut410evqsif"); // obj->target = strdup_and_subst_obj(s, (void*)e); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("ausveuroy93s2sdgviv4p0lcv"); // else if (dflt_target) UNSUPPORTED("a1ke8xqvu9o082268ksexzgny"); // obj->target = strdup(dflt_target); UNSUPPORTED("bpe0irgpt9end7gtltjdokxpy"); // if ((s = agget(e, "labeltarget")) && s[0]) UNSUPPORTED("bzn9htm8cci6c7dde9k91l83s"); // obj->labeltarget = strdup_and_subst_obj(s, (void*)e); UNSUPPORTED("ausveuroy93s2sdgviv4p0lcv"); // else if (dflt_target) UNSUPPORTED("ar607cwjyspcv574196uxzkjc"); // obj->labeltarget = strdup(dflt_target); UNSUPPORTED("5rdzxxesadfpf6txv5t01ozuj"); // if ((s = agget(e, "tailtarget")) && s[0]) { UNSUPPORTED("4w54a911j5thxlajsmya0lxqq"); // obj->tailtarget = strdup_and_subst_obj(s, (void*)e); UNSUPPORTED("85s8gvyt4vepi64xcje31iek8"); // obj->explicit_tailtarget = NOT(0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("ausveuroy93s2sdgviv4p0lcv"); // else if (dflt_target) UNSUPPORTED("37o9c6wmbsdgi78jeu7kisvbu"); // obj->tailtarget = strdup(dflt_target); UNSUPPORTED("9h2r9gbx0nfsnhwvo6rkbrx9i"); // if ((s = agget(e, "headtarget")) && s[0]) { UNSUPPORTED("4zxyzeqp8h430tyb6zjdn4sd6"); // obj->explicit_headtarget = NOT(0); UNSUPPORTED("7r8xkvzh66pda9mg5skownrld"); // obj->headtarget = strdup_and_subst_obj(s, (void*)e); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("ausveuroy93s2sdgviv4p0lcv"); // else if (dflt_target) UNSUPPORTED("dr88cbxj5srk1ojowv9swn9pr"); // obj->headtarget = strdup(dflt_target); UNSUPPORTED("3xbu5lb3fe5zgccq9vbjk3kln"); // } UNSUPPORTED("ep9t9tvrtouwjd7pulp378fzi"); // if (flags & (1<<22)) { UNSUPPORTED("8b522c1xkaxbe7orhmgdpw7wo"); // if (((s = agget(e, "tooltip")) && s[0]) || UNSUPPORTED("epyuvpbf4py1ueht2htfx9wrg"); // ((s = agget(e, "edgetooltip")) && s[0])) { UNSUPPORTED("8mqt0zsk0c9lp05pgm5t2c6z7"); // obj->tooltip = strdup_and_subst_obj(s, (void*)e); UNSUPPORTED("diwiuhgudo706youzbhxsmajm"); // obj->explicit_tooltip = NOT(0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("aqmnkkhtx4an4uhckaewhcgmp"); // else if (obj->label) UNSUPPORTED("4s32lfe96j6y84uateu8as1g0"); // obj->tooltip = strdup(obj->label); UNSUPPORTED("c5kcbti582hfnwvehr32n2va7"); // if ((s = agget(e, "labeltooltip")) && s[0]) { UNSUPPORTED("bhdlgf7cc5ykmujysafzspf2m"); // obj->labeltooltip = strdup_and_subst_obj(s, (void*)e); UNSUPPORTED("npeafaiazv07hkrit692subv"); // obj->explicit_labeltooltip = NOT(0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("aqmnkkhtx4an4uhckaewhcgmp"); // else if (obj->label) UNSUPPORTED("2hl1g7eri9qv82oy9sfyzt81j"); // obj->labeltooltip = strdup(obj->label); UNSUPPORTED("6voynh2r7ssu3ixda4lxxkair"); // if ((s = agget(e, "tailtooltip")) && s[0]) { UNSUPPORTED("du6ndrua8ofzqrdrl93za73fy"); // obj->tailtooltip = strdup_and_subst_obj(s, (void*)e); UNSUPPORTED("c8tog5rk6xyjayycyb3lrvv1z"); // obj->explicit_tailtooltip = NOT(0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2ztxqs1s2cxhj4vgiol21jz63"); // else if (obj->taillabel) UNSUPPORTED("8oa1ltfyq9fydfsizol8ewimo"); // obj->tailtooltip = strdup(obj->taillabel); UNSUPPORTED("cl0wrp7bp2cgxks07e64qiuqf"); // if ((s = agget(e, "headtooltip")) && s[0]) { UNSUPPORTED("5phljruko4leqqbs5bppxgsj"); // obj->headtooltip = strdup_and_subst_obj(s, (void*)e); UNSUPPORTED("eq1aukj58yixydy8kpfo7z1yi"); // obj->explicit_headtooltip = NOT(0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9roz9l9toa612u73rurlji9l4"); // else if (obj->headlabel) UNSUPPORTED("24l5dbncepggtecq9rngaod0d"); // obj->headtooltip = strdup(obj->headlabel); UNSUPPORTED("3xbu5lb3fe5zgccq9vbjk3kln"); // } UNSUPPORTED("2mg64zxg17fewxae9xmwwaa0m"); // free (dflt_url); UNSUPPORTED("6w5fxao8mlryxwk1mz7ksvbce"); // free (dflt_target); UNSUPPORTED("6ic0ku7wr32jsf5j0pwkrzq8j"); // if (flags & ((1<<16) | (1<<22))) { UNSUPPORTED("5ndyf9os0xxk8bsbjd2c2scjp"); // if (ED_spl(e) && (obj->url || obj->tooltip) && (flags & (1<<19))) { UNSUPPORTED("gq85b3oml4t5u52mslbiohm4"); // int ns; UNSUPPORTED("bapn9032dhdk62b51i2ut3i7t"); // splines *spl; UNSUPPORTED("3wvt6ajtp2z5ux7yhf3i1uu51"); // double w2 = MAX(job->obj->penwidth/2.0,2.0); UNSUPPORTED("74rl229xn6mlrx2uv5gby9xoi"); // spl = ED_spl(e); UNSUPPORTED("borrlfudm59nvnwsmvvccimug"); // ns = spl->size; /* number of splines */ UNSUPPORTED("bwf639msooalzn11a63mrvdh0"); // for (i = 0; i < ns; i++) UNSUPPORTED("9ta5hkbutugjx9htzj3lq1pav"); // map_output_bspline (&pbs, &pbs_n, &pbs_poly_n, spl->list+i, w2); UNSUPPORTED("3l39oh2gmkeoyrfm0yzl8m4d4"); // obj->url_bsplinemap_poly_n = pbs_poly_n; UNSUPPORTED("co64ewdmi3b7x6t2h8cp9hkvg"); // obj->url_bsplinemap_n = pbs_n; UNSUPPORTED("6pz9l8cp367kjl3asc6hiwnpz"); // if (! (flags & (1<<13))) { UNSUPPORTED("9zfwixrcbys3l8gx4ol8980op"); // for ( nump = 0, i = 0; i < pbs_poly_n; i++) UNSUPPORTED("a4l7ie3p7q35rrj0oglmisn5t"); // nump += pbs_n[i]; UNSUPPORTED("7v0e42759wdkgsyz70af06mms"); // gvrender_ptf_A(job, pbs, pbs, nump); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("4o2ao6pcwmplab6n21deqwps9"); // obj->url_bsplinemap_p = pbs; UNSUPPORTED("5k8t4lz63jq26u2xqeoskhen7"); // obj->url_map_shape = MAP_POLYGON; UNSUPPORTED("1mpert8m5p683pcg0qyjgzj1"); // obj->url_map_p = pbs; UNSUPPORTED("84gohar4j2iw17h4sy0oehdhy"); // obj->url_map_n = pbs_n[0]; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("22f78nyasgzgcunmxhflea4ug"); // gvrender_begin_edge(job, e); UNSUPPORTED("spdml5d3q3jza61kjh4zxw31"); // if (obj->url || obj->explicit_tooltip) UNSUPPORTED("6e7g66eeo7n8h8mq556pt3xxy"); // gvrender_begin_anchor(job, UNSUPPORTED("av1tl9edbbm94up94c6rfx2tc"); // obj->url, obj->tooltip, obj->target, obj->id); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 29djyajtv7sgp9x7yjc7qzabo // static void emit_edge_label(GVJ_t* job, textlabel_t* lbl, emit_state_t lkind, int explicit, char* url, char* tooltip, char* target, char *id, splines* spl) public static Object emit_edge_label(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("35xyp233i430kqmc9ujvqett4"); // emit_edge_label(GVJ_t* job, textlabel_t* lbl, emit_state_t lkind, int explicit, UNSUPPORTED("en7wsvah9njefedha3fj9icwa"); // char* url, char* tooltip, char* target, char *id, splines* spl) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("12bpksga44s9sfl7x8xn2rt2k"); // int flags = job->flags; UNSUPPORTED("ecr1y7qy0ikxkidkdfvwv88ir"); // emit_state_t old_emit_state; UNSUPPORTED("6w3ygcd4u5ovgqghawjtzd4l8"); // char* newid; UNSUPPORTED("98v0vg88ycqpkpyg1kritbah0"); // char* type; UNSUPPORTED("3sg0pzcyo2xi4xr9utypik0di"); // if ((lbl == NULL) || !(lbl->set)) return; UNSUPPORTED("bt2nnyzwpzxnzhhrsjv03du9j"); // if (id) { /* non-NULL if needed */ UNSUPPORTED("6o6r1v1dpl86m94m7l5omr00u"); // newid = (char*)zmalloc((strlen(id) + sizeof("-headlabel"))*sizeof(char)); UNSUPPORTED("9queigxdufzgkqvtlnulkij8z"); // switch (lkind) { UNSUPPORTED("4dur34ux7rmaxikyxa4xy6mt3"); // case EMIT_ELABEL : UNSUPPORTED("5yejllfmasus697zyh9icg23m"); // type = "label"; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("ckacb8gd8ihcl655tak5p48xx"); // case EMIT_HLABEL : UNSUPPORTED("60jcdu5mykv7nj9c62dt74vbg"); // type = "headlabel"; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("8j00sch2b081jzzzib4soebcu"); // case EMIT_TLABEL : UNSUPPORTED("erdib8kle1lcl2if7uf5rx8xs"); // type = "taillabel"; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("5ujjs4gho9mjjupbibyqyplxp"); // default : UNSUPPORTED("9rml26jwxfvc1i0eeqsucqrl7"); // assert (0); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("etlt5rbiatgk1pin7kk30ll2x"); // sprintf (newid, "%s-%s", id, type); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("5qoplxw5vuo9t9b18i6ee7ime"); // newid = NULL; UNSUPPORTED("ekjwoxwz3y39zx2i2q6310l1u"); // old_emit_state = job->obj->emit_state; UNSUPPORTED("d5oaybfzozrw1bnvrdisv5yxc"); // job->obj->emit_state = lkind; UNSUPPORTED("c2j2m5w18gb9vht8elcpe4ce1"); // if ((url || explicit) && !(flags & (1<<2))) { UNSUPPORTED("8as81xybsx2lbhatoq5dfka46"); // map_label(job, lbl); UNSUPPORTED("b1r5s44l517bwmgj4kvnf5pth"); // gvrender_begin_anchor(job, url, tooltip, target, newid); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6n40fbgjky821o8xqbk4ke6js"); // emit_label(job, lkind, lbl); UNSUPPORTED("as20j8imvr5tdwziovn1yy9w9"); // if (spl) emit_attachment(job, lbl, spl); UNSUPPORTED("buoc16exkpqacfj0vige0c8cs"); // if (url || explicit) { UNSUPPORTED("8z7a7lmqaytt0za0fb8kavivm"); // if (flags & (1<<2)) { UNSUPPORTED("7jrzhi6w0txc5ge27adx7n1fg"); // map_label(job, lbl); UNSUPPORTED("5ygb95yq4xmsdotqmdr3vj3v5"); // gvrender_begin_anchor(job, url, tooltip, target, newid); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("e3o6yrnsv8lko5fql4f8a9gly"); // gvrender_end_anchor(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4ml3jp9auhgd67u12ys1dysmz"); // if (newid) free (newid); UNSUPPORTED("e0dze8hjyg2dby274irdlx48q"); // job->obj->emit_state = old_emit_state; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 awxicbypnp5lexym1y3ymowey // static void nodeIntersect (GVJ_t * job, pointf p, boolean explicit_iurl, char* iurl, boolean explicit_itooltip, char* itooltip, boolean explicit_itarget, char* itarget) public static Object nodeIntersect(Object... arg) { UNSUPPORTED("cmhcypje3hntq13rzpbnk7ors"); // static void nodeIntersect (GVJ_t * job, pointf p, UNSUPPORTED("3oh5ubi4nhyilnxnj6o43m9jg"); // boolean explicit_iurl, char* iurl, UNSUPPORTED("1l6n135od7wjrab69cp2rq4as"); // boolean explicit_itooltip, char* itooltip, UNSUPPORTED("a9o31jy22twcezb78yp27lex3"); // boolean explicit_itarget, char* itarget) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("a5d87vmbdhktxeng57v2hzdid"); // char* url; UNSUPPORTED("836sn3dd0sjadnx46ehd0ojan"); // char* tooltip; UNSUPPORTED("9zm2viiigdykrikvq2wxotz4t"); // char* target; UNSUPPORTED("5mdh3lx400yozcu82r1yqq8fs"); // boolean explicit; UNSUPPORTED("70p390q4p8ly00fs0tu1ou5lc"); // if (explicit_iurl) url = iurl; UNSUPPORTED("2qo54smwvn3zpz62uwalydr4e"); // else url = obj->url; UNSUPPORTED("elyxsmzru5je5et9mzf7xln9e"); // if (explicit_itooltip) { UNSUPPORTED("bih7mdnro80d1ycl5mduylzjv"); // tooltip = itooltip; UNSUPPORTED("b8xy4j8mzbef8wy4u4f0e928z"); // explicit = NOT(0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3njq6nu65dp353iz31nlymjhr"); // else if (obj->explicit_tooltip) { UNSUPPORTED("bqwxu32cunjm0lxj3oi5zlr4s"); // tooltip = obj->tooltip; UNSUPPORTED("b8xy4j8mzbef8wy4u4f0e928z"); // explicit = NOT(0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("bj1n4exyidlxkszug92q5e8pm"); // explicit = 0; UNSUPPORTED("bih7mdnro80d1ycl5mduylzjv"); // tooltip = itooltip; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("68e6sqdkexks56m61b36z4jam"); // if (explicit_itarget) UNSUPPORTED("ezrw5qg1aplvs9qzwam68j5uq"); // target = itarget; UNSUPPORTED("16b0s2q3bcb5cqp3fd3ga7wor"); // else if (obj->explicit_edgetarget) UNSUPPORTED("e9a53dgfxmu20y35wg7ben6gm"); // target = obj->target; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("ezrw5qg1aplvs9qzwam68j5uq"); // target = itarget; UNSUPPORTED("buoc16exkpqacfj0vige0c8cs"); // if (url || explicit) { UNSUPPORTED("4hpmlshabmpme6e8axio0u6tm"); // map_point(job, p); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ywemz3ws8gm7t2jkezm9zl44 // static void emit_end_edge(GVJ_t * job) public static Object emit_end_edge(Object... arg) { UNSUPPORTED("1dduzu2v1v5eoimgn6wl3pq1s"); // static void emit_end_edge(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("4qb9sxge2bkx34r71ezj0knk2"); // edge_t *e = obj->u.e; UNSUPPORTED("avhbw4mqc8i7mhe1mi06nj1fv"); // int i, nump; UNSUPPORTED("ebrzd2bubs5trqandzsfjpugj"); // if (obj->url || obj->explicit_tooltip) { UNSUPPORTED("e3o6yrnsv8lko5fql4f8a9gly"); // gvrender_end_anchor(job); UNSUPPORTED("dmr093y6wa3ax73y54vvo29lj"); // if (obj->url_bsplinemap_poly_n) { UNSUPPORTED("8j5y8urq29one6yb4kfmzna3f"); // for ( nump = obj->url_bsplinemap_n[0], i = 1; i < obj->url_bsplinemap_poly_n; i++) { UNSUPPORTED("9xsziog2rrr4vw3x27e2ndqjp"); // /* additional polygon maps around remaining bezier pieces */ UNSUPPORTED("5w8ld66x8j20bfg4bhnrzgnno"); // obj->url_map_n = obj->url_bsplinemap_n[i]; UNSUPPORTED("9ka5hm7zu6chhinb1q0vf2z4v"); // obj->url_map_p = &(obj->url_bsplinemap_p[nump]); UNSUPPORTED("5xf0jq48hur62ull7qfz6hvx9"); // gvrender_begin_anchor(job, UNSUPPORTED("blnuziy4xllrn7u5trd1fnls8"); // obj->url, obj->tooltip, obj->target, obj->id); UNSUPPORTED("9komgvtfublw0fuwcn56n60nb"); // gvrender_end_anchor(job); UNSUPPORTED("c9dwtox5h6ixy1w83w397g2kj"); // nump += obj->url_bsplinemap_n[i]; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9pmuzaizzoydjgbkmuor040f6"); // obj->url_map_n = 0; /* null out copy so that it doesn't get freed twice */ UNSUPPORTED("8cqdsgr453qauw78nltd5c4tx"); // obj->url_map_p = NULL; UNSUPPORTED("4pdkymy0wuxj1yn9xqqzp2x4h"); // if (ED_spl(e)) { UNSUPPORTED("9wdrv4uc4c7ssn0qpmxgz5eu1"); // pointf p; UNSUPPORTED("7jumvon0fvx7rozmib9zg46pn"); // bezier bz; UNSUPPORTED("66ycb012574x3aksn28ibhxd5"); // /* process intersection with tail node */ UNSUPPORTED("7waxmjg8e70tet8to37przecd"); // bz = ED_spl(e)->list[0]; UNSUPPORTED("jksehajhc4wys677xg3wbbqp"); // if (bz.sflag) /* Arrow at start of splines */ UNSUPPORTED("kxn3waz2mvbtl0y7qgit84qy"); // p = bz.sp; UNSUPPORTED("7162vc0qtrox86ru0t0edndpq"); // else /* No arrow at start of splines */ UNSUPPORTED("6vhfnfcnxq7pk1ylvgqsbhisf"); // p = bz.list[0]; UNSUPPORTED("3he9xp2xirwwauclzoba24j8h"); // nodeIntersect (job, p, obj->explicit_tailurl, obj->tailurl, UNSUPPORTED("digi7elarmtdncyct8hntl9k6"); // obj->explicit_tailtooltip, obj->tailtooltip, UNSUPPORTED("bjqpxn7ux8x0z0psos6lg97at"); // obj->explicit_tailtarget, obj->tailtarget); UNSUPPORTED("1eo0iyrg7y6hw7gaa6t4rckhw"); // /* process intersection with head node */ UNSUPPORTED("1z1ljfme78h5hs2nhpnh0c1fi"); // bz = ED_spl(e)->list[ED_spl(e)->size - 1]; UNSUPPORTED("eg9okxorf20k4z98ukgoxo3n7"); // if (bz.eflag) /* Arrow at end of splines */ UNSUPPORTED("ehclpn3uuogubck9azlh1vpas"); // p = bz.ep; UNSUPPORTED("9vqsg7ptbtw9uq9csktycrpd1"); // else /* No arrow at end of splines */ UNSUPPORTED("a3eqfcdajd48yebxdzxtmmfoi"); // p = bz.list[bz.size - 1]; UNSUPPORTED("90oe5mif8a78ifcvx4ihiqnap"); // nodeIntersect (job, p, obj->explicit_headurl, obj->headurl, UNSUPPORTED("47gawnzk5qaei40hp6wyzmccl"); // obj->explicit_headtooltip, obj->headtooltip, UNSUPPORTED("eovhrgd0p19e5n9en1fyyikgc"); // obj->explicit_headtarget, obj->headtarget); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3myme3h0w55rj1gxrei3sza4u"); // emit_edge_label(job, ED_label(e), EMIT_ELABEL, UNSUPPORTED("3plv0n79k76me9i1hjgw53uf"); // obj->explicit_labeltooltip, UNSUPPORTED("aaks2xubvv971c3n3lkewm11l"); // obj->labelurl, obj->labeltooltip, obj->labeltarget, obj->id, UNSUPPORTED("agvl7gmqjq08dcsq6in3idrlh"); // ((mapbool(late_string(e, E_decorate, "false")) && ED_spl(e)) ? ED_spl(e) : 0)); UNSUPPORTED("5s1nsti98iov2qpm95devpckw"); // emit_edge_label(job, ED_xlabel(e), EMIT_ELABEL, UNSUPPORTED("3plv0n79k76me9i1hjgw53uf"); // obj->explicit_labeltooltip, UNSUPPORTED("aaks2xubvv971c3n3lkewm11l"); // obj->labelurl, obj->labeltooltip, obj->labeltarget, obj->id, UNSUPPORTED("agvl7gmqjq08dcsq6in3idrlh"); // ((mapbool(late_string(e, E_decorate, "false")) && ED_spl(e)) ? ED_spl(e) : 0)); UNSUPPORTED("du836h1rt0jh9ud6q2syf0ym8"); // emit_edge_label(job, ED_head_label(e), EMIT_HLABEL, UNSUPPORTED("1pdnwlknuz9w3gkir3l8o1yro"); // obj->explicit_headtooltip, UNSUPPORTED("8bd82h05ko2pwessxq68kaxai"); // obj->headurl, obj->headtooltip, obj->headtarget, obj->id, UNSUPPORTED("ai3ojmcrmb5sj7kn23byccggm"); // 0); UNSUPPORTED("bh63wcy1dti8ji145r5ghesje"); // emit_edge_label(job, ED_tail_label(e), EMIT_TLABEL, UNSUPPORTED("9y21fl5ek5f4g5ebjoixzr4gv"); // obj->explicit_tailtooltip, UNSUPPORTED("b1470sa0rpd26d4t30nidwv8"); // obj->tailurl, obj->tailtooltip, obj->tailtarget, obj->id, UNSUPPORTED("ai3ojmcrmb5sj7kn23byccggm"); // 0); UNSUPPORTED("9sm494bjst3m8frvi02esqjkm"); // gvrender_end_edge(job); UNSUPPORTED("39iamwq9cd9iv3d2iyiaq8gz9"); // pop_obj_state(job); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e552br6jk0jigqmq1c9d2x0fy // static void emit_edge(GVJ_t * job, edge_t * e) public static Object emit_edge(Object... arg) { UNSUPPORTED("701wlpnv3kz0k3hxn7zqrhbqx"); // static void emit_edge(GVJ_t * job, edge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8yytudftst76763qgnjebkzhm"); // char *s; UNSUPPORTED("byo308l1rmve5rmx8wt32juux"); // char *style; UNSUPPORTED("getfykrvugvlv3wxt5qm5ghl"); // char **styles = 0; UNSUPPORTED("9q7vvjxznd6x0u1t6fgd82byj"); // char **sp; UNSUPPORTED("aexhdud6z2wbwwi73yppp0ynl"); // char *p; UNSUPPORTED("6govt2ekuiy0vzlv3yv2uu723"); // if (edge_in_box(e, job->clip) && edge_in_layer(job, agraphof(aghead(e)), e) ) { UNSUPPORTED("40dvidospika9vlp9ti3h4kbk"); // s = malloc(strlen(agnameof(agtail(e))) + 2 + strlen(agnameof(aghead(e))) + 1); UNSUPPORTED("aanr456304klecsfh7bdhjuqs"); // strcpy(s,agnameof(agtail(e))); UNSUPPORTED("90k8dynebdy5ezb8ysfakj1bq"); // if (agisdirected(agraphof(aghead(e)))) UNSUPPORTED("6t25g7w3win3lim8fgtsen7d0"); // strcat(s,"->"); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("8kwffycoj7ji16shumcvo0z2w"); // strcat(s,"--"); UNSUPPORTED("9qi68sa2442hrlpp7zizf86w2"); // strcat(s,agnameof(aghead(e))); UNSUPPORTED("9tyf9lnhx38ny94z7gx5gkioi"); // gvrender_comment(job, s); UNSUPPORTED("d285xdylp7oj81aar06ulc7kh"); // free(s); UNSUPPORTED("dzzea54yfhrfp3ko6rqi4h8na"); // s = late_string(e, E_comment, ""); UNSUPPORTED("7oyyy6d3itm6qqhr3p5zu6ded"); // if (s[0]) UNSUPPORTED("8gbf99sx0atz9ku0tfjv4m4o3"); // gvrender_comment(job, s); UNSUPPORTED("9ue98xnv5lygucjpcp6ugmkjr"); // style = late_string(e, E_style, ""); UNSUPPORTED("c6nyyirbpagqf6tsr8p6b3xw9"); // /* We shortcircuit drawing an invisible edge because the arrowhead UNSUPPORTED("4oynhdibr581vvritt0c2m0zi"); // * code resets the style to solid, and most of the code generators UNSUPPORTED("b151tzgt2xkvtkf487juwpl32"); // * (except PostScript) won't honor a previous style of invis. UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("12ihr78gv09dxppuorymkgt75"); // if (style[0]) { UNSUPPORTED("32d3t9w0x6lbw2olmibm97mqd"); // styles = parse_style(style); UNSUPPORTED("ai2h90fa4b5ss40yyc0ehvrzd"); // sp = styles; UNSUPPORTED("9v2c8p99l7pj3zqwvtb298adq"); // while ((p = *sp++)) { UNSUPPORTED("xtuts27rjtqvzh4gjkw96ime"); // if ((*(p)==*("invis")&&!strcmp(p,"invis"))) return; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9hsqvthyp1sj37t7lu10n1luq"); // emit_begin_edge(job, e, styles); UNSUPPORTED("cchqw8nozlblfh2ekimz3q7ye"); // emit_edge_graphics (job, e, styles); UNSUPPORTED("6fu8546pxs99njakbk5cl5q31"); // emit_end_edge(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 dacilfxr6a3uba0ks0btnjoms // static char adjust[] = //3 crlphx0gbhlhrn2w2jq92mgxq // static void expandBB (boxf* bb, pointf p) public static Object expandBB(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("3lpbo3h0n97pkcx19mleg4zy3"); // expandBB (boxf* bb, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("82qwewr47nk4i4uoe835qwx7m"); // if (p.x > bb->UR.x) UNSUPPORTED("6g9fswlylro0l373mk5r6hrf2"); // bb->UR.x = p.x; UNSUPPORTED("42h6ln67gjb305nianf5cqtwb"); // if (p.x < bb->LL.x) UNSUPPORTED("aecuyren82eu4q6khc57o37fm"); // bb->LL.x = p.x; UNSUPPORTED("5sb5u1ns40tj304k0u2ab1at7"); // if (p.y > bb->UR.y) UNSUPPORTED("759apld02jf160x6shlbl6vh0"); // bb->UR.y = p.y; UNSUPPORTED("6kqd1pni8dvsj92cyx40pg7yq"); // if (p.y < bb->LL.y) UNSUPPORTED("196dcdn12h9rrk3ut2ar5byra"); // bb->LL.y = p.y; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9fdfpbfftpegojteq4f4zkh3t // static boxf ptsBB (xdot_point* inpts, int numpts, boxf* bb) public static Object ptsBB(Object... arg) { UNSUPPORTED("d5qt6s97burjfu5qe0oxyyrmr"); // static boxf UNSUPPORTED("6t79m8rz3g0dlgf125e80z567"); // ptsBB (xdot_point* inpts, int numpts, boxf* bb) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1sc1s00b2mxqj9p5pa0w4t375"); // boxf opbb; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("9io5mvwev5td74rtkwnm8o3s2"); // opbb.LL.x = opbb.UR.x = inpts->x; UNSUPPORTED("4cwi4xd54tfe64lw7iegazb8u"); // opbb.LL.y = opbb.UR.y = inpts->y; UNSUPPORTED("79on93mttov53oge4afx7vsuc"); // for (i = 1; i < numpts; i++) { UNSUPPORTED("3ft3l1b2jpm88evrrzvlmn8e1"); // inpts++; UNSUPPORTED("1jkw7uv3v8c3h4n5wz0vz7ug7"); // if (inpts->x < opbb.LL.x) UNSUPPORTED("8heqoomogx0vbm9c6b353nauh"); // opbb.LL.x = inpts->x; UNSUPPORTED("ctlx14otfvxc1g2po12swqr5"); // else if (inpts->x > opbb.UR.x) UNSUPPORTED("cm99tuzk0ha0i27620s0ug6qm"); // opbb.UR.x = inpts->x; UNSUPPORTED("cbdkr3fvabha45e8zix3wm0ra"); // if (inpts->y < opbb.LL.y) UNSUPPORTED("cfi2hy5ra04w2nvwbbeif8iwu"); // opbb.LL.y = inpts->y; UNSUPPORTED("7i89xmuxwx6aon3vbdt6v5whc"); // else if (inpts->y > opbb.UR.y) UNSUPPORTED("7ssr5coatcfnn57zucbgjlgfc"); // opbb.UR.y = inpts->y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("vnhtdhcqg8xtzofq2hgzmd74"); // expandBB (bb, opbb.LL); UNSUPPORTED("17t235kr79n3w5l1c3anpgwt5"); // expandBB (bb, opbb.UR); UNSUPPORTED("cbril871fhn70vo8av8mkgt6q"); // return opbb; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9pymyll8xo6gubyh1lffjkfam // static boxf textBB (double x, double y, textspan_t* span) public static Object textBB(Object... arg) { UNSUPPORTED("d5qt6s97burjfu5qe0oxyyrmr"); // static boxf UNSUPPORTED("ay5ce8utx9ld287zwnwbctqjj"); // textBB (double x, double y, textspan_t* span) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2lzsl1e035wt5epd1h8f4bn8m"); // boxf bb; UNSUPPORTED("9uvgf08lwlxzhybxua7r75tev"); // pointf sz = span->size; UNSUPPORTED("bpqxh9mig0sh1gasrlkg6hbph"); // switch (span->just) { UNSUPPORTED("15tf5rbprgr65ucp24e4bba9t"); // case 'l': UNSUPPORTED("3ehk6wetysrhmdleh0z9s6zjz"); // bb.LL.x = x; UNSUPPORTED("c1lsp9mt50b64uby7n2an805t"); // bb.UR.x = bb.LL.x + sz.x; UNSUPPORTED("6qvptoliwn65n1ln7eoo4j8wd"); // break; UNSUPPORTED("37fbny64zwo23oymypyreuldc"); // case 'n': UNSUPPORTED("690ouuxs02oivip5twcvs5b11"); // bb.LL.x = x - sz.x / 2.0; UNSUPPORTED("2btku6pj5fxafqdz3xa85sd93"); // bb.UR.x = x + sz.x / 2.0; UNSUPPORTED("6qvptoliwn65n1ln7eoo4j8wd"); // break; UNSUPPORTED("8pu80wsk8me7q17ensqlviq86"); // case 'r': UNSUPPORTED("9hg1o01u12gavwtqe9xofe38z"); // bb.UR.x = x; UNSUPPORTED("bzx0k97ggr7q3araimvm6f1v7"); // bb.LL.x = bb.UR.x - sz.x; UNSUPPORTED("6qvptoliwn65n1ln7eoo4j8wd"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("197tcjynsl2sn03dwf3g9y12c"); // bb.UR.y = y + span->yoffset_layout; UNSUPPORTED("f2dg8t4khzpqdoaarum9tyuth"); // bb.LL.y = bb.UR.y - sz.y; UNSUPPORTED("5v5hh30squmit8o2i5hs25eig"); // return bb; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 54ihxujpi40cvxm21zvc4yygl // static void freePara (exdot_op* op) public static Object freePara(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("6j7qjd9yj32q85k9t0i4xidev"); // freePara (exdot_op* op) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dexpmz01x7t5bwrxs2ciihvod"); // if (op->op.kind == xd_text) UNSUPPORTED("8pgl92d45zuyooxxmo53bafei"); // free_textspan (op->span, 1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bna6lkyh9mx61k76gw3t0uflo // boxf xdotBB (Agraph_t* g) public static Object xdotBB(Object... arg) { UNSUPPORTED("8wvskez9r3noz1urymuwc4hvt"); // boxf xdotBB (Agraph_t* g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("de8em3aa6r4le6z9745lpxlet"); // GVC_t *gvc = GD_gvc(g); UNSUPPORTED("6h54fnrtmztsxuhsa6imjz1a7"); // exdot_op* op; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("c5uzlkl44upygp10do07uxm0g"); // double fontsize = 0.0; UNSUPPORTED("casv8ugezf3t2g5a7mvcr6q7i"); // char* fontname = NULL; UNSUPPORTED("4vfngh2uewkmjri7btdwl43bs"); // pointf pts[2]; UNSUPPORTED("3zlnn621zia9mss7z1ay24myc"); // pointf sz; UNSUPPORTED("226wftslr130qjwxv1q4x2p4f"); // boxf bb0; UNSUPPORTED("2eiur8hkm8tcazpq12w4ikbqo"); // boxf bb = GD_bb(g); UNSUPPORTED("arw8znn5jqfqq2ukyt2s9kcbv"); // xdot* xd = (xdot*)GD_drawing(g)->xdots; UNSUPPORTED("aarb87wzm7tqwo5n1l925d21x"); // textfont_t tf, null_tf = {NULL,NULL,NULL,0.0,0,0}; UNSUPPORTED("8wytjfmy8k9op5hj7s6yf9n3z"); // int fontflags; UNSUPPORTED("eeh0uom1nsj9lpceinvwt6gi3"); // if (!xd) return bb; UNSUPPORTED("46up7fyvuyhtxo8wqaw9zdj3h"); // if ((bb.LL.x == bb.UR.x) && (bb.LL.y == bb.UR.y)) { UNSUPPORTED("5jqc951ribmsybqkbienxqmso"); // bb.LL.x = bb.LL.y = MAXDOUBLE; UNSUPPORTED("71c2mgloraxvejp5ao9v3simg"); // bb.UR.x = bb.UR.y = -MAXDOUBLE; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9go5curik6dnbejv5o2pj8ve2"); // op = (exdot_op*)(xd->ops); UNSUPPORTED("dvwaxn9xbj2jw2hjwvvs0tj3z"); // for (i = 0; i < xd->cnt; i++) { UNSUPPORTED("64ugcfa5jpvzxyig6y6rolvzb"); // tf = null_tf; UNSUPPORTED("ab1ajnetstzss8ksa66rwdtze"); // switch (op->op.kind) { UNSUPPORTED("1texeok1es39lsgo5wdppbco2"); // case xd_filled_ellipse : UNSUPPORTED("effcskuftros0sla2ltem13mh"); // case xd_unfilled_ellipse : UNSUPPORTED("2njikvu7tjbux5fxkdd45103i"); // pts[0].x = op->op.u.ellipse.x - op->op.u.ellipse.w; UNSUPPORTED("9mz7byklb9m0gvc8x9d7ksnr0"); // pts[0].y = op->op.u.ellipse.y - op->op.u.ellipse.h; UNSUPPORTED("90ewlrvkws79qrau49gy8es9l"); // pts[1].x = op->op.u.ellipse.x + op->op.u.ellipse.w; UNSUPPORTED("55l7hlnc89dkhu16ft92xg16q"); // pts[1].y = op->op.u.ellipse.y + op->op.u.ellipse.h; UNSUPPORTED("bneotzphmkyeas6debvmmon8u"); // op->bb.LL = pts[0]; UNSUPPORTED("956syiyurqle8isi3w4ljs7wn"); // op->bb.UR = pts[1]; UNSUPPORTED("7v3sk5uea7pu17t9pnjza0xk7"); // expandBB (&bb, pts[0]); UNSUPPORTED("dqzu6l172pawxz0l88wjbsq5x"); // expandBB (&bb, pts[1]); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("40fjmoej0qk9hwneja77jlo2y"); // case xd_filled_polygon : UNSUPPORTED("6uw61r6bh4tiicbj46yxr9t4k"); // case xd_unfilled_polygon : UNSUPPORTED("9962qomo41y1omsipfqjr24y8"); // op->bb = ptsBB (op->op.u.polygon.pts, op->op.u.polygon.cnt, &bb); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("4eu4a2drbgdgq6xb3lnl3hn9y"); // case xd_filled_bezier : UNSUPPORTED("bn514k7swi4s6uclqqke583n8"); // case xd_unfilled_bezier : UNSUPPORTED("9962qomo41y1omsipfqjr24y8"); // op->bb = ptsBB (op->op.u.polygon.pts, op->op.u.polygon.cnt, &bb); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1l7ha9akoh6yew2v54hvu3del"); // case xd_polyline : UNSUPPORTED("9962qomo41y1omsipfqjr24y8"); // op->bb = ptsBB (op->op.u.polygon.pts, op->op.u.polygon.cnt, &bb); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("60mg8gze602593bf2vddicza0"); // case xd_text : UNSUPPORTED("50t9ohqv5008mknnbuwru8tw9"); // op->span = (textspan_t*)zmalloc(sizeof(textspan_t)); UNSUPPORTED("ctpfroyvq8upi1rvu07czeffu"); // op->span->str = strdup (op->op.u.text.text); UNSUPPORTED("clfgmfms6909nfbpqqf7rxx5f"); // op->span->just = adjust [op->op.u.text.align]; UNSUPPORTED("e2rt0ufps1ruahn7aijlrciss"); // tf.name = fontname; UNSUPPORTED("dh77fvkpvbx40iely5t866d6h"); // tf.size = fontsize; UNSUPPORTED("c1ted8bjs12be6jywuonnv0d2"); // tf.flags = fontflags; UNSUPPORTED("73o7k5irrg046co7k0hyc8aay"); // op->span->font = (*(((Dt_t*)(gvc->textfont_dt))->searchf))((gvc->textfont_dt),(void*)(&tf),0000001); UNSUPPORTED("6wqbzii0m490jqa70vqge95ss"); // sz = textspan_size (gvc, op->span); UNSUPPORTED("5fi8b3ht0cjvlehytid1q9v0c"); // bb0 = textBB (op->op.u.text.x, op->op.u.text.y, op->span); UNSUPPORTED("dzc3pvcqhus44n3qpjnche2n1"); // op->bb = bb0; UNSUPPORTED("dqaec6oh9n34envsvaj2cws50"); // expandBB (&bb, bb0.LL); UNSUPPORTED("4lyco5r149007xof0pltbc6yd"); // expandBB (&bb, bb0.UR); UNSUPPORTED("4ancwi87ybxfg7nqplm66fmcb"); // if (!xd->freefunc) UNSUPPORTED("euom952odxbs14o7zgilkcyjm"); // xd->freefunc = (freefunc_t)freePara; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("56n5nfs2z21zo7ac9z2ehf12l"); // case xd_font : UNSUPPORTED("758yjuz5lxvy105kkk178ecqc"); // fontsize = op->op.u.font.size; UNSUPPORTED("b47tnf0bsigh1pwzg0zn6hwmr"); // fontname = op->op.u.font.name; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("2kiqf0asbojt8x24lr5eykca1"); // case xd_fontchar : UNSUPPORTED("c1y0e85yacutsp89zjxoa7i3"); // fontflags = op->op.u.fontchar; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("5ujjs4gho9mjjupbibyqyplxp"); // default : UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("42f106i435avz0oneb0fhe81f"); // op++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5v5hh30squmit8o2i5hs25eig"); // return bb; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 85uk85yiir9od6zij92agheo3 // static void init_gvc(GVC_t * gvc, graph_t * g) public static Object init_gvc(Object... arg) { UNSUPPORTED("67101m7ilw6rq5kq50kqyv4jn"); // static void init_gvc(GVC_t * gvc, graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1fbxoul2f22tyxwq8g4cj6bo6"); // double xf, yf; UNSUPPORTED("aexhdud6z2wbwwi73yppp0ynl"); // char *p; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("8zmfa30bj4y52yk4nu6fzjg4a"); // gvc->g = g; UNSUPPORTED("ax64rv1jwwzs47pikcnl1j6vv"); // /* margins */ UNSUPPORTED("1b600jcjwmocj6dp4hx8dcbyt"); // gvc->graph_sets_margin = 0; UNSUPPORTED("1w3l4667jn9pi9aaxvt639rye"); // if ((p = agget(g, "margin"))) { UNSUPPORTED("8ii1lpvqnmj77k0q2xjan2dan"); // i = sscanf(p, "%lf,%lf", &xf, &yf); UNSUPPORTED("1e2qc8e42f9ohrllk7q5kbqh9"); // if (i > 0) { UNSUPPORTED("qbpuuttxxcxlbp802q1a4fsu"); // gvc->margin.x = gvc->margin.y = xf * 72; UNSUPPORTED("afqdselz7uxi22z0zlydrzlo1"); // if (i > 1) UNSUPPORTED("7col7tgqabkqwnzsc1m4i7zz3"); // gvc->margin.y = yf * 72; UNSUPPORTED("c3921i2dlk22b1p51jy3q34df"); // gvc->graph_sets_margin = NOT(0); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("733qr7bihsz4jlxdzv0x4v1n3"); // /* pad */ UNSUPPORTED("c4y9dph55ilj94mj5yjbabgqu"); // gvc->graph_sets_pad = 0; UNSUPPORTED("8vka83wlbomztn5m1dom8trfq"); // if ((p = agget(g, "pad"))) { UNSUPPORTED("8ii1lpvqnmj77k0q2xjan2dan"); // i = sscanf(p, "%lf,%lf", &xf, &yf); UNSUPPORTED("1e2qc8e42f9ohrllk7q5kbqh9"); // if (i > 0) { UNSUPPORTED("8vm798xe38aiaugd3y1g2aq1t"); // gvc->pad.x = gvc->pad.y = xf * 72; UNSUPPORTED("afqdselz7uxi22z0zlydrzlo1"); // if (i > 1) UNSUPPORTED("5nz9wezr9fh7hfzwoqgk11zm1"); // gvc->pad.y = yf * 72; UNSUPPORTED("d1m7j39edzq6lp1g0a8lnxyhf"); // gvc->graph_sets_pad = NOT(0); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("96riek1d0o8vwl70xmegernpv"); // /* pagesize */ UNSUPPORTED("298vt0zyw2i76g01fnol84jux"); // gvc->graph_sets_pageSize = 0; UNSUPPORTED("2shc43elsrp70a4k2u220ehox"); // gvc->pageSize = GD_drawing(g)->page; UNSUPPORTED("6evkjzqolfcsrv7tpqsm58o3h"); // if ((GD_drawing(g)->page.x > 0.001) && (GD_drawing(g)->page.y > 0.001)) UNSUPPORTED("fgxbok14dgt3z4b3nscl0p7n"); // gvc->graph_sets_pageSize = NOT(0); UNSUPPORTED("ecjhhm3qqdov34ahw0hdmnb1g"); // /* rotation */ UNSUPPORTED("2cxu41gtx0x2822685tf09ctd"); // if (GD_drawing(g)->landscape) UNSUPPORTED("cva8oucw05hmnqf4l4bk4dgfh"); // gvc->rotation = 90; UNSUPPORTED("4lti1w2qslxj3ihoatmbavsfr"); // else UNSUPPORTED("b4f4qufgjft6e4a4p7mkitiqv"); // gvc->rotation = 0; UNSUPPORTED("e5gxr3o07ghgvc4ucdwpjflcj"); // /* pagedir */ UNSUPPORTED("bb3h91bcfx7by4d3fyhmzdy2b"); // gvc->pagedir = "BL"; UNSUPPORTED("bpcvlnl6cfm6bjjupn4octi5k"); // if ((p = agget(g, "pagedir")) && p[0]) UNSUPPORTED("ajams0xdty7a7uuekgeid69r1"); // gvc->pagedir = p; UNSUPPORTED("e2g5l4w3c1x1gfmugldesjjqd"); // /* bounding box */ UNSUPPORTED("7tzs0wxbqa2wkozgqx08w4bau"); // gvc->bb = GD_bb(g); UNSUPPORTED("5hczsy1j61vmnr84wyz5bikya"); // /* clusters have peripheries */ UNSUPPORTED("clrndk7c262q4i7auu2yxaxbe"); // G_peripheries = (agattr(g,AGRAPH,"peripheries",NULL)); UNSUPPORTED("2kfixvhj3cpd8ixik3psbcfpe"); // G_penwidth = (agattr(g,AGRAPH,"penwidth",NULL)); UNSUPPORTED("2cwp5x6rqs985rs765vqqygae"); // /* default font */ UNSUPPORTED("e7ws06cub67fioowd2qb57bdq"); // gvc->defaultfontname = late_nnstring(NULL, UNSUPPORTED("7bozarsmoudzlhh3sw6pkg1h5"); // N_fontname, "Times-Roman"); UNSUPPORTED("58t4peku7cnyvnai2a20f5879"); // gvc->defaultfontsize = late_double(NULL, UNSUPPORTED("bbm0e0fv8warl1ji3fdc6yt6b"); // N_fontsize, 14.0, 1.0); UNSUPPORTED("5w09u9j3f1qfayfhrgj57ecba"); // /* default line style */ UNSUPPORTED("7qer3idmrdf9t80kv56o3uuss"); // gvc->defaultlinestyle = defaultlinestyle; UNSUPPORTED("4bhwcitlq1486x53gcbhloizr"); // gvc->graphname = agnameof(g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9pyz8u3udm2aoyugcsto0kix5 // static void init_job_pad(GVJ_t *job) public static Object init_job_pad(Object... arg) { UNSUPPORTED("agxhh3hamzm2l90mq5ojrmfkv"); // static void init_job_pad(GVJ_t *job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eyew5ay5wwktz4fysz0b78ugv"); // GVC_t *gvc = job->gvc; UNSUPPORTED("de4elc7zm79xniuphcxgyvvk9"); // if (gvc->graph_sets_pad) { UNSUPPORTED("aptzesoqv5uqgvgg0mc6kao5e"); // job->pad = gvc->pad; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("aj6nzz9d7a58djho9n52jx8yw"); // switch (job->output_lang) { UNSUPPORTED("b72lffvceole2ir7mpo7p336e"); // case 300: UNSUPPORTED("2j1zpsvat3akpjxygl2b8ttbg"); // job->pad.x = job->pad.y = job->render.features->default_pad; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("3w0qgk20xo9z7unk42folarn1"); // job->pad.x = job->pad.y = 4; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 f2syfb4rj7trco59aj1v5jm7b // static void init_job_margin(GVJ_t *job) public static Object init_job_margin(Object... arg) { UNSUPPORTED("a2o4lfoc2z821pg69j2xraq5h"); // static void init_job_margin(GVJ_t *job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eyew5ay5wwktz4fysz0b78ugv"); // GVC_t *gvc = job->gvc; UNSUPPORTED("7jaj0gwqx6io2udyixmrzcc1z"); // if (gvc->graph_sets_margin) { UNSUPPORTED("4snswj683owzbho4jjotw970l"); // job->margin = gvc->margin; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("za5jq2evnfd3fbn96g250vy9"); // /* set default margins depending on format */ UNSUPPORTED("ampzlf94vv6frsr0uc6d017f6"); // switch (job->output_lang) { UNSUPPORTED("aul67kwcbtvgyy4b36yxw76ou"); // case 300: UNSUPPORTED("e4ovq7tj6z354n1fhbnxfzufe"); // job->margin = job->device.features->default_margin; UNSUPPORTED("dtx9szdvwh3uhziubh9zvgbk5"); // break; UNSUPPORTED("2jhp1005lxz99z1pc9syee424"); // case 2: case 3: case 4: case 22: case 21: case 30: UNSUPPORTED("9mg8oo60qykyf8i35w2raa26p"); // job->margin.x = job->margin.y = 36; UNSUPPORTED("dtx9szdvwh3uhziubh9zvgbk5"); // break; UNSUPPORTED("p0mt8wznalavjdm44ot4ykl7"); // default: UNSUPPORTED("5l3hvgkkpuhcf4cohs28abhtz"); // job->margin.x = job->margin.y = 0; UNSUPPORTED("dtx9szdvwh3uhziubh9zvgbk5"); // break; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8g64hepne35gexv6ju81tbqc3 // static void init_job_dpi(GVJ_t *job, graph_t *g) public static Object init_job_dpi(Object... arg) { UNSUPPORTED("2p6nt5vob0ei8v7773p5tdecd"); // static void init_job_dpi(GVJ_t *job, graph_t *g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8m7r6h2rw1gx6dc2436egqiay"); // GVJ_t *firstjob = job->gvc->active_jobs; UNSUPPORTED("brb2vqrp3wxbej2f8h8oo3dcq"); // if (GD_drawing(g)->dpi != 0) { UNSUPPORTED("dt9qdoazpes90xzueapuxxspa"); // job->dpi.x = job->dpi.y = (double)(GD_drawing(g)->dpi); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6upj4lbia39c7c7hd9vsvv8b8"); // else if (firstjob && firstjob->device_sets_dpi) { UNSUPPORTED("7mtrejna32wqb64ec8s1hvrgt"); // job->dpi = firstjob->device_dpi; /* some devices set dpi in initialize() */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("za5jq2evnfd3fbn96g250vy9"); // /* set default margins depending on format */ UNSUPPORTED("ampzlf94vv6frsr0uc6d017f6"); // switch (job->output_lang) { UNSUPPORTED("aul67kwcbtvgyy4b36yxw76ou"); // case 300: UNSUPPORTED("azl3hjq4ji3la2pi9cndx1k3e"); // job->dpi = job->device.features->default_dpi; UNSUPPORTED("dtx9szdvwh3uhziubh9zvgbk5"); // break; UNSUPPORTED("p0mt8wznalavjdm44ot4ykl7"); // default: UNSUPPORTED("7g69tkl1he21l042jkugrqp6o"); // job->dpi.x = job->dpi.y = (double)(DEFAULT_DPI); UNSUPPORTED("dtx9szdvwh3uhziubh9zvgbk5"); // break; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4q75k0eh9opws0n4g4hucx21k // static void init_job_viewport(GVJ_t * job, graph_t * g) public static Object init_job_viewport(Object... arg) { UNSUPPORTED("624efhjg4wk3vw59b77itfyvo"); // static void init_job_viewport(GVJ_t * job, graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eyew5ay5wwktz4fysz0b78ugv"); // GVC_t *gvc = job->gvc; UNSUPPORTED("6i2nacyhq49omlq45m07qui2g"); // pointf LL, UR, size, sz; UNSUPPORTED("du235xtc4birmdt1yr7ce3jpv"); // double X, Y, Z, x, y; UNSUPPORTED("ecz4e03zumggc8tfymqvirexq"); // int rv; UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("adc06gp2568j6zfk5jqvbfo2y"); // char *str, *nodename = NULL, *junk = NULL; UNSUPPORTED("cibtljruio32e5gvrl87lh88l"); // UR = gvc->bb.UR; UNSUPPORTED("5vjounfbnwwcy8tbj300r79r2"); // LL = gvc->bb.LL; UNSUPPORTED("50ygg0dkfzxllsg7k6fe56huy"); // job->bb.LL.x = LL.x - job->pad.x; /* job->bb is bb of graph and padding - graph units */ UNSUPPORTED("49aqo5a8zzjcw7blnfu1d31q4"); // job->bb.LL.y = LL.y - job->pad.y; UNSUPPORTED("b3wmaft4mjah5tibmxgrds6eg"); // job->bb.UR.x = UR.x + job->pad.x; UNSUPPORTED("80w280ro0p0cugy34wuqzbsh9"); // job->bb.UR.y = UR.y + job->pad.y; UNSUPPORTED("6w6xt2yb2jn5st0s2quady6io"); // sz.x = job->bb.UR.x - job->bb.LL.x; /* size, including padding - graph units */ UNSUPPORTED("99nzl03ckbymw5ajsxg2lxf5v"); // sz.y = job->bb.UR.y - job->bb.LL.y; UNSUPPORTED("2mgynwyvee3ie46hpl26kqtf2"); // /* determine final drawing size and scale to apply. */ UNSUPPORTED("753yoijk60817tp79pq00vr0m"); // /* N.B. size given by user is not rotated by landscape mode */ UNSUPPORTED("ag04g63wularfd1fbljawhkqj"); // /* start with "natural" size of layout */ UNSUPPORTED("637m663yod0dkbreevp6qk44p"); // Z = 1.0; UNSUPPORTED("c8oufh828idctovprrgjdm0os"); // if (GD_drawing(g)->size.x > 0.001 && GD_drawing(g)->size.y > 0.001) { /* graph size was given by user... */ UNSUPPORTED("bmz1dbirkeldxm62ak0co2qrb"); // size = GD_drawing(g)->size; UNSUPPORTED("6qb7wsi1h19gy3dx25dsrf542"); // if (sz.x == 0) sz.x = size.x; UNSUPPORTED("3o8bk5rxvc9z3ttlp9sr2qn4s"); // if (sz.y == 0) sz.y = size.y; UNSUPPORTED("46ob9e3vmgm08hjtxp6tfvhoz"); // if ((size.x < sz.x) || (size.y < sz.y) /* drawing is too big (in either axis) ... */ UNSUPPORTED("5auolwo9gg1phxl3qsyuubbu1"); // || ((GD_drawing(g)->filled) /* or ratio=filled requested and ... */ UNSUPPORTED("9x8rozkks9tk12it75o6ejh9"); // && (size.x > sz.x) && (size.y > sz.y))) /* drawing is too small (in both axes) ... */ UNSUPPORTED("745ba2myf8zykpw51eip22lxr"); // Z = MIN(size.x/sz.x, size.y/sz.y); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("62gog7hki8holy1wdxok8ii3s"); // /* default focus, in graph units = center of bb */ UNSUPPORTED("eh4upvvzpvb3b2hlopix62qvx"); // x = (LL.x + UR.x) / 2.; UNSUPPORTED("8mdsmfdv26en9t0wke5lj3yoe"); // y = (LL.y + UR.y) / 2.; UNSUPPORTED("cb0lygghq98c5tsuyl02ecakn"); // /* rotate and scale bb to give default absolute size in points*/ UNSUPPORTED("7y4ysg5hih6aou07wc3jxhb35"); // job->rotation = job->gvc->rotation; UNSUPPORTED("1tcvgfcsior9vxwosbtysfoyl"); // X = sz.x * Z; UNSUPPORTED("7rvjwv9lldh8cdbpwf2e5b4em"); // Y = sz.y * Z; UNSUPPORTED("7mjigzchm03dvse5yty9697ik"); // /* user can override */ UNSUPPORTED("bbb4aunqlxn7ymn473u9tfjh2"); // if ((str = agget(g, "viewport"))) { UNSUPPORTED("70923c97qwh5i4mk8teckxbg"); // nodename = malloc(strlen(str)+1); UNSUPPORTED("axxbey14epctt08bqmg4e4ljx"); // junk = malloc(strlen(str)+1); UNSUPPORTED("4nbqjt16sk1g61qjzmyth3m3y"); // rv = sscanf(str, "%lf,%lf,%lf,\'%[^\']\'", &X, &Y, &Z, nodename); UNSUPPORTED("8azqq8b6xz6pe75pwuu92bkis"); // if (rv == 4) { UNSUPPORTED("6vgu6qnrol7hlgg01x8iopat1"); // n = (agnode(g->root,nodename,0)); UNSUPPORTED("5m395o1mab9my7pgd1wtfpkt4"); // if (n) { UNSUPPORTED("54io2bm3l9lajfo4g3z58eg1t"); // x = ND_coord(n).x; UNSUPPORTED("9woodb3r1ali6shtfkh2rz8h2"); // y = ND_coord(n).y; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("s1rt11h530ot4w6oo53nl5ui"); // rv = sscanf(str, "%lf,%lf,%lf,%[^,]%s", &X, &Y, &Z, nodename, junk); UNSUPPORTED("4kcpjq4bw60ex3z1ewxgr1mjw"); // if (rv == 4) { UNSUPPORTED("874kb6l4r88vgo7isombaflpy"); // n = (agnode(g->root,nodename,0)); UNSUPPORTED("a2kqxh7ugzx0wm2vq2kbx20y7"); // if (n) { UNSUPPORTED("9qhwk8hw3vgr1m1rzg5atx1zk"); // x = ND_coord(n).x; UNSUPPORTED("e4zoymn2c1bi9un0aj7x2plqm"); // y = ND_coord(n).y; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("2s114kzoj9bs4dyo9fxw68w0t"); // rv = sscanf(str, "%lf,%lf,%lf,%lf,%lf", &X, &Y, &Z, &x, &y); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("blr8vtykke5kreaxyos1zlb97"); // free (nodename); UNSUPPORTED("2pd0mx508kg0shcwmffjkyxc4"); // free (junk); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7bmnorp8hdilbzb9xmgr16rs5"); // /* rv is ignored since args retain previous values if not scanned */ UNSUPPORTED("c22q6sbjdy7erjlxyrdanr1x3"); // /* job->view gives port size in graph units, unscaled or rotated UNSUPPORTED("eb5vhw8ufy0hgbridh6g2vao9"); // * job->zoom gives scaling factor. UNSUPPORTED("f4zt60wq4jiuahkpno3xurcl7"); // * job->focus gives the position in the graph of the center of the port UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("asnqk2ep45wun0a0przl141qw"); // job->view.x = X; UNSUPPORTED("98ffy6ki313rluvwb97rnvig9"); // job->view.y = Y; UNSUPPORTED("2lcv08icuvjg8b9dwsdpqqold"); // job->zoom = Z; /* scaling factor */ UNSUPPORTED("3pf2n1wcp8dwhgr0dom3f5c5y"); // job->focus.x = x; UNSUPPORTED("d40e8u3927lyzr1i1eodxb5ip"); // job->focus.y = y; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cixyhqk69srhxgi3264xh8v68 // static void emit_cluster_colors(GVJ_t * job, graph_t * g) public static Object emit_cluster_colors(Object... arg) { UNSUPPORTED("4do3kncw83okg157mdqb1rtct"); // static void emit_cluster_colors(GVJ_t * job, graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5wyi0wasd5kecf6rhsqdjk7v2"); // graph_t *sg; UNSUPPORTED("53xzwretgdbd0atozc0w6hagb"); // int c; UNSUPPORTED("76nok3eiyr33qf4ecv69ujxn6"); // char *str; UNSUPPORTED("99d9j6m0161wdv2tu4wbf3ifi"); // for (c = 1; c <= GD_n_cluster(g); c++) { UNSUPPORTED("cuf43q4kl3kqgyuuxdqve1mqt"); // sg = GD_clust(g)[c]; UNSUPPORTED("eior21tu8n3jvwp0uvojvs0f9"); // emit_cluster_colors(job, sg); UNSUPPORTED("9obyty3pjddtipkl1momqv3h5"); // if (((str = agget(sg, "color")) != 0) && str[0]) UNSUPPORTED("6095vphn778u0cj7bwv5weas7"); // gvrender_set_pencolor(job, str); UNSUPPORTED("497nfxb4jva1q66gyzxn4skpv"); // if (((str = agget(sg, "pencolor")) != 0) && str[0]) UNSUPPORTED("6095vphn778u0cj7bwv5weas7"); // gvrender_set_pencolor(job, str); UNSUPPORTED("70ojemxfr6iv12m0fxcxdg0bp"); // if (((str = agget(sg, "bgcolor")) != 0) && str[0]) UNSUPPORTED("6095vphn778u0cj7bwv5weas7"); // gvrender_set_pencolor(job, str); UNSUPPORTED("cdl50xso69xffobr8d9xfkxez"); // if (((str = agget(sg, "fillcolor")) != 0) && str[0]) UNSUPPORTED("1a63r7ud39pu64tbombwke5j6"); // gvrender_set_fillcolor(job, str); UNSUPPORTED("a5y2a7fa23tghirfggvztwunc"); // if (((str = agget(sg, "fontcolor")) != 0) && str[0]) UNSUPPORTED("6095vphn778u0cj7bwv5weas7"); // gvrender_set_pencolor(job, str); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6z2ta8nxn4szbpjidikrdzjd2 // static void emit_colors(GVJ_t * job, graph_t * g) public static Object emit_colors(Object... arg) { UNSUPPORTED("60y3484rmpjm7xlt67j7mdl4"); // static void emit_colors(GVJ_t * job, graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("85i6qyzcmdaf9l7uvotaz8nlu"); // char *str, *colors; UNSUPPORTED("c7ds3utacpnq14lyij0jurwb4"); // gvrender_set_fillcolor(job, "lightgrey"); UNSUPPORTED("1lp6a62t425k9v01z810wrp7b"); // if (((str = agget(g, "bgcolor")) != 0) && str[0]) UNSUPPORTED("34u8f5cr333f4sprskexyebpp"); // gvrender_set_fillcolor(job, str); UNSUPPORTED("56twc8sam9h8hr3clpxijei6p"); // if (((str = agget(g, "fontcolor")) != 0) && str[0]) UNSUPPORTED("6uvs8it1wts6hypu32nx4owck"); // gvrender_set_pencolor(job, str); UNSUPPORTED("bikc4jaduha3tdbl9ci5qcrq5"); // emit_cluster_colors(job, g); UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("dnan5xu2dkpu7sl1b03ahndx"); // if (((str = agget(n, "color")) != 0) && str[0]) UNSUPPORTED("6095vphn778u0cj7bwv5weas7"); // gvrender_set_pencolor(job, str); UNSUPPORTED("7zwodk0er4swr49op7lbvckmu"); // if (((str = agget(n, "pencolor")) != 0) && str[0]) UNSUPPORTED("1a63r7ud39pu64tbombwke5j6"); // gvrender_set_fillcolor(job, str); UNSUPPORTED("7jynqpniz3o3a1uxq7wr68b3q"); // if (((str = agget(n, "fillcolor")) != 0) && str[0]) { UNSUPPORTED("2zkeug16gnaam15be1glq0d41"); // if (strchr(str, ':')) { UNSUPPORTED("zgs1bnae9v7jn6nvqwuf2unh"); // colors = strdup(str); UNSUPPORTED("65cuya3pzizp1x4mn7jdufwrd"); // for (str = strtok(colors, ":"); str; UNSUPPORTED("3pjrrvuvl7stxcg84h491n5qg"); // str = strtok(0, ":")) { UNSUPPORTED("bxlc2ohnhd7goi002fh9vwmuf"); // if (str[0]) UNSUPPORTED("a83f0af7up943bqeqb4ktss9t"); // gvrender_set_pencolor(job, str); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("1gvispqysaotaxpswiriasys2"); // free(colors); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("97osvej5vqjmf4a6du709am4f"); // gvrender_set_pencolor(job, str); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("gmm6wp0dtyc0tsmtzu5if62t"); // if (((str = agget(n, "fontcolor")) != 0) && str[0]) UNSUPPORTED("6095vphn778u0cj7bwv5weas7"); // gvrender_set_pencolor(job, str); UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("bcwa1u39hsu389fzlp0d4l21f"); // if (((str = agget(e, "color")) != 0) && str[0]) { UNSUPPORTED("4efctxbb4wq0ep3hzlpkaz7ue"); // if (strchr(str, ':')) { UNSUPPORTED("5vhkpar2tw6xtzhthkurydd1f"); // colors = strdup(str); UNSUPPORTED("aiy80oj5zipifrkb47xkmftsr"); // for (str = strtok(colors, ":"); str; UNSUPPORTED("6krlp42os46gl8wai0xgvb6kw"); // str = strtok(0, ":")) { UNSUPPORTED("cnbqptqtolqfv8ldin52nlvx0"); // if (str[0]) UNSUPPORTED("cogpzraxmtn5x26pbzrmt64ow"); // gvrender_set_pencolor(job, str); UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("9eduqn5owyzon5mdfrfajror6"); // free(colors); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else { UNSUPPORTED("13h4fpjj7vkimtrsq5l5siic1"); // gvrender_set_pencolor(job, str); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("33tragnfqd9eqgqdst6rty8gp"); // if (((str = agget(e, "fontcolor")) != 0) && str[0]) UNSUPPORTED("97osvej5vqjmf4a6du709am4f"); // gvrender_set_pencolor(job, str); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dlue7nzn2pfskq2p54b34b488 // static void emit_view(GVJ_t * job, graph_t * g, int flags) public static Object emit_view(Object... arg) { UNSUPPORTED("5imanth4uju8cetckpnvqvzub"); // static void emit_view(GVJ_t * job, graph_t * g, int flags) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c00osdfe9g1arquj6clfdrh3e"); // GVC_t * gvc = job->gvc; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("csndbis67mjcboadb9c3vccda"); // gvc->common.viewNum++; UNSUPPORTED("586npexnnd5vijp8l2yb7kv6i"); // /* when drawing, lay clusters down before nodes and edges */ UNSUPPORTED("8rgrpr4idg5l73bbih7wy6xuh"); // if (!(flags & (1<<2))) UNSUPPORTED("5gnlxmhx15pwjdqb1bv6lj9q1"); // emit_clusters(job, g, flags); UNSUPPORTED("8odxjg9o1tr8v6pqudnrplweo"); // if (flags & (1<<0)) { UNSUPPORTED("2xnyatu1c43zijt16ke1g4gg9"); // /* output all nodes, then all edges */ UNSUPPORTED("24iil9cfhuxvvzbkepuax0fq8"); // gvrender_begin_nodes(job); UNSUPPORTED("eg21iwn9eqyjsoisl58nl8i36"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("21cc1ilu48o079xze4a4zj021"); // emit_node(job, n); UNSUPPORTED("bwt97v7vxmudd2nrehidk4f20"); // gvrender_end_nodes(job); UNSUPPORTED("3vzktz5re4ifmdiynmy5l85h9"); // gvrender_begin_edges(job); UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("8wpryg13apwpccvklympyeyqu"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) UNSUPPORTED("egbuqrd3oowt73ihe2c07hylx"); // emit_edge(job, e); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("7pirwyfpglg7wt4glc4zlfvz"); // gvrender_end_edges(job); UNSUPPORTED("aj09npfwn78tl31m397v0s50r"); // } else if (flags & (1<<4)) { UNSUPPORTED("clvp13zubjxry8l8nesv79xjl"); // /* output all edges, then all nodes */ UNSUPPORTED("3vzktz5re4ifmdiynmy5l85h9"); // gvrender_begin_edges(job); UNSUPPORTED("eg21iwn9eqyjsoisl58nl8i36"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("8wpryg13apwpccvklympyeyqu"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) UNSUPPORTED("egbuqrd3oowt73ihe2c07hylx"); // emit_edge(job, e); UNSUPPORTED("7pirwyfpglg7wt4glc4zlfvz"); // gvrender_end_edges(job); UNSUPPORTED("24iil9cfhuxvvzbkepuax0fq8"); // gvrender_begin_nodes(job); UNSUPPORTED("eg21iwn9eqyjsoisl58nl8i36"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("21cc1ilu48o079xze4a4zj021"); // emit_node(job, n); UNSUPPORTED("bwt97v7vxmudd2nrehidk4f20"); // gvrender_end_nodes(job); UNSUPPORTED("3v872xkvak5nthxntrmy679dt"); // } else if (flags & (1<<3)) { UNSUPPORTED("24iil9cfhuxvvzbkepuax0fq8"); // gvrender_begin_nodes(job); UNSUPPORTED("eg21iwn9eqyjsoisl58nl8i36"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("enqvgohrxvf10ccw4y4r96nkf"); // if (write_node_test(g, n)) UNSUPPORTED("1bzj2os22s6b3tf899bpkde6t"); // emit_node(job, n); UNSUPPORTED("bwt97v7vxmudd2nrehidk4f20"); // gvrender_end_nodes(job); UNSUPPORTED("3vzktz5re4ifmdiynmy5l85h9"); // gvrender_begin_edges(job); UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("7yvyv13me3s32qvq3gfbyt283"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("2fgkqy3hjpj9eo76nnctdhelj"); // if (write_edge_test(g, e)) UNSUPPORTED("auj2mo2tz3uf10zjkza14e82k"); // emit_edge(job, e); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("7pirwyfpglg7wt4glc4zlfvz"); // gvrender_end_edges(job); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("2638u64adcw68h4iekta3woqj"); // /* output in breadth first graph walk order */ UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("21cc1ilu48o079xze4a4zj021"); // emit_node(job, n); UNSUPPORTED("7yvyv13me3s32qvq3gfbyt283"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("6a94yfoszisanhlfhbgaagm7b"); // emit_node(job, aghead(e)); UNSUPPORTED("egbuqrd3oowt73ihe2c07hylx"); // emit_edge(job, e); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1rit427sa8udvzo3k42t9iha0"); // /* when mapping, detect events on clusters after nodes and edges */ UNSUPPORTED("1nky1gj4525b4130zqg4jg6ah"); // if (flags & (1<<2)) UNSUPPORTED("5gnlxmhx15pwjdqb1bv6lj9q1"); // emit_clusters(job, g, flags); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dk8gj6u142q8vgup6ar9ruysc // static void emit_begin_graph(GVJ_t * job, graph_t * g) public static Object emit_begin_graph(Object... arg) { UNSUPPORTED("5njsnfg1w96wtvkzxnnx79oze"); // static void emit_begin_graph(GVJ_t * job, graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8lamppsqs7nhiu5v8k1f5jfh2"); // obj_state_t *obj; UNSUPPORTED("1iexddadjo0w6fdgddatfx40s"); // obj = push_obj_state(job); UNSUPPORTED("7ihakbkozgh3iuzyjmmhyh6k3"); // obj->type = ROOTGRAPH_OBJTYPE; UNSUPPORTED("9ud9itr2e77p4owess7q8718d"); // obj->u.g = g; UNSUPPORTED("5pf0fco1plw3oedj6uzq7uimr"); // obj->emit_state = EMIT_GDRAW; UNSUPPORTED("bg4pso3sflig43odlnhxv7hak"); // initObjMapData (job, GD_label(g), g); UNSUPPORTED("e44aso60solubotswg1yr8un"); // gvrender_begin_graph(job, g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3nhn5596nwxutoyrm6tsxwvbd // static void emit_end_graph(GVJ_t * job, graph_t * g) public static Object emit_end_graph(Object... arg) { UNSUPPORTED("e5oluojkvyfuqdu97u95cqg3w"); // static void emit_end_graph(GVJ_t * job, graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1n9wfd0yho4z5950kfzq1f6y5"); // gvrender_end_graph(job); UNSUPPORTED("39iamwq9cd9iv3d2iyiaq8gz9"); // pop_obj_state(job); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9to165vrtas68afpbjdprx2vd // static void emit_page(GVJ_t * job, graph_t * g) public static Object emit_page(Object... arg) { UNSUPPORTED("di1dvfa15xs9rx182756djgqg"); // static void emit_page(GVJ_t * job, graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("6662g2itnb2i3tqvhvnkpfe2f"); // int nump = 0, flags = job->flags; UNSUPPORTED("1ikkkd5pukqwffmu5mtak47js"); // textlabel_t *lab; UNSUPPORTED("wv6e6kkgh4jw93f4dlmoozok"); // pointf *p = NULL; UNSUPPORTED("6xn8wrm21858wn8m5cu76e7k6"); // char* saveid; UNSUPPORTED("h0or3v13348vfl22jqz895yc"); // unsigned char buf[128]; UNSUPPORTED("9gou5otj6s39l2cbyc8i5i5lq"); // agxbuf xb; UNSUPPORTED("c4vh2q9zpipty999dty5nvmpm"); // /* For the first page, we can use the values generated in emit_begin_graph. UNSUPPORTED("2rctyueh35ne2pj7qe3nbgj64"); // * For multiple pages, we need to generate a new id. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("1p2sfiuz204i105cwxgsww1g7"); // if ((((job)->layerNum>1)||((job)->pagesArrayElem.x > 0)||((job)->pagesArrayElem.x > 0))) { UNSUPPORTED("el1z2krv8hoorc5c7vjsxw7yn"); // agxbinit(&xb, 128, buf); UNSUPPORTED("288ufw5rels1yxspvgtsyk3ve"); // saveid = obj->id; UNSUPPORTED("dly1rpg3t74a0cgwq5m4vdfir"); // layerPagePrefix (job, &xb); UNSUPPORTED("9vff0t827i9c1drbwcuxv66vl"); // agxbput (&xb, saveid); UNSUPPORTED("7fsfc9wkigjp8e60ca77krp4q"); // obj->id = (((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("5cjdy9xrlft2fd3m8c4wfxvn0"); // saveid = NULL; UNSUPPORTED("3glknrzusaw84wts2i8rbn2cq"); // setColorScheme (agget (g, "colorscheme")); UNSUPPORTED("7n40v0iw6f6evriibhioqu7ts"); // setup_page(job, g); UNSUPPORTED("8xm4n85i531jwobi44phtf4ir"); // gvrender_begin_page(job); UNSUPPORTED("e7x5ptqcyrjeve73rf3hjhuhn"); // gvrender_set_pencolor(job, "black"); UNSUPPORTED("c7ds3utacpnq14lyij0jurwb4"); // gvrender_set_fillcolor(job, "lightgrey"); UNSUPPORTED("8k7npuk2pg2np42cu63aachgc"); // if ((flags & ((1<<16) | (1<<22))) UNSUPPORTED("cjxb7soy84ukfc9btgpgb20qv"); // && (obj->url || obj->explicit_tooltip)) { UNSUPPORTED("bdk6hu2yhmni45qx7umzxcygk"); // if (flags & ((1<<17) | (1<<19))) { UNSUPPORTED("9cwsuo4ejz94kt28xa30z24o4"); // if (flags & (1<<17)) { UNSUPPORTED("4rlzy2etw4nk635bj5t9ru8p8"); // obj->url_map_shape = MAP_RECTANGLE; UNSUPPORTED("c4ypp4cr8076ye8m20un6b1r0"); // nump = 2; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("ei9dbrwfxqj4zzq5goyjrp35m"); // obj->url_map_shape = MAP_POLYGON; UNSUPPORTED("bc2bgfqrx6wr17fw3ipheaxt3"); // nump = 4; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("1ubuo1fytrqcvpt7d5d82uhus"); // p = (pointf*)zmalloc((nump)*sizeof(pointf)); UNSUPPORTED("7mbkf7uj9kru8y0p4vqwvqcuz"); // p[0] = job->pageBox.LL; UNSUPPORTED("6r0id695rza6fkyms76whk4iv"); // p[1] = job->pageBox.UR; UNSUPPORTED("bt5khrnbcnl2rast8s6f5hsb3"); // if (! (flags & ((1<<17)))) UNSUPPORTED("32e1sy1ya6lb3qmnvfchmljx6"); // rect2poly(p); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cnadzqqicrskcdzko360llcg5"); // if (! (flags & (1<<13))) UNSUPPORTED("8bpnq0a8qri3cve2qymb5tdyk"); // gvrender_ptf_A(job, p, p, nump); UNSUPPORTED("e4cpy14h8m2l16mjqadzsk89g"); // obj->url_map_p = p; UNSUPPORTED("evxoqe3dfgjf7bsm11ipkr8uc"); // obj->url_map_n = nump; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6le9aolkoakj39i518xz8m4mp"); // if ((flags & (1<<15)) && ((lab = GD_label(g)))) UNSUPPORTED("ear31tm0c4wpfnpcaoecqkfs3"); // /* do graph label on every page and rely on clipping to show it on the right one(s) */ UNSUPPORTED("1sy2sk1asrfkgl0880y6kmloo"); // obj->label = lab->text; UNSUPPORTED("5r6tugfy15ojg2zla1xfnbmfc"); // /* If EMIT_CLUSTERS_LAST is set, we assume any URL or tooltip UNSUPPORTED("33ajxgdgcy9ya7o2qo3545kjz"); // * attached to the root graph is emitted either in begin_page UNSUPPORTED("8oq67ru65jsrltrbkpicoq60r"); // * or end_page of renderer. UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("b465fu7r28ccnhoa0uvk6txhm"); // if (!(flags & (1<<2)) && (obj->url || obj->explicit_tooltip)) { UNSUPPORTED("874x9mgt9apdota54iarnz9v1"); // emit_map_rect(job, job->clip); UNSUPPORTED("5dgsg5nmc05yy1ape6ses927z"); // gvrender_begin_anchor(job, obj->url, obj->tooltip, obj->target, obj->id); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4h1kjxw1u80nnonna7i2zuoec"); // /* if (numPhysicalLayers(job) == 1) */ UNSUPPORTED("2vh3blbhjrzadv1wr6ru210tj"); // emit_background(job, g); UNSUPPORTED("aplr7sm051i57jygcfj6gigoh"); // if (GD_label(g)) UNSUPPORTED("ett9sr8mbs57jfjk6eqf66ood"); // emit_label(job, EMIT_GLABEL, GD_label(g)); UNSUPPORTED("abgvf32lk9jxduwyafzp9fn6r"); // if (!(flags & (1<<2)) && (obj->url || obj->explicit_tooltip)) UNSUPPORTED("e3o6yrnsv8lko5fql4f8a9gly"); // gvrender_end_anchor(job); UNSUPPORTED("ckjdhy2wwekw6raq99m9r1wwe"); // emit_view(job,g,flags); UNSUPPORTED("90q0ssftdvmcofopllyikqw70"); // gvrender_end_page(job); UNSUPPORTED("ba2uwvbdk3mubgsfak0882ay6"); // if (saveid) { UNSUPPORTED("52frst03mcbsuu6bmnqs962qm"); // agxbfree(&xb); UNSUPPORTED("9z28bgnq8rla75dmcugnyi4ql"); // obj->id = saveid; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 87nutd480deekxln7o14or4vo // void emit_graph(GVJ_t * job, graph_t * g) public static Object emit_graph(Object... arg) { UNSUPPORTED("3bmd2hvgnq1fcmgpxtam9hsx0"); // void emit_graph(GVJ_t * job, graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("8yytudftst76763qgnjebkzhm"); // char *s; UNSUPPORTED("12bpksga44s9sfl7x8xn2rt2k"); // int flags = job->flags; UNSUPPORTED("9q16e0ya19gm18zkyq7str796"); // int* lp; UNSUPPORTED("3aho54lnlpjyvy4ud87k3xnt1"); // /* device dpi is now known */ UNSUPPORTED("drdz8zf1napfd9649xa2vvoui"); // job->scale.x = job->zoom * job->dpi.x / 72; UNSUPPORTED("esbjlmqb7gaaf3pfsa89lgev"); // job->scale.y = job->zoom * job->dpi.y / 72; UNSUPPORTED("ag4tx55kpqxgiqh97rx32q22l"); // job->devscale.x = job->dpi.x / 72; UNSUPPORTED("7t3liq77ckb4jbxzzkuvpenqu"); // job->devscale.y = job->dpi.y / 72; UNSUPPORTED("d3hdv8k8yieahljfu3qt853ud"); // if ((job->flags & (1<<12)) || (Y_invert)) UNSUPPORTED("dhkndrjvudfzh9rih1bg17gz3"); // job->devscale.y *= -1; UNSUPPORTED("7q82xx3mn6mih80ewhar8lg0g"); // /* compute current view in graph units */ UNSUPPORTED("3h1yo631e2fq69mxwoggya716"); // if (job->rotation) { UNSUPPORTED("b9r25eu40lq0rhgqpis89rji8"); // job->view.y = job->width / job->scale.y; UNSUPPORTED("6a6udj0vxgy2ylquj5qgi0v5y"); // job->view.x = job->height / job->scale.x; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("6v8ftcsv837e27gwxszngvin2"); // job->view.x = job->width / job->scale.x; UNSUPPORTED("49fsot485en3t7beaufx5qicy"); // job->view.y = job->height / job->scale.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("du7kz5k6s1p26hnk6fqj746mu"); // s = late_string(g, agattr(g, AGRAPH, "comment", 0), ""); UNSUPPORTED("5td7tli30j1zl1fgvmy30blpa"); // gvrender_comment(job, s); UNSUPPORTED("b6bxtnfqf846y3t3131e0p4d0"); // job->layerNum = 0; UNSUPPORTED("7ky2s7fpgwjuqrftlhyowbq7q"); // emit_begin_graph(job, g); UNSUPPORTED("9saz20f1su2m7mwo82xf6hqc7"); // if (flags & (1<<1)) UNSUPPORTED("5ay1uey9mpe77501hacs5cu3c"); // emit_colors(job,g); UNSUPPORTED("f36txx1tdgu50b4nkh20skis"); // /* reset node state */ UNSUPPORTED("16hw9gw0dz2w7mrtba0eoqrdi"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("9jg6tdwrn007w9odzq2qc6zdy"); // ND_state(n) = 0; UNSUPPORTED("1xhln25szyh2h4t7ccsprle9"); // /* iterate layers */ UNSUPPORTED("4nvgbfw6y1185pj4e8h7daw79"); // for (firstlayer(job,&lp); validlayer(job); nextlayer(job,&lp)) { UNSUPPORTED("bn0m6u9dix50gpbajrfezpgua"); // if (numPhysicalLayers (job) > 1) UNSUPPORTED("35ib30gs09z3uwjvjoju5mpm2"); // gvrender_begin_layer(job); UNSUPPORTED("3b9ro4joid217f74xv0vx23ox"); // /* iterate pages */ UNSUPPORTED("5h2vy2qmsot0bw099k6zh72gd"); // for (firstpage(job); validpage(job); nextpage(job)) UNSUPPORTED("f0wsoynbdz170hyw1cg27wfte"); // emit_page(job, g); UNSUPPORTED("bn0m6u9dix50gpbajrfezpgua"); // if (numPhysicalLayers (job) > 1) UNSUPPORTED("2v3s6ab0rugrq7jsmzwh0cop0"); // gvrender_end_layer(job); UNSUPPORTED("3xbu5lb3fe5zgccq9vbjk3kln"); // } UNSUPPORTED("580k35rndifpvngdh5ih6za8j"); // emit_end_graph(job, g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8drr2f8zs3soqc2sosnio8pzh // static void free_string_entry(Dict_t * dict, char *key, Dtdisc_t * disc) public static Object free_string_entry(Object... arg) { UNSUPPORTED("5fw7dopfefym7l730mi9nupmb"); // static void free_string_entry(Dict_t * dict, char *key, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3a76j29jy9as91ppatk4njqfj"); // free(key); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 bh276mpp135v0h4xcw5xq7dw0 // static Dict_t *strings //1 b145hfewfupd0yod069hevlar // static Dtdisc_t stringdict = //3 2akcqhxfjsryfaxqftz8ogp65 // int emit_once(char *str) public static Object emit_once(Object... arg) { UNSUPPORTED("av9vowc3noulfodcy4y75cigq"); // int emit_once(char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9o1ba2pupi4m7jhoaypqirzvz"); // if (strings == 0) UNSUPPORTED("oaii1lps6xe7x781clc5iody"); // strings = dtopen(&stringdict, Dtoset); UNSUPPORTED("a42qo364e33vq6xbaw4vwmfzy"); // if (!(*(((Dt_t*)(strings))->searchf))((strings),(void*)(str),0000004)) { UNSUPPORTED("a012inr2a6x936i3bmmkqbemf"); // (*(((Dt_t*)(strings))->searchf))((strings),(void*)(strdup(str)),0000001); UNSUPPORTED("bp2y18pqq5n09006utwifdyxo"); // return NOT(0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 13d7ot7fdy4wdgkjwthvwzm4e // void emit_once_reset(void) public static Object emit_once_reset(Object... arg) { UNSUPPORTED("7ssgqzgkp5093mqxhkhuxum69"); // void emit_once_reset(void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("92fsshcviqb93ohg6shu769vw"); // if (strings) { UNSUPPORTED("czsk7hllpj8z00253zg9zwhd7"); // dtclose(strings); UNSUPPORTED("eolwadtu14y3m949xmkvfm351"); // strings = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 elzykz6y67nj4wkw8ujszlav6 // static void emit_begin_cluster(GVJ_t * job, Agraph_t * sg) public static Object emit_begin_cluster(Object... arg) { UNSUPPORTED("5hucwlu4giv8cmas625we7f9h"); // static void emit_begin_cluster(GVJ_t * job, Agraph_t * sg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8lamppsqs7nhiu5v8k1f5jfh2"); // obj_state_t *obj; UNSUPPORTED("1iexddadjo0w6fdgddatfx40s"); // obj = push_obj_state(job); UNSUPPORTED("n4boka8crqg5xqjpjbgcxln8"); // obj->type = CLUSTER_OBJTYPE; UNSUPPORTED("4xukb2axnj1vamt817cyruv0g"); // obj->u.sg = sg; UNSUPPORTED("7by2ra75cr7w394dpq9nmc5ft"); // obj->emit_state = EMIT_CDRAW; UNSUPPORTED("bl6tgzo7jj7jcpgtgg48l2agv"); // initObjMapData (job, GD_label(sg), sg); UNSUPPORTED("85xekl5v59s8nwopb1oyrehis"); // gvrender_begin_cluster(job, sg); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 djiumpyzkrvkc510ygwc0qw82 // static void emit_end_cluster(GVJ_t * job, Agraph_t * g) public static Object emit_end_cluster(Object... arg) { UNSUPPORTED("9dxd1b11ibgf7uvh7mf5mvzye"); // static void emit_end_cluster(GVJ_t * job, Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9k80dolt6qs55o0oinc7mvk7k"); // gvrender_end_cluster(job, g); UNSUPPORTED("39iamwq9cd9iv3d2iyiaq8gz9"); // pop_obj_state(job); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 560z6epwa1xr2jys0av7hf7e5 // void emit_clusters(GVJ_t * job, Agraph_t * g, int flags) public static Object emit_clusters(Object... arg) { UNSUPPORTED("9xh1f0u1yb9m8ypftvkh8ix4c"); // void emit_clusters(GVJ_t * job, Agraph_t * g, int flags) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("18uvc5sri0zzjmzue0wwo1z3j"); // int doPerim, c, istyle, filled; UNSUPPORTED("en6q26cyrg17g6yd6el73b3ns"); // pointf AF[4]; UNSUPPORTED("w9bbn26rmq9dc8ihryhse3pi"); // char *color, *fillcolor, *pencolor, **style, *s; UNSUPPORTED("5wyi0wasd5kecf6rhsqdjk7v2"); // graph_t *sg; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("8lamppsqs7nhiu5v8k1f5jfh2"); // obj_state_t *obj; UNSUPPORTED("1ikkkd5pukqwffmu5mtak47js"); // textlabel_t *lab; UNSUPPORTED("eqepzr79q5src0e30wgplnm07"); // int doAnchor; UNSUPPORTED("75w3zx2oz7s1yf7arcxf48heo"); // double penwidth; UNSUPPORTED("bhtcyodd9jiazat6sqhp9pm4x"); // char* clrs[2]; UNSUPPORTED("99d9j6m0161wdv2tu4wbf3ifi"); // for (c = 1; c <= GD_n_cluster(g); c++) { UNSUPPORTED("cuf43q4kl3kqgyuuxdqve1mqt"); // sg = GD_clust(g)[c]; UNSUPPORTED("75ua4s360ejy0ad5556y7rxc6"); // if (clust_in_layer(job, sg) == 0) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("cf5aumm9peswnfjdghtniv57i"); // /* when mapping, detect events on clusters after sub_clusters */ UNSUPPORTED("7pfc87mgoy8xnsdd8w3r44gt4"); // if (flags & (1<<2)) UNSUPPORTED("8zezqxx7s7218o1z84t9283i1"); // emit_clusters(job, sg, flags); UNSUPPORTED("4griuzh66dk49to2z4vg4n58t"); // emit_begin_cluster(job, sg); UNSUPPORTED("4afw3f56zovkl91einsaznlr1"); // obj = job->obj; UNSUPPORTED("8njvdvq4f4flv48y83eoo9guh"); // doAnchor = (obj->url || obj->explicit_tooltip); UNSUPPORTED("88mnm1u4w0ntiz5kynm02mfri"); // setColorScheme (agget (sg, "colorscheme")); UNSUPPORTED("eazs637wvmi4mg6rzyohl77bn"); // if (doAnchor && !(flags & (1<<2))) { UNSUPPORTED("4brof5tmiwuq5x63jh8whfeo0"); // emit_map_rect(job, GD_bb(sg)); UNSUPPORTED("96wz4onwo8hv1dre15npyoncl"); // gvrender_begin_anchor(job, obj->url, obj->tooltip, obj->target, obj->id); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("arpfq2ay8oyluwsz8s1wp6tp4"); // filled = 0; UNSUPPORTED("7z8t2n0ov011yh7grn6tj8xl2"); // istyle = 0; UNSUPPORTED("e1llbio24o8st183k6ivn3x0p"); // if ((style = checkClusterStyle(sg, &istyle))) { UNSUPPORTED("5ijzig29e4ve6o6tmpypjijfc"); // gvrender_set_style(job, style); UNSUPPORTED("1jumnpbkw6xmpcroil8k5o5m8"); // if (istyle & (1 << 0)) UNSUPPORTED("6w06em6l23suofe15du0wq9hb"); // filled = 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("17irg4x9jsg1ae0ueg2w7tyws"); // fillcolor = pencolor = 0; UNSUPPORTED("5erty8ili3cu3xxgovmr7jyzp"); // if (GD_gui_state(sg) & (1<<0)) { UNSUPPORTED("5ikpu0qi6d121h4pgoxr837nf"); // pencolor = late_nnstring(sg, G_activepencolor, "#808080"); UNSUPPORTED("4k5huj86rwz99dqspibchklqc"); // fillcolor = late_nnstring(sg, G_activefillcolor, "#fcfcfc"); UNSUPPORTED("5op945vn3c1cyxwov5p8rj33t"); // filled = NOT(0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("76bnhukou8byzgwwws7ab8b0k"); // else if (GD_gui_state(sg) & (1<<1)) { UNSUPPORTED("3twy3v6vi0eeadoc4u1zlxb45"); // pencolor = late_nnstring(sg, G_activepencolor, "#303030"); UNSUPPORTED("1osuzkag4yl1jf1yqr8to7q1x"); // fillcolor = late_nnstring(sg, G_activefillcolor, "#e8e8e8"); UNSUPPORTED("5op945vn3c1cyxwov5p8rj33t"); // filled = NOT(0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("er04c856pdifd7e1lw1c2jtba"); // else if (GD_gui_state(sg) & (1<<3)) { UNSUPPORTED("8kgp6s9d1pkgammp2cqy0lgz4"); // pencolor = late_nnstring(sg, G_deletedpencolor, "#e0e0e0"); UNSUPPORTED("50zeczr79uvycx2cumnhd1tjx"); // fillcolor = late_nnstring(sg, G_deletedfillcolor, "#f0f0f0"); UNSUPPORTED("5op945vn3c1cyxwov5p8rj33t"); // filled = NOT(0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6ziqrkwt111lwfmj2h8pp9244"); // else if (GD_gui_state(sg) & (1<<2)) { UNSUPPORTED("5zrylqp2iq3cuxz4lzc0545c3"); // pencolor = late_nnstring(sg, G_visitedpencolor, "#101010"); UNSUPPORTED("2ehq3py2ixs9yy4hteia4zne7"); // fillcolor = late_nnstring(sg, G_visitedfillcolor, "#f8f8f8"); UNSUPPORTED("5op945vn3c1cyxwov5p8rj33t"); // filled = NOT(0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("8ame1huznbi4b3mfey57xdith"); // if (((color = agget(sg, "color")) != 0) && color[0]) UNSUPPORTED("122n5atq0kvxnd5tgprr5fu8m"); // fillcolor = pencolor = color; UNSUPPORTED("1zymwwt3solqac47a89h9z0im"); // if (((color = agget(sg, "pencolor")) != 0) && color[0]) UNSUPPORTED("17hxm349yg7jla8miv14hwpgd"); // pencolor = color; UNSUPPORTED("dlm2m16no4yo0v65zm3r6q273"); // if (((color = agget(sg, "fillcolor")) != 0) && color[0]) UNSUPPORTED("4mfyuvfftu02jnxjtms8u89df"); // fillcolor = color; UNSUPPORTED("ee02x4g8qa44xw1iktx466luf"); // /* bgcolor is supported for backward compatability UNSUPPORTED("921qzbfipmjh6nvtnq08xm284"); // if fill is set, fillcolor trumps bgcolor, so UNSUPPORTED("tzyfjffroigby20366m64xps"); // don't bother checking. UNSUPPORTED("3wmft8410e1kee6p60k7wx3aa"); // if gradient is set fillcolor trumps bgcolor UNSUPPORTED("29edlge3wqyp1gs0vymtr5700"); // */ UNSUPPORTED("dzc0yotcol1cuthw3y39cexc6"); // if ((!filled || !fillcolor) && ((color = agget(sg, "bgcolor")) != 0) && color[0]) { UNSUPPORTED("4mfyuvfftu02jnxjtms8u89df"); // fillcolor = color; UNSUPPORTED("1obncd6x9bei9fl89du99yv6z"); // filled = 1; UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("4onosby3tz5zsis6f7400lgv0"); // if (!pencolor) pencolor = "black"; UNSUPPORTED("5eg5vn1y14wludgfck0xaq3b9"); // if (!fillcolor) fillcolor = "lightgrey"; UNSUPPORTED("1xf5m2okbj7owt77vc19vmf8r"); // clrs[0] = NULL; UNSUPPORTED("2atgu691bmn6h9jvk8lve5qzc"); // if (filled) { UNSUPPORTED("1ldzvmymblz8y4a6idvyxoj5t"); // float frac; UNSUPPORTED("5dnga3gh00f4sv4fk1n2iqdgu"); // if (findStopColor (fillcolor, clrs, &frac)) { UNSUPPORTED("12wjuz2zq45txyp39hhco78xu"); // gvrender_set_fillcolor(job, clrs[0]); UNSUPPORTED("5o23oun5dlazsaicyjj530pp"); // if (clrs[1]) UNSUPPORTED("a7gdknkeqzyql1xn5aou1tu3u"); // gvrender_set_gradient_vals(job,clrs[1],late_int(sg,G_gradientangle,0,0), frac); UNSUPPORTED("5v31mz0fdr0su096gqov41vyn"); // else UNSUPPORTED("bs5b6w27pwn1xz2vkqcvhvw13"); // gvrender_set_gradient_vals(job,"black",late_int(sg,G_gradientangle,0,0), frac); UNSUPPORTED("7m5m0tkcf8zs343oe1dddsxz6"); // if (istyle & (1 << 1)) UNSUPPORTED("5jf506rwz9snq4d6ozpjvg3yg"); // filled = 3; UNSUPPORTED("7rknc7r0egcn3cw68mrvgow3v"); // else UNSUPPORTED("7bikp52v1ey2yil3rybx6nris"); // filled = 2; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("es2lu1zhy5wdeml1v1kmrcix3"); // gvrender_set_fillcolor(job, fillcolor); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6j0eo47d00ez70necc0iot40d"); // if (G_penwidth && ((s=agxget(sg,G_penwidth)) && s[0])) { UNSUPPORTED("6wycyviq3z90tulx4rjwg7sw"); // penwidth = late_double(sg, G_penwidth, 1.0, 0.0); UNSUPPORTED("7mn8zfxwz2kendg9ewcomj2tv"); // gvrender_set_penwidth(job, penwidth); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("4z3pjxp0yl5bmzgwdor3xvrv7"); // if (istyle & (1 << 2)) { UNSUPPORTED("mp3otb18t8y3o4bchg5z2idp"); // if ((doPerim = late_int(sg, G_peripheries, 1, 0)) || filled) { UNSUPPORTED("8si227ium48spncryy7frwynh"); // AF[0] = GD_bb(sg).LL; UNSUPPORTED("d45bxs36if3jklht2eq00pcr3"); // AF[2] = GD_bb(sg).UR; UNSUPPORTED("7pt3ynvpv9wcldm9uyl4hs9ud"); // AF[1].x = AF[2].x; UNSUPPORTED("busa4gdiebsow4m6i91pei9dk"); // AF[1].y = AF[0].y; UNSUPPORTED("6zog1wdj92i5gy18x1tgo7l8k"); // AF[3].x = AF[0].x; UNSUPPORTED("56s58onhzgnly5ggdvt1nlqnr"); // AF[3].y = AF[2].y; UNSUPPORTED("4jwde8ij6mapmpzufmz71uw3e"); // if (doPerim) UNSUPPORTED("7xogzuqvqci68vd0h8mw3g3hc"); // gvrender_set_pencolor(job, pencolor); UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("3eca1kfk7d0usysqe2g25s9dt"); // gvrender_set_pencolor(job, "transparent"); UNSUPPORTED("ayr41ncx6835i1t6cvbbocmjt"); // round_corners(job, AF, 4, istyle, filled); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9yi0sfy5jinx301z6euefq1gx"); // else if (istyle & (1 << 6)) { UNSUPPORTED("ax8y1utessq4dsj8ao6g7j2gw"); // int rv; UNSUPPORTED("4hludau9a2am1tjk0xhlnxfwy"); // AF[0] = GD_bb(sg).LL; UNSUPPORTED("4k77pmee44hsr6plcoi20dqdh"); // AF[2] = GD_bb(sg).UR; UNSUPPORTED("94xw5t69k3x4bncfo418rzk41"); // AF[1].x = AF[2].x; UNSUPPORTED("2wgbau6oi3x84fa5vbjpl4tys"); // AF[1].y = AF[0].y; UNSUPPORTED("drztvrhevx0zqyqw37lqbywwv"); // AF[3].x = AF[0].x; UNSUPPORTED("47fk1ddlzlenv8temw9o74dkm"); // AF[3].y = AF[2].y; UNSUPPORTED("d53rklwtw1a8c0ucfyief5w1w"); // if (late_int(sg, G_peripheries, 1, 0) == 0) UNSUPPORTED("63hseiu22ctgv9gdekam65t07"); // gvrender_set_pencolor(job, "transparent"); UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("1wbjeln7h70lig2gl98kt8rf5"); // gvrender_set_pencolor(job, pencolor); UNSUPPORTED("97vrs1f2jac8rfh3rnv1du0r7"); // rv = stripedBox (job, AF, fillcolor, 0); UNSUPPORTED("26uxy1rkzvmsisagoc5g7f9qc"); // if (rv > 1) UNSUPPORTED("8b71lckf2t9xe9fslu15tp484"); // agerr (AGPREV, "in cluster %s\n", agnameof(sg)); UNSUPPORTED("cahw6lsgg8xmfslugv8wqwbhc"); // gvrender_box(job, GD_bb(sg), 0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("dgmim3t3r6y21whczevrqvhn1"); // if (late_int(sg, G_peripheries, 1, 0)) { UNSUPPORTED("1wbjeln7h70lig2gl98kt8rf5"); // gvrender_set_pencolor(job, pencolor); UNSUPPORTED("8lraxifxzs9ffrnk8a0ckeesw"); // gvrender_box(job, GD_bb(sg), filled); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("7a977zitdpktoxwn8rbjif9ux"); // else if (filled) { UNSUPPORTED("63hseiu22ctgv9gdekam65t07"); // gvrender_set_pencolor(job, "transparent"); UNSUPPORTED("8lraxifxzs9ffrnk8a0ckeesw"); // gvrender_box(job, GD_bb(sg), filled); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1j4mx2l2nl1oo3makbr3eyoxc"); // free (clrs[0]); UNSUPPORTED("ecowjd4zwo4ew6jeu9evjiij9"); // if ((lab = GD_label(sg))) UNSUPPORTED("2rvfkljzair3c2v8un739u8j"); // emit_label(job, EMIT_CLABEL, lab); UNSUPPORTED("7lbjljjzqr08zoe4tepd81ci0"); // if (doAnchor) { UNSUPPORTED("33sr8o6eyia8xv39c3ax3i9lq"); // if (flags & (1<<2)) { UNSUPPORTED("7fheoklw2kecmkg0cc6gap5f4"); // emit_map_rect(job, GD_bb(sg)); UNSUPPORTED("b2xca1s1bd7tkr1vo1weazvq1"); // gvrender_begin_anchor(job, obj->url, obj->tooltip, obj->target, obj->id); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("dtwdqlhxsk4vpro8m02pot0co"); // gvrender_end_anchor(job); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("aayivxn33okuwnvn0iqa4066x"); // if (flags & (1<<3)) { UNSUPPORTED("7pdiogu941nic4o67h7upbhm4"); // for (n = agfstnode(sg); n; n = agnxtnode(sg, n)) { UNSUPPORTED("1bzj2os22s6b3tf899bpkde6t"); // emit_node(job, n); UNSUPPORTED("cvwdbwresv9dldcthcbnyp9kk"); // for (e = agfstout(sg, n); e; e = agnxtout(sg, e)) UNSUPPORTED("auj2mo2tz3uf10zjkza14e82k"); // emit_edge(job, e); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cv3hy45odqvlvwcjdyr6spm3h"); // emit_end_cluster(job, g); UNSUPPORTED("40fwf06hlkuo7isg6mip8g7el"); // /* when drawing, lay down clusters before sub_clusters */ UNSUPPORTED("3i5ezqfabmzliv96rwzf0rp37"); // if (!(flags & (1<<2))) UNSUPPORTED("8zezqxx7s7218o1z84t9283i1"); // emit_clusters(job, sg, flags); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c4mtnyvuir2cais09r4vk4xwa // static boolean is_style_delim(int c) public static Object is_style_delim(Object... arg) { UNSUPPORTED("8mez49lbay1n6ghwk9q96arp5"); // static boolean is_style_delim(int c) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8amt8fmqdipygnxirowfbawox"); // switch (c) { UNSUPPORTED("71si918orgtw88hf3ef5zmsur"); // case '(': UNSUPPORTED("6w345tkzwww6jqwaqdi7yww9s"); // case ')': UNSUPPORTED("d7tc6f9496ufckp546jd19usk"); // case ',': UNSUPPORTED("1luutzji7osg8esr8b5j2cmsr"); // case '\0': UNSUPPORTED("bp2y18pqq5n09006utwifdyxo"); // return NOT(0); UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ciz01t6xlpxu9dny1f4zwb45n // static int style_token(char **s, agxbuf * xb) public static Object style_token(Object... arg) { UNSUPPORTED("28oqkocgew358xzz1ws4vsuz4"); // static int style_token(char **s, agxbuf * xb) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8m3k758dcwwz4y8dqzc62remf"); // char *p = *s; UNSUPPORTED("eyxuxcumfs3lh2yyd55uy6v7w"); // int token, rc; UNSUPPORTED("wrvu9u7a8j6i6y6552zncxfk"); // char c; UNSUPPORTED("e5ufot6klnpqffix37q98elea"); // while (*p && (isspace(*p) || (*p == ','))) UNSUPPORTED("2wdgcrx402aszs54rq2kh9txd"); // p++; UNSUPPORTED("ajkn8nsofzadrqa5lz0j3dil2"); // switch (*p) { UNSUPPORTED("1luutzji7osg8esr8b5j2cmsr"); // case '\0': UNSUPPORTED("dmnwmwojsxusa7q5qt23h5zmg"); // token = 0; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("71si918orgtw88hf3ef5zmsur"); // case '(': UNSUPPORTED("6w345tkzwww6jqwaqdi7yww9s"); // case ')': UNSUPPORTED("eksinwup1v6a3d98byb38snby"); // token = *p++; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("4cdl2v54v6i2dni2p09haa90i"); // token = 1; UNSUPPORTED("chgfiktm89qx6plbkcedgxntv"); // while (!is_style_delim(c = *p)) { UNSUPPORTED("44fjmben1pin1nau1r4s4b1jc"); // rc = ((((xb)->ptr >= (xb)->eptr) ? agxbmore(xb,1) : 0), (int)(*(xb)->ptr++ = ((unsigned char)c))); UNSUPPORTED("847zwwso12sey42b59zepembc"); // p++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3kblfzc6j01qhc67wzeuk2oam"); // *s = p; UNSUPPORTED("dzxpp1eh4dn7ckzehm8pbp5r5"); // return token; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 5rjzz2a1wogd5wh9oa5o1fofa // static unsigned char outbuf[128] //1 adi2polpq88o43a9ixp81gazu // static agxbuf ps_xb //3 31nqh76a91ewgfgc421tjgnxd // char **parse_style(char *s) public static Object parse_style(Object... arg) { UNSUPPORTED("e5cy7r0xn364flrgake76xt8i"); // char **parse_style(char *s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3vpphojcmf2gtvenbux84m8z9"); // static char *parse[64]; UNSUPPORTED("3gkp456k9uixnbt0hgaw7oeep"); // static boolean is_first = NOT(0); UNSUPPORTED("ap64a3u5ezb8lo8thseajc887"); // int fun = 0; UNSUPPORTED("ci8semxrw11syu6su3skyfkoa"); // boolean in_parens = 0; UNSUPPORTED("h0or3v13348vfl22jqz895yc"); // unsigned char buf[128]; UNSUPPORTED("aexhdud6z2wbwwi73yppp0ynl"); // char *p; UNSUPPORTED("53xzwretgdbd0atozc0w6hagb"); // int c; UNSUPPORTED("9gou5otj6s39l2cbyc8i5i5lq"); // agxbuf xb; UNSUPPORTED("ew6jw9dmd6hait9mgj7ouhmmr"); // if (is_first) { UNSUPPORTED("4m5jd5elxj32gsmed58fjnfcr"); // agxbinit(&ps_xb, 128, outbuf); UNSUPPORTED("43wu8jjb66y01a3hlgjrjryh1"); // is_first = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ci65k77x1b3nq6luu69s87oup"); // agxbinit(&xb, 128, buf); UNSUPPORTED("7qb9c0pzh9hqyptqv00luagac"); // p = s; UNSUPPORTED("f242flcqmvdk48iozm6utnd21"); // while ((c = style_token(&p, &xb)) != 0) { UNSUPPORTED("7rk995hpmaqbbasmi40mqg0yw"); // switch (c) { UNSUPPORTED("ej3xfo9vi5946bx4zdvzne2rq"); // case '(': UNSUPPORTED("apbqdu2kbx5fo2pqipxe7a1dq"); // if (in_parens) { UNSUPPORTED("5gru9bi76isvm0xludlszwnh1"); // agerr(AGERR, "nesting not allowed in style: %s\n", s); UNSUPPORTED("2zjdsh2kepmo5yfkli65ofxe1"); // parse[0] = (char *) 0; UNSUPPORTED("97nzy67m5eyfd9a6d1montbam"); // agxbfree(&xb); UNSUPPORTED("6c4u745gvkt06ky00z0po4obm"); // return parse; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("iod77t2iafvqv6ivwpk389b4"); // in_parens = NOT(0); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("6740d5ahrznermt1b0z9i00yc"); // case ')': UNSUPPORTED("83ahjzhawu24k7hgmo221pz3k"); // if (in_parens == 0) { UNSUPPORTED("9ymlk0ikhvtvhj6ke4b2tooxg"); // agerr(AGERR, "unmatched ')' in style: %s\n", s); UNSUPPORTED("2zjdsh2kepmo5yfkli65ofxe1"); // parse[0] = (char *) 0; UNSUPPORTED("97nzy67m5eyfd9a6d1montbam"); // agxbfree(&xb); UNSUPPORTED("6c4u745gvkt06ky00z0po4obm"); // return parse; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("9yik55atrk3v32zihswkxoepa"); // in_parens = 0; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("83ahjzhawu24k7hgmo221pz3k"); // if (in_parens == 0) { UNSUPPORTED("197h1mowju7n7bgy7wx0jpyyp"); // if (fun == 64 - 1) { UNSUPPORTED("47cw8s3z99bcrten2c3js5q7u"); // agerr(AGWARN, "truncating style '%s'\n", s); UNSUPPORTED("2pxlo0tqwhg51d3v8r33x5vlm"); // parse[fun] = (char *) 0; UNSUPPORTED("pjkyn5638fsqi3xazu3sd2ce"); // agxbfree(&xb); UNSUPPORTED("dedftzivffm91rj6yyibb1jrh"); // return parse; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("4h5li2e1ckwp4ztkl6ur4hjvr"); // ((((&ps_xb)->ptr >= (&ps_xb)->eptr) ? agxbmore(&ps_xb,1) : 0), (int)(*(&ps_xb)->ptr++ = ((unsigned char)'\0'))); /* terminate previous */ UNSUPPORTED("czp2gx1ewvuil58eqg7muqbp3"); // parse[fun++] = ((char*)((&ps_xb)->ptr)); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ex1k1y0wj1bw5fju2ynw8wztq"); // agxbput(&ps_xb, (((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf))); UNSUPPORTED("8rvrgugqqjus18zwf0flkmyg5"); // ((((&ps_xb)->ptr >= (&ps_xb)->eptr) ? agxbmore(&ps_xb,1) : 0), (int)(*(&ps_xb)->ptr++ = ((unsigned char)'\0'))); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("eh4399dy51qz9v5k46j7u7f0b"); // if (in_parens) { UNSUPPORTED("a9afc2y8uauucn25hpjrq0oxx"); // agerr(AGERR, "unmatched '(' in style: %s\n", s); UNSUPPORTED("dtv4q4ijbxgbp2d77nklhf35w"); // parse[0] = (char *) 0; UNSUPPORTED("52frst03mcbsuu6bmnqs962qm"); // agxbfree(&xb); UNSUPPORTED("415n1ugoxgttbkl3ewfv6oqts"); // return parse; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ajac1de3cpgvymee2hqm7cqi2"); // parse[fun] = (char *) 0; UNSUPPORTED("1at5m9ctjn3ukv5gqtfswik02"); // agxbfree(&xb); UNSUPPORTED("9tjoh4elqwg3obcqij1u484gf"); // (void)(((((&ps_xb)->ptr >= (&ps_xb)->eptr) ? agxbmore(&ps_xb,1) : 0), (int)(*(&ps_xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&ps_xb)->ptr = (&ps_xb)->buf)); /* adds final '\0' to buffer */ UNSUPPORTED("be22l01ejxdw3x933qiz2eaon"); // return parse; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ck3omsgy3q0zlazix8r2dmufz // static boxf bezier_bb(bezier bz) public static Object bezier_bb(Object... arg) { UNSUPPORTED("4x8to7ipsnszk7hvp8b6us95m"); // static boxf bezier_bb(bezier bz) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("b4p0empvxghe2amctuezw2fj3"); // pointf p, p1, p2; UNSUPPORTED("2lzsl1e035wt5epd1h8f4bn8m"); // boxf bb; UNSUPPORTED("du76etbklizf0ujj6epooc4u3"); // assert(bz.size > 0); UNSUPPORTED("ch7u0adkg05jhr4w0rc7h1fhk"); // assert(bz.size % 3 == 1); UNSUPPORTED("1ecqftepbszmmeix7g8yerzho"); // bb.LL = bb.UR = bz.list[0]; UNSUPPORTED("67q9vbylk5li7nl6u0g87ew09"); // for (i = 1; i < bz.size;) { UNSUPPORTED("6lezptnqjziit71m8utngn9ec"); // /* take mid-point between two control points for bb calculation */ UNSUPPORTED("bcrmrqurd18pu7bb549lkj2zm"); // p1=bz.list[i]; UNSUPPORTED("chd2f5z6rt19lbaye25ej7q6j"); // i++; UNSUPPORTED("f1w8uf97bnvwem92r7cka4vh2"); // p2=bz.list[i]; UNSUPPORTED("chd2f5z6rt19lbaye25ej7q6j"); // i++; UNSUPPORTED("djwxlpeud1dn44xcrj6ndqzur"); // p.x = ( p1.x + p2.x ) / 2; UNSUPPORTED("626yu2abpm7sgxs2a6ojagloa"); // p.y = ( p1.y + p2.y ) / 2; UNSUPPORTED("a7j5rlajnoe7gj2d4vp29dlq3"); // EXPANDBP(bb,p); UNSUPPORTED("bg1txe7hn8ps3rf82tirvfik0"); // p=bz.list[i]; UNSUPPORTED("a7j5rlajnoe7gj2d4vp29dlq3"); // EXPANDBP(bb,p); UNSUPPORTED("chd2f5z6rt19lbaye25ej7q6j"); // i++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5v5hh30squmit8o2i5hs25eig"); // return bb; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 mmp96ytye8ub6txmw93m4vel // static void init_splines_bb(splines *spl) public static Object init_splines_bb(Object... arg) { UNSUPPORTED("c3y3jo1ro3rw4jxe8wllr42wd"); // static void init_splines_bb(splines *spl) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("37thdceezsvepe7tlyfatrbcw"); // bezier bz; UNSUPPORTED("dljqqka7giae8b01dcwrse8yc"); // boxf bb, b; UNSUPPORTED("e0qqavuetiwg28hno3n4emxw0"); // assert(spl->size > 0); UNSUPPORTED("2hacb9fdt2n4mkiveluxkiu2e"); // bz = spl->list[0]; UNSUPPORTED("3dpg7yydfzt8n9mt7n873m4bx"); // bb = bezier_bb(bz); UNSUPPORTED("4z4l1zu33m72iirxmuhdg36iw"); // for (i = 0; i < spl->size; i++) { UNSUPPORTED("1e2qc8e42f9ohrllk7q5kbqh9"); // if (i > 0) { UNSUPPORTED("75bvkqcdmtm8cgnu9vvehmsjq"); // bz = spl->list[i]; UNSUPPORTED("7r4akm44y65pzpvui9670oihh"); // b = bezier_bb(bz); UNSUPPORTED("3vlk6ne4cz4fhhm5a6o0buaiy"); // EXPANDBB(bb, b); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("5uvyqkv0zlq1pvknbc0xbocwu"); // if (bz.sflag) { UNSUPPORTED("8ee2v0q9etbnezmd0792omuyg"); // b = arrow_bb(bz.sp, bz.list[0], 1, bz.sflag); UNSUPPORTED("3vlk6ne4cz4fhhm5a6o0buaiy"); // EXPANDBB(bb, b); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("d2m398qqli1zbrdk57sgrhwjf"); // if (bz.eflag) { UNSUPPORTED("w3y4iuwxuffqu27zjsr7v6zs"); // b = arrow_bb(bz.ep, bz.list[bz.size - 1], 1, bz.eflag); UNSUPPORTED("3vlk6ne4cz4fhhm5a6o0buaiy"); // EXPANDBB(bb, b); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2mlym7h1a7wx8a5v8uwfgt2ve"); // spl->bb = bb; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 56w9yqsde88lk1salsdo9zhek // static void init_bb_edge(edge_t *e) public static Object init_bb_edge(Object... arg) { UNSUPPORTED("czoe4mrvfnlkgkf9dd5gswdun"); // static void init_bb_edge(edge_t *e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6tl9mepc2bett364jduh2q4mf"); // splines *spl; UNSUPPORTED("2c3cg84bl0xam4mk6g5f31jj0"); // spl = ED_spl(e); UNSUPPORTED("cnmg8m65mfhsyyzyck7jhyf0v"); // if (spl) UNSUPPORTED("5vuo8sxknwrhunmoccygtuuvr"); // init_splines_bb(spl); UNSUPPORTED("2o9ao5unxwbngk1qd0p8whpeg"); // // lp = ED_label(e); UNSUPPORTED("9g4o5rsb2iu810alwb470phyr"); // // if (lp) UNSUPPORTED("3h79hsuz9ndp04mum4ile2v9k"); // // {} UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ciznhkb6ca1q6pevo943ekme0 // static void init_bb_node(graph_t *g, node_t *n) public static Object init_bb_node(Object... arg) { UNSUPPORTED("9eic9chg3e24i3qt1eqh1kglr"); // static void init_bb_node(graph_t *g, node_t *n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("a20p0a7nmewnhy041mtj2osk3"); // ND_bb(n).LL.x = ND_coord(n).x - ND_lw(n); UNSUPPORTED("c2n18y1ykeeclakw3paasxuvw"); // ND_bb(n).LL.y = ND_coord(n).y - ND_ht(n) / 2.; UNSUPPORTED("cd1j2q3oehrg8vdh5mc2y15n3"); // ND_bb(n).UR.x = ND_coord(n).x + ND_rw(n); UNSUPPORTED("dtlwzpd98hya2ssejmz7kfy75"); // ND_bb(n).UR.y = ND_coord(n).y + ND_ht(n) / 2.; UNSUPPORTED("azojsmj2w5kkwset562797bbz"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) UNSUPPORTED("7ubpqzgmjcyyknlapquyjzh46"); // init_bb_edge(e); UNSUPPORTED("a9q4nnyheflcgogy9pvb7zhe9"); // /* IDEA - could also save in the node the bb of the node and UNSUPPORTED("ap39xkzymz5jtyyjrlh4oh7jz"); // all of its outedges, then the scan time would be proportional UNSUPPORTED("p6lfyicqm841ng07jzfz6erf"); // to just the number of nodes for many graphs. UNSUPPORTED("7is89igk57j6xxcbdvbmswq98"); // Wouldn't work so well if the edges are sprawling all over the place UNSUPPORTED("2x1b3m9zalxzp45ojidztaq43"); // because then the boxes would overlap a lot and require more tests, UNSUPPORTED("18qw5xpzps91vgn0jsv7bjzi0"); // but perhaps that wouldn't add much to the cost before trying individual UNSUPPORTED("43p4cwx9g5a9grh509zne19l"); // nodes and edges. */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 rpxf4np5e0zbdxhp8wqxwjru // static void init_bb(graph_t *g) public static Object init_bb(Object... arg) { UNSUPPORTED("4c9b9a1jd95zvo8rew7l4rdw2"); // static void init_bb(graph_t *g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("16hw9gw0dz2w7mrtba0eoqrdi"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("85uc0svzwbkhdrn713tjitqh5"); // init_bb_node(g, n); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 5cwzfc0p4amr0ryx8p6dllo42 // extern gvevent_key_binding_t gvevent_key_binding[] //1 d1twtwndjbh6p8fkxukwz6gh8 // extern int gvevent_key_binding_size //1 7w0woib3eaxzhaeksz12t3814 // extern gvdevice_callbacks_t gvdevice_callbacks //3 31vgctm6ydke1b6e0s06x85og // void gv_fixLocale (int set) public static void gv_fixLocale(int set) { ENTERING("31vgctm6ydke1b6e0s06x85og","gv_fixLocale"); try { // System.out.println("SKIPPING gv_fixLocale"); } finally { LEAVING("31vgctm6ydke1b6e0s06x85og","gv_fixLocale"); } } //3 9elgfx2mwaal8mp8yu4i8x55g // int gvRenderJobs (GVC_t * gvc, graph_t * g) public static Object gvRenderJobs(Object... arg) { UNSUPPORTED("al6r85bl2757m64h0be99kb2v"); // int gvRenderJobs (GVC_t * gvc, graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8hzx29jh0v2eh3jdrvrguy5mn"); // static GVJ_t *prevjob; UNSUPPORTED("88ctjz58veqptrabz1ddnfvaf"); // GVJ_t *job, *firstjob; UNSUPPORTED("2di5wqm6caczzl6bvqe35ry8y"); // if (Verbose) UNSUPPORTED("aaarjibm8djv3koq2y6u4m044"); // start_timer(); UNSUPPORTED("c2dyme9nsswgb9qb96oh2m08s"); // if (!(agbindrec(g, "Agraphinfo_t", 0, NOT(0)) && GD_drawing(g))) { UNSUPPORTED("aix30bpzzydybozpwmqe2bf25"); // agerr (AGERR, "Layout was not done. Missing layout plugins? \n"); UNSUPPORTED("881fnyqz9k0o6nu5p5pf6n7ka"); // if (Verbose) fprintf(stderr,"gvRenderJobs %s: %.2f secs.\n", agnameof(g), elapsed_sec()); UNSUPPORTED("f3a98gxettwtewduvje9y3524"); // return -1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8tzaifmwoislyhju3smc3zukv"); // init_bb(g); UNSUPPORTED("83mub13eiupttlu3d4j5lvj5p"); // init_gvc(gvc, g); UNSUPPORTED("1qo78wc1zt5cptfpywfwemtjj"); // init_layering(gvc, g); UNSUPPORTED("98b2uqnwq3rgamma244bsbrt1"); // gv_fixLocale (1); UNSUPPORTED("52t975anlz3qwnjcfxc5ok1at"); // for (job = gvjobs_first(gvc); job; job = gvjobs_next(gvc)) { UNSUPPORTED("6hzx763hhvpbtsvjf8aud3axf"); // if (gvc->gvg) { UNSUPPORTED("ckzfglt7a4q9ca1ek9xm04vf5"); // job->input_filename = gvc->gvg->input_filename; UNSUPPORTED("5gsifqa9895ltjbs6fiwkoqup"); // job->graph_index = gvc->gvg->graph_index; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("bv62u1zxiszyu0z7y97u4p0sq"); // job->input_filename = NULL; UNSUPPORTED("84w8f8lfynhieu4ce6k6q0f7o"); // job->graph_index = 0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("752jskfqikhifji0h9luxjt5p"); // job->common = &(gvc->common); UNSUPPORTED("2k3vzw6p3k1ruqmf5ckjkq8ss"); // job->layout_type = gvc->layout.type; UNSUPPORTED("5j4wuo1sqs572ms6xud4w1vnj"); // job->keybindings = gvevent_key_binding; UNSUPPORTED("3ev58alw9vec8e3ekuvfalsiw"); // job->numkeys = gvevent_key_binding_size; UNSUPPORTED("5e56auki36a9c8a9jxaig2dtn"); // if (!GD_drawing(g)) { UNSUPPORTED("7p3ojgx61zomxbqv96sv65491"); // agerr (AGERR, "layout was not done\n"); UNSUPPORTED("1li5h7sm29md39a6rbj983auz"); // gv_fixLocale (0); UNSUPPORTED("1i6w37q3xx7w76ft9lu49wl53"); // if (Verbose) fprintf(stderr,"gvRenderJobs %s: %.2f secs.\n", agnameof(g), elapsed_sec()); UNSUPPORTED("aivfd7ajlfz8o8oi68d4u5s5z"); // return -1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("xa3la9zayp2j503lislwf8bw"); // job->output_lang = gvrender_select(job, job->output_langname); UNSUPPORTED("8mhtshj21zmdehr49crz92ubk"); // if (job->output_lang == 999) { UNSUPPORTED("74iiov8kfwdwwftrvbuhx0uar"); // agerr (AGERR, "renderer for %s is unavailable\n", job->output_langname); UNSUPPORTED("1li5h7sm29md39a6rbj983auz"); // gv_fixLocale (0); UNSUPPORTED("1i6w37q3xx7w76ft9lu49wl53"); // if (Verbose) fprintf(stderr,"gvRenderJobs %s: %.2f secs.\n", agnameof(g), elapsed_sec()); UNSUPPORTED("62ko03w39aomt1h9y758mag0k"); // return -1; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("ampzlf94vv6frsr0uc6d017f6"); // switch (job->output_lang) { UNSUPPORTED("14mysa63mq9rkffdt98zlyxsl"); // case 21: UNSUPPORTED("apkae0nhyzfihcum8kdea13xc"); // /* output sorted, i.e. all nodes then all edges */ UNSUPPORTED("ci29ynt7cueaf8jqpqstm7gm7"); // job->flags |= (1<<0); UNSUPPORTED("dtx9szdvwh3uhziubh9zvgbk5"); // break; UNSUPPORTED("ph1r5pdbnaj90pytg37mdsoy"); // case 24: UNSUPPORTED("70rmrtuyb914znb7mrak6xhuk"); // /* output in preorder traversal of the graph */ UNSUPPORTED("cc3065soln8us3k43ovq935gw"); // job->flags |= (1<<3) UNSUPPORTED("c5oeo2n9siifh7xp8im8oy9i6"); // | (1<<9); UNSUPPORTED("dtx9szdvwh3uhziubh9zvgbk5"); // break; UNSUPPORTED("p0mt8wznalavjdm44ot4ykl7"); // default: UNSUPPORTED("d8cu5xolc31bwzqz3dmt12i74"); // job->flags |= chkOrder(g); UNSUPPORTED("dtx9szdvwh3uhziubh9zvgbk5"); // break; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("3yuatt6c28xj5dvgsxflopn9c"); // /* if we already have an active job list and the device doesn't support mutiple output files, or we are about to write to a different output device */ UNSUPPORTED("b6or2ku9xlp5adhzyfj6ggg74"); // firstjob = gvc->active_jobs; UNSUPPORTED("kkqmd3s54yqyxuy9ujfd6bp8"); // if (firstjob) { UNSUPPORTED("bkayjk7mhfk0z1prvegopn9f2"); // if (! (firstjob->flags & (1<<5)) UNSUPPORTED("7rq6o3m7v5g2jxfc61r9529oz"); // || (strcmp(job->output_langname,firstjob->output_langname))) { UNSUPPORTED("9ciig60i0ebtgpx2rjem515x2"); // gvrender_end_job(firstjob); UNSUPPORTED("6qee6pctu0pao210s569zuhhx"); // gvc->active_jobs = NULL; /* clear active list */ UNSUPPORTED("6rrb76y5gxl4tyyy39ju8vsqh"); // gvc->common.viewNum = 0; UNSUPPORTED("237aavazed82p3dahdkyqne7v"); // prevjob = NULL; UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("3jir07ymknf0hmb9pv9x4dr3o"); // else { UNSUPPORTED("21ah75bxrqgvsk8az3ejvz9xm"); // prevjob = NULL; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("eq1quwlwab222bf12rqzylabz"); // if (prevjob) { UNSUPPORTED("7lbeby5mwfpebpi6oat7oziry"); // prevjob->next_active = job; /* insert job in active list */ UNSUPPORTED("92fdsdu2rxr0mo9vqr7xw6ivn"); // job->output_file = prevjob->output_file; /* FIXME - this is dumb ! */ UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("a3ph0rnir8dxbkuydjfk32hyf"); // if (gvrender_begin_job(job)) UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; UNSUPPORTED("dhzmccdky20j8px8fj86coz1s"); // gvc->active_jobs = job; /* first job of new list */ UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("ec054g5x4n09tjvekoarr5lj2"); // job->next_active = NULL; /* terminate active list */ UNSUPPORTED("a3g0lqkbu5x3tp31mzdb9z1a1"); // job->callbacks = &gvdevice_callbacks; UNSUPPORTED("91r9tszzf49cistgb3dx6c5cv"); // init_job_pad(job); UNSUPPORTED("1b3piu56i8aqmewokmp76n4ov"); // init_job_margin(job); UNSUPPORTED("c30lbf0gqt0nfgjngfkbrkh1u"); // init_job_dpi(job, g); UNSUPPORTED("6719w8ckdbr5o57x6eoomwwqf"); // init_job_viewport(job, g); UNSUPPORTED("12oknjh0if0kwauc10p58ooj6"); // init_job_pagination(job, g); UNSUPPORTED("dhiros11nue53w4sfjg764f66"); // if (! (job->flags & (1<<7))) { UNSUPPORTED("au82zdbwbf11c4dhp3j9goiuj"); // emit_graph(job, g); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("7wrg45h3f9gl77k72io059dov"); // /* the last job, after all input graphs are processed, UNSUPPORTED("b2u8zjdvgah99yawh4ppdgfxk"); // * is finalized from gvFinalize() UNSUPPORTED("3vesx4cskuo1q42jvwmoum2xs"); // */ UNSUPPORTED("9g4mahhmb798zgagmhs69g7o5"); // prevjob = job; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bkwnwkliqxeb0zv9leq3mcdrx"); // gv_fixLocale (0); UNSUPPORTED("et6g7m7r8rj6f8qhvpz93lqxs"); // if (Verbose) fprintf(stderr,"gvRenderJobs %s: %.2f secs.\n", agnameof(g), elapsed_sec()); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a3vxhyyu69l0qyuv5lmbs3mhh // boolean findStopColor (char* colorlist, char* clrs[2], float* frac) public static Object findStopColor(Object... arg) { UNSUPPORTED("4an2je0tp9mryy4qaly9pg51w"); // boolean findStopColor (char* colorlist, char* clrs[2], float* frac) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8z3a2qjysx0m326m5qjy91tnu"); // colorsegs_t* segs; UNSUPPORTED("ecz4e03zumggc8tfymqvirexq"); // int rv; UNSUPPORTED("5h68n5d5dxbzm77fsc9jacogv"); // rv = parseSegs (colorlist, 0, &segs); UNSUPPORTED("dtjj3ng1i6w3ypa53dix5k2bp"); // if (rv || (segs->numc < 2) || (segs->segs[0].color == NULL)) { UNSUPPORTED("1xf5m2okbj7owt77vc19vmf8r"); // clrs[0] = NULL; UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2y5g21fon514qpa8eaqvqil0b"); // if (segs->numc > 2) UNSUPPORTED("8r2xfo7zhrx0y02i0g0nmmb8v"); // agerr (AGWARN, "More than 2 colors specified for a gradient - ignoring remaining\n"); UNSUPPORTED("9qa66u5mlsn5qyltb3mz8tv6x"); // clrs[0] = (char*)gmalloc((strlen(colorlist)+1)*sizeof(char)); UNSUPPORTED("6wkfmz13gix78yhxfl4wu387t"); // strcpy (clrs[0], segs->segs[0].color); UNSUPPORTED("346qdfuvl40mzq9b0c1jmxrph"); // if (segs->segs[1].color) { UNSUPPORTED("17tzhs6hjalzhgf9x6bjt9a21"); // clrs[1] = clrs[0] + (strlen(clrs[0])+1); UNSUPPORTED("78iakjpvgfjfvohpfjme8wm3p"); // strcpy (clrs[1], segs->segs[1].color); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("8adbeboqco76ee1xfw2yotsrc"); // clrs[1] = NULL; UNSUPPORTED("6srhlc05d53hy25ewfxz9k5zg"); // if (segs->segs[0].hasFraction) UNSUPPORTED("6b4phzvf6fhvg9dib574qa5zl"); // *frac = segs->segs[0].t; UNSUPPORTED("95s3rw3vuxb43fouesg4994w9"); // else if (segs->segs[1].hasFraction) UNSUPPORTED("9vkv3aohcusc7x3qflm8ode9m"); // *frac = 1 - segs->segs[1].t; UNSUPPORTED("4lti1w2qslxj3ihoatmbavsfr"); // else UNSUPPORTED("dgf6ly3jfdezgto7fetu7v2nj"); // *frac = 0; UNSUPPORTED("dwbftn5fib1yir7gshhy14cup"); // freeSegs (segs); UNSUPPORTED("8fwlqtemsmckleh6946lyd8mw"); // return NOT(0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/common/geom__c.java000066400000000000000000001105161340005343600221200ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class geom__c { //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 an3osr8wbab08w759hwbbqhm9 // box mkbox(point p, point q) public static Object mkbox(Object... arg) { UNSUPPORTED("ehmvylmllzguxcdpk8dz6hwdr"); // box mkbox(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dmq8mehh6aeppnudj702vldy4"); // box r; UNSUPPORTED("56irj1ii7mntnpbge097ptnng"); // if (p.x < q.x) { UNSUPPORTED("b8tp7wn90qjwecr4yhm0dif1i"); // r.LL.x = p.x; UNSUPPORTED("2tgz3b5tfwtlyh39flhnyaipw"); // r.UR.x = q.x; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("6jbrv8d8fjois445uwa6y61uz"); // r.LL.x = q.x; UNSUPPORTED("crijm4pj4imiocb7jzikn2xj5"); // r.UR.x = p.x; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("92wx79b4ryvutf9j0365jonq"); // if (p.y < q.y) { UNSUPPORTED("9oisw44o8np9dsov1namsahq2"); // r.LL.y = p.y; UNSUPPORTED("dq93klswmrh70fos28v81um3n"); // r.UR.y = q.y; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("aveby33ojiwj4tjoar3jn215s"); // r.LL.y = q.y; UNSUPPORTED("4sjpslco78l4c28t6hrci8g8v"); // r.UR.y = p.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2c7s1wgyibdpn3cqrdci4mqwj // boxf mkboxf(pointf p, pointf q) public static Object mkboxf(Object... arg) { UNSUPPORTED("6axbrwdhhyfo8coxq5s27j6ph"); // boxf mkboxf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c8ehlu3p9fgdawb34kesn3k9m"); // boxf r; UNSUPPORTED("56irj1ii7mntnpbge097ptnng"); // if (p.x < q.x) { UNSUPPORTED("b8tp7wn90qjwecr4yhm0dif1i"); // r.LL.x = p.x; UNSUPPORTED("2tgz3b5tfwtlyh39flhnyaipw"); // r.UR.x = q.x; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("6jbrv8d8fjois445uwa6y61uz"); // r.LL.x = q.x; UNSUPPORTED("crijm4pj4imiocb7jzikn2xj5"); // r.UR.x = p.x; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("92wx79b4ryvutf9j0365jonq"); // if (p.y < q.y) { UNSUPPORTED("9oisw44o8np9dsov1namsahq2"); // r.LL.y = p.y; UNSUPPORTED("dq93klswmrh70fos28v81um3n"); // r.UR.y = q.y; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("aveby33ojiwj4tjoar3jn215s"); // r.LL.y = q.y; UNSUPPORTED("4sjpslco78l4c28t6hrci8g8v"); // r.UR.y = p.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 29pnbvw6n2yoezie6xudgnrrc // int lineToBox(pointf p, pointf q, boxf b) public static Object lineToBox(Object... arg) { UNSUPPORTED("4yjnf6y95sbc4ugjerul6vk9m"); // int lineToBox(pointf p, pointf q, boxf b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("48cwacl32769puml63lq5tx4b"); // int inside1, inside2; UNSUPPORTED("9gsgfs2guis9c3c3oi57mxpq2"); // /* UNSUPPORTED("b5pw9v7zbg2sz0vvg6onzk3hw"); // * First check the two points individually to see whether they UNSUPPORTED("caais2dj0scdtrf20ixk47dfa"); // * are inside the rectangle or not. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("cq0b826r85o6zz8ne0szl8yyk"); // inside1 = (p.x >= b.LL.x) && (p.x <= b.UR.x) UNSUPPORTED("1gflq8j7hbpz9170ekhci7yn8"); // && (p.y >= b.LL.y) && (p.y <= b.UR.y); UNSUPPORTED("bhzozbp5l936vg1gyqwuk4dx6"); // inside2 = (q.x >= b.LL.x) && (q.x <= b.UR.x) UNSUPPORTED("ct5vd0ytj5rjcrp2gpt8pkonc"); // && (q.y >= b.LL.y) && (q.y <= b.UR.y); UNSUPPORTED("ehkoqnyo9hihgs7jeo4qoysve"); // if (inside1 != inside2) { UNSUPPORTED("egywkvzo2t847qnathqnanvcj"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bmhand7n0jwpq7eue899h1p1f"); // if (inside1 & inside2) { UNSUPPORTED("3ywpya2w1bf4n909xcgre9wyy"); // return 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9gsgfs2guis9c3c3oi57mxpq2"); // /* UNSUPPORTED("4nkuw4roujcsqvbd2p9xdxitb"); // * Both points are outside the rectangle, but still need to check UNSUPPORTED("aminyyg03u6tufsuefljc9ckh"); // * for intersections between the line and the rectangle. Horizontal UNSUPPORTED("6l0cqsf2f98o3thcqrs8isnnk"); // * and vertical lines are particularly easy, so handle them UNSUPPORTED("7q484vtovilvh9k2g9clt86ne"); // * separately. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("2hgj2jk4zufho793ru5xo96qn"); // if (p.x == q.x) { UNSUPPORTED("ap75hs54mf8uwlaksz3dq3q89"); // /* UNSUPPORTED("aw25rbwlb76hcmi7i0a4hkroq"); // * Vertical line. UNSUPPORTED("3vesx4cskuo1q42jvwmoum2xs"); // */ UNSUPPORTED("5x1j3sw3kiwvrlq7iovu7p1zg"); // if (((p.y >= b.LL.y) ^ (q.y >= b.LL.y)) UNSUPPORTED("8z5rdz2i2k4vnxh41xau7lqox"); // && (p.x >= b.LL.x) UNSUPPORTED("8sa26clzml2fktszuyohhq96s"); // && (p.x <= b.UR.x)) { UNSUPPORTED("7opo20y2y6rg5i89ocvk6qi3c"); // return 0; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("aypua15gtzlgyfgij2zgi2fy3"); // } else if (p.y == q.y) { UNSUPPORTED("ap75hs54mf8uwlaksz3dq3q89"); // /* UNSUPPORTED("cuvbkbznqopg3ock0vwua52e"); // * Horizontal line. UNSUPPORTED("3vesx4cskuo1q42jvwmoum2xs"); // */ UNSUPPORTED("cr98tmonigesw5kgv445eaagx"); // if (((p.x >= b.LL.x) ^ (q.x >= b.LL.x)) UNSUPPORTED("7moqrnwj9gzn15xyb4n1h71nz"); // && (p.y >= b.LL.y) UNSUPPORTED("adozfrtcv9rz4ut26t65aqjmp"); // && (p.y <= b.UR.y)) { UNSUPPORTED("7opo20y2y6rg5i89ocvk6qi3c"); // return 0; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("3dx5qy44ca9k65rrlunknc4jr"); // double m, x, y, low, high; UNSUPPORTED("ap75hs54mf8uwlaksz3dq3q89"); // /* UNSUPPORTED("17rosazxzae3vpa7evezmoc18"); // * Diagonal line. Compute slope of line and use UNSUPPORTED("38f61i9iz6jnzq3tqj3l15io"); // * for intersection checks against each of the UNSUPPORTED("24s7erxhfmz9equ6bz65nd452"); // * sides of the rectangle: left, right, bottom, top. UNSUPPORTED("3vesx4cskuo1q42jvwmoum2xs"); // */ UNSUPPORTED("30gqvlvlxk2fyms9obiav5eld"); // m = (q.y - p.y)/(q.x - p.x); UNSUPPORTED("bydrxw4l4bbi1q3tpzpouyb05"); // if (p.x < q.x) { UNSUPPORTED("3vk3thjtlk0eg13l7tpn464hf"); // low = p.x; high = q.x; UNSUPPORTED("7g575y36b78djy0o00izqx7eq"); // } else { UNSUPPORTED("9kxzbc22yz2m5undmp2d8iv7i"); // low = q.x; high = p.x; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("ap75hs54mf8uwlaksz3dq3q89"); // /* UNSUPPORTED("8iz5exp7hmnagqdgln48v9h3c"); // * Left edge. UNSUPPORTED("3vesx4cskuo1q42jvwmoum2xs"); // */ UNSUPPORTED("1kvmnzix9327sc1lr8oldfwfa"); // y = p.y + (b.LL.x - p.x)*m; UNSUPPORTED("6mt68el60h3098f84p9qof9cp"); // if ((b.LL.x >= low) && (b.LL.x <= high) UNSUPPORTED("7fuiowax7i86a2628diixw0kg"); // && (y >= b.LL.y) && (y <= b.UR.y)) { UNSUPPORTED("7opo20y2y6rg5i89ocvk6qi3c"); // return 0; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("ap75hs54mf8uwlaksz3dq3q89"); // /* UNSUPPORTED("cqsjfoaczly4orr3aoyk6a3kn"); // * Right edge. UNSUPPORTED("3vesx4cskuo1q42jvwmoum2xs"); // */ UNSUPPORTED("8ix32dk9v0hahcbsbusuf1rvs"); // y += (b.UR.x - b.LL.x)*m; UNSUPPORTED("brui2iilj0qz4n9w80cckznor"); // if ((y >= b.LL.y) && (y <= b.UR.y) UNSUPPORTED("9lghx6zht8yyj8oo7vd3urxb0"); // && (b.UR.x >= low) && (b.UR.x <= high)) { UNSUPPORTED("7opo20y2y6rg5i89ocvk6qi3c"); // return 0; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("ap75hs54mf8uwlaksz3dq3q89"); // /* UNSUPPORTED("9k6j1wl5s3bvhlivy6qc3xt6b"); // * Bottom edge. UNSUPPORTED("3vesx4cskuo1q42jvwmoum2xs"); // */ UNSUPPORTED("32eo9bh3jk75sopl737la1xiu"); // if (p.y < q.y) { UNSUPPORTED("dpom6twg5z6ngi160zl4sbdfy"); // low = p.y; high = q.y; UNSUPPORTED("7g575y36b78djy0o00izqx7eq"); // } else { UNSUPPORTED("9n0a69t2iof5xbu1u5knw8v5e"); // low = q.y; high = p.y; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("balzrwlwsv6rnon3m0ey2ftly"); // x = p.x + (b.LL.y - p.y)/m; UNSUPPORTED("d93289lj2vrieguknwyq7vizz"); // if ((x >= b.LL.x) && (x <= b.UR.x) UNSUPPORTED("2pou8in6puryywhwltwlqmbvw"); // && (b.LL.y >= low) && (b.LL.y <= high)) { UNSUPPORTED("7opo20y2y6rg5i89ocvk6qi3c"); // return 0; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("ap75hs54mf8uwlaksz3dq3q89"); // /* UNSUPPORTED("95agizrp9b5p1dhdv0pxg6eh7"); // * Top edge. UNSUPPORTED("3vesx4cskuo1q42jvwmoum2xs"); // */ UNSUPPORTED("725knfzo8czrv30p686pkacn"); // x += (b.UR.y - b.LL.y)/m; UNSUPPORTED("d93289lj2vrieguknwyq7vizz"); // if ((x >= b.LL.x) && (x <= b.UR.x) UNSUPPORTED("6olkmrl6prxmetzy935itn4zw"); // && (b.UR.y >= low) && (b.UR.y <= high)) { UNSUPPORTED("7opo20y2y6rg5i89ocvk6qi3c"); // return 0; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8azkpi8o0wzdufa90lw8hpt6q"); // return -1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1r7uvomrrc3o0z8d9ompm1ig4 // void rect2poly(pointf *p) public static Object rect2poly(Object... arg) { UNSUPPORTED("4upujvzyed550abavjj8vlza1"); // void rect2poly(pointf *p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("jjuy9fch36k2y85yrqsb31r0"); // p[3].x = p[2].x = p[1].x; UNSUPPORTED("9meelngzsr1xhvzldh1ry9iww"); // p[2].y = p[1].y; UNSUPPORTED("adltawlh6me0hjx77x5jo35mr"); // p[3].y = p[0].y; UNSUPPORTED("3ben3eqfn8zv3650vloyu3dk"); // p[1].x = p[0].x; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3aiyj7urv33rvps5ds204tciu // static pointf rotatepf(pointf p, int cwrot) public static ST_pointf rotatepf(final ST_pointf p, int cwrot) { // WARNING!! STRUCT return rotatepf_w_(p.copy(), cwrot).copy(); } private static ST_pointf rotatepf_w_(final ST_pointf p, int cwrot) { ENTERING("3aiyj7urv33rvps5ds204tciu","rotatepf"); try { UNSUPPORTED("adzi0wztceimu4ni3aonznmq7"); // static pointf rotatepf(pointf p, int cwrot) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bvmbf4zjo22hbkaarrfpdlocf"); // static double sina, cosa; UNSUPPORTED("2q61ok3mvkrnszcasq86sa47u"); // static int last_cwrot; UNSUPPORTED("7lh87lvufqsd73q9difg0omei"); // pointf P; UNSUPPORTED("apr20mshcgdjbln509cnpuysv"); // /* cosa is initially wrong for a cwrot of 0 UNSUPPORTED("7chgrmqliof6d9xytud69tz1u"); // * this caching only works because we are never called for 0 rotations */ UNSUPPORTED("bbm4jlwljjo7wmvr5ma5c3ybf"); // if (cwrot != last_cwrot) { UNSUPPORTED("djdw08yi87cxa9gld79itcxte"); // sincos(cwrot / (2 * M_PI), &sina, &cosa); UNSUPPORTED("1p92a46pieij11gut3g3w5c8a"); // last_cwrot = cwrot; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5ebfpnhj3mdplyf7cdm05fvqt"); // P.x = p.x * cosa - p.y * sina; UNSUPPORTED("87v4w9w5q8h1qv8g0mktgna71"); // P.y = p.y * cosa + p.x * sina; UNSUPPORTED("57gdhsck3pq8wsbtv00wvc7ca"); // return P; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("3aiyj7urv33rvps5ds204tciu","rotatepf"); } } //3 tytryqs1gqpghjdmwwvf1klb // static point rotatep(point p, int cwrot) public static Object rotatep(Object... arg) { UNSUPPORTED("5e2i6bk41qflr7y85q1osu5ts"); // static point rotatep(point p, int cwrot) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("14au2rwic77e6h8riridc0ukd"); // pointf pf; UNSUPPORTED("5ec0bowt1l7dbrl26kdbij7m1"); // P2PF(p, pf); UNSUPPORTED("37ova7qixpohr8qiao9sckb10"); // pf = rotatepf(pf, cwrot); UNSUPPORTED("4z58o606xwke1d8wfsxob59px"); // PF2P(pf, p); UNSUPPORTED("91xduilalb406jjyw2g1i07th"); // return p; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 66bs8dyk14129mi4jhjnm40yf // point cwrotatep(point p, int cwrot) public static Object cwrotatep(Object... arg) { UNSUPPORTED("bjpc8zmw5o75ij41axaonr91n"); // point cwrotatep(point p, int cwrot) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("do61zekb7jneykkag5k2ihoru"); // int x = p.x, y = p.y; UNSUPPORTED("2dtbcjay37z9xis3sikr2uqvd"); // switch (cwrot) { UNSUPPORTED("70xjc0sbkjvexfar5luzibcgf"); // case 0: UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("1q74ra1plwbzbg77dmxva7rl5"); // case 90: UNSUPPORTED("volj3587rzrhhe2x9l5tcqoe"); // p.x = y; UNSUPPORTED("duim642efpe7clezuqpyzpw5y"); // p.y = -x; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("17fu4k5xy8d72f5mch8cg6aga"); // case 180: UNSUPPORTED("20gmg6188e8c58dfpcwshs68q"); // p.x = x; UNSUPPORTED("c7p7spy43wsvu86ax82p9jeni"); // p.y = -y; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("cltc0ksnwf3uugjgybaifa7r7"); // case 270: UNSUPPORTED("volj3587rzrhhe2x9l5tcqoe"); // p.x = y; UNSUPPORTED("enc0wozuspuqe0erlieadffeb"); // p.y = x; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("o9oafab685xqeq9zr7gudl0e"); // if (cwrot < 0) UNSUPPORTED("aaqg3ryvg9knt1q47x4gwtt5x"); // return ccwrotatep(p, -cwrot); UNSUPPORTED("1ehwxt44pkimc4wg1udnhmlw6"); // if (cwrot > 360) UNSUPPORTED("aq1nthhp1dp65k4mktxyqz4bq"); // return cwrotatep(p, cwrot%360); UNSUPPORTED("56r9i8o5t3hhzow2yhfx4zilm"); // return rotatep(p, cwrot); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("91xduilalb406jjyw2g1i07th"); // return p; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5q8h2tm3jifiasn423wrm0y60 // pointf cwrotatepf(pointf p, int cwrot) public static ST_pointf cwrotatepf(final ST_pointf p, int cwrot) { // WARNING!! STRUCT return cwrotatepf_w_(p.copy(), cwrot).copy(); } private static ST_pointf cwrotatepf_w_(final ST_pointf p, int cwrot) { ENTERING("5q8h2tm3jifiasn423wrm0y60","cwrotatepf"); try { double x = p.x, y = p.y; switch (cwrot) { case 0: break; case 90: p.setDouble("x", y); p.setDouble("y", -x); break; case 180: p.setDouble("x", x); p.setDouble("y", -y); break; case 270: p.setDouble("x", y); p.setDouble("y", x); break; default: if (cwrot < 0) return ccwrotatepf(p, -cwrot); if (cwrot > 360) return cwrotatepf(p, cwrot%360); return rotatepf(p, cwrot); } return p; } finally { LEAVING("5q8h2tm3jifiasn423wrm0y60","cwrotatepf"); } } //3 8v4jp36jzoo7itgk1f2139cvz // point ccwrotatep(point p, int ccwrot) public static Object ccwrotatep(Object... arg) { UNSUPPORTED("4netvfi1o450fu9936ptrychj"); // point ccwrotatep(point p, int ccwrot) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("do61zekb7jneykkag5k2ihoru"); // int x = p.x, y = p.y; UNSUPPORTED("9hd3h63ctysf7ploj23tblup2"); // switch (ccwrot) { UNSUPPORTED("70xjc0sbkjvexfar5luzibcgf"); // case 0: UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("1q74ra1plwbzbg77dmxva7rl5"); // case 90: UNSUPPORTED("avktqxvqjaqt2xlnq4ykbvlca"); // p.x = -y; UNSUPPORTED("enc0wozuspuqe0erlieadffeb"); // p.y = x; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("17fu4k5xy8d72f5mch8cg6aga"); // case 180: UNSUPPORTED("20gmg6188e8c58dfpcwshs68q"); // p.x = x; UNSUPPORTED("c7p7spy43wsvu86ax82p9jeni"); // p.y = -y; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("cltc0ksnwf3uugjgybaifa7r7"); // case 270: UNSUPPORTED("volj3587rzrhhe2x9l5tcqoe"); // p.x = y; UNSUPPORTED("enc0wozuspuqe0erlieadffeb"); // p.y = x; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("225zfbgifuf05a2ndoo6eqxeu"); // if (ccwrot < 0) UNSUPPORTED("bdxv7ie6ag4u5y8py9bg2v6s2"); // return cwrotatep(p, -ccwrot); UNSUPPORTED("2po0nwnam6kgn9hmqm0ls262w"); // if (ccwrot > 360) UNSUPPORTED("87ycp7fzgeye35jy3hylox5it"); // return ccwrotatep(p, ccwrot%360); UNSUPPORTED("9umyw4cv019twbecwlsnwom3k"); // return rotatep(p, 360-ccwrot); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("91xduilalb406jjyw2g1i07th"); // return p; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6np74e9pfmv8uek8irqru2tma // pointf ccwrotatepf(pointf p, int ccwrot) public static ST_pointf ccwrotatepf(final ST_pointf p, int ccwrot) { // WARNING!! STRUCT return ccwrotatepf_w_(p.copy(), ccwrot).copy(); } private static ST_pointf ccwrotatepf_w_(final ST_pointf p, int ccwrot) { ENTERING("6np74e9pfmv8uek8irqru2tma","ccwrotatepf"); try { double x = p.x, y = p.y; switch (ccwrot) { case 0: break; case 90: p.setDouble("x", -y); p.setDouble("y", x); break; case 180: p.setDouble("x", x); p.setDouble("y", -y); break; case 270: p.setDouble("x", y); p.setDouble("y", x); break; default: if (ccwrot < 0) return cwrotatepf(p, -ccwrot); if (ccwrot > 360) return ccwrotatepf(p, ccwrot%360); return rotatepf(p, 360-ccwrot); } return p; } finally { LEAVING("6np74e9pfmv8uek8irqru2tma","ccwrotatepf"); } } //3 5vf3yrj3pdre7b1b7c8sq4vnr // inline box flip_rec_box(box b, point p) public static Object flip_rec_box(Object... arg) { UNSUPPORTED("azqv2nylg3fv81xe2h7obme6h"); // inline box flip_rec_box(box b, point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dmq8mehh6aeppnudj702vldy4"); // box r; UNSUPPORTED("byo3wh0htpthg3nhm3o3s8zw"); // /* flip box */ UNSUPPORTED("d66qgllk8bjsehblbq26efncl"); // r.UR.x = b.UR.y; UNSUPPORTED("cd003wygnwu6zjz9ybxkxzek4"); // r.UR.y = b.UR.x; UNSUPPORTED("2ervqmsvgmknymzl5zimfcpf9"); // r.LL.x = b.LL.y; UNSUPPORTED("671k71gzkmwyp06lvvfh3boi"); // r.LL.y = b.LL.x; UNSUPPORTED("39nfxvqw1vl7uhpu80ul20w83"); // /* move box */ UNSUPPORTED("ck4g4elw7icvjii70m8950473"); // r.LL.x += p.x; UNSUPPORTED("dy93dfzolo2ajmmszxsj5ywgb"); // r.LL.y += p.y; UNSUPPORTED("e5m7ftc0fuuqjs4x8ubrmrw2r"); // r.UR.x += p.x; UNSUPPORTED("7jezgbyhc86h5l890v0f8i1l9"); // r.UR.y += p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 10berg5l071upv3r6ei5ri6h6 // boxf flip_rec_boxf(boxf b, pointf p) public static Object flip_rec_boxf(Object... arg) { UNSUPPORTED("7lxs02hyh7jlorkakwwex7np1"); // boxf flip_rec_boxf(boxf b, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c8ehlu3p9fgdawb34kesn3k9m"); // boxf r; UNSUPPORTED("byo3wh0htpthg3nhm3o3s8zw"); // /* flip box */ UNSUPPORTED("d66qgllk8bjsehblbq26efncl"); // r.UR.x = b.UR.y; UNSUPPORTED("cd003wygnwu6zjz9ybxkxzek4"); // r.UR.y = b.UR.x; UNSUPPORTED("2ervqmsvgmknymzl5zimfcpf9"); // r.LL.x = b.LL.y; UNSUPPORTED("671k71gzkmwyp06lvvfh3boi"); // r.LL.y = b.LL.x; UNSUPPORTED("39nfxvqw1vl7uhpu80ul20w83"); // /* move box */ UNSUPPORTED("ck4g4elw7icvjii70m8950473"); // r.LL.x += p.x; UNSUPPORTED("dy93dfzolo2ajmmszxsj5ywgb"); // r.LL.y += p.y; UNSUPPORTED("e5m7ftc0fuuqjs4x8ubrmrw2r"); // r.UR.x += p.x; UNSUPPORTED("7jezgbyhc86h5l890v0f8i1l9"); // r.UR.y += p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 90k9l4o3khu3dw0fzkrcd97nk // double ptToLine2 (pointf a, pointf b, pointf p) public static double ptToLine2(final ST_pointf a, final ST_pointf b, final ST_pointf p) { // WARNING!! STRUCT return ptToLine2_w_(a.copy(), b.copy(), p.copy()); } private static double ptToLine2_w_(final ST_pointf a, final ST_pointf b, final ST_pointf p) { ENTERING("90k9l4o3khu3dw0fzkrcd97nk","ptToLine2"); try { double dx = b.x-a.x; double dy = b.y-a.y; double a2 = (p.y-a.y)*dx - (p.x-a.x)*dy; a2 *= a2; /* square - ensures that it is positive */ if (a2 < 0.0000000001) return 0.; /* avoid 0/0 problems */ return a2 / (dx*dx + dy*dy); } finally { LEAVING("90k9l4o3khu3dw0fzkrcd97nk","ptToLine2"); } } //3 7a3ftw4ubky8oz0e6sd4diag1 // int line_intersect (pointf a, pointf b, pointf c, pointf d, pointf* p) public static Object line_intersect(Object... arg) { UNSUPPORTED("4owj0m9g05vi1yxcownz0rtry"); // int line_intersect (pointf a, pointf b, pointf c, pointf d, pointf* p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5kh3p8pi4ouhb71qxt1wc19p4"); // pointf mv = sub_pointf(b,a); UNSUPPORTED("4qjn6j13besul6kp2zbryihnw"); // pointf lv = sub_pointf(d,c); UNSUPPORTED("cp5xvl6z479t3k1iqlafo0tu5"); // pointf ln = perp (lv); UNSUPPORTED("e6xr6qn23vmjveolqf2by1ynk"); // double lc = -(ln.x*c.x+ln.y*c.y); UNSUPPORTED("ez3o3rbsr12u6yt8icumd4ct"); // double dt = (ln.x*mv.x+ln.y*mv.y); UNSUPPORTED("c13p9pc06v96fokdr0tm36rec"); // if (fabs(dt) < 0.0000000001) return 0; UNSUPPORTED("4rkov8dzjqgoc0f65iwx9dri2"); // *p = sub_pointf(a,scale(((ln.x*a.x+ln.y*a.y)+lc)/dt,mv)); UNSUPPORTED("3tcgz4dupb6kw5tdk7n3pca2l"); // return 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/common/globals__c.java000066400000000000000000000526151340005343600226210ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class globals__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 6pkjavryvebqjuyjhek60afqj // char *Version //1 4drdys7bskk2cueq8s6qb7eto // char **Files //1 bhrdya4stvrxa0l8963qovxmi // const char **Lib //1 2ezgd8wkwz8fmkkw0hk2otnrz // char *CmdName //1 2v6m6l2yo7eku550m6hxli8c8 // char *specificFlags //1 awq7ni0redh6rz6ilo4t4k62o // char *specificItems //1 exkqovmg52ql69m6vncixyigy // char *Gvfilepath //1 dd9opdcegfmq3rkixwdexs90k // char *Gvimagepath //1 7cg2iv16zd5h875ayx62km2vf // unsigned char Verbose //1 zcxetd7svxzv5nmz0ncwk8mh // unsigned char Reduce //1 bn4y6ft05azakvtq0c601ga3l // int MemTest //1 22gjkfacjcojc18xwmaunw76g // char *HTTPServerEnVar //1 c9ooecge1w0qqy63jfgdhge5s // char *Output_file_name //1 ao0n1aashx9im0j6hzrwzj55u // int graphviz_errors //1 46w1bc9d9npxs3g0jd2gx6s95 // int Nop //1 36kts2p3evdros7j9k3eclgxv // double PSinputscale //1 532bzsjuqoqami999ou2pmaq6 // int Syntax_errors //1 2x2um6qmkcz7gpyoqqj2l9jwy // int Show_cnt //1 5z30otnosd5pxd6uswlcrrzi2 // char** Show_boxes //public static __ptr__ Show_boxes; //1 7kh1b1hb8sgfejwe0xa7d1378 // int CL_type //public static int CL_type; //1 7imn4w8fk3s1xiy6ye90w5yol // unsigned char Concentrate //public static boolean Concentrate; //1 5414a549tjctlyvuevpkj5qt1 // double Epsilon //1 q89qhgiomoxa5boua8ek4cs2 // int MaxIter //public static int MaxIter; //1 d7xxwjqfremj8rr7hsmo79v9d // int Ndim //1 88g6dq0g60jxisg0dob75bk5k // int State //public static int State; //1 ch9sqslzjrwv5b12wm84h970e // int EdgeLabelsDone //public static int EdgeLabelsDone; //1 455ctbozyoirantjv5xayvljb // double Initial_dist //public static double Initial_dist; //1 e4d9vb6lk7u18ctg6yzkpxag5 // double Damping //1 6335tgq6qxylgetmmpc2e9bbz // int Y_invert //1 9wywn3kzko1e5mbu5ck3fc5dn // int GvExitOnUsage //1 1cu961lsbh4pljvkidn8yp3h1 // Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin /*public static Agsym_s G_activepencolor, G_activefillcolor, G_selectedpencolor, G_selectedfillcolor, G_visitedpencolor, G_visitedfillcolor, G_deletedpencolor, G_deletedfillcolor, G_ordering, G_peripheries, G_penwidth, G_gradientangle, G_margin;*/ //1 2ee18foi20na4ktcw3ry70rm2 // Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle /*public static Agsym_s N_height, N_width, N_shape, N_color, N_fillcolor, N_activepencolor, N_activefillcolor, N_selectedpencolor, N_selectedfillcolor, N_visitedpencolor, N_visitedfillcolor, N_deletedpencolor, N_deletedfillcolor, N_fontsize, N_fontname, N_fontcolor, N_margin, N_label, N_xlabel, N_nojustify, N_style, N_showboxes, N_sides, N_peripheries, N_ordering, N_orientation, N_skew, N_distortion, N_fixed, N_imagescale, N_layer, N_group, N_comment, N_vertices, N_z, N_penwidth, N_gradientangle;*/ //1 2f3mchregmkoy4vgf28lgzewb // Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth /*public static Agsym_s E_weight, E_minlen, E_color, E_fillcolor, E_activepencolor, E_activefillcolor, E_selectedpencolor, E_selectedfillcolor, E_visitedpencolor, E_visitedfillcolor, E_deletedpencolor, E_deletedfillcolor, E_fontsize, E_fontname, E_fontcolor, E_label, E_xlabel, E_dir, E_style, E_decorate, E_showboxes, E_arrowsz, E_constr, E_layer, E_comment, E_label_float, E_samehead, E_sametail, E_arrowhead, E_arrowtail, E_headlabel, E_taillabel, E_labelfontsize, E_labelfontname, E_labelfontcolor, E_labeldistance, E_labelangle, E_tailclip, E_headclip, E_penwidth;*/ //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 8prhbu9fgu6m5aoh8hf6aa1qs // static fdpParms_t fdpParms = } plantuml-1.2018.13+ds/src/gen/lib/common/htmllex__c.java000066400000000000000000000572321340005343600226530ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class htmllex__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 dit6nudlsu8gsbu1nk0oaxmdv // extern YYSTYPE htmllval //1 ctaad2j8j92aany1c5u31r96g // static lexstate_t state //3 at9wtxmnn6uekh9z0bnvaelbv // static void error_context(void) public static Object error_context(Object... arg) { UNSUPPORTED("cx5zza1ddvju8vmzhht03lza6"); // static void error_context(void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5f4h574c1s5z49uhju6bmx5vr"); // ((void)((state.xb)->ptr = (state.xb)->buf)); UNSUPPORTED("4wqtvj52mff2pw11q12rin4m0"); // if (state.prevtoklen > 0) UNSUPPORTED("4u5n5k7lgxwe2dh9ovxpm23o8"); // agxbput_n(state.xb, state.prevtok, state.prevtoklen); UNSUPPORTED("y8xx6fpf1j1yq8h7la9wbyp8"); // agxbput_n(state.xb, state.currtok, state.currtoklen); UNSUPPORTED("5l8je00dlv54928zapcnt9jb0"); // agerr(AGPREV, "... %s ...\n", (((((state.xb)->ptr >= (state.xb)->eptr) ? agxbmore(state.xb,1) : 0), (int)(*(state.xb)->ptr++ = ((unsigned char)'\0'))),(char*)((state.xb)->ptr = (state.xb)->buf))); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4vowas5s5v4g6e7b8astgvsjs // void htmlerror(const char *msg) public static Object htmlerror(Object... arg) { UNSUPPORTED("als3jhirmetfoh7i5p2cbmutv"); // void htmlerror(const char *msg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("d4oil1r2n6f3x3s6g8r3xbtwe"); // if (state.error) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("d80x93emrbwlp0eqir6ima591"); // state.error = 1; UNSUPPORTED("arzfndu6ayj2visamjxs5fqz6"); // agerr(AGERR, "%s in line %d \n", msg, htmllineno()); UNSUPPORTED("ebdaw1lrgj2dwb8f9tcasee8x"); // error_context(); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 acp0i0e64pv3nc7z77ptqite1 // int initHTMLlexer(char *src, agxbuf * xb, htmlenv_t *env) public static Object initHTMLlexer(Object... arg) { UNSUPPORTED("4i6718j9jsjffgdkpazutgd58"); // int initHTMLlexer(char *src, agxbuf * xb, htmlenv_t *env) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("a9gcauqk56pv3a5jlrmhocx0a"); // static int first; UNSUPPORTED("6jv1hndh306bllc4vtjxwv29l"); // if (!first) { UNSUPPORTED("f4xbgk3zxynlsuq7zpu0hjwel"); // agerr(AGWARN, UNSUPPORTED("ddcod81qjobkbp6gcngsxbwf2"); // "Not built with libexpat. Table formatting is not available.\n"); UNSUPPORTED("ax6eds48op7ub9xodm5h3ebg5"); // first++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3tcgz4dupb6kw5tdk7n3pca2l"); // return 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6j28jjnvvj3r3i0jw57pfj41t // int clearHTMLlexer() public static Object clearHTMLlexer(Object... arg) { UNSUPPORTED("goib464b6rhiny54h2khc2a5"); // int clearHTMLlexer() UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3tcgz4dupb6kw5tdk7n3pca2l"); // return 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 aav473cirf0vmolwfs6qs5p69 // int htmllineno() public static Object htmllineno(Object... arg) { UNSUPPORTED("b27iw62asjebg2b5q4idjofiz"); // int htmllineno() UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bb6thnnh2h00iqcq5duqwkcvh // int htmllex() public static Object htmllex(Object... arg) { UNSUPPORTED("783uwka8img15zvofu54p0fbh"); // int htmllex() UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e2bh1okvaw9i2fmjvndb6niu9"); // return EOF; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/common/htmlparse__c.java000066400000000000000000002501011340005343600231630ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class htmlparse__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 z596gpwi24gl7hh3seyp0gck // static void free_ritem(Dt_t* d, pitem* p,Dtdisc_t* ds) public static Object free_ritem(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("d1sfyoxiqpnl52w8y4ogbcpx4"); // free_ritem(Dt_t* d, pitem* p,Dtdisc_t* ds) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("79kn2ug4yy0rtx86eqx7hzfas"); // dtclose (p->u.rp); UNSUPPORTED("9e923y5yzq38a869awae5o4pq"); // free (p); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 agf3jzkrkzu95vturq4ruirl1 // static void free_item(Dt_t* d, void* p,Dtdisc_t* ds) public static Object free_item(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("aeylv2tqn9jclpx81wzo8jna8"); // free_item(Dt_t* d, void* p,Dtdisc_t* ds) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9e923y5yzq38a869awae5o4pq"); // free (p); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 53er8pztmugi7aaoo8w6xwmtt // static void cleanTbl (htmltbl_t* tp) public static Object cleanTbl(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("ejt6odqhq24f0w764y6ycw02q"); // cleanTbl (htmltbl_t* tp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7krxj3oaa24is3so7hqc97yq4"); // dtclose (tp->u.p.rows); UNSUPPORTED("dkrc2ghxhhre60fr65tyau4h"); // free_html_data (&tp->data); UNSUPPORTED("b5ddb7yg0q1g3is7zdyamegtz"); // free (tp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5fdbv5ru77dtss1pgwxt2dviz // static void cleanCell (htmlcell_t* cp) public static Object cleanCell(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("a2mzu2huku49nng3e0xjq7gly"); // cleanCell (htmlcell_t* cp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("77li1v44m9m2t09yybvetr1j7"); // if (cp->child.kind == 1) cleanTbl (cp->child.u.tbl); UNSUPPORTED("e9frm74dt3zpfwmvcjt6d7rsp"); // else if (cp->child.kind == 2) free_html_text (cp->child.u.txt); UNSUPPORTED("8o091oqx5kx7i4vunqj2rbe3w"); // free_html_data (&cp->data); UNSUPPORTED("4pvswhooboe78ehkkgcubcohg"); // free (cp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8ipdkk14qkzxks3qfhcg430xd // static void free_citem(Dt_t* d, pitem* p,Dtdisc_t* ds) public static Object free_citem(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("bixe5avd0uejldfgeyicnxgak"); // free_citem(Dt_t* d, pitem* p,Dtdisc_t* ds) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8mlg640v3o1fdr5uj9sn6po9s"); // cleanCell (p->u.cp); UNSUPPORTED("9e923y5yzq38a869awae5o4pq"); // free (p); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 8syn2cu0jbf04go8pm5edutfo // static Dtdisc_t rowDisc = //1 94uru1gihainl2dp1ajf4c2nb // static Dtdisc_t cellDisc = //3 4vewb2db7impvcvf47z3wia3j // static void free_fitem(Dt_t* d, fitem* p, Dtdisc_t* ds) public static Object free_fitem(Object... arg) { UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void UNSUPPORTED("26gmt3uykv7jwzz4zsuhzmh6c"); // free_fitem(Dt_t* d, fitem* p, Dtdisc_t* ds) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("arsp2i9gms37oc65b9ios89et"); // if (p->ti.str) UNSUPPORTED("3k6lgmit4vxwd69i0exjcet4e"); // free (p->ti.str); UNSUPPORTED("ap7e4kfupx34ac9hq9kl5x48o"); // free (p); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 49a1cavr0uwsfiywr4vlx1j9a // static void free_fspan(Dt_t* d, fspan* p, Dtdisc_t* ds) public static Object free_fspan(Object... arg) { UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void UNSUPPORTED("8jhubbnlsdmf8fbpmzgat0ym2"); // free_fspan(Dt_t* d, fspan* p, Dtdisc_t* ds) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("329j7icm39s2sase5gxu6gc03"); // textspan_t* ti; UNSUPPORTED("42eg0b6eo5j9iu80p1uw4zid7"); // if (p->lp.nitems) { UNSUPPORTED("bbuxsg26kpzb2fl660hjri9l8"); // int i; UNSUPPORTED("f4tcwn4c6523y5ixkmiplt4hy"); // ti = p->lp.items; UNSUPPORTED("a82cuuzhevdwszh5on4eme3j6"); // for (i = 0; i < p->lp.nitems; i++) { UNSUPPORTED("1o53httu5a3mbs45forifv3v"); // if (ti->str) free (ti->str); UNSUPPORTED("6f0wl1s431kpd69mmcufrgwpw"); // ti++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("ck90yu0z5f11dxw03hkkrq95f"); // free (p->lp.items); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ap7e4kfupx34ac9hq9kl5x48o"); // free (p); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 1np2sacxaatzjpdyuxmr0k1f1 // static Dtdisc_t fstrDisc = //1 1isgrjiedau6lket9pvwj1cxy // static Dtdisc_t fspanDisc = //3 5mdfgv2hdexhdfc83v70ruckg // static void appendFItemList (agxbuf *ag) public static Object appendFItemList(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("3bn87tz9mrrkcgn2ilvrticxw"); // appendFItemList (agxbuf *ag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("doxwot367nm4unbmqvlyra7iq"); // fitem *fi = (fitem*)zmalloc(sizeof(fitem)); UNSUPPORTED("4lvo94ar3s2v4g4pkc1ms9lwy"); // fi->ti.str = strdup((((((ag)->ptr >= (ag)->eptr) ? agxbmore(ag,1) : 0), (int)(*(ag)->ptr++ = ((unsigned char)'\0'))),(char*)((ag)->ptr = (ag)->buf))); UNSUPPORTED("91z0oz4x1kngfnfwxn4cltgws"); // fi->ti.font = HTMLstate.fontstack->cfont; UNSUPPORTED("3ywp027tx29yvpgfvcnwxudxh"); // (*(((Dt_t*)(HTMLstate.fitemList))->searchf))((HTMLstate.fitemList),(void*)(fi),0000001); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4famoxxlv0pr1b2fcrf0jgu7s // static void appendFLineList (int v) public static Object appendFLineList(Object... arg) { UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void UNSUPPORTED("1azzbwypafe22124r30oc4gda"); // appendFLineList (int v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6iv4xusq3ncisurzdtlt8lhe9"); // int cnt; UNSUPPORTED("9zu5mdi1r78uwa3vbpf61c95d"); // fspan *ln = (fspan*)zmalloc(sizeof(fspan)); UNSUPPORTED("6k4lwsneas5kj0gght5yl0cwz"); // fitem *fi; UNSUPPORTED("6g93m1mz5i3cvqsrtk0010zx7"); // Dt_t *ilist = HTMLstate.fitemList; UNSUPPORTED("755rwhfp43ntyoieyof0bydox"); // cnt = dtsize(ilist); UNSUPPORTED("egxqlj0drkytzofn16fw10t2k"); // ln->lp.just = v; UNSUPPORTED("77njmf3w9m7xk714hk5o8hjv5"); // if (cnt) { UNSUPPORTED("6pui6q7pmbuh77j3mwflu6dh5"); // int i = 0; UNSUPPORTED("364dv1yyznq3ttfgmlficsnjl"); // ln->lp.nitems = cnt; UNSUPPORTED("8svd1o5xg6z1ni5xqndfxjfoa"); // ln->lp.items = (textspan_t*)zmalloc((cnt)*sizeof(textspan_t)); UNSUPPORTED("7jn3x6w0gczpwy9ly59swpxo0"); // fi = (fitem*)dtflatten(ilist); UNSUPPORTED("6mm1jtagzhgt1uvafv3xsnrps"); // for (; fi; fi = (fitem*)(((Dtlink_t*)((Dtlink_t*)fi))->right)) { UNSUPPORTED("4ubyu68yegzu2jnk1iubu6ior"); // /* NOTE: When fitemList is closed, it uses free_item, which only frees the container, UNSUPPORTED("dhebr74wsajvoittzd8u8d2f9"); // * not the contents, so this copy is safe. UNSUPPORTED("edw1ss2r31mqgsvca2gowi52v"); // */ UNSUPPORTED("e9w5vyh1n133n13q9qyjy9ozt"); // ln->lp.items[i] = fi->ti; UNSUPPORTED("1lo0ackow66iudrq1gb15y3ry"); // i++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("988zd9b8qbjkr2ruagx1lba6j"); // ln->lp.items = (textspan_t*)zmalloc(sizeof(textspan_t)); UNSUPPORTED("7olg12o4clx3ucbt1ovdkecgj"); // ln->lp.nitems = 1; UNSUPPORTED("9s20ql63zxmctegw4085j3fmx"); // ln->lp.items[0].str = strdup(""); UNSUPPORTED("2p1lktdlp9q8kh7c1ujxogs61"); // ln->lp.items[0].font = HTMLstate.fontstack->cfont; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("53hyx9r3svmvy8o9fi8qr4mzm"); // (*(((Dt_t*)(ilist))->searchf))((ilist),(void*)(0),0000100); UNSUPPORTED("8n0i45x1qnicbsjl3t906vaa8"); // (*(((Dt_t*)(HTMLstate.fspanList))->searchf))((HTMLstate.fspanList),(void*)(ln),0000001); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 az5nhw9enic3fddz8gnedxcju // static htmltxt_t* mkText(void) public static Object mkText(Object... arg) { UNSUPPORTED("ey6kc3f9ltt691wqrfmypaozl"); // static htmltxt_t* UNSUPPORTED("cjs0uzhgqb2fc7756tzv0vojf"); // mkText(void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6iv4xusq3ncisurzdtlt8lhe9"); // int cnt; UNSUPPORTED("3moicc1bb7tuz64d74jgr044"); // Dt_t * ispan = HTMLstate.fspanList; UNSUPPORTED("243kqn4v9kdemlqwu2dhg6pdy"); // fspan *fl ; UNSUPPORTED("e188sj25s1ko32xdk40qd877e"); // htmltxt_t *hft = (htmltxt_t*)zmalloc(sizeof(htmltxt_t)); UNSUPPORTED("ag6dt4kjzoulw1j0mhwbokdid"); // if (dtsize (HTMLstate.fitemList)) UNSUPPORTED("5madleux7wg2vumi9pl1bdv8s"); // appendFLineList (0); UNSUPPORTED("ykhei8t74adzsrnktxe4u6wc"); // cnt = dtsize(ispan); UNSUPPORTED("57eezqowalifcx3ocgmtz5gmp"); // hft->nspans = cnt; UNSUPPORTED("77njmf3w9m7xk714hk5o8hjv5"); // if (cnt) { UNSUPPORTED("87wlv7rom7negdjfub75atom0"); // int i = 0; UNSUPPORTED("btg64tgzrm3tsx7w2cjgtkt5g"); // hft->spans = (htextspan_t*)zmalloc((cnt)*sizeof(htextspan_t)); UNSUPPORTED("2yjlc0huszsbrp4p6mljwnqez"); // for(fl=(fspan *)(*(((Dt_t*)(ispan))->searchf))((ispan),(void*)(0),0000200); fl; fl=(fspan *)(*(((Dt_t*)(ispan))->searchf))((ispan),(void*)(fl),0000010)) { UNSUPPORTED("o7nqqo5invz9fssk2z7yxvdk"); // hft->spans[i] = fl->lp; UNSUPPORTED("5at77pazhse3utac5y67rfrpg"); // i++; UNSUPPORTED("klxoy56t7b20wxnwqm0qoofz"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ewiox4giau2t8uc31b4m8cbos"); // (*(((Dt_t*)(ispan))->searchf))((ispan),(void*)(0),0000100); UNSUPPORTED("dnp8w4len77c0t9hp9b2j5nye"); // return hft; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 23wdl6n60rq8jhsrdhgamjwls // static pitem* lastRow (void) public static Object lastRow(Object... arg) { UNSUPPORTED("d6gug3eud9z5l6tlnca1w8use"); // static pitem* lastRow (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7yjzj8jcniwi23ahtmhu8f7cp"); // htmltbl_t* tbl = HTMLstate.tblstack; UNSUPPORTED("f25khljxvq2epkwsa4mgzdc5v"); // pitem* sp = (*(((Dt_t*)(tbl->u.p.rows))->searchf))((tbl->u.p.rows),(void*)(0),0000400); UNSUPPORTED("1nblb3mrq7wrxkm06v7yvyin"); // return sp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8t79v9x9xl9lbtpdi34ff3phe // static pitem* addRow (void) public static Object addRow(Object... arg) { UNSUPPORTED("743f44ql6wbf8utttlgok2tms"); // static pitem* addRow (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("76ds0mb9gofz9vcw348tw74pq"); // Dt_t* dp = dtopen(&cellDisc, Dtqueue); UNSUPPORTED("7yjzj8jcniwi23ahtmhu8f7cp"); // htmltbl_t* tbl = HTMLstate.tblstack; UNSUPPORTED("6zaqqicaaq9xlvykkckhmxbyy"); // pitem* sp = (pitem*)zmalloc(sizeof(pitem)); UNSUPPORTED("aqkc4euu97i25dyyrncpttmit"); // sp->u.rp = dp; UNSUPPORTED("3fun70bheg258bgk09490w0sh"); // if (tbl->flags & 2) UNSUPPORTED("dmgfwq598sxflnnqkc7ad1b32"); // sp->ruled = 1; UNSUPPORTED("2g348nq1krudex6ifjgv27wyg"); // (*(((Dt_t*)(tbl->u.p.rows))->searchf))((tbl->u.p.rows),(void*)(sp),0000001); UNSUPPORTED("1nblb3mrq7wrxkm06v7yvyin"); // return sp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bdjjvqfdlg0yrp580jpv43hw4 // static void setCell (htmlcell_t* cp, void* obj, int kind) public static Object setCell(Object... arg) { UNSUPPORTED("a6ymak98eyh09432vmvpogipt"); // static void setCell (htmlcell_t* cp, void* obj, int kind) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6zaqqicaaq9xlvykkckhmxbyy"); // pitem* sp = (pitem*)zmalloc(sizeof(pitem)); UNSUPPORTED("7yjzj8jcniwi23ahtmhu8f7cp"); // htmltbl_t* tbl = HTMLstate.tblstack; UNSUPPORTED("qw6vdwg3yid1pdaz0qrjppaj"); // pitem* rp = (pitem*)(*(((Dt_t*)(tbl->u.p.rows))->searchf))((tbl->u.p.rows),(void*)(0),0000400); UNSUPPORTED("d6k77mp03y46jligheanx94dg"); // Dt_t* row = rp->u.rp; UNSUPPORTED("e9s2ni07poro3gct8f1ya0l7a"); // sp->u.cp = cp; UNSUPPORTED("2ajp3r1vfd0xl0s07q51tgkhd"); // (*(((Dt_t*)(row))->searchf))((row),(void*)(sp),0000001); UNSUPPORTED("73ausrcgminfktwghjhuctrdc"); // cp->child.kind = kind; UNSUPPORTED("8ianzmahfvf64a86twwxp86jp"); // if (tbl->flags & 1) UNSUPPORTED("dpw9bdo34u2djuw3g3a6rsn0z"); // cp->ruled = 1; UNSUPPORTED("a2drbo5m3cl97fd4khnnp0x1x"); // if(kind == 2) UNSUPPORTED("g98aqixq093hbgc60377v9xj"); // cp->child.u.txt = (htmltxt_t*)obj; UNSUPPORTED("7m1dgczjy0huec6a30h9cbkf"); // else if (kind == 3) UNSUPPORTED("6v92mg93bq298eauy1s1dn2kv"); // cp->child.u.img = (htmlimg_t*)obj; UNSUPPORTED("8983svt6g1kt3l45bd6ju9mw6"); // else UNSUPPORTED("5mgc55pb51xtqrskdy6lupjj9"); // cp->child.u.tbl = (htmltbl_t*)obj; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 86xg3md174m9d0hdj7lm1r8h8 // static htmllabel_t* mkLabel (void* obj, int kind) public static Object mkLabel(Object... arg) { UNSUPPORTED("68olevx5qr27d1plva3kh6e5d"); // static htmllabel_t* mkLabel (void* obj, int kind) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8ke9r2q8imfs4uovjyrc0m582"); // htmllabel_t* lp = (htmllabel_t*)zmalloc(sizeof(htmllabel_t)); UNSUPPORTED("43clk7pdhozybye425c5vxbqs"); // lp->kind = kind; UNSUPPORTED("59s9lao6qui2fmj9eef4wmr0l"); // if (kind == 2) UNSUPPORTED("11pai3t9lnogky3p7m0vpbty"); // lp->u.txt = (htmltxt_t*)obj; UNSUPPORTED("8983svt6g1kt3l45bd6ju9mw6"); // else UNSUPPORTED("8ag7q576emt2v7de68p7zi1vg"); // lp->u.tbl = (htmltbl_t*)obj; UNSUPPORTED("75meu722lubo2wmb1bahwmv1u"); // return lp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cidlq4a037zcw1viv3yj5dm3o // static void freeFontstack(void) public static Object freeFontstack(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("5n6hadg2nnxbykkls8yuljrux"); // freeFontstack(void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7j1n1whz7ns8m658dgt3rf7m6"); // sfont_t* s; UNSUPPORTED("45fzuya14aqi3ydx2mx7qy7li"); // sfont_t* next; UNSUPPORTED("820gi48ql7mjvm02zqrlrk2j0"); // for (s = HTMLstate.fontstack; (next = s->pfont); s = next) { UNSUPPORTED("d285xdylp7oj81aar06ulc7kh"); // free(s); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ewyzfsvy1gms3jg0repa41hey // static void cleanup (void) public static Object cleanup(Object... arg) { UNSUPPORTED("4udlidhjhh186l60tnwrndods"); // static void cleanup (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("61xcnqsgba2hv68f84p8whcvy"); // htmltbl_t* tp = HTMLstate.tblstack; UNSUPPORTED("ej2qxu72gf97u4o99kg06l2bl"); // htmltbl_t* next; UNSUPPORTED("bzbpzh7k9m3nsya6a8e0qzuns"); // if (HTMLstate.lbl) { UNSUPPORTED("3we2rhjt0mgfjgbczne6cjhxh"); // free_html_label (HTMLstate.lbl,1); UNSUPPORTED("7kxmztohe6skbt7owagd4nyjj"); // HTMLstate.lbl = NULL; UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("d33vybg2nal9pqyqnsooy2a3e"); // cellDisc.freef = (Dtfree_f)free_citem; UNSUPPORTED("bep9lbei2j0r4rjc1dkx7zkzd"); // while (tp) { UNSUPPORTED("9t026l68ed6imumb8ij7yhzh5"); // next = tp->u.p.prev; UNSUPPORTED("8f6vdwgdm8fjshmxo6ei6l4x9"); // cleanTbl (tp); UNSUPPORTED("314eojl0ohy55hom5nx2fwyfi"); // tp = next; UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("caxitvipeydnmdgworfislzhs"); // cellDisc.freef = (Dtfree_f)free_item; UNSUPPORTED("dlpulny8fqkx25ms5nmppj3vz"); // fstrDisc.freef = (Dtfree_f)free_fitem; UNSUPPORTED("33zrdedw85v7v1x9nbd1ckxoa"); // (*(((Dt_t*)(HTMLstate.fitemList))->searchf))((HTMLstate.fitemList),(void*)(0),0000100); UNSUPPORTED("3869gecvlcnxgmpwhtwhrjm0d"); // fstrDisc.freef = (Dtfree_f)free_item; UNSUPPORTED("7odzhifod2x35wc5tbi6ix4be"); // fspanDisc.freef = (Dtfree_f)free_fspan; UNSUPPORTED("ba01mdd5f4vk5utis9ha5e30"); // (*(((Dt_t*)(HTMLstate.fspanList))->searchf))((HTMLstate.fspanList),(void*)(0),0000100); UNSUPPORTED("eav0sd07lj1ql28b4mb7w2uaf"); // fspanDisc.freef = (Dtfree_f)free_item; UNSUPPORTED("98nbz0do2np8v147v1gegnrbi"); // freeFontstack(); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8bl8i4l3vq6849ak8bwey6mzk // static int nonSpace (char* s) public static Object nonSpace(Object... arg) { UNSUPPORTED("48jbmcx7d591k3p9ro9ty0m3g"); // static int nonSpace (char* s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8jg9j6uvh89uy3p6606fh8a2w"); // char c; UNSUPPORTED("efa7ei8mz8h7lvxh5wqq5wc33"); // while ((c = *s++)) { UNSUPPORTED("9sludt6qrbcf6zk9hm3gysufj"); // if (c != ' ') return 1; UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("bid671dovx1rdiquw5vm3fttj"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 87ios5hi5757k5miu6wlrum5w // static void pushFont (textfont_t *fp) public static Object pushFont(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("a9n2aesdy1bywbrbze7gmkn17"); // pushFont (textfont_t *fp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("691ytrxzc6cij5vazhtnuoy0n"); // sfont_t *ft = (sfont_t*)zmalloc(sizeof(sfont_t)); UNSUPPORTED("31e675d7cp5uavv6vydzkii0t"); // textfont_t* curfont = HTMLstate.fontstack->cfont; UNSUPPORTED("18b0yq7hsh4rq27jpn4mqwq34"); // textfont_t f = *fp; UNSUPPORTED("e31ng2kblbzn273ypcnmjro76"); // if (curfont) { UNSUPPORTED("2tpx9chys0c52v4xe4hacak69"); // if (!f.color && curfont->color) UNSUPPORTED("1n368po1sgerkqtzfsd32203n"); // f.color = curfont->color; UNSUPPORTED("ak5bw2q3nrfw2txz5a14sq6ha"); // if ((f.size < 0.0) && (curfont->size >= 0.0)) UNSUPPORTED("aimplrk4u9egypl4ejx0x9b8d"); // f.size = curfont->size; UNSUPPORTED("4660knpp4fazggl9yqsfxdr1e"); // if (!f.name && curfont->name) UNSUPPORTED("e43b7fxbbvqjlwtsywbv167k"); // f.name = curfont->name; UNSUPPORTED("d41lsjow2yoew5l40lj5se1wt"); // if (curfont->flags) UNSUPPORTED("2c7fsvh63forfjfugu4grsiiq"); // f.flags |= curfont->flags; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5jm1g08zslbh1e16seen6jgis"); // ft->cfont = (*(((Dt_t*)(HTMLstate.gvc->textfont_dt))->searchf))((HTMLstate.gvc->textfont_dt),(void*)(&f),0000001); UNSUPPORTED("3ptdxuzgcqapdr5xju6zt62cj"); // ft->pfont = HTMLstate.fontstack; UNSUPPORTED("3mdpaak1y5sxe2o2upjzfpy1e"); // HTMLstate.fontstack = ft; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9p42c6b9fpbzacsbf6pelg18i // static void popFont (void) public static Object popFont(Object... arg) { UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void UNSUPPORTED("hvm5yavuo5ntqsxkc2wna9oi"); // popFont (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5ab6yk7kzqxbhn54ye5aovrb0"); // sfont_t* curfont = HTMLstate.fontstack; UNSUPPORTED("3enh12gz0ie5d7arcrnm4g0ck"); // sfont_t* prevfont = curfont->pfont; UNSUPPORTED("7lf7opedggfvxwj1hqhdb9wfr"); // free (curfont); UNSUPPORTED("5ono575lrg0e9hs3qnjqspxg1"); // HTMLstate.fontstack = prevfont; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 dit6nudlsu8gsbu1nk0oaxmdv // extern YYSTYPE htmllval //1 x1gckyomih68oczs7yvmm3h5 // typedef unsigned char htmltype_uint8 //1 31jz3v9hejkp1rmq8mz0o5w47 // typedef short int htmltype_int8 //1 dpd60mlqyvzm22gkckal3qm7v // typedef unsigned short int htmltype_uint16 //1 dcdckw2y7pzkg53vllmegf4rq // typedef short int htmltype_int16 //1 9jdkbskvde5424jxt2dovm2rl // static const htmltype_uint8 htmltranslate[] = //1 2cl550jmnu3b16nwlqov00hw4 // static const htmltype_uint8 htmlr1[] = //1 6avpc7f6w1kv4uj7k9dc6qbvk // static const htmltype_uint8 htmlr2[] = //1 bpc8qqltftv1euiiz1zgki9nk // static const htmltype_uint8 htmldefact[] = //1 a0c9rr2ke8fawmhjvlibt4drp // static const htmltype_int8 htmldefgoto[] = //1 4ejlmzv42imv4ti54zwtoi31x // static const htmltype_int16 htmlpact[] = //1 4l47s5oz92y80p13c7zq77zvu // static const htmltype_int16 htmlpgoto[] = //1 4919zi7ri51whrqbp6bdfs056 // static const htmltype_int8 htmltable[] = //1 9jk1ohz4jxvdrwn1nsszaiu5y // static const htmltype_int8 htmlcheck[] = //1 e7nz3wy38vdelp0l9owm0wpm7 // static const htmltype_uint8 htmlstos[] = //3 efmks9lkxb4y34urxsqx4bs0 // static void htmldestruct (htmlmsg, htmltype, htmlvaluep) const char *htmlmsg public static Object htmldestruct(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("bfzx4tu82rlmwjppehpr1dqu5"); // htmldestruct (htmlmsg, htmltype, htmlvaluep) UNSUPPORTED("3awpkepa46g6buzdmvnec62v"); // const char *htmlmsg; UNSUPPORTED("7ihfhmwdck9c8mh20noq9z7fh"); // int htmltype; UNSUPPORTED("7d7rrr5zwtdnq8k1a9amkko57"); // YYSTYPE *htmlvaluep; UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9yf7lyfc618lbtjkyl2j86rtw"); // ((void) (htmlvaluep)); UNSUPPORTED("eaa8zribdcfr2vai4hp1pq1ua"); // if (!htmlmsg) UNSUPPORTED("25hpdqk09mvipn2py35e3lrmo"); // htmlmsg = "Deleting"; UNSUPPORTED("3nswekisilyfverb25pazm044"); // ; UNSUPPORTED("a3t3q76da1if05y02v50rpwqp"); // switch (htmltype) UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("5vhsnixpf0pg2oz10ps2valyn"); // default: UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 4oas2ko3fiqnt2h6t9oqu7wis // int htmlchar //1 dlvwi3aalg35jpb4xc64zpawu // YYSTYPE htmllval //1 7unt62uxeuyzgt50yuio39e4x // int htmlnerrs //3 c3v0uk0nmo3q2j3wobf6794sb // int htmlparse () public static Object htmlparse(Object... arg) { UNSUPPORTED("etrjsq5w49uo9jq5pzifohkqw"); // int UNSUPPORTED("1h4o50xtpcoa3y6zlpkkxk6ib"); // htmlparse () UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("62tk7c59ipergrlj1fduk0pdq"); // int htmlstate; UNSUPPORTED("9s1gvm4tg9jub4ua9d2z36uh"); // /* Number of tokens to shift before error messages enabled. */ UNSUPPORTED("35ezit38p47de8cupukz8db82"); // int htmlerrstatus; UNSUPPORTED("9ok1ifmve6y93u5i4275oxt1d"); // /* The stacks and their tools: UNSUPPORTED("bjeksbrfz8mqrkf0xy0wey64n"); // `htmlss': related to states. UNSUPPORTED("eld0t4ac0f0b0ic4l4rcsuiko"); // `htmlvs': related to semantic values. UNSUPPORTED("676c5582nxmrsmksg7dbypi2c"); // Refer to the stacks through separate pointers, to allow htmloverflow UNSUPPORTED("e8cfmvs5ozsrhl6v1u6mp3dw0"); // to reallocate them elsewhere. */ UNSUPPORTED("e0svr3ez9dsitn8x3e0ix2b6q"); // /* The state stack. */ UNSUPPORTED("dvsf2vaphifgcuy1elvib1zlh"); // htmltype_int16 htmlssa[200]; UNSUPPORTED("4dkqe7g2vzqf61fnma038bjlw"); // htmltype_int16 *htmlss; UNSUPPORTED("a1wlw53pguerjrw8d6gbuzs26"); // htmltype_int16 *htmlssp; UNSUPPORTED("3a5u4tdfyqrq2c72j4bf9ukca"); // /* The semantic value stack. */ UNSUPPORTED("4ufi2gs6chfc5vcrtl6p22i7w"); // YYSTYPE htmlvsa[200]; UNSUPPORTED("8o4i7pjkbavihzu0xwqdbe5jv"); // YYSTYPE *htmlvs; UNSUPPORTED("1k08c7vp1rk1e0fzde7qyb2yj"); // YYSTYPE *htmlvsp; UNSUPPORTED("bmzoj1sonj419ogzmu3k755r6"); // unsigned int htmlstacksize; UNSUPPORTED("c9d8i9an5qkgkxgokdmp3e9bz"); // int htmln; UNSUPPORTED("dn7s6wgv7lmh8pevqv91ju2ss"); // int htmlresult; UNSUPPORTED("15mkyt2y35y6b3kw61tcv89hz"); // /* Lookahead token as an internal (translated) token number. */ UNSUPPORTED("dbkl61t5ab3xhpe115qrsljzb"); // int htmltoken; UNSUPPORTED("8e8sr2gy45snswwlopuywd4"); // /* The variables used to return semantic value and location from the UNSUPPORTED("d4q0w76h1grh0723v2ors4nxs"); // action routines. */ UNSUPPORTED("70fy0dn2jgxihiqdid66zwr1b"); // YYSTYPE htmlval; UNSUPPORTED("8s5ggdw8hglgk87czklidx1pl"); // /* The number of symbols on the RHS of the reduced rule. UNSUPPORTED("d7da55fsvudhvjfgejvxp4301"); // Keep to zero when no symbol should be popped. */ UNSUPPORTED("pby8i05gnio1tx7xl02phkkl"); // int htmllen = 0; UNSUPPORTED("aa9z6jaxqu9w870phjets5pqw"); // htmltoken = 0; UNSUPPORTED("4entxav72jvsoxqih63oyh85r"); // htmlss = htmlssa; UNSUPPORTED("ey6y39100zis36iu8ek1maq16"); // htmlvs = htmlvsa; UNSUPPORTED("ewmf53srdqssmd5l6u21dfa1c"); // htmlstacksize = 200; UNSUPPORTED("3nswekisilyfverb25pazm044"); // ; UNSUPPORTED("10i7gkv6rg0m7qpxuazy9xffi"); // htmlstate = 0; UNSUPPORTED("1rk2q02feqw4cthy5e57fmf2g"); // htmlerrstatus = 0; UNSUPPORTED("8id8dfn6laac87otcxbnhm1jn"); // htmlnerrs = 0; UNSUPPORTED("3jqhe6ta2bm9bcf4w2963okw2"); // htmlchar = (-2); /* Cause a token to be read. */ UNSUPPORTED("f0kbtpk40bbe7m53uwx0eezp4"); // /* Initialize stack pointers. UNSUPPORTED("d8dtor5u60ag1mqqgil372nvk"); // Waste one element of value and location stack UNSUPPORTED("7ev6rqep9cwoby6w6f1tx2osc"); // so that they stay on the same level as the state stack. UNSUPPORTED("yd2jbvtitsi6j7lrxgzvchcv"); // The wasted elements are never initialized. */ UNSUPPORTED("6epp6cmp94tukdce0ud6qfip4"); // htmlssp = htmlss; UNSUPPORTED("c6zy9hd78gy2pq3pr04gfndcn"); // htmlvsp = htmlvs; UNSUPPORTED("etd1ecxo5luu7rsmrk7qz72gt"); // goto htmlsetstate; UNSUPPORTED("4flvn46w2728mhozqf9kuosm2"); // /*------------------------------------------------------------. UNSUPPORTED("29nubdcfg783k6bp12tzf7kdf"); // | htmlnewstate -- Push a new state, which is found in htmlstate. | UNSUPPORTED("a6znfp1d4ixngc79hwpyrw4wp"); // `------------------------------------------------------------*/ UNSUPPORTED("2qqobrlmofilzusvouyjyss5x"); // htmlnewstate: UNSUPPORTED("ej0agaz4g5pjpstralb0dkmdd"); // /* In all cases, when you get here, the value and location stacks UNSUPPORTED("7wmq2lqpn4jmj4m6nxe2ndmc5"); // have just been pushed. So pushing a state here evens the stacks. */ UNSUPPORTED("2751c39cr4rnrxg5n7m7nx7ys"); // htmlssp++; UNSUPPORTED("c5u6emamg5qcrwzdqjnb9onrx"); // htmlsetstate: UNSUPPORTED("d92pzu0fz5qfvyngtbuxmvd23"); // *htmlssp = htmlstate; UNSUPPORTED("6qm7nvqgi9468k5d6roxibegt"); // if (htmlss + htmlstacksize - 1 <= htmlssp) UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("548pbbpfwcnj355codzyz202a"); // /* Get the current used size of the three stacks, in elements. */ UNSUPPORTED("dbjpb0ohfl5tqwx8j7iw7uz3m"); // unsigned int htmlsize = htmlssp - htmlss + 1; UNSUPPORTED("74tyblyhdau9tp40uzltqv3x7"); // /* Extend the stack our own way. */ UNSUPPORTED("26ytwmih7ma6cd4zk56mzubfl"); // if (10000 <= htmlstacksize) UNSUPPORTED("4mlk7t4o51xr98x3ba6uvbr5q"); // goto htmlexhaustedlab; UNSUPPORTED("87gqai73rnzhld59bjv3egqcl"); // htmlstacksize *= 2; UNSUPPORTED("ag1eorudzykaegt7mm2znnosf"); // if (10000 < htmlstacksize) UNSUPPORTED("c1vtabr3qz2or3uxoxp86czk9"); // htmlstacksize = 10000; UNSUPPORTED("cdsm9962a8k19vkufzg36hzc8"); // { UNSUPPORTED("6g01e75skxcki12flc6g01l89"); // htmltype_int16 *htmlss1 = htmlss; UNSUPPORTED("73qjl9g5kukkejwoiw0mv9894"); // union htmlalloc *htmlptr = UNSUPPORTED("pbab6t68kdfgwefi6c9gspq3"); // (union htmlalloc *) malloc (((htmlstacksize) * (sizeof (htmltype_int16) + sizeof (YYSTYPE)) + (sizeof (union htmlalloc) - 1))); UNSUPPORTED("4k5xl2qqq4d9ec7ks949npzkp"); // if (! htmlptr) UNSUPPORTED("9mqexdn4dvy83xq3gxn5hndcz"); // goto htmlexhaustedlab; UNSUPPORTED("3olfd74fb5aw885uvogcexnem"); // do { unsigned int htmlnewbytes; do { unsigned int htmli; for (htmli = 0; htmli < (htmlsize); htmli++) (&htmlptr->htmlss_alloc)[htmli] = (htmlss)[htmli]; } while ((0)); htmlss = &htmlptr->htmlss_alloc; htmlnewbytes = htmlstacksize * sizeof (*htmlss) + (sizeof (union htmlalloc) - 1); htmlptr += htmlnewbytes / sizeof (*htmlptr); } while ((0)); UNSUPPORTED("c0r80gc3ijlybyzvg7pxfqwmy"); // do { unsigned int htmlnewbytes; do { unsigned int htmli; for (htmli = 0; htmli < (htmlsize); htmli++) (&htmlptr->htmlvs_alloc)[htmli] = (htmlvs)[htmli]; } while ((0)); htmlvs = &htmlptr->htmlvs_alloc; htmlnewbytes = htmlstacksize * sizeof (*htmlvs) + (sizeof (union htmlalloc) - 1); htmlptr += htmlnewbytes / sizeof (*htmlptr); } while ((0)); UNSUPPORTED("a97chludrb34tylpbf69vt7wb"); // if (htmlss1 != htmlssa) UNSUPPORTED("7l4qx4ob4oyi2etdctrfdz2l3"); // free (htmlss1); UNSUPPORTED("dquo3qofk56ds5xl95lhvcthf"); // } UNSUPPORTED("es0c860ynkr022bk0tez2ise2"); // htmlssp = htmlss + htmlsize - 1; UNSUPPORTED("as9a97car6r3cgh7bctalzygu"); // htmlvsp = htmlvs + htmlsize - 1; UNSUPPORTED("3ejmh10g3kyn79v59obt4uwve"); // ; UNSUPPORTED("3eh7dcvg7k912klwk1971dzea"); // if (htmlss + htmlstacksize - 1 <= htmlssp) UNSUPPORTED("94rnqtiux3wthf9kn8utqcskz"); // goto htmlabortlab; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3nswekisilyfverb25pazm044"); // ; UNSUPPORTED("7ozhm9yo9yzwlyprtcubuyigx"); // if (htmlstate == 31) UNSUPPORTED("9u8ogsnknxr9ql3vkxgz8smsi"); // goto htmlacceptlab; UNSUPPORTED("coc3qaztrdssrpqadyzkhd3gn"); // goto htmlbackup; UNSUPPORTED("1js0t0ytcx8ywvz9tsx2kc95p"); // /*-----------. UNSUPPORTED("94huiatz1cws1vr5blejpzj8g"); // | htmlbackup. | UNSUPPORTED("dbmfwil8k8aqwvx0qac9r5n48"); // `-----------*/ UNSUPPORTED("3qq8lyp9d9glw5yd7xzch9nmv"); // htmlbackup: UNSUPPORTED("6yzm6oy5bmq3akecjcji6mxyb"); // /* Do appropriate processing given the current state. Read a UNSUPPORTED("3plrzglhiw3koxy90giytgoee"); // lookahead token if we need one and don't already have one. */ UNSUPPORTED("cbfd87dteogvv9rjyncz9jnkm"); // /* First try to decide what to do without reference to lookahead token. */ UNSUPPORTED("2a8s7ntnrbmo2gis2pg6txdu2"); // htmln = htmlpact[htmlstate]; UNSUPPORTED("clx73uhvg9uu1dy9qe0wyoqpi"); // if (((htmln) == (-82))) UNSUPPORTED("2cusegm507dcmw0w3d9n5ob5j"); // goto htmldefault; UNSUPPORTED("46jyau3ggxbt5nfv3rhpd6lxc"); // /* Not known => get a lookahead token if don't already have one. */ UNSUPPORTED("bax3bsy3o04vppl5jub837tlx"); // /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ UNSUPPORTED("aw1x1j7hwaqgxlp75kehavz9q"); // if (htmlchar == (-2)) UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("3ejmh10g3kyn79v59obt4uwve"); // ; UNSUPPORTED("90hryp89jjpc8no7mk4wb10hl"); // htmlchar = htmllex (); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6ket57yvgnkwbczbudkyb2fya"); // if (htmlchar <= 0) UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("ews12pthol75novd8hp8fkl1x"); // htmlchar = htmltoken = 0; UNSUPPORTED("3ejmh10g3kyn79v59obt4uwve"); // ; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8983svt6g1kt3l45bd6ju9mw6"); // else UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("84q66xdmm7egi73lpjcjdjc6q"); // htmltoken = ((unsigned int) (htmlchar) <= 295 ? htmltranslate[htmlchar] : 2); UNSUPPORTED("3ejmh10g3kyn79v59obt4uwve"); // ; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7lmyp30l6y4v0glydzcrxhs2d"); // /* If the proper action on seeing token YYTOKEN is to reduce or to UNSUPPORTED("b7crt9is4hw3fqusq1xx9sf6a"); // detect an error, take that action. */ UNSUPPORTED("34kbd1x8w690annnj75215h09"); // htmln += htmltoken; UNSUPPORTED("4halvyf2vhn5q7h9e0sbv873s"); // if (htmln < 0 || 271 < htmln || htmlcheck[htmln] != htmltoken) UNSUPPORTED("2cusegm507dcmw0w3d9n5ob5j"); // goto htmldefault; UNSUPPORTED("boi726ocp9qojc0h6nhl9vsgp"); // htmln = htmltable[htmln]; UNSUPPORTED("b8cb3dlwkrcfxu649zxqohgvj"); // if (htmln <= 0) UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("6mbeksrzh2gawgu5dkavj2est"); // if ((0)) UNSUPPORTED("4jg5atq0i4ew7z1g0djuzcy4n"); // goto htmlerrlab; UNSUPPORTED("88vjtb0kxfe4xg663gi8xjqth"); // htmln = -htmln; UNSUPPORTED("2qstfr7r0p3taeabl0j0yypeg"); // goto htmlreduce; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6m1h8vs57mr1pqnti7d1p21zm"); // /* Count tokens shifted since error; after three, turn off error UNSUPPORTED("71k349r438nfbibdaenrctckz"); // status. */ UNSUPPORTED("1ba7u5rrozxksvv7ue2ygoh"); // if (htmlerrstatus) UNSUPPORTED("93m3v5anc75abn6e089zd23lt"); // htmlerrstatus--; UNSUPPORTED("bg4fkvjteodqrz0juw1viqqjp"); // /* Shift the lookahead token. */ UNSUPPORTED("3nswekisilyfverb25pazm044"); // ; UNSUPPORTED("vmreafe95a9c5qif2txdddol"); // /* Discard the shifted token. */ UNSUPPORTED("c82uun4vuxwvsul28tm7jaekj"); // htmlchar = (-2); UNSUPPORTED("c7lyo4hbtrr9qa5r64z6spufb"); // htmlstate = htmln; UNSUPPORTED("769m6xe129uc5szy8zzxdhv2d"); // *++htmlvsp = htmllval; UNSUPPORTED("c663h0k0l1p8coybbax2cprhf"); // goto htmlnewstate; UNSUPPORTED("52wvjbtwrbu5hxceg6pcdel69"); // /*-----------------------------------------------------------. UNSUPPORTED("550agztbn4434mdivyv3u31ln"); // | htmldefault -- do the default action for the current state. | UNSUPPORTED("9hhkvyvbwlemtn3h1klxkqvhu"); // `-----------------------------------------------------------*/ UNSUPPORTED("dzkwny6bi2obnn3s2dp222uk5"); // htmldefault: UNSUPPORTED("b62gttk3vojz09hayw8tsgo3p"); // htmln = htmldefact[htmlstate]; UNSUPPORTED("7c7of9tjvujfa23zjkakkk86m"); // if (htmln == 0) UNSUPPORTED("4f3e6k654d2f7nkzlnujkv6uc"); // goto htmlerrlab; UNSUPPORTED("27qnktnicd3ya3e45nfofxekt"); // goto htmlreduce; UNSUPPORTED("e719ikbjilezocbt4m9kwl59z"); // /*-----------------------------. UNSUPPORTED("3tqmfg13qgkifqble8aw065q3"); // | htmlreduce -- Do a reduction. | UNSUPPORTED("22xw21uiel1yqgh9ekbbt357t"); // `-----------------------------*/ UNSUPPORTED("95xespimrldho8donazj10f0z"); // htmlreduce: UNSUPPORTED("29gq1qaploduu7kkt1k3b8m6r"); // /* htmln is the number of a rule to reduce with. */ UNSUPPORTED("a3n0mugy5xbdrpk8ds15iciis"); // htmllen = htmlr2[htmln]; UNSUPPORTED("1xow6gk24a2ai9mxr7uo7ja67"); // /* If YYLEN is nonzero, implement the default value of the action: UNSUPPORTED("2hk39ofhzlvc0dwqdyy9u0vqb"); // `$$ = $1'. UNSUPPORTED("z0dyb7fx7wbongcqyjgkdi93"); // Otherwise, the following line sets YYVAL to garbage. UNSUPPORTED("9bj8xv378tepxxvoutf7s2jey"); // This behavior is undocumented and Bison UNSUPPORTED("cxdh1gg9j5jy0oknt01shgx43"); // users should not rely upon it. Assigning to YYVAL UNSUPPORTED("d2ax79vvmf62r51efz5v31h1f"); // unconditionally makes the parser a bit smaller, and it avoids a UNSUPPORTED("jctvjfbzk1f2q35vsx7olb4"); // GCC warning that YYVAL may be used uninitialized. */ UNSUPPORTED("4kzxdrpbfkmonox1vcw5eyja4"); // htmlval = htmlvsp[1-htmllen]; UNSUPPORTED("3nswekisilyfverb25pazm044"); // ; UNSUPPORTED("7lkql8chv38sgwh4qwbqrilbz"); // switch (htmln) UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("7ywtj1dc9qm2wgh1sjqw8bog0"); // case 2: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("ah2zs0v0qqh6joibphexpozf2"); // { HTMLstate.lbl = mkLabel((htmlvsp[(2) - (3)].txt),2); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("4b2fuxeeiy5560zrwr84bw997"); // case 3: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("7b0edu0ae5neykrk7cf5ssskw"); // { HTMLstate.lbl = mkLabel((htmlvsp[(2) - (3)].tbl),1); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("9o9wpnyoqhlymcmbfbx4eoii3"); // case 4: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("1n3nvtp3qye71m9tv8pcveann"); // { cleanup(); goto htmlabortlab; } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("2l9i1e6ufz8i61ksw5x2douj"); // case 5: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("dhskox2sfaf7vqe01zwc52xch"); // { (htmlval.txt) = mkText(); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("aq0mcxx5aqy1tk410oeaicrz"); // case 8: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("8z66z0w2o50jn2ov9ttch7d4n"); // { appendFItemList(HTMLstate.str);} UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("3fjp05wa4on3vfha31n5uf9c3"); // case 9: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("9v7p9jjwfci70d78n6ydhduyj"); // {appendFLineList((htmlvsp[(1) - (1)].i));} UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("4wkftacr8qkkw7lq6winsirev"); // case 18: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("cia0qey5tfi2758qzo75k4r1a"); // { pushFont ((htmlvsp[(1) - (1)].font)); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("btnbf68hd81l8x43edgngqkn4"); // case 19: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("90nfzt90tr98p02wpfyghsiu"); // { popFont (); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("6b3z3u3dqncd4foiz9f4il304"); // case 20: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("e8qczq73ljl23tuukg4vd1swz"); // {pushFont((htmlvsp[(1) - (1)].font));} UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("epqpoh4lzr1gr3b0h7lv6suoj"); // case 21: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("1f2vasoxz080ueipaaxp22ppm"); // {popFont();} UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("9f8ykijwy76c3vifbbpux0n4y"); // case 22: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("e8qczq73ljl23tuukg4vd1swz"); // {pushFont((htmlvsp[(1) - (1)].font));} UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("csxcbt7njg0z17ocb9bzv53w9"); // case 23: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("1f2vasoxz080ueipaaxp22ppm"); // {popFont();} UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("90jn0veof2gkokrhklmj2yng4"); // case 24: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("e8qczq73ljl23tuukg4vd1swz"); // {pushFont((htmlvsp[(1) - (1)].font));} UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("a1zicssxikyxg7770ja6oi1qo"); // case 25: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("1f2vasoxz080ueipaaxp22ppm"); // {popFont();} UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("91777erp91zdakf2rq4nhm80d"); // case 26: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("e8qczq73ljl23tuukg4vd1swz"); // {pushFont((htmlvsp[(1) - (1)].font));} UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("10s9wf75pcu4xgky3vzfov0rr"); // case 27: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("1f2vasoxz080ueipaaxp22ppm"); // {popFont();} UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("1pcg7jpxjlrxymtxnqe2n0omu"); // case 28: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("e8qczq73ljl23tuukg4vd1swz"); // {pushFont((htmlvsp[(1) - (1)].font));} UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("2y6jol0ugwkre8ty8azrihcw8"); // case 29: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("1f2vasoxz080ueipaaxp22ppm"); // {popFont();} UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("3n69l4nxtlpullf9g4klblcml"); // case 30: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("e8qczq73ljl23tuukg4vd1swz"); // {pushFont((htmlvsp[(1) - (1)].font));} UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("2z2j2xsio9grsk7azwojofq1a"); // case 31: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("1f2vasoxz080ueipaaxp22ppm"); // {popFont();} UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("dgjfss93xjj8va3zpzsmwsc7s"); // case 32: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("e8qczq73ljl23tuukg4vd1swz"); // {pushFont((htmlvsp[(1) - (1)].font));} UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("9y3ycu2dl1ja9jadl9mg7jk67"); // case 33: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("1f2vasoxz080ueipaaxp22ppm"); // {popFont();} UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("esz4cbak5l686zq9r9zbi7yx5"); // case 34: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("3yzzoqblzdwwpw1wlgq3f1f04"); // { (htmlval.i) = (htmlvsp[(1) - (2)].i); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("eestp885g0ixxylrl2yz4l4jk"); // case 35: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("dnna54cmdi58ik8c0goecex1s"); // { (htmlval.i) = (htmlvsp[(1) - (1)].i); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("av4z5qte05unsmsl8oy2jw5wh"); // case 38: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("37vabglvl5ih3c2yuds3fywqz"); // { UNSUPPORTED("ewpf9i8j025kajqhi528c19ql"); // if (nonSpace((((((HTMLstate.str)->ptr >= (HTMLstate.str)->eptr) ? agxbmore(HTMLstate.str,1) : 0), (int)(*(HTMLstate.str)->ptr++ = ((unsigned char)'\0'))),(char*)((HTMLstate.str)->ptr = (HTMLstate.str)->buf)))) { UNSUPPORTED("338qdumt8habcjmp30xbzvrkz"); // htmlerror ("Syntax error: non-space string used before "); UNSUPPORTED("9r57lrawwpl0gg3it2vn6ob9b"); // cleanup(); goto htmlabortlab; UNSUPPORTED("4v3ujrl58y59e7pqk0ke5t564"); // } UNSUPPORTED("590uk3khb9z1ux8u67qoyo5pm"); // (htmlvsp[(2) - (2)].tbl)->u.p.prev = HTMLstate.tblstack; UNSUPPORTED("9mypcdq2tul8wnq3jy3vrwzqk"); // (htmlvsp[(2) - (2)].tbl)->u.p.rows = dtopen(&rowDisc, Dtqueue); UNSUPPORTED("4pl4jraa22oxy62260ktc2w1n"); // HTMLstate.tblstack = (htmlvsp[(2) - (2)].tbl); UNSUPPORTED("464k8vyd8pje5qwl5tx0u9bzb"); // (htmlvsp[(2) - (2)].tbl)->font = HTMLstate.fontstack->cfont; UNSUPPORTED("eqcw1dykacq06vtk7ccf8uozu"); // (htmlval.tbl) = (htmlvsp[(2) - (2)].tbl); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("clipffhxj206f2zoz5tskxfso"); // case 39: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("ewpf9i8j025kajqhi528c19ql"); // if (nonSpace((((((HTMLstate.str)->ptr >= (HTMLstate.str)->eptr) ? agxbmore(HTMLstate.str,1) : 0), (int)(*(HTMLstate.str)->ptr++ = ((unsigned char)'\0'))),(char*)((HTMLstate.str)->ptr = (HTMLstate.str)->buf)))) { UNSUPPORTED("et5u9t37wg1ho6shuajarku6o"); // htmlerror ("Syntax error: non-space string used after
"); UNSUPPORTED("9r57lrawwpl0gg3it2vn6ob9b"); // cleanup(); goto htmlabortlab; UNSUPPORTED("4v3ujrl58y59e7pqk0ke5t564"); // } UNSUPPORTED("cngbw12mm3b00wmxzcb5kuivk"); // (htmlval.tbl) = HTMLstate.tblstack; UNSUPPORTED("186brzy420t3w4it4fgx6ijl8"); // HTMLstate.tblstack = HTMLstate.tblstack->u.p.prev; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("508xojiq76e68ysea7ccx0988"); // case 40: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("1961lax54v153ekh91m0fix4j"); // { (htmlval.tbl) = (htmlvsp[(1) - (1)].tbl); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("707q21176uh540icjdkmho8lp"); // case 41: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("2c7tp5g9gnd46lw9atbzj9g8l"); // { (htmlval.tbl)=(htmlvsp[(2) - (3)].tbl); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("afkusc5gt7341vg6q20kyt3r0"); // case 42: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("2c7tp5g9gnd46lw9atbzj9g8l"); // { (htmlval.tbl)=(htmlvsp[(2) - (3)].tbl); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("aw1w7mfmqa9ga8wr6x4u6nbju"); // case 43: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("2c7tp5g9gnd46lw9atbzj9g8l"); // { (htmlval.tbl)=(htmlvsp[(2) - (3)].tbl); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("alyqwgnskt6d6wilhbz1voo06"); // case 44: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("2c7tp5g9gnd46lw9atbzj9g8l"); // { (htmlval.tbl)=(htmlvsp[(2) - (3)].tbl); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("23po4ixywlwb8futv80yuc377"); // case 45: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("2c7tp5g9gnd46lw9atbzj9g8l"); // { (htmlval.tbl)=(htmlvsp[(2) - (3)].tbl); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("co51vw9d73gymlc8231s1jobg"); // case 48: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("7vnv5jx3hrknt46g99ujh9d1n"); // { (htmlval.p) = (htmlvsp[(1) - (1)].p); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("3gd6s52j3cevgz1ud9ys8mmpu"); // case 49: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("8u2opo0hv8qogogtryacsweg2"); // { (htmlval.p) = (htmlvsp[(2) - (2)].p); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("4hiji17koy9b0nvi4qcb7f0yn"); // case 50: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("bf8q1jk3octcdukgfu0ape1wu"); // { (htmlvsp[(1) - (3)].p)->ruled = 1; (htmlval.p) = (htmlvsp[(3) - (3)].p); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("605ei0ilu3nz1gtra52oi7mz3"); // case 51: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("2yogfcs5uhf5ebch8wotuiuoc"); // { addRow (); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("9qbtgt2eyxxuukc88ljehppv1"); // case 52: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("1a7rveoo2qzi2o7uoju1l5rhh"); // { (htmlval.p) = lastRow(); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("a5l2sixwhiv4x59rzexutoo1"); // case 53: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("byhxvkifsh7vwq5dl6e5h8ion"); // { (htmlval.cell) = (htmlvsp[(1) - (1)].cell); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("d9qqg2poxec5i2gk2tlzjceze"); // case 54: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("d18xjbl64b86qw7e2yoqcg1q5"); // { (htmlval.cell) = (htmlvsp[(2) - (2)].cell); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("19bjcrzc7duy98u3gs54bkn75"); // case 55: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("a3ug5yuidqw370oyrodag12om"); // { (htmlvsp[(1) - (3)].cell)->ruled |= 1; (htmlval.cell) = (htmlvsp[(3) - (3)].cell); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("67uutyij1gj1990fya85n5ky9"); // case 56: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("2mr5xhydq1atn13mwhmbrfbgw"); // { setCell((htmlvsp[(1) - (2)].cell),(htmlvsp[(2) - (2)].tbl),1); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("959w7yr2dhhobu7nk3tnemg3n"); // case 57: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("8cwbrevgxb23kwvd1ktbrj7gf"); // { (htmlval.cell) = (htmlvsp[(1) - (4)].cell); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("p7d04q56jydruu4g4mkcl0sv"); // case 58: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("5m72e6wtneamm6ebfhy92hpah"); // { setCell((htmlvsp[(1) - (2)].cell),(htmlvsp[(2) - (2)].txt),2); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("2e8vk62ndof1wckppsf3h1s08"); // case 59: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("8cwbrevgxb23kwvd1ktbrj7gf"); // { (htmlval.cell) = (htmlvsp[(1) - (4)].cell); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("datyn4rldj3j181mig7lm4p15"); // case 60: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("b3utjfd3rmn2f9h6i25w1py22"); // { setCell((htmlvsp[(1) - (2)].cell),(htmlvsp[(2) - (2)].img),3); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("arwsoeo1a8oc675m9cdqjutkj"); // case 61: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("8cwbrevgxb23kwvd1ktbrj7gf"); // { (htmlval.cell) = (htmlvsp[(1) - (4)].cell); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("dvs3metp9y50zqp24wirfa2mt"); // case 62: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("b8wwv09322ks29oox9p4ixlbf"); // { setCell((htmlvsp[(1) - (1)].cell),mkText(),2); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("bumsxvl14bzsf1d8ynzopdhvp"); // case 63: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("6orbcijshpuell53yiuig421k"); // { (htmlval.cell) = (htmlvsp[(1) - (3)].cell); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("cif7nn92zrlfslvnv5c4lpoku"); // case 64: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("c96y3n361innrbk53th9a7qkk"); // { (htmlval.img) = (htmlvsp[(1) - (2)].img); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("dxemu7derx72r4fpo6fzfantn"); // case 65: UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("97oa6k8kz5ke4v3eaknzgmh4g"); // { (htmlval.img) = (htmlvsp[(1) - (1)].img); } UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("8sch3zvqi27y4ab9h9s76ge3l"); // /* Line 1787 of yacc.c */ UNSUPPORTED("dlej2d1ppih1bnw53vhocc61k"); // default: break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("iekbchkdfqskjw9ynyxgcn9a"); // /* User semantic actions sometimes alter htmlchar, and that requires UNSUPPORTED("5c46um0ycteiasc0knv5w1vvj"); // that htmltoken be updated with the new translation. We take the UNSUPPORTED("8ggwt6kwgt9e58xuflmz2mjt3"); // approach of translating immediately before every use of htmltoken. UNSUPPORTED("5egmt4bmrda5rwmq0fxaut100"); // One alternative is translating here after every semantic action, UNSUPPORTED("cbfgp6r4p0aww4ln7e4wjq5rg"); // but that translation would be missed if the semantic action invokes UNSUPPORTED("88rydnmcc693ix76nkm304dsp"); // YYABORT, YYACCEPT, or YYERROR immediately after altering htmlchar or UNSUPPORTED("c4u72wy240sife8xvhjcdf3y"); // if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an UNSUPPORTED("9oqy8bmho7vno5ewpwljpvk7k"); // incorrect destructor might then be invoked immediately. In the UNSUPPORTED("2dm4du9w60sge1uyx4vrwgtuv"); // case of YYERROR or YYBACKUP, subsequent parser actions might lead UNSUPPORTED("55ajnkklldzargdu2v7xxw8jh"); // to an incorrect destructor call or verbose syntax error message UNSUPPORTED("2w6gaiusmvs9119tusfj7wmgn"); // before the lookahead is translated. */ UNSUPPORTED("3nswekisilyfverb25pazm044"); // ; UNSUPPORTED("c7j4t24hd7cwzrmx18y9iqwdh"); // (htmlvsp -= (htmllen), htmlssp -= (htmllen)); UNSUPPORTED("bz286e9y9g0xdwt8742rmztvj"); // htmllen = 0; UNSUPPORTED("3nswekisilyfverb25pazm044"); // ; UNSUPPORTED("5lqsu0sbtbs4inng6cq54owp8"); // *++htmlvsp = htmlval; UNSUPPORTED("8zf4hex7pjvkzs6628u0usoop"); // /* Now `shift' the result of the reduction. Determine what state UNSUPPORTED("9p956m8qfuj78tnsyhxtvs3t4"); // that goes to, based on the state we popped back to and the rule UNSUPPORTED("2sr0m6m0qte5wg0zclc83vtln"); // number reduced by. */ UNSUPPORTED("8jz2j9zmtqrogcli2jzhbbwi6"); // htmln = htmlr1[htmln]; UNSUPPORTED("5ixiqahnqkjv8q3m3of6vehl7"); // htmlstate = htmlpgoto[htmln - 41] + *htmlssp; UNSUPPORTED("76jgop7fzcft7svaac9elxf5b"); // if (0 <= htmlstate && htmlstate <= 271 && htmlcheck[htmlstate] == *htmlssp) UNSUPPORTED("cyell8crufho8sj526w9dpa9r"); // htmlstate = htmltable[htmlstate]; UNSUPPORTED("8983svt6g1kt3l45bd6ju9mw6"); // else UNSUPPORTED("ax3i51ewdb6vli0xfxfpo74le"); // htmlstate = htmldefgoto[htmln - 41]; UNSUPPORTED("c663h0k0l1p8coybbax2cprhf"); // goto htmlnewstate; UNSUPPORTED("brpyacmu3j2c5b5b57c44c6xg"); // /*------------------------------------. UNSUPPORTED("1rjyusg55pk61pcfnxvsb0040"); // | htmlerrlab -- here on detecting error | UNSUPPORTED("46kmo9tkqrq2trhedjhrmq5iu"); // `------------------------------------*/ UNSUPPORTED("9d517ijj31l5l3ckzxd4p2znp"); // htmlerrlab: UNSUPPORTED("6pctfudiscetk242w9vfsytui"); // /* Make sure we have latest lookahead translation. See comments at UNSUPPORTED("9z8lh3976ui2i6adwx4bu8xtu"); // user semantic actions for why this is necessary. */ UNSUPPORTED("6z736i64t6r2qzs9milgcdk1g"); // htmltoken = htmlchar == (-2) ? (-2) : ((unsigned int) (htmlchar) <= 295 ? htmltranslate[htmlchar] : 2); UNSUPPORTED("4yyok9q9sqmbmxchbquk9rz3a"); // /* If not already recovering from an error, report this error. */ UNSUPPORTED("bm2loeytnip4ktaxldi733h6m"); // if (!htmlerrstatus) UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("buq37ww7nuj62jmmib12r1mwh"); // ++htmlnerrs; UNSUPPORTED("1bpzuhw3denyecvhx8asdu461"); // htmlerror ("syntax error"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8rogseo26ujq8xs4gggbm7cuw"); // if (htmlerrstatus == 3) UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("3jyg22xuaw01ib5n6y8iv3xxr"); // /* If just tried and failed to reuse lookahead token after an UNSUPPORTED("4zj2myg3clgam20xdvt28usk8"); // error, discard it. */ UNSUPPORTED("882e32a616vrj74bwf7wci72l"); // if (htmlchar <= 0) UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("ps0ydhmk8cvulxq94uiebnl3"); // /* Return failure if at end of input. */ UNSUPPORTED("5vfha8pnevahcje16j3nanluo"); // if (htmlchar == 0) UNSUPPORTED("bexuvhp9bbor4sm4tq9c3mqvk"); // goto htmlabortlab; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("6ckiucqebiz712rdwog4hsrrz"); // htmldestruct ("Error: discarding", UNSUPPORTED("csou9g15a99mvw0r7cibdqx9h"); // htmltoken, &htmllval); UNSUPPORTED("ch9nagg8nbc7qnffa8prfjqye"); // htmlchar = (-2); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("cngu0btwjacz5b793e8yvi9m1"); // /* Else will try to reuse lookahead token after shifting the error UNSUPPORTED("38vbb7wijegv8on4kj8r2jh3w"); // token. */ UNSUPPORTED("7t9hql86y7nqz2u0lmuofwnz4"); // goto htmlerrlab1; UNSUPPORTED("6iskxmjpvgrnnac6655f5jk67"); // /*---------------------------------------------------. UNSUPPORTED("iicgdcdwq0m5nosdiw4izj9x"); // | htmlerrorlab -- error raised explicitly by YYERROR. | UNSUPPORTED("6a0f8547ydra66tf81ssie9pn"); // `---------------------------------------------------*/ UNSUPPORTED("4i1l4p9hiar4ig5bquwi2jihf"); // htmlerrorlab: UNSUPPORTED("skx5cc7fpyqelhc1lbzwq6gy"); // /* Pacify compilers like GCC when the user code never invokes UNSUPPORTED("4s75galk93le3pveqhpirxulu"); // YYERROR and the label htmlerrorlab therefore never appears in user UNSUPPORTED("2cx96j1h5f1sf0pyotl6w1g31"); // code. */ UNSUPPORTED("9850ib9fy0bgpnxd1mv3rhcl0"); // if (/*CONSTCOND*/ 0) UNSUPPORTED("6zy3m571kj87u92stfjt6opl3"); // goto htmlerrorlab; UNSUPPORTED("2lhgt1uq3z8cnzed8w920d1og"); // /* Do not reclaim the symbols of the rule which action triggered UNSUPPORTED("2qdujvpg7me3yjqefsbmb4nbl"); // this YYERROR. */ UNSUPPORTED("c7j4t24hd7cwzrmx18y9iqwdh"); // (htmlvsp -= (htmllen), htmlssp -= (htmllen)); UNSUPPORTED("bz286e9y9g0xdwt8742rmztvj"); // htmllen = 0; UNSUPPORTED("3nswekisilyfverb25pazm044"); // ; UNSUPPORTED("89np8b0s1ct55jyloknqnd5r6"); // htmlstate = *htmlssp; UNSUPPORTED("7t9hql86y7nqz2u0lmuofwnz4"); // goto htmlerrlab1; UNSUPPORTED("a9uzsnursnm07o2p12lh2sbdg"); // /*-------------------------------------------------------------. UNSUPPORTED("c2s6c3wducdfls67fw5la9uzw"); // | htmlerrlab1 -- common code for both syntax error and YYERROR. | UNSUPPORTED("cinw8ra05yfs6jshwnk7uer8g"); // `-------------------------------------------------------------*/ UNSUPPORTED("4u5v2gjw6xdqaimmd8xxnmmqa"); // htmlerrlab1: UNSUPPORTED("7tra7n5eph1rqkaplx9bx803l"); // htmlerrstatus = 3; /* Each real token shifted decrements this. */ UNSUPPORTED("9qdgu2bhbvj6h80iki9hjhpcx"); // for (;;) UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("2za6u6avash54xctdnji0f1q2"); // htmln = htmlpact[htmlstate]; UNSUPPORTED("3yz8nkid1zwkst8vh75hu2n12"); // if (!((htmln) == (-82))) UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("bwuzd1yyx0imm45e3al50jbm2"); // htmln += 1; UNSUPPORTED("b5yucqnz3ohmoz0ut07sm2sx0"); // if (0 <= htmln && htmln <= 271 && htmlcheck[htmln] == 1) UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("doitq6ha9cmmgsv7lbwhrs4lm"); // htmln = htmltable[htmln]; UNSUPPORTED("dxhfg17ims4zjdry4ffy00aku"); // if (0 < htmln) UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1nekbbuf2scf8o8o56p3e2btr"); // /* Pop the current state because it cannot handle the error token. */ UNSUPPORTED("b49suxrb4nncpcv26snr0z7pt"); // if (htmlssp == htmlss) UNSUPPORTED("94rnqtiux3wthf9kn8utqcskz"); // goto htmlabortlab; UNSUPPORTED("bigm8tcgr6vlffs6ikfevaeat"); // htmldestruct ("Error: popping", UNSUPPORTED("9bvdkhmexgs1n9hkxlus6cea0"); // htmlstos[htmlstate], htmlvsp); UNSUPPORTED("4qs0elpwd25wpw12cajvuatqb"); // (htmlvsp -= (1), htmlssp -= (1)); UNSUPPORTED("76dfl5dad6j40axb12pf4cyti"); // htmlstate = *htmlssp; UNSUPPORTED("3ejmh10g3kyn79v59obt4uwve"); // ; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("769m6xe129uc5szy8zzxdhv2d"); // *++htmlvsp = htmllval; UNSUPPORTED("1bunp144fpibi7v7rbgn16l6l"); // /* Shift the error token. */ UNSUPPORTED("3nswekisilyfverb25pazm044"); // ; UNSUPPORTED("c7lyo4hbtrr9qa5r64z6spufb"); // htmlstate = htmln; UNSUPPORTED("c663h0k0l1p8coybbax2cprhf"); // goto htmlnewstate; UNSUPPORTED("179qxptpyl5068065s1ai8g3c"); // /*-------------------------------------. UNSUPPORTED("8ml03sx2gxmgapptl0loa0yye"); // | htmlacceptlab -- YYACCEPT comes here. | UNSUPPORTED("2bvn7c0u1oq31d3b0uk6m3tdy"); // `-------------------------------------*/ UNSUPPORTED("atjzjvu9d92ok6w3boxja3e1s"); // htmlacceptlab: UNSUPPORTED("3jjyvn1odcad6auhoq4bs11j3"); // htmlresult = 0; UNSUPPORTED("9l6jd9stt5ybckzpzyis66nmb"); // goto htmlreturn; UNSUPPORTED("8p4f508auqnz4koon32xrgqkm"); // /*-----------------------------------. UNSUPPORTED("3loqszdjbzlidofdd2axlddqg"); // | htmlabortlab -- YYABORT comes here. | UNSUPPORTED("6p3zuxhtllqujwb6275y1iuol"); // `-----------------------------------*/ UNSUPPORTED("3aouexcwnytfsdj42oyaca2da"); // htmlabortlab: UNSUPPORTED("6i8l4mmmlpggft688iduidz1m"); // htmlresult = 1; UNSUPPORTED("9l6jd9stt5ybckzpzyis66nmb"); // goto htmlreturn; UNSUPPORTED("1visspreqlkrsxbrmmtajzyi0"); // /*-------------------------------------------------. UNSUPPORTED("qpcyk6y55l4vluz5g8ufy011"); // | htmlexhaustedlab -- memory exhaustion comes here. | UNSUPPORTED("3zfwm8se9uqcr4uczanjlo4wx"); // `-------------------------------------------------*/ UNSUPPORTED("aokx2t39kso6px6fmlx7ft34g"); // htmlexhaustedlab: UNSUPPORTED("2rkna5fdak8uri7drj0qu3z5g"); // htmlerror ("memory exhausted"); UNSUPPORTED("8vl21z2phgo2cog42ylxbihos"); // htmlresult = 2; UNSUPPORTED("50117q88lfg743xhieoyg9dtb"); // /* Fall through. */ UNSUPPORTED("dmu8m1pnyblrdchdqxgxnu8yy"); // htmlreturn: UNSUPPORTED("3m562h7x44v05dctlef9nhmxp"); // if (htmlchar != (-2)) UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("1yvk3imqcd71tq0dg520dalwv"); // /* Make sure we have latest lookahead translation. See comments at UNSUPPORTED("8f533hh53bahoyrmc8vumq0er"); // user semantic actions for why this is necessary. */ UNSUPPORTED("84q66xdmm7egi73lpjcjdjc6q"); // htmltoken = ((unsigned int) (htmlchar) <= 295 ? htmltranslate[htmlchar] : 2); UNSUPPORTED("3i0moae9oscbnik305696hlos"); // htmldestruct ("Cleanup: discarding lookahead", UNSUPPORTED("e214juwntghvieivfzd3pn7cd"); // htmltoken, &htmllval); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2lhgt1uq3z8cnzed8w920d1og"); // /* Do not reclaim the symbols of the rule which action triggered UNSUPPORTED("brvt6wka5tijolvbute9f9vjy"); // this YYABORT or YYACCEPT. */ UNSUPPORTED("c7j4t24hd7cwzrmx18y9iqwdh"); // (htmlvsp -= (htmllen), htmlssp -= (htmllen)); UNSUPPORTED("3nswekisilyfverb25pazm044"); // ; UNSUPPORTED("3g1bs2oo8txf91nhyrmaprez8"); // while (htmlssp != htmlss) UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("d8meoblon1ra750w3rbqlgfje"); // htmldestruct ("Cleanup: popping", UNSUPPORTED("4laubaxw8wx30tmj1hvzp0itg"); // htmlstos[*htmlssp], htmlvsp); UNSUPPORTED("4qs0elpwd25wpw12cajvuatqb"); // (htmlvsp -= (1), htmlssp -= (1)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dfgvzh0l75rqigf8pgwy3u4m2"); // if (htmlss != htmlssa) UNSUPPORTED("7z1yjgom1lw6z0yfz75xfclpw"); // free (htmlss); UNSUPPORTED("96m641qde7y8nrj81kip0kdli"); // /* Make sure YYID is used. */ UNSUPPORTED("4c04yxhxjxnejng4nlpmarh0c"); // return (htmlresult); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dagfnuu2rb04nuow8simrvqdg // htmllabel_t* parseHTML (char* txt, int* warn, htmlenv_t *env) public static Object parseHTML(Object... arg) { UNSUPPORTED("226x3zxbn3f7kzhqucskm0uoq"); // htmllabel_t* UNSUPPORTED("8cvtnulc9n3wdvcnyz42lwhzy"); // parseHTML (char* txt, int* warn, htmlenv_t *env) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("63meyud67rookn7jurut0266j"); // unsigned char buf[128]; UNSUPPORTED("5kki2fqr7sc6h70wuy48nmwoz"); // agxbuf str; UNSUPPORTED("151zh677cirxjroyz07ylg4qu"); // htmllabel_t* l; UNSUPPORTED("ip3d7wcpkp2cvqvcytoydu0c"); // sfont_t dfltf; UNSUPPORTED("bnowsob1rpic47r9qahesp5z9"); // dfltf.cfont = NULL; UNSUPPORTED("1qchcbo1e5aphcn9agydjwpur"); // dfltf.pfont = NULL; UNSUPPORTED("bf7yeekp5lae3g14li808nkom"); // HTMLstate.fontstack = &dfltf; UNSUPPORTED("97wdd3n2my59w2bi1alxtx7gl"); // HTMLstate.tblstack = 0; UNSUPPORTED("5942cc6lkx6yzhwmdaojw2kg4"); // HTMLstate.lbl = 0; UNSUPPORTED("3fpf8hxu4jf37tofuik9m4l1i"); // HTMLstate.gvc = GD_gvc(env->g); UNSUPPORTED("avdl29glu77okugd20p4ev32l"); // HTMLstate.fitemList = dtopen(&fstrDisc, Dtqueue); UNSUPPORTED("e2bulyqtlb1ygl39ntnk15fgp"); // HTMLstate.fspanList = dtopen(&fspanDisc, Dtqueue); UNSUPPORTED("67g016u4kj6rhoy4ltearmu5f"); // agxbinit (&str, 128, buf); UNSUPPORTED("6qe9sv6fwllra61m6ze3qcdml"); // HTMLstate.str = &str; UNSUPPORTED("79h006ssg3lcsf0nzr3jmeear"); // if (initHTMLlexer (txt, &str, env)) {/* failed: no libexpat - give up */ UNSUPPORTED("cf2n9mlnm2nlhfvofhkylf8lu"); // *warn = 2; UNSUPPORTED("8vl68pdd939xriomclc4lhjbd"); // l = NULL; UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("e3wc96h4r8zbmwy1sdt30ax31"); // else { UNSUPPORTED("21cpjvbw10v3tqxxuaw7ebs17"); // htmlparse(); UNSUPPORTED("1ts3x58vf766fgbehwhtqjre6"); // *warn = clearHTMLlexer (); UNSUPPORTED("41cqw8kpgh69hd6d7ljh2vi8x"); // l = HTMLstate.lbl; UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("4slkyw4zzk5uohd8pvfbzzogm"); // dtclose (HTMLstate.fitemList); UNSUPPORTED("79tfoea2y63wx0wpq88o2sgx1"); // dtclose (HTMLstate.fspanList); UNSUPPORTED("9w2nanryjis49dz84vnpnvcdb"); // HTMLstate.fitemList = NULL; UNSUPPORTED("83u1p988zjx0anlxa62ac2704"); // HTMLstate.fspanList = NULL; UNSUPPORTED("2z66fvlnqunk5hsw63l7pvdb0"); // HTMLstate.fontstack = NULL; UNSUPPORTED("3pycv6y7tnm4uu44fp7ut5yma"); // agxbfree (&str); UNSUPPORTED("29x14oexykxrkgq9s3x6kssi1"); // return l; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/common/htmltable__c.java000066400000000000000000004265751340005343600231640ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; import h.ST_textlabel_t; import smetana.core.__ptr__; public class htmltable__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 6ddu6mrp88g3kun2w1gg8ck8t // typedef Dict_t PointSet //1 6t1gwljnc5qkhgkp9oc8y7lhm // typedef Dict_t PointMap //3 4ch470ajf5jjpt0x06pdydd7h // static void pushFontInfo(htmlenv_t * env, textfont_t * fp, textfont_t * savp) public static Object pushFontInfo(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("ayvhpxjw4xcz87pueo2oq06m6"); // pushFontInfo(htmlenv_t * env, textfont_t * fp, textfont_t * savp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9sjgc0h79snkoxdl6iqyjo8u9"); // if (env->finfo.name) { UNSUPPORTED("dk15v13kyf3r8nmxnm74hvp8i"); // if (fp->name) { UNSUPPORTED("ehqqe914nrvdph3vl9gj2ncex"); // savp->name = env->finfo.name; UNSUPPORTED("bt7cngsy9d4toqz7dp31pfqxt"); // env->finfo.name = fp->name; UNSUPPORTED("6to1esmb8qfrhzgtr7jdqleja"); // } else UNSUPPORTED("8peszenokq4ldq1kavowttnkf"); // savp->name = NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6w9j6oix2xgb9a97st9tghy29"); // if (env->finfo.color) { UNSUPPORTED("9vra7mcop0lkhg45mujqtnwrg"); // if (fp->color) { UNSUPPORTED("c1py0t0pe23z6aehfyftvxsv0"); // savp->color = env->finfo.color; UNSUPPORTED("ccv0cwzt7o51dys55krsirwia"); // env->finfo.color = fp->color; UNSUPPORTED("6to1esmb8qfrhzgtr7jdqleja"); // } else UNSUPPORTED("6xl4fcz83qtp4etoqtkq51emh"); // savp->color = NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("e14wtviiw2ahsqfas8e848746"); // if (env->finfo.size >= 0) { UNSUPPORTED("45vo5n3q0mqya54l2s79pgvj6"); // if (fp->size >= 0) { UNSUPPORTED("22vfedi6d9vlihfa03jjob4h4"); // savp->size = env->finfo.size; UNSUPPORTED("bmbq750lqsmtv7a8fj890v9y7"); // env->finfo.size = fp->size; UNSUPPORTED("6to1esmb8qfrhzgtr7jdqleja"); // } else UNSUPPORTED("cchc0ryp37ojo1vgumfsd3abt"); // savp->size = -1.0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eiqsenv0wvs25ylb29oq7hypz // static void popFontInfo(htmlenv_t * env, textfont_t * savp) public static Object popFontInfo(Object... arg) { UNSUPPORTED("1cgn1czuwy1nx4ugy78281irz"); // static void popFontInfo(htmlenv_t * env, textfont_t * savp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6jxnyv4xgyxo0tbyynuv0i6cl"); // if (savp->name) UNSUPPORTED("bu9rkh2xzcxhe9iq28iwvbrkf"); // env->finfo.name = savp->name; UNSUPPORTED("e8o69ol1utirumjuxd1xbcege"); // if (savp->color) UNSUPPORTED("81p6dbb5wa9nwy3nva46jh89f"); // env->finfo.color = savp->color; UNSUPPORTED("8bhlu8bun66gqt3rurt7enkg3"); // if (savp->size >= 0.0) UNSUPPORTED("b1us0jzw6cgn6mrvtl9dkugsy"); // env->finfo.size = savp->size; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2fq7cq3v0wodc2zkdz2nrycbr // static void emit_htextspans(GVJ_t * job, int nspans, htextspan_t * spans, pointf p, double halfwidth_x, textfont_t finfo, boxf b, int simple) public static Object emit_htextspans(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("1wdbin7u1ntostduoa76bdjzz"); // emit_htextspans(GVJ_t * job, int nspans, htextspan_t * spans, pointf p, UNSUPPORTED("crmamnha0rqm8otefy73aptor"); // double halfwidth_x, textfont_t finfo, boxf b, int simple) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dzpsknrwv8qkqq20hjnjpjn68"); // int i, j; UNSUPPORTED("cx9j6xm3jqky3tevy8fneodbe"); // double center_x, left_x, right_x; UNSUPPORTED("7mkw69p8oqa8nlbwb8ud7usiw"); // textspan_t tl; UNSUPPORTED("bj8z0bc2axhhlncbixwp8jh0k"); // textfont_t tf; UNSUPPORTED("3j24sqlnqeaub8hy7zt3lb0b1"); // pointf p_ = { 0.0, 0.0 }; UNSUPPORTED("4r4excvnla9rwlduw55712ow7"); // textspan_t *ti; UNSUPPORTED("45fuq5dh6hs7iztxl5d5wx37f"); // center_x = p.x; UNSUPPORTED("awdpbxohoxsjwiqbanelrauu5"); // left_x = center_x - halfwidth_x; UNSUPPORTED("2hdxhi7odrzpzo04esbm37v42"); // right_x = center_x + halfwidth_x; UNSUPPORTED("d4ev395hthktbjl2ahd7e2wg3"); // /* Initial p is in center of text block; set initial baseline UNSUPPORTED("c67x0nb4cdc1jd4lei5i6nkpx"); // * to top of text block. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("36qa3yr9jm38tawq7w7cx38f9"); // p_.y = p.y + (b.UR.y - b.LL.y) / 2.0; UNSUPPORTED("e1k5mxxhf85gb4u78i302a3ob"); // gvrender_begin_label(job, LABEL_HTML); UNSUPPORTED("c0fuxrmn5hd32tpvw3tpbfy1j"); // for (i = 0; i < nspans; i++) { UNSUPPORTED("8e1nf4mptpu0w5h0f0pzslp6i"); // /* set p.x to leftmost point where the line of text begins */ UNSUPPORTED("19cjwh3w8uwxkcc1xewxtlrop"); // switch (spans[i].just) { UNSUPPORTED("bwy7mh2nb7lz950r20rfilwa4"); // case 'l': UNSUPPORTED("cneergejdojt6gzdoaegxje2p"); // p.x = left_x; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("43ds1cyu29ex66kcjszrcu3mp"); // case 'r': UNSUPPORTED("5x1x2my0jb267e130r4g3kxkq"); // p.x = right_x - spans[i].size; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("f187wptsr73liavtlyoyfovp3"); // case 'n': UNSUPPORTED("66i0a4cbpiqi767bvpzxbjug8"); // p.x = center_x - spans[i].size / 2.0; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("aoauejhf6amiurl8cnxru1ruw"); // p_.y -= spans[i].lfsize; /* move to current base line */ UNSUPPORTED("bboaqj628pafi3a0id11gblz"); // ti = spans[i].items; UNSUPPORTED("89pj2bp7x59kxmu9db5k5r9ak"); // for (j = 0; j < spans[i].nitems; j++) { UNSUPPORTED("79pjoi9gupgh1xxtw8ad2gqbv"); // if (ti->font && (ti->font->size > 0)) UNSUPPORTED("6m5sswirwqdnz21zquuj5zemo"); // tf.size = ti->font->size; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("b6lew4k4yh0wfhu7awnjagl63"); // tf.size = finfo.size; UNSUPPORTED("euz91acve0hfy7vofqzv9x881"); // if (ti->font && ti->font->name) UNSUPPORTED("4rfi5an335hkjocd9qof6om2i"); // tf.name = ti->font->name; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("5jcfm7sme1hrdhi04daitbjn9"); // tf.name = finfo.name; UNSUPPORTED("93rk4z6u29nrjzs6j59cs9g4c"); // if (ti->font && ti->font->color) UNSUPPORTED("4w5su152lwqcs6pqj0vph6yhb"); // tf.color = ti->font->color; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("4chspc128mj9l48k9izj3jj6k"); // tf.color = finfo.color; UNSUPPORTED("b9upj0j4iwn0hc005x57k9lxv"); // if (ti->font && ti->font->flags) UNSUPPORTED("b1kz7cxn462c0p6uh8wqj5h8q"); // tf.flags = ti->font->flags; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("c4jea3ke17m0h4331njj2k2wx"); // tf.flags = 0; UNSUPPORTED("8bthw263veuty3iyu3crlyw1m"); // gvrender_set_pencolor(job, tf.color); UNSUPPORTED("e01avz1xuoq9qiajo0anysuq8"); // tl.str = ti->str; UNSUPPORTED("5auykppls49tqnslmibzvq4bs"); // tl.font = &tf; UNSUPPORTED("6csphn5s1ekloz0qqs37knb2"); // tl.yoffset_layout = ti->yoffset_layout; UNSUPPORTED("dsssg5z0nhgclrz1kmcwg84yo"); // if (simple) UNSUPPORTED("660bhxe4zz7qsewdrxxxq9rpg"); // tl.yoffset_centerline = ti->yoffset_centerline; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("bnkdcy6ld9idfpsv8xxvcjdcp"); // tl.yoffset_centerline = 1; UNSUPPORTED("5bj0vlsotfzhyheox1fswybcf"); // tl.font->postscript_alias = ti->font->postscript_alias; UNSUPPORTED("7u3pwcreicp16w0et8ov8ve9v"); // tl.layout = ti->layout; UNSUPPORTED("7dv9mw75h7jmg0f6nhr971okd"); // tl.size.x = ti->size.x; UNSUPPORTED("3vrfk5tpus8rwo5ielpg386bu"); // tl.size.y = spans[i].lfsize; UNSUPPORTED("5014ra1gvrg8ufbmgeym1519n"); // tl.just = 'l'; UNSUPPORTED("bgdzyuoc4xuqzp85ndg7nqmz7"); // p_.x = p.x; UNSUPPORTED("ej1ntvnalv2xauqnm54xcud3m"); // gvrender_textspan(job, p_, &tl); UNSUPPORTED("akh89iduqao9ewsextmw0j1k5"); // p.x += ti->size.x; UNSUPPORTED("6f0wl1s431kpd69mmcufrgwpw"); // ti++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8bm7lzosnhuf0od7i4hkgzovo"); // gvrender_end_label(job); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dpcnkhm24fk5jwfpzzhm5fgn3 // static void emit_html_txt(GVJ_t * job, htmltxt_t * tp, htmlenv_t * env) public static Object emit_html_txt(Object... arg) { UNSUPPORTED("e9atbpbtc2d7k8q5qw64ovfdm"); // static void emit_html_txt(GVJ_t * job, htmltxt_t * tp, htmlenv_t * env) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5grmy02do060obsxdgtm2158r"); // double halfwidth_x; UNSUPPORTED("2bghyit203pd6xw2ihhenzyn8"); // pointf p; UNSUPPORTED("71u0rnrd0pn6urf5ttv39ec5d"); // /* make sure that there is something to do */ UNSUPPORTED("45pxfl6xss9na9vadmromym7f"); // if (tp->nspans < 1) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("990xn02syyupmtffblgyodfu"); // halfwidth_x = ((double) (tp->box.UR.x - tp->box.LL.x)) / 2.0; UNSUPPORTED("dzen0zgkt4ajf73ku622dzt75"); // p.x = env->pos.x + ((double) (tp->box.UR.x + tp->box.LL.x)) / 2.0; UNSUPPORTED("cqd2avduya271k8nsgqe31wzb"); // p.y = env->pos.y + ((double) (tp->box.UR.y + tp->box.LL.y)) / 2.0; UNSUPPORTED("cmb209051thdhuw14z92t5pg2"); // emit_htextspans(job, tp->nspans, tp->spans, p, halfwidth_x, env->finfo, UNSUPPORTED("aagcz98jjnjahy9q5q1j8btyu"); // tp->box, tp->simple); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8aivux1hsy4ynfzwf908d9425 // static void doSide(GVJ_t * job, pointf p, double wd, double ht) public static Object doSide(Object... arg) { UNSUPPORTED("9hbmtms12cm5dzi4mtc03tbex"); // static void doSide(GVJ_t * job, pointf p, double wd, double ht) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bzz7vodjegzgwxp8jzgkq3uti"); // boxf BF; UNSUPPORTED("d9jvfh9fdslw1hjnuw45s09in"); // BF.LL = p; UNSUPPORTED("cyabosmx7t8bqjgd2wmiqsstl"); // BF.UR.x = p.x + wd; UNSUPPORTED("e4tvmn1m0pjoxcl392rrve02d"); // BF.UR.y = p.y + ht; UNSUPPORTED("4gyhh56ucxddr3vef8kyw6f6k"); // gvrender_box(job, BF, 1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3ae4al308do9z1u91clqx27yk // static pointf *mkPts(pointf * AF, boxf b, int border) public static Object mkPts(Object... arg) { UNSUPPORTED("3dw1rz353bav9gjp9j2wnqzwx"); // static pointf *mkPts(pointf * AF, boxf b, int border) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("d4edkjzgg44rvd8pp5xjyhzai"); // AF[0] = b.LL; UNSUPPORTED("68ikexa38d2r5rd9uca10xt4m"); // AF[2] = b.UR; UNSUPPORTED("9u0prsjt76stjycb217a8o1bj"); // if (border > 1) { UNSUPPORTED("9k2v9nw55xh01tivgsr2kmmte"); // double delta = ((double) border) / 2.0; UNSUPPORTED("bdf6c01tajuh0h91fiwbb0k1j"); // AF[0].x += delta; UNSUPPORTED("dogdijfoxebrp2s2qalb4p7ed"); // AF[0].y += delta; UNSUPPORTED("2bmhwj6sof1gc51bp2hc32gue"); // AF[2].x -= delta; UNSUPPORTED("6qwuc8i7npd5lvjk1bj6ntobh"); // AF[2].y -= delta; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("etsgw4ns6exvyfrm7lykdb8pt"); // AF[1].x = AF[2].x; UNSUPPORTED("a2250pkc00wvt8bx8azxq1ug0"); // AF[1].y = AF[0].y; UNSUPPORTED("46of2qdtkfe90ju4owrlotmla"); // AF[3].x = AF[0].x; UNSUPPORTED("ag7v00g9v99sbihn90o3uf6k8"); // AF[3].y = AF[2].y; UNSUPPORTED("1mnc0qamisdd62ud5dfotjxss"); // return AF; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dce0frvo5rjv19prf2almjrsc // static void doBorder(GVJ_t * job, htmldata_t * dp, boxf b) public static Object doBorder(Object... arg) { UNSUPPORTED("52hc3ya0fz8yu9photik0cqpq"); // static void doBorder(GVJ_t * job, htmldata_t * dp, boxf b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bka1u02qeykfmysbaty8fagdo"); // pointf AF[6]; UNSUPPORTED("eaoui6hnrqm4zv0hyd8ch71l2"); // char *sptr[2]; UNSUPPORTED("bivhiv8d8rddwv3gp5ojwoe17"); // char *color = (dp->pencolor ? dp->pencolor : "black"); UNSUPPORTED("brrv66ebgw3j8alwdo84y5j91"); // unsigned short sides; UNSUPPORTED("47mxcz4gh3xivg50vcji1zkle"); // gvrender_set_pencolor(job, color); UNSUPPORTED("9gil9x2la7lnb1r6x47w6z1dn"); // if ((dp->style & ((1 << 8) | (1 << 7)))) { UNSUPPORTED("18t2lq7oi0ioc076pwveiyylm"); // sptr[0] = sptr[1] = NULL; UNSUPPORTED("c7j90iecewfaj3ikxvkgxqntq"); // if (dp->style & (1 << 8)) UNSUPPORTED("1arimccfm8dfvo8sn3uqaei56"); // sptr[0] = "dashed"; UNSUPPORTED("cvdetmxt01f8k7qfrpr09ucb0"); // else if (dp->style & (1 << 7)) UNSUPPORTED("etfi1fkvua8koyo0oeczvr5pv"); // sptr[0] = "dotted"; UNSUPPORTED("3gjhmgbb1mgyvfg9i5tk9yqk9"); // gvrender_set_style(job, sptr); UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("aw7zhlkbn1bg9h9hrlr9by8ty"); // gvrender_set_style(job, job->gvc->defaultlinestyle); UNSUPPORTED("4syhycpnromleuxorrgr402ue"); // gvrender_set_penwidth(job, dp->border); UNSUPPORTED("binjmuc3gaivlw02tzkhqurz4"); // if (dp->style & (1 << 2)) UNSUPPORTED("cr5wvmcp1hcrciq849nro6bau"); // round_corners(job, mkPts(AF, b, dp->border), 4, (1 << 2), 0); UNSUPPORTED("a5bzyy70j86zl3d51aomliw7t"); // else if ((sides = (dp->flags & ((1 << 10)|(1 << 11)|(1 << 12)|(1 << 13))))) { UNSUPPORTED("elvrl0ugvmy5wdaudhp8q0x1f"); // mkPts (AF+1, b, dp->border); /* AF[1-4] has LL=SW,SW,UR=NE,NW */ UNSUPPORTED("dv871y4rc4uesm2yj93050e04"); // switch (sides) { UNSUPPORTED("b418lqrq8nhtc8fmj08z0uhjc"); // case (1 << 13) : UNSUPPORTED("f0j6147rgvvdq9babhvzkx3v3"); // gvrender_polyline(job, AF+1, 2); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("adguwi89t3xlfadiq7zxmc0fr"); // case (1 << 12) : UNSUPPORTED("fft8g5x7554aunjp9t27mqx6"); // gvrender_polyline(job, AF+2, 2); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("vodid4dz4eaok1lar4yr7hmu"); // case (1 << 11) : UNSUPPORTED("ciwgc00o3ddbgflc4wx7zikl8"); // gvrender_polyline(job, AF+3, 2); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("ca75h85p6k2ude0ubwr1a58zj"); // case (1 << 10) : UNSUPPORTED("akfl3n1qd20stpahy8hxjgljy"); // AF[0] = AF[4]; UNSUPPORTED("9nhrbbkzn6ygl91paz8e19asp"); // gvrender_polyline(job, AF, 2); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("3w9wsi8bbk6288yv6b4pfspvc"); // case (1 << 13)|(1 << 12) : UNSUPPORTED("a47r7oga8tq4em0kognbm6qx9"); // gvrender_polyline(job, AF+1, 3); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("d1dja30kjmmxufddn0l47b4mc"); // case (1 << 12)|(1 << 11) : UNSUPPORTED("1hy7xzwfjhch0o3gvki6nvzo5"); // gvrender_polyline(job, AF+2, 3); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("5hmsp6qllnohzdwzocnmtyhfy"); // case (1 << 11)|(1 << 10) : UNSUPPORTED("bsi9lo2bt8tmx13kqphteuvyv"); // AF[5] = AF[1]; UNSUPPORTED("d75yfdk8rhx81oojmrlj4thq9"); // gvrender_polyline(job, AF+3, 3); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("tqroh08i78z3756on4h6kwbm"); // case (1 << 10)|(1 << 13) : UNSUPPORTED("akfl3n1qd20stpahy8hxjgljy"); // AF[0] = AF[4]; UNSUPPORTED("dlx7644q57yvur2sse9b5gbwi"); // gvrender_polyline(job, AF, 3); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("7qtekc57ncwbe0ibfc28oyh24"); // case (1 << 13)|(1 << 12)|(1 << 11) : UNSUPPORTED("dga4asln6akuwoc9lmy1jdeuw"); // gvrender_polyline(job, AF+1, 4); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("5vr6eapb6fws5d0o0q1246sg6"); // case (1 << 12)|(1 << 11)|(1 << 10) : UNSUPPORTED("bsi9lo2bt8tmx13kqphteuvyv"); // AF[5] = AF[1]; UNSUPPORTED("6u5k821gfdh25a6rtw7r9o98b"); // gvrender_polyline(job, AF+2, 4); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("3ujcup82mwhoml2883i0ql8p9"); // case (1 << 11)|(1 << 10)|(1 << 13) : UNSUPPORTED("bsi9lo2bt8tmx13kqphteuvyv"); // AF[5] = AF[1]; UNSUPPORTED("1vmvdrs0ui0vizmb4k9klzyqh"); // AF[6] = AF[2]; UNSUPPORTED("8rtorgtkayhnqu9yhdpwuomr7"); // gvrender_polyline(job, AF+3, 4); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("epx02rqvb1inqo2wug164vihk"); // case (1 << 10)|(1 << 13)|(1 << 12) : UNSUPPORTED("akfl3n1qd20stpahy8hxjgljy"); // AF[0] = AF[4]; UNSUPPORTED("14xhaf4bz1keg87bpnoalfth2"); // gvrender_polyline(job, AF, 4); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("6cxzwe83jxubrfavr8bjd6jqd"); // case (1 << 11)|(1 << 13) : UNSUPPORTED("f0j6147rgvvdq9babhvzkx3v3"); // gvrender_polyline(job, AF+1, 2); UNSUPPORTED("ciwgc00o3ddbgflc4wx7zikl8"); // gvrender_polyline(job, AF+3, 2); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("20222itint1dfutqfthxmy0fu"); // case (1 << 10)|(1 << 12) : UNSUPPORTED("akfl3n1qd20stpahy8hxjgljy"); // AF[0] = AF[4]; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("ea0o8v6n00qqc2pf2da8mfehy"); // if (dp->border > 1) { UNSUPPORTED("8c46gz8xuuenxi35l0effpt7"); // double delta = ((double) dp->border) / 2.0; UNSUPPORTED("9hlzluzk9kn86vrozs2sasmnn"); // b.LL.x += delta; UNSUPPORTED("4ytgf1a0tyaylau0eeisj8rm8"); // b.LL.y += delta; UNSUPPORTED("557s3yvdqlk7j0fd392ho7vbm"); // b.UR.x -= delta; UNSUPPORTED("nio7shto4xl0i52cv1e7l3ro"); // b.UR.y -= delta; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3oyvs93iyanf46imnfq2ris4r"); // gvrender_box(job, b, 0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3sn3xxwciwsnysgpxkk25bbu3 // static int setFill(GVJ_t * job, char *color, int angle, int style, char *clrs[2]) public static Object setFill(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("arvrzi4iwxk807sj8rrhzk9hn"); // setFill(GVJ_t * job, char *color, int angle, int style, char *clrs[2]) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3ml0gugucwlbwt5mbcdlymm8b"); // int filled; UNSUPPORTED("c1fbv1vbw987h17be6s51zft4"); // float frac; UNSUPPORTED("45rrefspa8b28sxxgm2is02kq"); // if (findStopColor(color, clrs, &frac)) { UNSUPPORTED("btot0jrrd4byob85hrpdvj41t"); // gvrender_set_fillcolor(job, clrs[0]); UNSUPPORTED("1jiuua6jebyguapuvhefyhdji"); // if (clrs[1]) UNSUPPORTED("4io9gt2degxn4spb11kpchiaw"); // gvrender_set_gradient_vals(job, clrs[1], angle, frac); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("5mogvfll6q8umk9i37mhlkt7m"); // gvrender_set_gradient_vals(job, "black", angle, frac); UNSUPPORTED("ebsxmacu2gext8rz06fbgojnb"); // if (style & (1 << 1)) UNSUPPORTED("ajo4gtldjfin7wqcfsueasd6u"); // filled = 3; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("92j6l6cj3uzbc2rojubnolpiq"); // filled = 2; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("8jkw84z9v2sgxja8neagg70yn"); // gvrender_set_fillcolor(job, color); UNSUPPORTED("wgi1jlomdsgec9gfae0fj8md"); // filled = 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("buetng4l8583m1m13dhcxke3g"); // gvrender_set_pencolor(job, "transparent"); UNSUPPORTED("6p2dbpbafmtoar1mvn7fsavoy"); // return filled; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 27rny3qpw3j6r42b1s34uyl25 // static int initAnchor(GVJ_t * job, htmlenv_t * env, htmldata_t * data, boxf b, htmlmap_data_t * save, int closePrev) public static Object initAnchor(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("8oquq7zad174i5s01j6hzxatt"); // initAnchor(GVJ_t * job, htmlenv_t * env, htmldata_t * data, boxf b, UNSUPPORTED("88g72cs505wdz4y6qimsa8y1c"); // htmlmap_data_t * save, int closePrev) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("500ymf94p2papk2ytrz9nj5x7"); // int changed; UNSUPPORTED("dronm56qc8dhvagqi0x0khih8"); // char *id; UNSUPPORTED("8rujt60yyvytjyfto1qa8z94p"); // static int anchorId; UNSUPPORTED("4bzwqkmomkxfmljrfhduzmtrs"); // int internalId = 0; UNSUPPORTED("9gou5otj6s39l2cbyc8i5i5lq"); // agxbuf xb; UNSUPPORTED("4gk0vs9kob345ti7s9pxhm3f5"); // char intbuf[30]; /* hold 64-bit decimal integer */ UNSUPPORTED("h0or3v13348vfl22jqz895yc"); // unsigned char buf[128]; UNSUPPORTED("2wl17wf6lpprwq14nqkl3j1k7"); // save->url = obj->url; UNSUPPORTED("emcdtw6askrkn9t86vapt5rr8"); // save->tooltip = obj->tooltip; UNSUPPORTED("1rt6accl7yg1ie6kat68ejvfm"); // save->target = obj->target; UNSUPPORTED("6hbk4r0d0ri01g9pzilu6gltl"); // save->id = obj->id; UNSUPPORTED("a33136jt3dxu76pyfkgpxa7kv"); // save->explicit_tooltip = obj->explicit_tooltip; UNSUPPORTED("actqp0zv95dft5dthjbvnwc7b"); // id = data->id; UNSUPPORTED("7pvpn352cuq3v9r0633som3w7"); // if (!id || !*id) { /* no external id, so use the internal one */ UNSUPPORTED("el1z2krv8hoorc5c7vjsxw7yn"); // agxbinit(&xb, 128, buf); UNSUPPORTED("6cf0b0m48l6jloznb9lpt032g"); // if (!env->objid) { UNSUPPORTED("5akl6s47a4zv2waqo5py31ybb"); // env->objid = strdup(getObjId(job, obj->u.n, &xb)); UNSUPPORTED("57it9hg0sjcy1n7658baw0dw"); // env->objid_set = 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dxdwkcwuosj9fmhjxlh8k6117"); // agxbput(&xb, env->objid); UNSUPPORTED("altkpafun07s08rrvi0axy8w2"); // sprintf(intbuf, "_%d", anchorId++); UNSUPPORTED("8fxx4xfv51pqm8opelh5kviyy"); // agxbput(&xb, intbuf); UNSUPPORTED("2yaeafkratzyu6wvhwzdafnle"); // id = (((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf)); UNSUPPORTED("9xzpefvqd6cn68r0em10mnlaf"); // internalId = 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bny3kvzd21zrb2fv51dh6vp57"); // changed = UNSUPPORTED("3qgg5qoivh60416otam1l29ni"); // initMapData(job, NULL, data->href, data->title, data->target, id, UNSUPPORTED("5wtoz6nfrxfpi8rko85wbjpdg"); // obj->u.g); UNSUPPORTED("57q03cer71cgr283csvafhpmi"); // if (internalId) UNSUPPORTED("52frst03mcbsuu6bmnqs962qm"); // agxbfree(&xb); UNSUPPORTED("20w7d59r1l0c34y8izq32fd0e"); // if (changed) { UNSUPPORTED("40u2h01cve93h09wdngc9v2xr"); // if (closePrev && (save->url || save->explicit_tooltip)) UNSUPPORTED("dtwdqlhxsk4vpro8m02pot0co"); // gvrender_end_anchor(job); UNSUPPORTED("5kiy870zrsfdm18u60b2qdstn"); // if (obj->url || obj->explicit_tooltip) { UNSUPPORTED("965ahzs7vr7qs12j0s1m4eev5"); // emit_map_rect(job, b); UNSUPPORTED("12436nj34of615tb94t3cw2h0"); // gvrender_begin_anchor(job, UNSUPPORTED("2rwb38hipr5rxkwxfdzzwkdmy"); // obj->url, obj->tooltip, obj->target, UNSUPPORTED("4x188hxybttaubn1tt4tf710k"); // obj->id); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("d7ura79gme5dbnqgva7yvjtmk"); // return changed; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ah2sn0gm8xfyu3faoljt1whui // static void endAnchor(GVJ_t * job, htmlmap_data_t * save, int openPrev) public static Object endAnchor(Object... arg) { UNSUPPORTED("eiujc2cdqb4ubx9bzhrbgkr0d"); // static void endAnchor(GVJ_t * job, htmlmap_data_t * save, int openPrev) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("spdml5d3q3jza61kjh4zxw31"); // if (obj->url || obj->explicit_tooltip) UNSUPPORTED("e3o6yrnsv8lko5fql4f8a9gly"); // gvrender_end_anchor(job); UNSUPPORTED("8fzstdzz2sjbbmabm5yv8lm6f"); // if(obj->url != save->url) {free(obj->url); obj->url = save->url;}; UNSUPPORTED("equg7aq6w951t0g9hyjm03cfx"); // if(obj->tooltip != save->tooltip) {free(obj->tooltip); obj->tooltip = save->tooltip;}; UNSUPPORTED("2y9evx2wu20y4zezgwj96ekck"); // if(obj->target != save->target) {free(obj->target); obj->target = save->target;}; UNSUPPORTED("79i4o9yiwyvti1rpmqbhnuk4h"); // if(obj->id != save->id) {free(obj->id); obj->id = save->id;}; UNSUPPORTED("2zkwjxipgs1w6encwrwypxhqn"); // obj->explicit_tooltip = save->explicit_tooltip; UNSUPPORTED("497o6k3vv69n2kyxjrzbjoges"); // if (openPrev && (obj->url || obj->explicit_tooltip)) UNSUPPORTED("6e7g66eeo7n8h8mq556pt3xxy"); // gvrender_begin_anchor(job, UNSUPPORTED("8g7o4dsbwgp9ggtiktgt2m41t"); // obj->url, obj->tooltip, obj->target, UNSUPPORTED("c8tk2e711ojwsnar0y39a73cf"); // obj->id); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 75if0l45ti15rgx7p5f0f1xy1 // static void emit_html_rules(GVJ_t * job, htmlcell_t * cp, htmlenv_t * env, char *color, htmlcell_t* nextc) public static Object emit_html_rules(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("7k8576uq5xrhmrpgtayxldmst"); // emit_html_rules(GVJ_t * job, htmlcell_t * cp, htmlenv_t * env, char *color, htmlcell_t* nextc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dsaekwh74gtjixmtzev2nsp4l"); // pointf rule_pt; UNSUPPORTED("c7vrup19iax6yjbwasb982a16"); // double rule_length; UNSUPPORTED("2uhttu43wce24zfysxl83fxv"); // unsigned char base; UNSUPPORTED("96jja5vo8t36z1sflrj0x8vi4"); // boxf pts = cp->data.box; UNSUPPORTED("1inwrhhir5qtddjy60bnbfaft"); // pointf pos = env->pos; UNSUPPORTED("safdto74hbmxy1bx51npyt80"); // if (!color) UNSUPPORTED("ehe6g5s4foni0psldwx2ikwnq"); // color = "black"; UNSUPPORTED("ba58kdrkh9glwbjy7j4i2b1ot"); // gvrender_set_fillcolor(job, color); UNSUPPORTED("47mxcz4gh3xivg50vcji1zkle"); // gvrender_set_pencolor(job, color); UNSUPPORTED("25x16taqru10db3c03lv2frmd"); // pts = cp->data.box; UNSUPPORTED("970xro1x23dmefkex4vsgzo87"); // pts.LL.x += pos.x; UNSUPPORTED("b2fjdw9a9zxpb6bex19mnsi7p"); // pts.UR.x += pos.x; UNSUPPORTED("4psuod2tpmculqarprgy08klq"); // pts.LL.y += pos.y; UNSUPPORTED("7ritccw0fl1mnkt7zcus4wc3t"); // pts.UR.y += pos.y; UNSUPPORTED("7byu0ep15pzlkbdmg8vxvnhwz"); // //Determine vertical line coordinate and length UNSUPPORTED("8wvxs6dnzjzzky8qrtdrc8yak"); // if ((cp->ruled & 1) && (cp->col + cp->cspan < cp->parent->cc)) { UNSUPPORTED("brzkv0bcmu5apwj6lrdrvdx6f"); // if (cp->row == 0) { // first row UNSUPPORTED("5ygh915zztqud2g0j0qtuxim6"); // // extend to center of table border and add half cell spacing UNSUPPORTED("eh9k3fhettdy9qynvsyhrhjnc"); // base = cp->parent->data.border + cp->parent->data.space / 2; UNSUPPORTED("7nke4g7i0aytgilfgl7ct3mt1"); // rule_pt.y = pts.LL.y - cp->parent->data.space / 2; UNSUPPORTED("1dttgmxu2mzw1rc8nq0myyag6"); // } else if (cp->row + cp->rspan == cp->parent->rc) { // bottom row UNSUPPORTED("5ygh915zztqud2g0j0qtuxim6"); // // extend to center of table border and add half cell spacing UNSUPPORTED("eh9k3fhettdy9qynvsyhrhjnc"); // base = cp->parent->data.border + cp->parent->data.space / 2; UNSUPPORTED("6bo6v2q3t7x2l6lukf9ztb982"); // rule_pt.y = pts.LL.y - cp->parent->data.space / 2 - base; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("8o30az75fgnltomih0tsaedht"); // base = 0; UNSUPPORTED("7nke4g7i0aytgilfgl7ct3mt1"); // rule_pt.y = pts.LL.y - cp->parent->data.space / 2; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3by23fc6milbzv6mf6yp2h6ua"); // rule_pt.x = pts.UR.x + cp->parent->data.space / 2; UNSUPPORTED("alyqi5ei1m1qmdmj1g8vg6n8q"); // rule_length = base + pts.UR.y - pts.LL.y + cp->parent->data.space; UNSUPPORTED("78sk2ct6bk7jwj2mmpuwarmvw"); // doSide(job, rule_pt, 0, rule_length); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("e0g5sglrgymots3xetcoiq4cv"); // //Determine the horizontal coordinate and length UNSUPPORTED("cudao13pgjtpyth3sik1bfwxn"); // if ((cp->ruled & 2) && (cp->row + cp->rspan < cp->parent->rc)) { UNSUPPORTED("7b0ks1nwek4bq76npdbwp0qlx"); // if (cp->col == 0) { // first column UNSUPPORTED("5ygh915zztqud2g0j0qtuxim6"); // // extend to center of table border and add half cell spacing UNSUPPORTED("eh9k3fhettdy9qynvsyhrhjnc"); // base = cp->parent->data.border + cp->parent->data.space / 2; UNSUPPORTED("7s5fmlmnp3ro8rplc48up32jh"); // rule_pt.x = pts.LL.x - base - cp->parent->data.space / 2; UNSUPPORTED("d84du087kda0rvywg60dgylyg"); // if (cp->col + cp->cspan == cp->parent->cc) // also last column UNSUPPORTED("44yz3hcq70udyoyffhkq7ldpi"); // base *= 2; UNSUPPORTED("2iq4jft6fpdkskyapkzpio00c"); // /* incomplete row of cells; extend line to end */ UNSUPPORTED("kptimmjzk2nl60rrdxqh5t1b"); // else if (nextc && (nextc->row != cp->row)) { UNSUPPORTED("c62o1jotsnbk8sjzrgfg7q35s"); // base += (cp->parent->data.box.UR.x + pos.x) - (pts.UR.x + cp->parent->data.space / 2); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6vgh1uythbalqd5m71q3gr1il"); // } else if (cp->col + cp->cspan == cp->parent->cc) { // last column UNSUPPORTED("5ygh915zztqud2g0j0qtuxim6"); // // extend to center of table border and add half cell spacing UNSUPPORTED("eh9k3fhettdy9qynvsyhrhjnc"); // base = cp->parent->data.border + cp->parent->data.space / 2; UNSUPPORTED("24kcyntk7yf6w7bfuni8lrl4"); // rule_pt.x = pts.LL.x - cp->parent->data.space / 2; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("8o30az75fgnltomih0tsaedht"); // base = 0; UNSUPPORTED("24kcyntk7yf6w7bfuni8lrl4"); // rule_pt.x = pts.LL.x - cp->parent->data.space / 2; UNSUPPORTED("2iq4jft6fpdkskyapkzpio00c"); // /* incomplete row of cells; extend line to end */ UNSUPPORTED("bl8g0enq4c0odtx7h2pxbhq7l"); // if (nextc && (nextc->row != cp->row)) { UNSUPPORTED("c62o1jotsnbk8sjzrgfg7q35s"); // base += (cp->parent->data.box.UR.x + pos.x) - (pts.UR.x + cp->parent->data.space / 2); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("a16drwk9w8puysojv02wjyy70"); // rule_pt.y = pts.LL.y - cp->parent->data.space / 2; UNSUPPORTED("6e7yz3gbd8pyzk8ajd6n0uyze"); // rule_length = base + pts.UR.x - pts.LL.x + cp->parent->data.space; UNSUPPORTED("7na99jxymwc946gqpz6cisv7w"); // doSide(job, rule_pt, rule_length, 0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 26zfaec64xs5h6zhbfqva70tp // static void emit_html_tbl(GVJ_t * job, htmltbl_t * tbl, htmlenv_t * env) public static Object emit_html_tbl(Object... arg) { UNSUPPORTED("ni0mji8xwi6vyoc0i92fspkz"); // static void emit_html_tbl(GVJ_t * job, htmltbl_t * tbl, htmlenv_t * env) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eh0o4a2mhf75hmedici0y7vjm"); // boxf pts = tbl->data.box; UNSUPPORTED("1inwrhhir5qtddjy60bnbfaft"); // pointf pos = env->pos; UNSUPPORTED("f5l5qsm1xxo2fnsp38chcf009"); // htmlcell_t **cells = tbl->u.n.cells; UNSUPPORTED("7hxwbqi0ato9k2b4nzpp7uw3a"); // htmlcell_t *cp; UNSUPPORTED("c8p7i7oozhr11poil2ax0mjdh"); // static textfont_t savef; UNSUPPORTED("bq5er65wlottydwze8xwtg1h8"); // htmlmap_data_t saved; UNSUPPORTED("9vo2dpf5d55fy577acu1mj2tl"); // int anchor; /* if true, we need to undo anchor settings. */ UNSUPPORTED("a6neawb1l9iwhlxyqeylmtibj"); // int doAnchor = (tbl->data.href || tbl->data.target); UNSUPPORTED("en6q26cyrg17g6yd6el73b3ns"); // pointf AF[4]; UNSUPPORTED("acdkiuky8vkjaqqynxn9e052i"); // if (tbl->font) UNSUPPORTED("84z3c9pimg6qaq5qubuumky79"); // pushFontInfo(env, tbl->font, &savef); UNSUPPORTED("970xro1x23dmefkex4vsgzo87"); // pts.LL.x += pos.x; UNSUPPORTED("b2fjdw9a9zxpb6bex19mnsi7p"); // pts.UR.x += pos.x; UNSUPPORTED("4psuod2tpmculqarprgy08klq"); // pts.LL.y += pos.y; UNSUPPORTED("7ritccw0fl1mnkt7zcus4wc3t"); // pts.UR.y += pos.y; UNSUPPORTED("f3x83tha6dbjv8et188fbkgv0"); // if (doAnchor && !(job->flags & (1<<2))) UNSUPPORTED("eu3jff1gbyq1xntsjrbfjonso"); // anchor = initAnchor(job, env, &tbl->data, pts, &saved, 1); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("xon7ajllko0vvswhzsgmednw"); // anchor = 0; UNSUPPORTED("dvrnei7g4il5it0wohet6xnf6"); // if (!(tbl->data.style & (1 << 5))) { UNSUPPORTED("ecfz3q6oeloqz1k3bt4anr2so"); // /* Fill first */ UNSUPPORTED("49uj7uuo9i7yhd6t4dvf0gdpu"); // if (tbl->data.bgcolor) { UNSUPPORTED("b0tr7jsjw3kgi4yn1hhyfobdl"); // char *clrs[2]; UNSUPPORTED("a153tdlqtl2xw7njhvpt043g0"); // int filled = UNSUPPORTED("cm0x1gxytxrgtzsh3ge94uinf"); // setFill(job, tbl->data.bgcolor, tbl->data.gradientangle, UNSUPPORTED("4d69xnxzol7epr6mdsj8zysu0"); // tbl->data.style, clrs); UNSUPPORTED("c2iwbxo1co1ewyyccihrcfvmx"); // if (tbl->data.style & (1 << 2)) { UNSUPPORTED("1w38undy36it7wj8962by2l6f"); // round_corners(job, mkPts(AF, pts, tbl->data.border), 4, UNSUPPORTED("696pg1sjw1u5lbale66nm3vbk"); // (1 << 2), filled); UNSUPPORTED("afk9bpom7x393euamnvwwkx6b"); // } else UNSUPPORTED("78v3zjdcsy6x51hs6krs94y97"); // gvrender_box(job, pts, filled); UNSUPPORTED("9b960wuid1g0sjsnq1ssdlupg"); // free(clrs[0]); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1mmt73zvtvn2nghxnfnxtc0kz"); // while (*cells) { UNSUPPORTED("44aes03vbpouog4dgqqltikcg"); // emit_html_cell(job, *cells, env); UNSUPPORTED("dmjx9beoeijjbajf48o2tid3"); // cells++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("7cx9d9bes58uqm95nr7dv7i3o"); // /* Draw table rules and border. UNSUPPORTED("657qfjgczf11baij6c45ccza1"); // * Draw after cells so we can draw over any fill. UNSUPPORTED("5xszoc3r0xxyklzrzy04teljz"); // * At present, we set the penwidth to 1 for rules until we provide the calculations to take UNSUPPORTED("5qj39gsiwu4famovm3ia6z93"); // * into account wider rules. UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("q289jp9oo0zjlhjdsrgtzcza"); // cells = tbl->u.n.cells; UNSUPPORTED("b7dznfykmm4m5amplksw2hugq"); // gvrender_set_penwidth(job, 1.0); UNSUPPORTED("4dy3q3g9m3eng3vpzdn1x7zm0"); // while ((cp = *cells++)) { UNSUPPORTED("ee52kdy81klqq7cmjmjinz2h8"); // if (cp->ruled) UNSUPPORTED("4y97t5dc09eyhzjbaj4skq10t"); // emit_html_rules(job, cp, env, tbl->data.pencolor, *cells); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("94klyg9yeplgiz4vceng5lz4l"); // if (tbl->data.border) UNSUPPORTED("d8qeuyglru3eejyrmh48uuvhw"); // doBorder(job, &tbl->data, pts); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2wq341pf2s0q76y7y29dpvhyv"); // if (anchor) UNSUPPORTED("d5c2xq1sacfxrx17n6tmzv0su"); // endAnchor(job, &saved, 1); UNSUPPORTED("8t96ufc0yimks592h7dgt7fgc"); // if (doAnchor && (job->flags & (1<<2))) { UNSUPPORTED("6tyc47helx3fqyuqe3kiiqg1v"); // if (initAnchor(job, env, &tbl->data, pts, &saved, 0)) UNSUPPORTED("96ubcu0fxunhzdlteep62gaqn"); // endAnchor(job, &saved, 0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("acdkiuky8vkjaqqynxn9e052i"); // if (tbl->font) UNSUPPORTED("aqz3bhc3ot0j0okxcmu0ic2r"); // popFontInfo(env, &savef); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 92q18yuuh3uq9twxcmz0wqvwv // static void emit_html_img(GVJ_t * job, htmlimg_t * cp, htmlenv_t * env) public static Object emit_html_img(Object... arg) { UNSUPPORTED("6mdos47goc2mvm0icpzihjr9p"); // static void emit_html_img(GVJ_t * job, htmlimg_t * cp, htmlenv_t * env) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ctvmenh2xwttzvzv2mrj2pizl"); // pointf A[4]; UNSUPPORTED("95f2fzk7cq8awu76ojroabjlp"); // boxf bb = cp->box; UNSUPPORTED("b0zlo29j4cz4islrycyp9yh5t"); // char *scale; UNSUPPORTED("dshffz34w11b0wa4g9flan4v8"); // bb.LL.x += env->pos.x; UNSUPPORTED("92entkh719bz8q8w8bngwhriq"); // bb.LL.y += env->pos.y; UNSUPPORTED("1b2f3qtk4yp6vuk0c9heken47"); // bb.UR.x += env->pos.x; UNSUPPORTED("6ceef7urui4dup1053b74emoq"); // bb.UR.y += env->pos.y; UNSUPPORTED("bs113h0iq49pk03iqb8k3335s"); // A[0] = bb.UR; UNSUPPORTED("85ic0v7v8u5fxw4u3alxwioql"); // A[2] = bb.LL; UNSUPPORTED("ey5qp8hbyjjhg367b72imurix"); // A[1].x = A[2].x; UNSUPPORTED("3z9cu0j5nm76l5yv8u7hy57r4"); // A[1].y = A[0].y; UNSUPPORTED("2dgs8ab0mnywmi602emidh5fb"); // A[3].x = A[0].x; UNSUPPORTED("34wjmru8jm4j6bnmr0zpacz05"); // A[3].y = A[2].y; UNSUPPORTED("cvvp26byccjdjur8vyj2na0gg"); // if (cp->scale) UNSUPPORTED("70nzi2ugyepaipmmqyrb9e7z6"); // scale = cp->scale; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("3pgplheeamhfaf1nrope24u0j"); // scale = env->imgscale; UNSUPPORTED("a3l15kztb6svcikvleaqkcd5"); // assert(cp->src); UNSUPPORTED("xegpl263i0dts5vximsivicf"); // assert(cp->src[0]); UNSUPPORTED("41m8g0lte7tdgb8n0lp2n93xh"); // gvrender_usershape(job, cp->src, A, 4, NOT(0), scale); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2yyg33cwscbca36c9p9ls9gmb // static void emit_html_cell(GVJ_t * job, htmlcell_t * cp, htmlenv_t * env) public static Object emit_html_cell(Object... arg) { UNSUPPORTED("czikvsl8tr4dfiv0ulisikbe7"); // static void emit_html_cell(GVJ_t * job, htmlcell_t * cp, htmlenv_t * env) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bq5er65wlottydwze8xwtg1h8"); // htmlmap_data_t saved; UNSUPPORTED("96jja5vo8t36z1sflrj0x8vi4"); // boxf pts = cp->data.box; UNSUPPORTED("1inwrhhir5qtddjy60bnbfaft"); // pointf pos = env->pos; UNSUPPORTED("3wt0qjlqdo7dj9y9mkgqmzcl7"); // int inAnchor, doAnchor = (cp->data.href || cp->data.target); UNSUPPORTED("en6q26cyrg17g6yd6el73b3ns"); // pointf AF[4]; UNSUPPORTED("970xro1x23dmefkex4vsgzo87"); // pts.LL.x += pos.x; UNSUPPORTED("b2fjdw9a9zxpb6bex19mnsi7p"); // pts.UR.x += pos.x; UNSUPPORTED("4psuod2tpmculqarprgy08klq"); // pts.LL.y += pos.y; UNSUPPORTED("7ritccw0fl1mnkt7zcus4wc3t"); // pts.UR.y += pos.y; UNSUPPORTED("f3x83tha6dbjv8et188fbkgv0"); // if (doAnchor && !(job->flags & (1<<2))) UNSUPPORTED("1kdpibhzgmx8gpycns42won0r"); // inAnchor = initAnchor(job, env, &cp->data, pts, &saved, 1); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("f045ekukc7ij51txyyak08m68"); // inAnchor = 0; UNSUPPORTED("33scttptilyx6theysesc9hip"); // if (!(cp->data.style & (1 << 5))) { UNSUPPORTED("6ml4s15hyx0kjl4ttsgulxmsu"); // if (cp->data.bgcolor) { UNSUPPORTED("b0tr7jsjw3kgi4yn1hhyfobdl"); // char *clrs[2]; UNSUPPORTED("a153tdlqtl2xw7njhvpt043g0"); // int filled = UNSUPPORTED("bggyewy5jsq8xs6p6uqmwz8yo"); // setFill(job, cp->data.bgcolor, cp->data.gradientangle, UNSUPPORTED("le3x5plb2e92puqisbimymik"); // cp->data.style, clrs); UNSUPPORTED("wor7z65hono519ti6np00g10"); // if (cp->data.style & (1 << 2)) { UNSUPPORTED("1pv247t0tpabjh2167wkpeki9"); // round_corners(job, mkPts(AF, pts, cp->data.border), 4, UNSUPPORTED("696pg1sjw1u5lbale66nm3vbk"); // (1 << 2), filled); UNSUPPORTED("afk9bpom7x393euamnvwwkx6b"); // } else UNSUPPORTED("78v3zjdcsy6x51hs6krs94y97"); // gvrender_box(job, pts, filled); UNSUPPORTED("9b960wuid1g0sjsnq1ssdlupg"); // free(clrs[0]); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cnstcgxihlyyk8wmy1qbr98iy"); // if (cp->data.border) UNSUPPORTED("5ykjzrgfwm9e7lzqomfwnkscl"); // doBorder(job, &cp->data, pts); UNSUPPORTED("3juggmzxcmifv5024m0f0qxqg"); // if (cp->child.kind == 1) UNSUPPORTED("agfo0e6jmuvx19adgs0pvpefw"); // emit_html_tbl(job, cp->child.u.tbl, env); UNSUPPORTED("bo3wy073jgs1e3sue7tnvsotj"); // else if (cp->child.kind == 3) UNSUPPORTED("7q20ab255li6w6fnfu54yjdlh"); // emit_html_img(job, cp->child.u.img, env); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("7cmlz1ub801m6gzdyohkkjoy2"); // emit_html_txt(job, cp->child.u.txt, env); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("75xsmmeykk7ez8sw11jbre3zy"); // if (inAnchor) UNSUPPORTED("d5c2xq1sacfxrx17n6tmzv0su"); // endAnchor(job, &saved, 1); UNSUPPORTED("8t96ufc0yimks592h7dgt7fgc"); // if (doAnchor && (job->flags & (1<<2))) { UNSUPPORTED("anfrwbjdhelhkcp08dbui2mu0"); // if (initAnchor(job, env, &cp->data, pts, &saved, 0)) UNSUPPORTED("96ubcu0fxunhzdlteep62gaqn"); // endAnchor(job, &saved, 0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wy0mqtzrkhcvbguv66mv2zrn // static void allocObj(GVJ_t * job) public static Object allocObj(Object... arg) { UNSUPPORTED("bn0p5no9j7nwlzitfiys1fijz"); // static void allocObj(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8lamppsqs7nhiu5v8k1f5jfh2"); // obj_state_t *obj; UNSUPPORTED("nhwvta7sb3wcvdnmw01rma9o"); // obj_state_t *parent; UNSUPPORTED("1iexddadjo0w6fdgddatfx40s"); // obj = push_obj_state(job); UNSUPPORTED("1ewmspxangaopf94n1rw1y14i"); // parent = obj->parent; UNSUPPORTED("dhamf5corzrp7m86t9hfp30yj"); // obj->type = parent->type; UNSUPPORTED("404l3gn9kccmjaza33x5h3fzz"); // obj->emit_state = parent->emit_state; UNSUPPORTED("4yzc1zw17q6yo4xboi9z52as8"); // switch (obj->type) { UNSUPPORTED("6p9myrtihahet32sl09ru0heu"); // case NODE_OBJTYPE: UNSUPPORTED("dbd51k17w8t0ddwpy5bg5vp42"); // obj->u.n = parent->u.n; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("7smigc57825a1zb9xuxq3ql18"); // case ROOTGRAPH_OBJTYPE: UNSUPPORTED("my43ctqu2yizbfvanbbsradk"); // obj->u.g = parent->u.g; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("3lga3h3kjrn75p6p4giv4q2yv"); // case CLUSTER_OBJTYPE: UNSUPPORTED("8jbc50a4r8xfcwi2db156a1xu"); // obj->u.sg = parent->u.sg; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("4vi5wvx6iqb199sct0s663mpj"); // case EDGE_OBJTYPE: UNSUPPORTED("8jz6uzkwckygawqhoixwcsusc"); // obj->u.e = parent->u.e; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5yci1onvhmtz0gdj686x4qhkw"); // obj->url = parent->url; UNSUPPORTED("4pc3bnqpmihfqis6v1sqaqva9"); // obj->tooltip = parent->tooltip; UNSUPPORTED("6n4o3yegj2vn63hl72840caz7"); // obj->target = parent->target; UNSUPPORTED("5t9m8zfnmlz9az08312o1zk30"); // obj->explicit_tooltip = parent->explicit_tooltip; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3mabixy4ji5v1l1l5q9om0x4y // static void freeObj(GVJ_t * job) public static Object freeObj(Object... arg) { UNSUPPORTED("9xbg7byr2iikj3spqxioe890s"); // static void freeObj(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("cid25b1n5mughekwf1rgz4sdl"); // obj->url = NULL; UNSUPPORTED("37fra7odhf1aaqmgt6u3jkocg"); // obj->tooltip = NULL; UNSUPPORTED("55gjprw91c8dy1u8h7a2n56dt"); // obj->target = NULL; UNSUPPORTED("6jzimjzizo9d0rqik05zn9ux8"); // obj->id = NULL; UNSUPPORTED("39iamwq9cd9iv3d2iyiaq8gz9"); // pop_obj_state(job); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ddm4xxn8hy635ldbmntgizzkh // static double heightOfLbl (htmllabel_t * lp) public static Object heightOfLbl(Object... arg) { UNSUPPORTED("lt6cippjix5bbvyhkcpl8g7g"); // static double UNSUPPORTED("3cec4m7dvd9a2d7cmauwa0wl3"); // heightOfLbl (htmllabel_t * lp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5uxlck4fsq9eog3czplkal9tn"); // double sz = 0.0; UNSUPPORTED("em9mokioy59mljk7qnevn287u"); // switch (lp->kind) { UNSUPPORTED("d0gk15gzj4wz8nv54zbr285hm"); // case 1: UNSUPPORTED("58kb2v4y1iig58dpphr8kp1kp"); // sz = lp->u.tbl->data.box.UR.y - lp->u.tbl->data.box.LL.y; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("33l7a58zp8vj6fuliwdkk2nkn"); // case 3: UNSUPPORTED("69uxpw91jshir9eiltd7y4vzb"); // sz = lp->u.img->box.UR.y - lp->u.img->box.LL.y; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("4u5xz2u3urj13y0aw30fdyup5"); // case 2: UNSUPPORTED("8fvcxjngtixii4s32tymkerbc"); // sz = lp->u.txt->box.UR.y - lp->u.txt->box.LL.y; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ban3s2canux7qwxava1n2e4v2"); // return sz; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9kxusredw550222rw4tuvj6tw // void emit_html_label(GVJ_t * job, htmllabel_t * lp, textlabel_t * tp) public static Object emit_html_label(Object... arg) { UNSUPPORTED("827ar9bsah6y44hkc2l0x2yyj"); // void emit_html_label(GVJ_t * job, htmllabel_t * lp, textlabel_t * tp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3safvfkd3g1jswoj457mw482u"); // htmlenv_t env; UNSUPPORTED("2bghyit203pd6xw2ihhenzyn8"); // pointf p; UNSUPPORTED("7oqkrsdoq858mhdu3qru3k7q5"); // allocObj(job); UNSUPPORTED("93ubxlhijuwcy92rptpniqoj2"); // p = tp->pos; UNSUPPORTED("ebm5wrhicnk2k8g6idvbvr6x8"); // switch (tp->valign) { UNSUPPORTED("c66d69vmpko3goomc3npvjhy3"); // case 't': UNSUPPORTED("2zsr5cioxxui011zsf2jrxla5"); // p.y = tp->pos.y + (tp->space.y - heightOfLbl(lp))/ 2.0 - 1; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("5coaag9ev3fzc0jtpkjkfvhd2"); // case 'b': UNSUPPORTED("b7lduijv2mnk1hrx74v3wsi8y"); // p.y = tp->pos.y - (tp->space.y - heightOfLbl(lp))/ 2.0 - 1; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("8jmef3sfg06sme4q6t23ms8i7"); // default: UNSUPPORTED("3rnvr25kgs8f2wgve2amfmo22"); // /* no-op */ UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("19gcxobv20tvbfloknhb6uv0t"); // env.pos = p; UNSUPPORTED("6ldhuqhlhimfvexg4vyan5brp"); // env.finfo.color = tp->fontcolor; UNSUPPORTED("1ntqemdt0h1gim0fvyt92xnkf"); // env.finfo.name = tp->fontname; UNSUPPORTED("czy6ynncgdz7e32r0wn409mjh"); // env.finfo.size = tp->fontsize; UNSUPPORTED("bvrkxii1nme9b46mvoq9pr24w"); // env.imgscale = agget(job->obj->u.n, "imagescale"); UNSUPPORTED("5was42a52ej882alb3wh25b3g"); // env.objid = job->obj->id; UNSUPPORTED("lz4ny06l3w8df6ndpeertex"); // env.objid_set = 0; UNSUPPORTED("b9ewr9ofzes5k2n2ej3dxjxm3"); // if ((env.imgscale == NULL) || (env.imgscale[0] == '\0')) UNSUPPORTED("dfkmgn7rcfrfhimdh301afmip"); // env.imgscale = "false"; UNSUPPORTED("a7snh64jgwowaf459e8c4yo2a"); // if (lp->kind == 1) { UNSUPPORTED("2lg29o5disaqe0730aa70fsdg"); // htmltbl_t *tbl = lp->u.tbl; UNSUPPORTED("ddp6q4j4nc83pmloaupfxvl7"); // /* set basic graphics context */ UNSUPPORTED("2bejqzroco2e9apsokolfefxd"); // /* Need to override line style set by node. */ UNSUPPORTED("aw7zhlkbn1bg9h9hrlr9by8ty"); // gvrender_set_style(job, job->gvc->defaultlinestyle); UNSUPPORTED("ez6y0qhrd59suvmeebxxapgmw"); // if (tbl->data.pencolor) UNSUPPORTED("1fd3huwog3ibg9g5x5dvq1pre"); // gvrender_set_pencolor(job, tbl->data.pencolor); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("51nbay7blmakvnciy2wquowf1"); // gvrender_set_pencolor(job, "black"); UNSUPPORTED("cdb6g3vx7n1tb1g8upgk63v1x"); // emit_html_tbl(job, tbl, &env); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("aizb92w6okzokdzxdvwem5fjg"); // emit_html_txt(job, lp->u.txt, &env); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("atvr5zqtoe1gvgjfl08vqvanb"); // if (env.objid_set) UNSUPPORTED("22aw68k0gw59cu3vfvu7qk30h"); // free(env.objid); UNSUPPORTED("ecsopdkgrrlklu3ztuzi0m6tx"); // freeObj(job); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bzoc2l4jkwpjnu8uhijkh7jqn // void free_html_data(htmldata_t * dp) public static Object free_html_data(Object... arg) { UNSUPPORTED("dqo3q5rjr3xogz5zf2ttohimm"); // void free_html_data(htmldata_t * dp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8y5nvjzidhbl04fcvvosnh2cq"); // free(dp->href); UNSUPPORTED("z3n0xp5izrwm47idnam7jblz"); // free(dp->port); UNSUPPORTED("67vccrz53cuxcv9z9e22223h8"); // free(dp->target); UNSUPPORTED("6tnzfvbp1p6j44w1dl24ran0q"); // free(dp->id); UNSUPPORTED("1ip1vyptthz69upq114tljq62"); // free(dp->title); UNSUPPORTED("a6ugsu920ej21e6itf84tu9cb"); // free(dp->bgcolor); UNSUPPORTED("9f39dxcdfgaz57ugym4ad8gsr"); // free(dp->pencolor); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4250mxcggii14uzmucxqskd4h // void free_html_text(htmltxt_t * t) public static Object free_html_text(Object... arg) { UNSUPPORTED("a32qj5cyojlxov1ntqwnextyt"); // void free_html_text(htmltxt_t * t) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("54t9ueqlp5jhflgur5q1rnvcy"); // htextspan_t *tl; UNSUPPORTED("4r4excvnla9rwlduw55712ow7"); // textspan_t *ti; UNSUPPORTED("dzpsknrwv8qkqq20hjnjpjn68"); // int i, j; UNSUPPORTED("5argi21if75rbjrs1eyhsuhnz"); // if (!t) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("6ydq8nzmraitjy5yz749x91cs"); // tl = t->spans; UNSUPPORTED("6npcr5e7p97tnnlypb9oqrms2"); // for (i = 0; i < t->nspans; i++) { UNSUPPORTED("1vhu3rza67dase6bsxrym4uin"); // ti = tl->items; UNSUPPORTED("56cjtbt7j7pf7kp3q6wau7u3h"); // for (j = 0; j < tl->nitems; j++) { UNSUPPORTED("2deo2tc186a4sb3pu417hmd3a"); // if (ti->str) UNSUPPORTED("72bxoexh2wbe3czgn40mzmfuk"); // free(ti->str); UNSUPPORTED("77cx2m775gkfqsmyx3neyu6g"); // if (ti->layout && ti->free_layout) UNSUPPORTED("204a53a6qznb93ud39narh2om"); // ti->free_layout(ti->layout); UNSUPPORTED("6f0wl1s431kpd69mmcufrgwpw"); // ti++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("p4j973vosg77way5mbvo1ehp"); // tl++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("aelvrrzvf2kj5t8l44djt9spw"); // if (t->spans) UNSUPPORTED("7kcx5fl3gf4dbufoz3qi141x5"); // free(t->spans); UNSUPPORTED("21sb47r4zqvovwo1ttkh8ql49"); // free(t); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1ag0y1j2z1j2lll9sqzo80ds5 // void free_html_img(htmlimg_t * ip) public static Object free_html_img(Object... arg) { UNSUPPORTED("ct5oxr3idkvuopfdine5us5pk"); // void free_html_img(htmlimg_t * ip) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8jcxwqtd2up96dxw0yrcql1ii"); // free(ip->src); UNSUPPORTED("8c4j24iy781tlk3vbgkeh7b0v"); // free(ip); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8zewpo49ed6tnn0j5hunzms6n // static void free_html_cell(htmlcell_t * cp) public static Object free_html_cell(Object... arg) { UNSUPPORTED("3lsa1e19d2sb3u7wxcf0q6drn"); // static void free_html_cell(htmlcell_t * cp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2anyxy6xbkv0nhv1oijffmuj8"); // free_html_label(&cp->child, 0); UNSUPPORTED("1yict2c0zx2hlabmjbwq0595w"); // free_html_data(&cp->data); UNSUPPORTED("b92mco4tx3q32bgicibdv7yjn"); // free(cp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4ajotfuuo16w4bnu75faio9aw // static void free_html_tbl(htmltbl_t * tbl) public static Object free_html_tbl(Object... arg) { UNSUPPORTED("b80jiab9bv3an4keu3a1itd63"); // static void free_html_tbl(htmltbl_t * tbl) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dvv43a5s6gakrufdzk2xbsdh1"); // htmlcell_t **cells; UNSUPPORTED("8v942or5ma3j9izbbfa3v9jcw"); // if (tbl->rc == -1) { UNSUPPORTED("7cvujz50mnqwdoqey7bjcgvl4"); // dtclose(tbl->u.p.rows); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("q289jp9oo0zjlhjdsrgtzcza"); // cells = tbl->u.n.cells; UNSUPPORTED("cysh14mq0hcnng0iruek7l81d"); // free(tbl->heights); UNSUPPORTED("3bg8e6k3pauiwm4tsze59f04o"); // free(tbl->widths); UNSUPPORTED("1mmt73zvtvn2nghxnfnxtc0kz"); // while (*cells) { UNSUPPORTED("ahv3jghkwzkq1o8sjrm9x0u"); // free_html_cell(*cells); UNSUPPORTED("dmjx9beoeijjbajf48o2tid3"); // cells++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1nklfe6js9jl7wyg0evhvyxfn"); // free(tbl->u.n.cells); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5snkzektoabkm8psx5i1zwj1a"); // free_html_data(&tbl->data); UNSUPPORTED("1vdg4wr4ao9szbdo7awvbthnv"); // free(tbl); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4jhvo7ir2kbb8ephhue06iewo // void free_html_label(htmllabel_t * lp, int root) public static Object free_html_label(Object... arg) { UNSUPPORTED("px6brhgrrpzjieaugbuctqyk"); // void free_html_label(htmllabel_t * lp, int root) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f2d8uwg4ovq9ypi8u1ko3kav6"); // if (lp->kind == 1) UNSUPPORTED("4njkoolh4hwk3tjfhhl4u311n"); // free_html_tbl(lp->u.tbl); UNSUPPORTED("qsuubfg7ephplydfaondbf7e"); // else if (lp->kind == 3) UNSUPPORTED("8lpcn9ohbxfqha73u52buzrbv"); // free_html_img(lp->u.img); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("nvah0tt1wc9cs5qosxj9m760"); // free_html_text(lp->u.txt); UNSUPPORTED("dqseu01ng2nnpewmpp95sm688"); // if (root) UNSUPPORTED("b8jdnilib79yb0fpw3xckwmi2"); // free(lp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5c34vls2f3ixvg8t5410ax0db // static htmldata_t *portToCell(htmlcell_t * cp, char *id) public static Object portToCell(Object... arg) { UNSUPPORTED("9jvs5orxfd5qdafa6ji4ui0xq"); // static htmldata_t *portToCell(htmlcell_t * cp, char *id) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bgibs5jyhxno9axl91okrdtmp"); // htmldata_t *rv; UNSUPPORTED("6wwtj22p5d8kf1vxm6kz89sa0"); // if (cp->data.port && (strcasecmp(cp->data.port, id) == 0)) UNSUPPORTED("91xw2foc7qhxl5qtetg92darg"); // rv = &cp->data; UNSUPPORTED("532so049m9rwv6q34gbsn5922"); // else if (cp->child.kind == 1) UNSUPPORTED("81xv65uhrgyuos0h75imdpnw6"); // rv = portToTbl(cp->child.u.tbl, id); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("52b2tnzwipbuygdvyeyxg1lij"); // rv = NULL; UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6xsutw08hlknw0tpar5xs0i21 // static htmldata_t *portToTbl(htmltbl_t * tp, char *id) public static Object portToTbl(Object... arg) { UNSUPPORTED("e551f60lz4x2wuvcjjin4gw93"); // static htmldata_t *portToTbl(htmltbl_t * tp, char *id) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bgibs5jyhxno9axl91okrdtmp"); // htmldata_t *rv; UNSUPPORTED("dvv43a5s6gakrufdzk2xbsdh1"); // htmlcell_t **cells; UNSUPPORTED("7hxwbqi0ato9k2b4nzpp7uw3a"); // htmlcell_t *cp; UNSUPPORTED("73gxyfkn146pw3twnpimo98gx"); // if (tp->data.port && (strcasecmp(tp->data.port, id) == 0)) UNSUPPORTED("dpbyxk6ui3u1kx64lm556ay6j"); // rv = &tp->data; UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("52b2tnzwipbuygdvyeyxg1lij"); // rv = NULL; UNSUPPORTED("38b5jofj445wn2c558bpt1075"); // cells = tp->u.n.cells; UNSUPPORTED("4dy3q3g9m3eng3vpzdn1x7zm0"); // while ((cp = *cells++)) { UNSUPPORTED("1om5sn0zpyk7ajkfcripgaueb"); // if ((rv = portToCell(cp, id))) UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9uxvepjmnfsmf2vy6czz4hgkq // boxf *html_port(node_t * n, char *pname, int *sides) public static Object html_port(Object... arg) { UNSUPPORTED("b42ganybwd4banjp31wuq2juv"); // boxf *html_port(node_t * n, char *pname, int *sides) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjoetrcwy2ns2t1sx1w9nlyiw"); // htmldata_t *tp; UNSUPPORTED("7w3zjklk3hfz7iikzn0ljroxx"); // htmllabel_t *lbl = ND_label(n)->u.html; UNSUPPORTED("aydqqzhyziv7lgf18ih236m1d"); // boxf *rv = NULL; UNSUPPORTED("bxxfl0a5dpbgktosi79rwsvee"); // if (lbl->kind == 2) UNSUPPORTED("11hwqop4xebvtcskop4uhpp01"); // return NULL; UNSUPPORTED("avhthu8guhst319hhy3gzojcv"); // tp = portToTbl(lbl->u.tbl, pname); UNSUPPORTED("7hdtys3akqmtbw7kbkm786zc"); // if (tp) { UNSUPPORTED("bu515ksy06cwdblsq7802i1ex"); // rv = &tp->box; UNSUPPORTED("1ah6txqnf2ldpui2wwgjncilp"); // *sides = tp->sides; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 73uo7f1blvl7rkz3l1k3z9l6g // int html_path(node_t * n, port * p, int side, boxf * rv, int *k) public static Object html_path(Object... arg) { UNSUPPORTED("f3mv81w2m6lobd446eh7pz18h"); // int html_path(node_t * n, port * p, int side, boxf * rv, int *k) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9ipfcmt80ki80d60bv5414jkq // static int size_html_txt(GVC_t *gvc, htmltxt_t * ftxt, htmlenv_t * env) public static Object size_html_txt(Object... arg) { UNSUPPORTED("d2km41hnc3ukssi3t1z0xv6mk"); // static int size_html_txt(GVC_t *gvc, htmltxt_t * ftxt, htmlenv_t * env) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("enucywxrrro23vyn8ydzoliy6"); // double xsize = 0.0; /* width of text block */ UNSUPPORTED("7dg32psdksxmt8fd0gorumk1h"); // double ysize = 0.0; /* height of text block */ UNSUPPORTED("9l6vfw13niud6alhiqi4uhwin"); // double lsize; /* height of current line */ UNSUPPORTED("dkipd1a21c1fzqdf1csy7okss"); // double mxfsize = 0.0; /* max. font size for the current line */ UNSUPPORTED("7mc3jifq4fjkreg0m7pi96tdf"); // double curbline = 0.0; /* dist. of current base line from top */ UNSUPPORTED("3zlnn621zia9mss7z1ay24myc"); // pointf sz; UNSUPPORTED("dzpsknrwv8qkqq20hjnjpjn68"); // int i, j; UNSUPPORTED("3v9r060xsqi6l9jiy85s1s7x4"); // double width; UNSUPPORTED("afpbxgz63hnj24xiizysaql1x"); // textspan_t lp; UNSUPPORTED("5abu3maiexjxxoig1g2wyd31a"); // textfont_t tf = {NULL,NULL,NULL,0.0,0,0}; UNSUPPORTED("5talng91mi09bja09a1tv4dxl"); // double maxoffset, mxysize; UNSUPPORTED("c0qbc8ly0mwekyzvw96ckqgpt"); // int simple = 1; /* one item per span, same font size/face, no flags */ UNSUPPORTED("9103ua5swh6vaeuhaogzkqtk6"); // double prev_fsize = -1; UNSUPPORTED("b8rr6ma0a6r840xw8og46ayow"); // char* prev_fname = NULL; UNSUPPORTED("7roi5t8l55rt8fze3i4uwenso"); // for (i = 0; i < ftxt->nspans; i++) { UNSUPPORTED("3b11n95lmlcps125gzrpuhd60"); // if (ftxt->spans[i].nitems > 1) { UNSUPPORTED("2ufhyole2xrujdr0y5f3dapya"); // simple = 0; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cm9qwoqfamvcyfvlr30d1nr1s"); // if (ftxt->spans[i].items[0].font) { UNSUPPORTED("ecmjgaovdkhit3tnckxg4v0y"); // if (ftxt->spans[i].items[0].font->flags) { UNSUPPORTED("aecxhqz0c4vwc078325h5ljrt"); // simple = 0; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("49gocrv6srqo4yv635dma1shh"); // if (ftxt->spans[i].items[0].font->size > 0) UNSUPPORTED("91yvqdmg0u2smgfzakc1p9dnk"); // tf.size = ftxt->spans[i].items[0].font->size; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("awkvukgqu0eammzy2rura0l1y"); // tf.size = env->finfo.size; UNSUPPORTED("rbvih6otx8lotsuu944eju4q"); // if (ftxt->spans[i].items[0].font->name) UNSUPPORTED("5cqcm2kyaa5urbz64j71aqq7o"); // tf.name = ftxt->spans[i].items[0].font->name; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("34123u1eshd6obe9mldzjt1r"); // tf.name = env->finfo.name; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("eiweww00wuhewrvjrctiiqmiu"); // tf.size = env->finfo.size; UNSUPPORTED("847ge9b9nnqjog5lqgkml19aw"); // tf.name = env->finfo.name; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3xpqh1q6f1vll4kmk1gukc63b"); // if (prev_fsize == -1) UNSUPPORTED("ena1833cax4c34kotbdwvak1w"); // prev_fsize = tf.size; UNSUPPORTED("9gjeg14gc64m5qqla00fmz25m"); // else if (tf.size != prev_fsize) { UNSUPPORTED("2ufhyole2xrujdr0y5f3dapya"); // simple = 0; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("by2xnz0o3ry8q2v9nbzg6hwyp"); // if (prev_fname == NULL) UNSUPPORTED("dnep357finkc976a48n5pwi87"); // prev_fname = tf.name; UNSUPPORTED("3psnb2eu2dg8uhj5w0870elb9"); // else if (strcmp(tf.name,prev_fname)) { UNSUPPORTED("2ufhyole2xrujdr0y5f3dapya"); // simple = 0; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("adewtwe2se314ad82rrfbxesn"); // ftxt->simple = simple; UNSUPPORTED("7roi5t8l55rt8fze3i4uwenso"); // for (i = 0; i < ftxt->nspans; i++) { UNSUPPORTED("9a0avbfjwenvg2d47qtbuweua"); // width = 0; UNSUPPORTED("ef1hr3ewvs5nmkhfvc1gzb601"); // mxysize = maxoffset = mxfsize = 0; UNSUPPORTED("a8mqt4e5j3hdjdhews2hyprzx"); // for (j = 0; j < ftxt->spans[i].nitems; j++) { UNSUPPORTED("2q7qg0luja620dal3icll3y1u"); // lp.str = UNSUPPORTED("7wkvclr4amgbwidu7am4n4e9"); // strdup_and_subst_obj(ftxt->spans[i].items[j].str, UNSUPPORTED("7gc1i4xy06rr13mkrm064alwg"); // env->obj); UNSUPPORTED("es1uhegi53zlginv3fn377ttk"); // if (ftxt->spans[i].items[j].font) { UNSUPPORTED("17j1uniuegk5u051dn25pw3gq"); // if (ftxt->spans[i].items[j].font->flags) UNSUPPORTED("efpnh435bdcd1n2kezs5ktvzy"); // tf.flags = ftxt->spans[i].items[j].font->flags; UNSUPPORTED("6j7143szr4h1b06ypdvgtzej8"); // else if (env->finfo.flags > 0) UNSUPPORTED("6c0bi1u8w68y8po1xfwuza6zj"); // tf.flags = env->finfo.flags; UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("36yrkbq7bp25lf1dz2mplj4cr"); // tf.flags = 0; UNSUPPORTED("391164cwoz9v397x9u8rkjhk9"); // if (ftxt->spans[i].items[j].font->size > 0) UNSUPPORTED("85ubstqj5l4yw6iqfb5u9q59k"); // tf.size = ftxt->spans[i].items[j].font->size; UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("89nphq4w74dlj3z8c7bthttp6"); // tf.size = env->finfo.size; UNSUPPORTED("3qtgtzijdke73w4qdtw1vodsc"); // if (ftxt->spans[i].items[j].font->name) UNSUPPORTED("d1kpg0d61zktgy8fllqpl6r04"); // tf.name = ftxt->spans[i].items[j].font->name; UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("8equhc9vu57xbon3reu2t9s9d"); // tf.name = env->finfo.name; UNSUPPORTED("5rlflpehqczriol571hddwbft"); // if (ftxt->spans[i].items[j].font->color) UNSUPPORTED("ld97oa2r4mvkqigz9a2d4glz"); // tf.color = ftxt->spans[i].items[j].font->color; UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("dtu7lsz1utlh40uq649hvgf4c"); // tf.color = env->finfo.color; UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("awkvukgqu0eammzy2rura0l1y"); // tf.size = env->finfo.size; UNSUPPORTED("34123u1eshd6obe9mldzjt1r"); // tf.name = env->finfo.name; UNSUPPORTED("8n92kg5u3m10wsr6jm62eg61h"); // tf.color = env->finfo.color; UNSUPPORTED("b8gve1m5o0h09srrlc52qno68"); // tf.flags = env->finfo.flags; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6pujfv7mkl0ts8acvvhf7j68l"); // lp.font = (*(((Dt_t*)(gvc->textfont_dt))->searchf))((gvc->textfont_dt),(void*)(&tf),0000001); UNSUPPORTED("8i186h7avjprd8q600uev4dk1"); // sz = textspan_size(gvc, &lp); UNSUPPORTED("7sve52bt0sg994yujeqnj1ee7"); // free(ftxt->spans[i].items[j].str); UNSUPPORTED("7n5xxqc7bf785b3vg6wkyq0jv"); // ftxt->spans[i].items[j].str = lp.str; UNSUPPORTED("45hl6as36hx999jz2k9g10ydj"); // ftxt->spans[i].items[j].size.x = sz.x; UNSUPPORTED("1abxhbvjvo1u1ttvi1p342jus"); // ftxt->spans[i].items[j].yoffset_layout = lp.yoffset_layout; UNSUPPORTED("6g3vck94x70rwugsm0aoabrqb"); // ftxt->spans[i].items[j].yoffset_centerline = lp.yoffset_centerline; UNSUPPORTED("54axi70lqceno3tc3rz1ehng2"); // ftxt->spans[i].items[j].font = lp.font; UNSUPPORTED("7jhou5j13sjleso6feiatoaoc"); // ftxt->spans[i].items[j].layout = lp.layout; UNSUPPORTED("3pw936hxlpcr69shtp6sgowsa"); // ftxt->spans[i].items[j].free_layout = lp.free_layout; UNSUPPORTED("9oopx30hvgm8ftp8r0nn4e8bj"); // width += sz.x; UNSUPPORTED("518m1khvmder7vqvp0hldjgbh"); // mxfsize = MAX(tf.size, mxfsize); UNSUPPORTED("exovf1xn9ctmplyx33mja1vrz"); // mxysize = MAX(sz.y, mxysize); UNSUPPORTED("7f5yprewzsb1w8754ep93fkas"); // maxoffset = MAX(lp.yoffset_centerline, maxoffset); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("ezt62wz8fz2o3ynaz4cj9e2zi"); // /* lsize = mxfsize * LINESPACING; */ UNSUPPORTED("30psssu8agnd1086emgoq0j0b"); // ftxt->spans[i].size = width; UNSUPPORTED("2pdquaaidownb36jtsp0198oi"); // /* ysize - curbline is the distance from the previous UNSUPPORTED("d2q7magpdfwbuals4dhm82b59"); // * baseline to the bottom of the previous line. UNSUPPORTED("3wys2nt4su7dijofyuoxp9pmy"); // * Then, in the current line, we set the baseline to UNSUPPORTED("axlmhbsh0mbomfxq2r02eaesx"); // * be 5/6 of the max. font size. Thus, lfsize gives the UNSUPPORTED("c57kku7dcto56eurjfru5mcfl"); // * distance from the previous baseline to the new one. UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("8b6b6ts1hmhvfeducque2k20f"); // /* ftxt->spans[i].lfsize = 5*mxfsize/6 + ysize - curbline; */ UNSUPPORTED("8e7c80dt5illziz5bnck5nft"); // if (simple) { UNSUPPORTED("1lgfxabhycl91meyft2sugowo"); // lsize = mxysize; UNSUPPORTED("50npm85hpqd4x3w4xtik1u0u5"); // if (i == 0) UNSUPPORTED("b6293djsci1slar86ugvgwtkr"); // ftxt->spans[i].lfsize = mxfsize; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("1exk3htppob7dv9g9hc0l1pzv"); // ftxt->spans[i].lfsize = mxysize; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("avcy589gnqhgyyp2tux4tls9s"); // lsize = mxfsize; UNSUPPORTED("50npm85hpqd4x3w4xtik1u0u5"); // if (i == 0) UNSUPPORTED("5bq15etm4r7y0cnxjp7qvi3cw"); // ftxt->spans[i].lfsize = mxfsize - maxoffset; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("1afl0nxukpasbalw1t7k9kxsg"); // ftxt->spans[i].lfsize = mxfsize + ysize - curbline - maxoffset; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c88f3q21nlbmz7y64utrma2z"); // curbline += ftxt->spans[i].lfsize; UNSUPPORTED("2ga6jsghpcuynpdx3txf2nqhe"); // xsize = MAX(width, xsize); UNSUPPORTED("73jrgxmapbnlleqehfcmycu3s"); // ysize += lsize; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3fj51aqjdetus99zq60mg1ypb"); // ftxt->box.UR.x = xsize; UNSUPPORTED("8cfp3ggtw6g1e0uqqcx26jefm"); // if (ftxt->nspans == 1) UNSUPPORTED("7tvnz7crdx3mw7m6vcs6oxgva"); // ftxt->box.UR.y = mxysize; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("bcedf5nxsnwkift6t9h41s2ui"); // ftxt->box.UR.y = ysize; UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 du4alvh2eyanoeurjmm7ne2s4 // static int size_html_img(htmlimg_t * img, htmlenv_t * env) public static Object size_html_img(Object... arg) { UNSUPPORTED("6r0cp3mjbmapso0uy6kf5q4ec"); // static int size_html_img(htmlimg_t * img, htmlenv_t * env) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("ecz4e03zumggc8tfymqvirexq"); // int rv; UNSUPPORTED("akqyk09dlbng8gurbyg17dnc1"); // b.LL.x = b.LL.y = 0; UNSUPPORTED("2k247zgqlchbw2dvvvh6zzimq"); // b.UR = gvusershape_size(env->g, img->src); UNSUPPORTED("d94e3v5u12wnsanl2dvvtj03y"); // if ((b.UR.x == -1) && (b.UR.y == -1)) { UNSUPPORTED("885b2fn5ijjlk16dudzm5udhi"); // rv = 1; UNSUPPORTED("7750x6ix0c448pufsv2h39l23"); // b.UR.x = b.UR.y = 0; UNSUPPORTED("7j1wmlsuz5bc945ul66p0h5vd"); // agerr(AGERR, "No or improper image file=\"%s\"\n", img->src); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("40zoypg37zonwb7nuewxdti29"); // rv = 0; UNSUPPORTED("4fgus4ctyrpzvzutk2t3sbnjz"); // GD_has_images(env->g) = NOT(0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("d21fe9xn70gegafov7uebg3qb"); // B2BF(b, img->box); UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9orvnos51tdgi1w930vz5ilu1 // static int size_html_cell(graph_t * g, htmlcell_t * cp, htmltbl_t * parent, htmlenv_t * env) public static Object size_html_cell(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("et2mfady8pt9b8i3f4edn6s70"); // size_html_cell(graph_t * g, htmlcell_t * cp, htmltbl_t * parent, UNSUPPORTED("7rsvpji8pk71yfh6vlnrcw0gr"); // htmlenv_t * env) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ecz4e03zumggc8tfymqvirexq"); // int rv; UNSUPPORTED("52iqo1icikig1r6cfl67l4jdi"); // pointf sz, child_sz; UNSUPPORTED("15vcjwivk85sj24txzc1mf1gj"); // int margin; UNSUPPORTED("etselr2dt8ar5gvmwaoxy6y5l"); // cp->parent = parent; UNSUPPORTED("50dv6t5z0wyku6dllqff1iv27"); // if (!(cp->data.flags & (1 << 6))) { UNSUPPORTED("97fl9muv1jfeao4gxqpymm13j"); // if (parent->data.flags & (1 << 6)) UNSUPPORTED("5u116ukt7yjaroekwqs54hjrk"); // cp->data.pad = parent->data.pad; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("41ktgcwfypets5u32iewdvbeb"); // cp->data.pad = 2; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("699bf6m7xqdahtsehkvxitqyt"); // if (!(cp->data.flags & (1 << 5))) { UNSUPPORTED("5xc4uyj2wyxyxasjffnwwva8t"); // if (parent->cb >= 0) UNSUPPORTED("c5vnaur3t856lfk08as21f2du"); // cp->data.border = parent->cb; UNSUPPORTED("ezmlqin03d78ffwtn6wcl8jgz"); // else if (parent->data.flags & (1 << 5)) UNSUPPORTED("3vpuhzaojqfvz1oqrfjpcdal5"); // cp->data.border = parent->data.border; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("8crqygmgfeul39h4ks24fgbl4"); // cp->data.border = 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6vkx3zam2bwthfmvig3p2y9ec"); // if (cp->child.kind == 1) { UNSUPPORTED("cmmw9z4fxqb6lsmxh9enkp17a"); // rv = size_html_tbl(g, cp->child.u.tbl, cp, env); UNSUPPORTED("ao9dinb2mbsuqheodockffton"); // child_sz = cp->child.u.tbl->data.box.UR; UNSUPPORTED("1gp8mj8w7s5i6ye7jneczpoai"); // } else if (cp->child.kind == 3) { UNSUPPORTED("3wrpfz7xtwqio3b0z1g3v5o8n"); // rv = size_html_img(cp->child.u.img, env); UNSUPPORTED("ao7i7b9oc9kp6hmh3zjj58lnt"); // child_sz = cp->child.u.img->box.UR; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("dqcevwpj4uv0dm7et9vvi4981"); // rv = size_html_txt(GD_gvc(g), cp->child.u.txt, env); UNSUPPORTED("e0lg9mfl5jfnx6zq8wzjhjug3"); // child_sz = cp->child.u.txt->box.UR; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("78xu81zxcltf94ml0dgxdv0ct"); // margin = 2 * (cp->data.pad + cp->data.border); UNSUPPORTED("axd51bzv8hdpm5cqsmdqchgwm"); // sz.x = child_sz.x + margin; UNSUPPORTED("8tle7dmp7rihl4xa46c1vsytu"); // sz.y = child_sz.y + margin; UNSUPPORTED("rt15k2ok7a3v6ib8d9ajshvb"); // if (cp->data.flags & 1) { UNSUPPORTED("d3zk61sb768arhaezyareldiy"); // if (cp->data.width && cp->data.height) { UNSUPPORTED("ei7d0i8pzwjupmet76ttu9k3y"); // if (((cp->data.width < sz.x) || (cp->data.height < sz.y)) && (cp->child.kind != 3)) { UNSUPPORTED("2v16k5fx5lxcwu61pv8f5xjc6"); // agerr(AGWARN, "cell size too small for content\n"); UNSUPPORTED("en0rarvkx5srsxnlqpf6ja1us"); // rv = 1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("2e7vq0c1ngiofwke5k8mpm586"); // sz.x = sz.y = 0; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("cw5grwj6gbj94jcztvnp2ooyj"); // agerr(AGWARN, UNSUPPORTED("1sn048qvhhtpv5ruvi1ek7cu9"); // "fixed cell size with unspecified width or height\n"); UNSUPPORTED("eldwzm3uyfs9zu1roub5a2uqi"); // rv = 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5r8hvlq4fuk8vn3yje9c0m0uu"); // cp->data.box.UR.x = MAX(sz.x, cp->data.width); UNSUPPORTED("d9o6hnda0ppqxexsj3b2jf56k"); // cp->data.box.UR.y = MAX(sz.y, cp->data.height); UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2srxlzkxe960nczu4z5nrauej // static int findCol(PointSet * ps, int row, int col, htmlcell_t * cellp) public static Object findCol(Object... arg) { UNSUPPORTED("vy7n771o40h01dyj8qyye2he"); // static int findCol(PointSet * ps, int row, int col, htmlcell_t * cellp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("atyysowmqcj69416bvut6yxfq"); // int notFound = 1; UNSUPPORTED("1rqrfmkus9ne1c7zkm53hh6iw"); // int lastc; UNSUPPORTED("3pkra937htjqd1n85qf314kwy"); // int i, j, c; UNSUPPORTED("akx52eziuhdorahyk116rhftc"); // int end = cellp->cspan - 1; UNSUPPORTED("e36dcwthblpabui3v722ntlke"); // while (notFound) { UNSUPPORTED("4derp9qd9dg8zrdjzsg8bi2xv"); // lastc = col + end; UNSUPPORTED("4fmilhappg4ntixu8kj2rc6nz"); // for (c = lastc; c >= col; c--) { UNSUPPORTED("92vp8hruf9vv0l1khyphftjg3"); // if (isInPS(ps, c, row)) UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("156e8skr86gdus2rqg2tdz9yf"); // if (c >= col) /* conflict : try column after */ UNSUPPORTED("c9hnrokfu25736l6eoik4urbr"); // col = c + 1; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("ba024nbnjj22rx1iicy8uxxkt"); // notFound = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("38eo2dncsprcse2x4i75p3yjy"); // for (j = col; j < col + cellp->cspan; j++) { UNSUPPORTED("6rk7stb6bm4hsbl9zhf1oswa6"); // for (i = row; i < row + cellp->rspan; i++) { UNSUPPORTED("69i3bt6zrjdg92p2f8yk762bz"); // addPS(ps, j, i); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("eyeu27jykzh29hth7lx38hgxm"); // return col; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1apchhkdbk0wgxmptldlqordv // static int processTbl(graph_t * g, htmltbl_t * tbl, htmlenv_t * env) public static Object processTbl(Object... arg) { UNSUPPORTED("bcwb87d1whfft3xydpjn96tqy"); // static int processTbl(graph_t * g, htmltbl_t * tbl, htmlenv_t * env) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("128n741ndr3z3b941iiig8vm7"); // pitem *rp; UNSUPPORTED("1lyxohypr7xtypbox8n2liqkw"); // pitem *cp; UNSUPPORTED("8zh8zqcxqo5o3m6nfh4qqjtqd"); // Dt_t *cdict; UNSUPPORTED("ak7qc3htpxsunavl58wf3ykp7"); // int r, c, cnt; UNSUPPORTED("bvyiajn0xy1nahb1h31ol0aum"); // htmlcell_t *cellp; UNSUPPORTED("dvv43a5s6gakrufdzk2xbsdh1"); // htmlcell_t **cells; UNSUPPORTED("msjtkjhws4l03dje06ts0ej2"); // Dt_t *rows = tbl->u.p.rows; UNSUPPORTED("en7ch189nkys76f42mlo1s5zz"); // int rv = 0; UNSUPPORTED("1h87ik53wg9l6htch3tj9mdpk"); // int n_rows = 0; UNSUPPORTED("aqunzhkejhxkiklw6o7tpj5an"); // int n_cols = 0; UNSUPPORTED("41peclvejrri7877ir3zgwcxj"); // PointSet *ps = newPS(); UNSUPPORTED("7xz7xonr4rynms8yk9dka1c1c"); // Dt_t *is = openIntSet(); UNSUPPORTED("62kokzledbm3nvmfhsjw06ngh"); // rp = (pitem *) dtflatten(rows); UNSUPPORTED("3wtn792c3ql5yhn77alu6r5d8"); // cnt = 0; UNSUPPORTED("dfy198s0balu93ez4di7muow9"); // r = 0; UNSUPPORTED("as2bzplymgjxm7ebvzv9qlluc"); // while (rp) { UNSUPPORTED("6alsowu6a5tm4rvox9kha1gce"); // cdict = rp->u.rp; UNSUPPORTED("cjjz9vegbwfwp7vphaszleumu"); // cp = (pitem *) dtflatten(cdict); UNSUPPORTED("4dkgvugqegweb72s3vindd7mm"); // while (cp) { UNSUPPORTED("jtct9ua5y8186svpuv23kp7p"); // cellp = cp->u.cp; UNSUPPORTED("7hl03wjg5yryhvbe4ar0i0b8g"); // cnt++; UNSUPPORTED("dqg1emepjmbtjkxtwpgir4aog"); // cp = (pitem *) (((Dtlink_t*)((Dtlink_t *) cp))->right); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("68wat35fq8rxh3ahmgb0osdrf"); // if (rp->ruled) { UNSUPPORTED("da9vcofurrebillaayamdrvld"); // addIntSet(is, r + 1); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2v1rjsx8pivqutio6f2cyr2wy"); // rp = (pitem *) (((Dtlink_t*)((Dtlink_t *) rp))->right); UNSUPPORTED("4termxikckg62elr2s0j5gur5"); // r++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7zm6t55676a2m6csol3hxgep5"); // cells = tbl->u.n.cells = (htmlcell_t **)zmalloc((cnt + 1)*sizeof(htmlcell_t *)); UNSUPPORTED("62kokzledbm3nvmfhsjw06ngh"); // rp = (pitem *) dtflatten(rows); UNSUPPORTED("dfy198s0balu93ez4di7muow9"); // r = 0; UNSUPPORTED("as2bzplymgjxm7ebvzv9qlluc"); // while (rp) { UNSUPPORTED("6alsowu6a5tm4rvox9kha1gce"); // cdict = rp->u.rp; UNSUPPORTED("cjjz9vegbwfwp7vphaszleumu"); // cp = (pitem *) dtflatten(cdict); UNSUPPORTED("1k960hbt4mxjx2nga87rqvluh"); // c = 0; UNSUPPORTED("4dkgvugqegweb72s3vindd7mm"); // while (cp) { UNSUPPORTED("jtct9ua5y8186svpuv23kp7p"); // cellp = cp->u.cp; UNSUPPORTED("dfp4lwqkqwtwqravyevqkitl1"); // *cells++ = cellp; UNSUPPORTED("9ugieksnm2bl2n9cwne2e38ox"); // rv |= size_html_cell(g, cellp, tbl, env); UNSUPPORTED("c03wghmv71v8fgtr029ddiyvb"); // c = findCol(ps, r, c, cellp); UNSUPPORTED("9jr1vjqqownfst01hpmblabwd"); // cellp->row = r; UNSUPPORTED("6v3t8u08fnrim0j9p1m1sps2m"); // cellp->col = c; UNSUPPORTED("6peyajy1b4ou6csrom7hvx3k"); // c += cellp->cspan; UNSUPPORTED("5vkigdl3r09507utmar6214g2"); // n_cols = MAX(c, n_cols); UNSUPPORTED("32x1t87vbkfkmabhkgz9976m5"); // n_rows = MAX(r + cellp->rspan, n_rows); UNSUPPORTED("57xvc7zjof6trsl5gj1y6yxve"); // if (inIntSet(is, r + cellp->rspan)) UNSUPPORTED("6rfn2x9963tk19dqchzngwyd"); // cellp->ruled |= 2; UNSUPPORTED("dqg1emepjmbtjkxtwpgir4aog"); // cp = (pitem *) (((Dtlink_t*)((Dtlink_t *) cp))->right); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2v1rjsx8pivqutio6f2cyr2wy"); // rp = (pitem *) (((Dtlink_t*)((Dtlink_t *) rp))->right); UNSUPPORTED("4termxikckg62elr2s0j5gur5"); // r++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9gx68fjgz9ifzyvg8ai41r2c7"); // tbl->rc = n_rows; UNSUPPORTED("5wmtjbrsn5w7d9mfonxxl5rex"); // tbl->cc = n_cols; UNSUPPORTED("5rgp5ftqrficnrim8srbzbcda"); // dtclose(rows); UNSUPPORTED("2hhzg76es68ebqvfzxjp27o2a"); // dtclose(is); UNSUPPORTED("dg5ijmmysdxc2qm5j58u0zr8i"); // freePS(ps); UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bftk6pbrbqkhwivjh0o2e4xmn // void sizeLinearArray(htmltbl_t * tbl) public static Object sizeLinearArray(Object... arg) { UNSUPPORTED("wzpmfhhszovxq93ydvsztetp"); // void sizeLinearArray(htmltbl_t * tbl) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7hxwbqi0ato9k2b4nzpp7uw3a"); // htmlcell_t *cp; UNSUPPORTED("dvv43a5s6gakrufdzk2xbsdh1"); // htmlcell_t **cells; UNSUPPORTED("a5e2rpf4z46wl32fel7sngtht"); // int wd, ht, i, x, y; UNSUPPORTED("bekwtc6rvpxxj0nw9htqo33xq"); // tbl->heights = (int*)zmalloc((tbl->rc + 1)*sizeof(int)); UNSUPPORTED("4nsdljbbmltaxyxhbkgez5juv"); // tbl->widths = (int*)zmalloc((tbl->cc + 1)*sizeof(int)); UNSUPPORTED("4yfdx4j85y1bzrkfrbeq3rnj6"); // for (cells = tbl->u.n.cells; *cells; cells++) { UNSUPPORTED("bf3l7aqwurk08ip8lin8au4oe"); // cp = *cells; UNSUPPORTED("dmn24k5ytrxxuntvcr8vns6tt"); // if (cp->rspan == 1) UNSUPPORTED("9k4vh2dstnvhzcg67gnc2u0hc"); // ht = cp->data.box.UR.y; UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("6rutzpzliee7qswgmtnii20jt"); // ht = (((cp->data.box.UR.y) - ((tbl->data.space)-1)*((cp->rspan)-1)) / (cp->rspan)); UNSUPPORTED("9tyo1nx8qfdmx87ivzhetk171"); // ht = MAX(ht, 1); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("7b6n5ydweyv46ezj3frs3lfg8"); // if (cp->cspan == 1) UNSUPPORTED("1cw4kfk6l8gvrnkuc1q6j2f6w"); // wd = cp->data.box.UR.x; UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("ctj4xice3u59j761qz48su8d2"); // wd = (((cp->data.box.UR.x) - ((tbl->data.space)-1)*((cp->cspan)-1)) / (cp->cspan)); UNSUPPORTED("bis5z8qaes014qjil2z9bc3yt"); // wd = MAX(wd, 1); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cj4rszdnftxulj5j4ofvc86uq"); // for (i = cp->row; i < cp->row + cp->rspan; i++) { UNSUPPORTED("9ha3mpnu8g0xi2pqwnvqhlzsq"); // y = tbl->heights[i]; UNSUPPORTED("4hz0jj81f7ed1qmvkhq81jqs1"); // tbl->heights[i] = MAX(y, ht); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5zv1xp0ve74t81kdl39w242c0"); // for (i = cp->col; i < cp->col + cp->cspan; i++) { UNSUPPORTED("ex7pzeip1t4jvbqqy0rx9esqq"); // x = tbl->widths[i]; UNSUPPORTED("29fd6hhyg0mnezt3mgdi6ezvx"); // tbl->widths[i] = MAX(x, wd); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 9u21vrho83xozf1mugcyz8al8 // static char *nnames[] = //3 4i4kof2mbmyuy7554t99luv2d // char *nToName(int c) public static Object nToName(Object... arg) { UNSUPPORTED("152ni25tykk6b46aztxh05dt0"); // char *nToName(int c) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("escxhdgvfkgvry6gz920y3v60"); // static char name[100]; UNSUPPORTED("a6nlvtzc7976215aud08npjv6"); // if (c < sizeof(nnames) / sizeof(char *)) UNSUPPORTED("240zhg319p6154exv92iyohag"); // return nnames[c]; UNSUPPORTED("2chdmawkug9stfqe4qstajlgf"); // sprintf(name, "%d", c); UNSUPPORTED("d8c692wl5ut9pklgbb0o4igud"); // return name; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1bmoyklwxydje1kcgu3nwsnvl // static void closeGraphs(graph_t * rowg, graph_t * colg) public static Object closeGraphs(Object... arg) { UNSUPPORTED("5bqv0gm8rycgunk4roh5kfd71"); // static void closeGraphs(graph_t * rowg, graph_t * colg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("16whpdxt4g151a019tn55jeo1"); // for (n = GD_nlist(colg); n; n = ND_next(n)) { UNSUPPORTED("6uowedfybay0zqxujx4izx5eb"); // free_list(ND_in(n)); UNSUPPORTED("9ma0k3ktcua915egahxrgo1f"); // free_list(ND_out(n)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ewsu4butq0z77lshmz2vye0ij"); // agclose(rowg); UNSUPPORTED("18xxbtcxgsqom0dvtu2y9osv5"); // agclose(colg); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a1pb8vo051kce2vw0blclqlh7 // static void checkChain(graph_t * g) public static Object checkChain(Object... arg) { UNSUPPORTED("7b9ue77v0ds2jxp1wmflsxiqi"); // static void checkChain(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1sul2kifdj17kxdwdagt5uhx0"); // node_t *t; UNSUPPORTED("35dj5rc61rye1ulocvhco6987"); // node_t *h; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("6i65dyohrxfpnbw3znq9e4hxi"); // t = GD_nlist(g); UNSUPPORTED("6jgcyxjliiep5hu0src4icwsh"); // for (h = ND_next(t); h; h = ND_next(h)) { UNSUPPORTED("1kq1nqm0i5t35dko9cviktd9e"); // if (!(agedge(g,t,h,NULL,0))) { UNSUPPORTED("28qblrynck0phu482ss4sftwy"); // e = agedge(g, t, h, NULL, 1); UNSUPPORTED("bk18w1br4j7n3sw0vx7z7dho0"); // agbindrec(e, "Agedgeinfo_t", sizeof(Agedgeinfo_t), NOT(0)); UNSUPPORTED("dpbzsnqt42s889q1m7w0zurwg"); // ED_minlen(e) = 0; UNSUPPORTED("12z7onvdo58ujwat9vwz7pu68"); // elist_append(e, ND_out(t)); UNSUPPORTED("er5zn9v0t89u2bvp152gkcdub"); // elist_append(e, ND_in(h)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("xo3px3hijp17toszrxjhzc30"); // t = h; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5t5lovn25afcqbdxm2c69199o // static void checkEdge (graph_t* g, node_t* t, node_t* h, int sz) public static Object checkEdge(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("36q9ktek22tbigm7zmxlp9p7l"); // checkEdge (graph_t* g, node_t* t, node_t* h, int sz) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("81kodm2cts9uf9w37cp7qzp6p"); // edge_t* e; UNSUPPORTED("8qkxrsrb72iksyrj5au48hgr"); // e = (agedge(g,t,h,NULL,0)); UNSUPPORTED("eveunyp9nozvcp5ktz2kz6zyq"); // if (e) UNSUPPORTED("ef61cpvlu3fjobunnte2wliht"); // ED_minlen(e) = MAX(ED_minlen(e), sz); UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("da8fjridlwi8lgf9bv6mifuwm"); // e = agedge(g, t, h, NULL, 1); UNSUPPORTED("406k6e0j28h0czhe1mdish7vy"); // agbindrec(e, "Agedgeinfo_t", sizeof(Agedgeinfo_t), NOT(0)); UNSUPPORTED("dcfkl6td76thzb0wdxafrukj5"); // ED_minlen(e) = sz; UNSUPPORTED("5evqa618mv70sukx6s3ahhq75"); // elist_append(e, ND_out(t)); UNSUPPORTED("cvd7i7492o2yve3svqc40ltot"); // elist_append(e, ND_in(h)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ae7dclkuh27vau8tjkxw8clhl // void makeGraphs(htmltbl_t * tbl, graph_t * rowg, graph_t * colg) public static Object makeGraphs(Object... arg) { UNSUPPORTED("4cuju09ekofovn0fc2bbo50uw"); // void makeGraphs(htmltbl_t * tbl, graph_t * rowg, graph_t * colg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7hxwbqi0ato9k2b4nzpp7uw3a"); // htmlcell_t *cp; UNSUPPORTED("dvv43a5s6gakrufdzk2xbsdh1"); // htmlcell_t **cells; UNSUPPORTED("1sul2kifdj17kxdwdagt5uhx0"); // node_t *t; UNSUPPORTED("b55eoe9gg0u440hnl6vuw0g3s"); // node_t *lastn; UNSUPPORTED("35dj5rc61rye1ulocvhco6987"); // node_t *h; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("58o4wu841vkglm3tl8mc9urvu"); // lastn = NULL; UNSUPPORTED("2agp2sozteqj056j34uh5gz6h"); // for (i = 0; i <= tbl->cc; i++) { UNSUPPORTED("4nm4kztncxgnqxvbaebfbbqak"); // t = agnode(colg, nToName(i), 1); UNSUPPORTED("9l63nm03ta49n83wax0vthiof"); // agbindrec(t, "Agnodeinfo_t", sizeof(Agnodeinfo_t), NOT(0)); UNSUPPORTED("94oupz5r7tj8hnhras7jssnay"); // alloc_elist(tbl->rc, ND_in(t)); UNSUPPORTED("57yrln8a69t0p1dzxk3rha53k"); // alloc_elist(tbl->rc, ND_out(t)); UNSUPPORTED("d60g65zb8jbubbmomitpsgzpr"); // if (lastn) { UNSUPPORTED("cowtfloqsbrmejpce7x6ulj5k"); // ND_next(lastn) = t; UNSUPPORTED("18byrlv6ie9y9nm16dl41cxdb"); // lastn = t; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("rgfby4l7dq8t8nwonk6eqvjc"); // lastn = GD_nlist(colg) = t; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("58o4wu841vkglm3tl8mc9urvu"); // lastn = NULL; UNSUPPORTED("de5kizyloe4kak5mszz3l0xcc"); // for (i = 0; i <= tbl->rc; i++) { UNSUPPORTED("el8vcb38542oa4q3m86rx8r4x"); // t = agnode(rowg, nToName(i), 1); UNSUPPORTED("9l63nm03ta49n83wax0vthiof"); // agbindrec(t, "Agnodeinfo_t", sizeof(Agnodeinfo_t), NOT(0)); UNSUPPORTED("as7afux025j9za91lkpbdhlh5"); // alloc_elist(tbl->cc, ND_in(t)); UNSUPPORTED("45owhrvnuizmz3gn6jhwt9r56"); // alloc_elist(tbl->cc, ND_out(t)); UNSUPPORTED("d60g65zb8jbubbmomitpsgzpr"); // if (lastn) { UNSUPPORTED("cowtfloqsbrmejpce7x6ulj5k"); // ND_next(lastn) = t; UNSUPPORTED("18byrlv6ie9y9nm16dl41cxdb"); // lastn = t; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("9j9ll3uhnqlomsgvhwsft59wk"); // lastn = GD_nlist(rowg) = t; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4yfdx4j85y1bzrkfrbeq3rnj6"); // for (cells = tbl->u.n.cells; *cells; cells++) { UNSUPPORTED("bf3l7aqwurk08ip8lin8au4oe"); // cp = *cells; UNSUPPORTED("83k3qjf3v9w5l7hot4gvvs5tg"); // t = (agnode(colg,nToName(cp->col),0)); UNSUPPORTED("8msa1ozfck8y5yhzco44z0t57"); // h = (agnode(colg,nToName(cp->col + cp->cspan),0)); UNSUPPORTED("d2ar26j7okhoc8twhebaivofx"); // checkEdge (colg, t, h, cp->data.box.UR.x); UNSUPPORTED("2fjen8suku1q3xxa0wpl7qsum"); // t = (agnode(rowg,nToName(cp->row),0)); UNSUPPORTED("ab72awoppza0d4tajke9xm71i"); // h = (agnode(rowg,nToName(cp->row + cp->rspan),0)); UNSUPPORTED("bk0s0xc8k56b9bngk7g2fka0h"); // checkEdge (rowg, t, h, cp->data.box.UR.y); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ewn6zn4glhuedc96496ald1le"); // /* Make sure that 0 <= 1 <= 2 ...k. This implies graph connected. */ UNSUPPORTED("f3o274adxf294p08bi4ou6m88"); // checkChain(colg); UNSUPPORTED("f0anhfqyvokbtq82twub44rfd"); // checkChain(rowg); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a9vkjdktfvq94s8grq0awt8ub // void setSizes(htmltbl_t * tbl, graph_t * rowg, graph_t * colg) public static Object setSizes(Object... arg) { UNSUPPORTED("bc7wgvmmd3yu8683xxfd3rr22"); // void setSizes(htmltbl_t * tbl, graph_t * rowg, graph_t * colg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("cxeyepn0z8rncl6hiyrwynbyx"); // int prev; UNSUPPORTED("487cx7jg9iu9612dcxp78o34u"); // prev = 0; UNSUPPORTED("18rgdpari4z097h1tz4p819fw"); // n = GD_nlist(rowg); UNSUPPORTED("eh1qj3mz402dapyyftetof05a"); // for (i = 0, n = ND_next(n); n; i++, n = ND_next(n)) { UNSUPPORTED("6sv14u0krll6ugupjjwvlhq4i"); // tbl->heights[i] = ND_rank(n) - prev; UNSUPPORTED("bop9lix1a74ulob2lpqj26zbk"); // prev = ND_rank(n); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("487cx7jg9iu9612dcxp78o34u"); // prev = 0; UNSUPPORTED("215usl8ir632272pnexw4dw4a"); // n = GD_nlist(colg); UNSUPPORTED("eh1qj3mz402dapyyftetof05a"); // for (i = 0, n = ND_next(n); n; i++, n = ND_next(n)) { UNSUPPORTED("34z16bayffb7l3v3fp9cinerm"); // tbl->widths[i] = ND_rank(n) - prev; UNSUPPORTED("bop9lix1a74ulob2lpqj26zbk"); // prev = ND_rank(n); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 36o03axw6h4de6jf7hlsg2grd // void sizeArray(htmltbl_t * tbl) public static Object sizeArray(Object... arg) { UNSUPPORTED("6x0xk9xg9vpp8xksw96k56u1"); // void sizeArray(htmltbl_t * tbl) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cn62n4eqyzjttfj22n5lrfl94"); // graph_t *rowg; UNSUPPORTED("d25ssxgycdgg1h0reqweu0635"); // graph_t *colg; UNSUPPORTED("15ufobi6lqylcwgadhiinn2rz"); // Agdesc_t dir = Agstrictdirected; UNSUPPORTED("6icqhfpwgw7mwn7angx2lbml1"); // /* Do the 1D cases by hand */ UNSUPPORTED("e1201jpt70fpsisqjq01rqu7n"); // if ((tbl->rc == 1) || (tbl->cc == 1)) { UNSUPPORTED("5pno6zbafoxa39p36kwwp4lmk"); // sizeLinearArray(tbl); UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bekwtc6rvpxxj0nw9htqo33xq"); // tbl->heights = (int*)zmalloc((tbl->rc + 1)*sizeof(int)); UNSUPPORTED("4nsdljbbmltaxyxhbkgez5juv"); // tbl->widths = (int*)zmalloc((tbl->cc + 1)*sizeof(int)); UNSUPPORTED("b9tkqx6gz53htzewwyyunp4xv"); // rowg = agopen("rowg", dir, ((Agdisc_t *)0)); UNSUPPORTED("dxt1otd0tqcp5injzpanxfax9"); // colg = agopen("colg", dir, ((Agdisc_t *)0)); UNSUPPORTED("8y0btg7sstprwcixsvlq2u7pp"); // /* Only need GD_nlist */ UNSUPPORTED("4uxsihlxll09wgjvybxovj9ow"); // agbindrec(rowg, "Agraphinfo_t", sizeof(Agraphinfo_t), NOT(0)); // graph custom data UNSUPPORTED("594rtgd3ghu2cgzys2c4to6gc"); // agbindrec(colg, "Agraphinfo_t", sizeof(Agraphinfo_t), NOT(0)); // graph custom data UNSUPPORTED("19x1bc8oad4optcepeckwzlka"); // makeGraphs(tbl, rowg, colg); UNSUPPORTED("cm8coej8iti64rim71s3j4tci"); // rank(rowg, 2, INT_MAX); UNSUPPORTED("dy7erzggbu109z2phnbysu6rx"); // rank(colg, 2, INT_MAX); UNSUPPORTED("be3iwtvdfxp4lpy85s26mqx99"); // setSizes(tbl, rowg, colg); UNSUPPORTED("e8ruqi1ny26tfctbxq1drpu93"); // closeGraphs(rowg, colg); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7mf9slzi6j1xx8znqkck81ojd // static void pos_html_img(htmlimg_t * cp, boxf pos) public static Object pos_html_img(Object... arg) { UNSUPPORTED("42a4fvfkhhzdh65t6v4i6n43b"); // static void pos_html_img(htmlimg_t * cp, boxf pos) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eyv24evuojy17nni8sbxg9yjh"); // cp->box = pos; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dcraeyvk2uoj97sgfptvvusa // static void pos_html_txt(htmltxt_t * ftxt, char c) public static Object pos_html_txt(Object... arg) { UNSUPPORTED("d7eeur03fxeyzb04yunpr831c"); // static void pos_html_txt(htmltxt_t * ftxt, char c) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("7roi5t8l55rt8fze3i4uwenso"); // for (i = 0; i < ftxt->nspans; i++) { UNSUPPORTED("6md8m4m6htfbyunk0q6nq2ho0"); // if (ftxt->spans[i].just == 0) /* unset */ UNSUPPORTED("3fqcf49h3ukywkyt02l4oplgw"); // ftxt->spans[i].just = c; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d1yiur9m8nrpdphq90db17c2b // static void pos_html_cell(htmlcell_t * cp, boxf pos, int sides) public static Object pos_html_cell(Object... arg) { UNSUPPORTED("cuis36gztoi76fhtvhwcv6uws"); // static void pos_html_cell(htmlcell_t * cp, boxf pos, int sides) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4t6qmhslpzsy9xw7kwpjf6jjo"); // double delx, dely; UNSUPPORTED("7ta9u8m4r7uq9owgmallfkj99"); // pointf oldsz; UNSUPPORTED("ev57csu787p48tg5f6m2j68su"); // boxf cbox; UNSUPPORTED("dqt4eshfaosfj7fb420g7lgy9"); // if (!cp->data.pencolor && cp->parent->data.pencolor) UNSUPPORTED("2yqmgdi5dxbbo8fqhbtpgme67"); // cp->data.pencolor = strdup(cp->parent->data.pencolor); UNSUPPORTED("6sseaydo6trvcsx0fbgjviv8v"); // /* If fixed, align cell */ UNSUPPORTED("rt15k2ok7a3v6ib8d9ajshvb"); // if (cp->data.flags & 1) { UNSUPPORTED("a32hmns6yj0aa2v1i19x5eqtt"); // oldsz = cp->data.box.UR; UNSUPPORTED("egdv4monwtqnbi06p6drygg4z"); // delx = (pos.UR.x - pos.LL.x) - oldsz.x; UNSUPPORTED("9gp0eb13t5b03zxfm7jonlmdx"); // if (delx > 0) { UNSUPPORTED("3r69mn1s8ji4l2u8uhm0cxr6t"); // switch (cp->data.flags & ((1 << 1) | (1 << 2))) { UNSUPPORTED("ah0nq9sdtr8muczczi3af7qvz"); // case (1 << 2): UNSUPPORTED("83i011ns40yww4lbpzice4qdg"); // pos.UR.x = pos.LL.x + oldsz.x; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("747eovbx269l26fe7h49mrryq"); // case (1 << 1): UNSUPPORTED("4jpvmjllp38cvz2lghv1jeh7g"); // pos.UR.x += delx; UNSUPPORTED("x3gt3vyam3oix3tzq7wdjj1w"); // pos.LL.x += delx; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("bt2g0yhsy3c7keqyftf3c98ut"); // default: UNSUPPORTED("8vlipw77fzji9xypyn2xql291"); // pos.LL.x += delx / 2; UNSUPPORTED("4izjifozyt8d031p91havf8j7"); // pos.UR.x -= delx / 2; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("63zme66vlc7atntu89wou5ww3"); // dely = (pos.UR.y - pos.LL.y) - oldsz.y; UNSUPPORTED("csdkkh6bxwsn8205tirhbvcpe"); // if (dely > 0) { UNSUPPORTED("dw4mvc0k0we5bzttm13ekyak4"); // switch (cp->data.flags & ((1 << 3) | (1 << 4))) { UNSUPPORTED("6jzmehpko1ipx7h1trdpk0p30"); // case (1 << 4): UNSUPPORTED("4np4td12i62sxy6mxtzoee6vk"); // pos.UR.y = pos.LL.y + oldsz.y; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("cambocbzqpbhx0e06nxo1mg7f"); // case (1 << 3): UNSUPPORTED("71lpvi5k10xkuwslbh5f2m1oo"); // pos.UR.y += dely; UNSUPPORTED("3n7t5wynk9p0hsnkp28tq5doy"); // pos.LL.y += dely; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("bt2g0yhsy3c7keqyftf3c98ut"); // default: UNSUPPORTED("68mslo2af2kz87uf4ymb6mndu"); // pos.LL.y += dely / 2; UNSUPPORTED("et4apglclz3ejdqt6gum16gwo"); // pos.UR.y -= dely / 2; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bcuhn7spylvj4zlz2wnqy6kfn"); // cp->data.box = pos; UNSUPPORTED("4kypvfdtl6j3y635aa3lfbmx7"); // cp->data.sides = sides; UNSUPPORTED("6sg1893zgnf1mlxm40ambwc00"); // /* set up child's position */ UNSUPPORTED("3zenzqy8fsqyj0zxt9d6qx1mp"); // cbox.LL.x = pos.LL.x + cp->data.border + cp->data.pad; UNSUPPORTED("10zcbjdvv4pdzlcgw07sjisno"); // cbox.LL.y = pos.LL.y + cp->data.border + cp->data.pad; UNSUPPORTED("4ucwlwg94jvv26o6yfn7lbkg8"); // cbox.UR.x = pos.UR.x - cp->data.border - cp->data.pad; UNSUPPORTED("ba3o9fhq7mz6gml28ulxwfs05"); // cbox.UR.y = pos.UR.y - cp->data.border - cp->data.pad; UNSUPPORTED("6vkx3zam2bwthfmvig3p2y9ec"); // if (cp->child.kind == 1) { UNSUPPORTED("8z1yl25z03ecz8t2asagt5z3s"); // pos_html_tbl(cp->child.u.tbl, cbox, sides); UNSUPPORTED("1gp8mj8w7s5i6ye7jneczpoai"); // } else if (cp->child.kind == 3) { UNSUPPORTED("6qnl14334tx10x6pxokuy076z"); // /* Note that alignment trumps scaling */ UNSUPPORTED("8d7v007kipxh9v68s46nbcdv1"); // oldsz = cp->child.u.img->box.UR; UNSUPPORTED("cz5nuauq57ebdd8zqrhce67wo"); // delx = (cbox.UR.x - cbox.LL.x) - oldsz.x; UNSUPPORTED("9gp0eb13t5b03zxfm7jonlmdx"); // if (delx > 0) { UNSUPPORTED("3r69mn1s8ji4l2u8uhm0cxr6t"); // switch (cp->data.flags & ((1 << 1) | (1 << 2))) { UNSUPPORTED("ah0nq9sdtr8muczczi3af7qvz"); // case (1 << 2): UNSUPPORTED("eatno2hf9cwb72ksr51x04r17"); // cbox.UR.x -= delx; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("747eovbx269l26fe7h49mrryq"); // case (1 << 1): UNSUPPORTED("6vnpw6y824ljczdg04lurdyrm"); // cbox.LL.x += delx; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2jhqhx6imw3gaobpzssepu61q"); // dely = (cbox.UR.y - cbox.LL.y) - oldsz.y; UNSUPPORTED("csdkkh6bxwsn8205tirhbvcpe"); // if (dely > 0) { UNSUPPORTED("dw4mvc0k0we5bzttm13ekyak4"); // switch (cp->data.flags & ((1 << 3) | (1 << 4))) { UNSUPPORTED("6jzmehpko1ipx7h1trdpk0p30"); // case (1 << 4): UNSUPPORTED("5jgoh3mgbu69dug17ua5isxoi"); // cbox.UR.y -= dely; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("cambocbzqpbhx0e06nxo1mg7f"); // case (1 << 3): UNSUPPORTED("57wn9a7501luud0umd9n9whoh"); // cbox.LL.y += dely; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3q6pd6cdpl6kixk14otk5vcf7"); // pos_html_img(cp->child.u.img, cbox); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("vswlsa4ve8nrp47dvksveahx"); // char dfltalign; UNSUPPORTED("dpza5c1mjk4tmba251ti6ysol"); // int af; UNSUPPORTED("7qzrnbja04lm9p3qsyxgc6g5j"); // oldsz = cp->child.u.txt->box.UR; UNSUPPORTED("cz5nuauq57ebdd8zqrhce67wo"); // delx = (cbox.UR.x - cbox.LL.x) - oldsz.x; UNSUPPORTED("knv2w2aryy2x77uf3yn2sv3j"); // /* If the cell is larger than the text block and alignment is UNSUPPORTED("eisx3o6ofwn34uxbpdqcjyney"); // * done at textblock level, the text box is shrunk accordingly. UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("6byh14oe2h4qfjl9hz4tugk6r"); // if ((delx > 0) UNSUPPORTED("34g3b2a63ruwu7osizmpbjsp0"); // && ((af = (cp->data.flags & ((1 << 1) | (1 << 2)))) != ((1 << 1) | (1 << 2)))) { UNSUPPORTED("9aru1lheqv2fxnmx880bgla59"); // switch (af) { UNSUPPORTED("ah0nq9sdtr8muczczi3af7qvz"); // case (1 << 2): UNSUPPORTED("eatno2hf9cwb72ksr51x04r17"); // cbox.UR.x -= delx; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("747eovbx269l26fe7h49mrryq"); // case (1 << 1): UNSUPPORTED("6vnpw6y824ljczdg04lurdyrm"); // cbox.LL.x += delx; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("bt2g0yhsy3c7keqyftf3c98ut"); // default: UNSUPPORTED("f00tr0gmqqbmhz7kx3uh7ousg"); // cbox.LL.x += delx / 2; UNSUPPORTED("4gfwxxvuf3cx1weq1d1frc2wl"); // cbox.UR.x -= delx / 2; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2jhqhx6imw3gaobpzssepu61q"); // dely = (cbox.UR.y - cbox.LL.y) - oldsz.y; UNSUPPORTED("csdkkh6bxwsn8205tirhbvcpe"); // if (dely > 0) { UNSUPPORTED("dw4mvc0k0we5bzttm13ekyak4"); // switch (cp->data.flags & ((1 << 3) | (1 << 4))) { UNSUPPORTED("6jzmehpko1ipx7h1trdpk0p30"); // case (1 << 4): UNSUPPORTED("5jgoh3mgbu69dug17ua5isxoi"); // cbox.UR.y -= dely; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("cambocbzqpbhx0e06nxo1mg7f"); // case (1 << 3): UNSUPPORTED("57wn9a7501luud0umd9n9whoh"); // cbox.LL.y += dely; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("bt2g0yhsy3c7keqyftf3c98ut"); // default: UNSUPPORTED("559886ixmsxdovurzx7ufouxh"); // cbox.LL.y += dely / 2; UNSUPPORTED("b7j9nu9h7q7ojpdvc7jgs7jea"); // cbox.UR.y -= dely / 2; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8ffppec21dum3vzx3hfbt7lym"); // cp->child.u.txt->box = cbox; UNSUPPORTED("f09i8w6xb3kiyteft7pwk1xzb"); // /* Set default text alignment UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("a2xny99nsqrutrygrab6nqs31"); // switch (cp->data.flags & ((1 << 8) | (1 << 9))) { UNSUPPORTED("2fnkb2fn4fw82h0p8wfth2m7v"); // case (1 << 9): UNSUPPORTED("4mfmqenjdv6zp3zcq403u25u9"); // dfltalign = 'l'; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("517hwzab4532op6cula0gwpm8"); // case (1 << 8): UNSUPPORTED("9vpxaqao79gblr14g02sgam28"); // dfltalign = 'r'; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("ah7zjs7j3dr5o24wj8uwo17le"); // dfltalign = 'n'; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("61v88smrsyhegr9t51l74hs8a"); // pos_html_txt(cp->child.u.txt, dfltalign); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 56p5uk86725l2wvm0o2ai4e0c // static void pos_html_tbl(htmltbl_t * tbl, boxf pos, int sides) public static Object pos_html_tbl(Object... arg) { UNSUPPORTED("4zsl8ii4walezca0spg3jkpml"); // static void pos_html_tbl(htmltbl_t * tbl, boxf pos, int sides) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("yc43os1rqvk4w7h7u8r7xz7h"); // int x, y, delx, dely, oldsz; UNSUPPORTED("991fd779czwvhnsmgq2pvm7ke"); // int i, extra, plus; UNSUPPORTED("f5l5qsm1xxo2fnsp38chcf009"); // htmlcell_t **cells = tbl->u.n.cells; UNSUPPORTED("7hxwbqi0ato9k2b4nzpp7uw3a"); // htmlcell_t *cp; UNSUPPORTED("ev57csu787p48tg5f6m2j68su"); // boxf cbox; UNSUPPORTED("6wnsz74zxajfmm5w7fhshr5pm"); // if (tbl->u.n.parent && tbl->u.n.parent->data.pencolor UNSUPPORTED("6om051bhvm5bnya5dhsn8703l"); // && !tbl->data.pencolor) UNSUPPORTED("5t6k39jm45y79fncj958p0bi8"); // tbl->data.pencolor = strdup(tbl->u.n.parent->data.pencolor); UNSUPPORTED("64r2e0x9tjiqy4dwte0s2na53"); // oldsz = tbl->data.box.UR.x; UNSUPPORTED("b16keoeaghlhrly1fj1hcg66v"); // delx = (pos.UR.x - pos.LL.x) - oldsz; UNSUPPORTED("72mwrduegc6kyaovkpxmb3kla"); // assert(delx >= 0); UNSUPPORTED("b7vyqk2h86e5papeolvznvgur"); // oldsz = tbl->data.box.UR.y; UNSUPPORTED("7es5w7nkeut9imevty43zebi7"); // dely = (pos.UR.y - pos.LL.y) - oldsz; UNSUPPORTED("64mp20lb1sxfzoo97aplsdqpe"); // assert(dely >= 0); UNSUPPORTED("1di54gxfw70161ro4warptkj0"); // /* If fixed, align box */ UNSUPPORTED("h8silx20zxdo590p0rov9ilq"); // if (tbl->data.flags & 1) { UNSUPPORTED("9gp0eb13t5b03zxfm7jonlmdx"); // if (delx > 0) { UNSUPPORTED("enbwpz97yg5uci0y2vk50vsrq"); // switch (tbl->data.flags & ((1 << 1) | (1 << 2))) { UNSUPPORTED("ah0nq9sdtr8muczczi3af7qvz"); // case (1 << 2): UNSUPPORTED("epvqni6app7v9oeo39v7x6cs3"); // pos.UR.x = pos.LL.x + oldsz; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("747eovbx269l26fe7h49mrryq"); // case (1 << 1): UNSUPPORTED("4jpvmjllp38cvz2lghv1jeh7g"); // pos.UR.x += delx; UNSUPPORTED("x3gt3vyam3oix3tzq7wdjj1w"); // pos.LL.x += delx; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("bt2g0yhsy3c7keqyftf3c98ut"); // default: UNSUPPORTED("8vlipw77fzji9xypyn2xql291"); // pos.LL.x += delx / 2; UNSUPPORTED("4izjifozyt8d031p91havf8j7"); // pos.UR.x -= delx / 2; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("3bdvthk8h2crnn2jh7zusg9ce"); // delx = 0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("csdkkh6bxwsn8205tirhbvcpe"); // if (dely > 0) { UNSUPPORTED("5h05tgdwuuueg6humeamv2m4i"); // switch (tbl->data.flags & ((1 << 3) | (1 << 4))) { UNSUPPORTED("6jzmehpko1ipx7h1trdpk0p30"); // case (1 << 4): UNSUPPORTED("eqhk1t2beqs3e09mbczosx9yu"); // pos.UR.y = pos.LL.y + oldsz; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("cambocbzqpbhx0e06nxo1mg7f"); // case (1 << 3): UNSUPPORTED("71lpvi5k10xkuwslbh5f2m1oo"); // pos.UR.y += dely; UNSUPPORTED("3n7t5wynk9p0hsnkp28tq5doy"); // pos.LL.y += dely; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("bt2g0yhsy3c7keqyftf3c98ut"); // default: UNSUPPORTED("68mslo2af2kz87uf4ymb6mndu"); // pos.LL.y += dely / 2; UNSUPPORTED("et4apglclz3ejdqt6gum16gwo"); // pos.UR.y -= dely / 2; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("bt8navfmhl654g1jvozod782j"); // dely = 0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7u5b2kpz91rbkr413ch2km1qt"); // /* change sizes to start positions and distribute extra space */ UNSUPPORTED("e880xjt0fjapp1i3em12vo6ab"); // x = pos.LL.x + tbl->data.border + tbl->data.space; UNSUPPORTED("eqmnnkt14mzvhoo12hvofnpd5"); // extra = delx / (tbl->cc); UNSUPPORTED("3npyn5xhrv2h2rxdgixocbn58"); // plus = ROUND(delx - extra * (tbl->cc)); UNSUPPORTED("2agp2sozteqj056j34uh5gz6h"); // for (i = 0; i <= tbl->cc; i++) { UNSUPPORTED("6fyimcy0tdwoyn7j7pb684c72"); // delx = tbl->widths[i] + extra + (i < plus ? 1 : 0); UNSUPPORTED("97y6durgj4r30emmb9d2yx1cw"); // tbl->widths[i] = x; UNSUPPORTED("dvorntmdq8f156td307w9egcy"); // x += delx + tbl->data.space; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("d3ntu3z75c4yumuw66kr4hxlh"); // y = pos.UR.y - tbl->data.border - tbl->data.space; UNSUPPORTED("76tlpyfponp3ivujktbgvryaa"); // extra = dely / (tbl->rc); UNSUPPORTED("3rcirxo66iwzw7ljilqek9e0q"); // plus = ROUND(dely - extra * (tbl->rc)); UNSUPPORTED("de5kizyloe4kak5mszz3l0xcc"); // for (i = 0; i <= tbl->rc; i++) { UNSUPPORTED("97fi1o2q93uolzwjy5s06qfet"); // dely = tbl->heights[i] + extra + (i < plus ? 1 : 0); UNSUPPORTED("a481x2l1z3awwfj3yjtlgo88g"); // tbl->heights[i] = y; UNSUPPORTED("i2i2disny8527o3tlqgm1kn9"); // y -= dely + tbl->data.space; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ofnf2f1u94pvf4hj17rsqy8d"); // while ((cp = *cells++)) { UNSUPPORTED("c6mp42cwufjo544kh1xqg3ww9"); // int mask = 0; UNSUPPORTED("6s6izyatmponzopy22eomuw6h"); // if (sides) { UNSUPPORTED("ci2mmci593huj1u1l8312bdxg"); // if (cp->col == 0) UNSUPPORTED("180z92dzsuptolgccbq2ebbm6"); // mask |= (1<<3); UNSUPPORTED("3pn8116p5yexg0iuscpp22kg7"); // if (cp->row == 0) UNSUPPORTED("600kbwzj1j1m8zj0j1bsqz8aa"); // mask |= (1<<2); UNSUPPORTED("1ocnx9dbreuq1v9sb7rlnyekt"); // if (cp->col + cp->cspan == tbl->cc) UNSUPPORTED("ab5f180dbgmvm86u6ej0a0jfu"); // mask |= (1<<1); UNSUPPORTED("9o38jdsg3hkisw2im16ocf8ej"); // if (cp->row + cp->rspan == tbl->rc) UNSUPPORTED("emscnh9p0d93pn26zla3grib6"); // mask |= (1<<0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("50z4y0q2sjuqyus2lgqe83g4l"); // cbox.LL.x = tbl->widths[cp->col]; UNSUPPORTED("1oxnl88grlnsav4w1261c886s"); // cbox.UR.x = tbl->widths[cp->col + cp->cspan] - tbl->data.space; UNSUPPORTED("5e7tlmesz6ywa1ov91ebohlax"); // cbox.UR.y = tbl->heights[cp->row]; UNSUPPORTED("dgxtr9iempeg8h3l9v1fxopmp"); // cbox.LL.y = tbl->heights[cp->row + cp->rspan] + tbl->data.space; UNSUPPORTED("24owfprr6bd2njcyxgx4n1l4n"); // pos_html_cell(cp, cbox, sides & mask); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c1h7iwd75xplbhdyaewh93lxg"); // tbl->data.sides = sides; UNSUPPORTED("5fiqu8vepruovlpc2s45hcbu6"); // tbl->data.box = pos; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ja3w9brzk1n88r7xtda60x5j // static int size_html_tbl(graph_t * g, htmltbl_t * tbl, htmlcell_t * parent, htmlenv_t * env) public static Object size_html_tbl(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("c04xwvrthgk497pc2tqnlr7ox"); // size_html_tbl(graph_t * g, htmltbl_t * tbl, htmlcell_t * parent, UNSUPPORTED("cvqu4srmmyhyi1msstywhtscs"); // htmlenv_t * env) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("efb2u4spxejn7tmmpds8w5bmt"); // int i, wd, ht; UNSUPPORTED("en7ch189nkys76f42mlo1s5zz"); // int rv = 0; UNSUPPORTED("c8p7i7oozhr11poil2ax0mjdh"); // static textfont_t savef; UNSUPPORTED("acdkiuky8vkjaqqynxn9e052i"); // if (tbl->font) UNSUPPORTED("84z3c9pimg6qaq5qubuumky79"); // pushFontInfo(env, tbl->font, &savef); UNSUPPORTED("dozw5sbnv2526rxmb4d7no3mc"); // tbl->u.n.parent = parent; UNSUPPORTED("bzaspovipgb81zg0rn2hg9ws6"); // rv = processTbl(g, tbl, env); UNSUPPORTED("gb2gnkhq9ukpb04d2xn5yp57"); // /* Set up border and spacing */ UNSUPPORTED("bb6uw1cmb2eiw4w2nge4ktccr"); // if (!(tbl->data.flags & (1 << 7))) { UNSUPPORTED("692iudqfxxx63vzwd6b5jic1t"); // tbl->data.space = 2; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8uvipaj8smh3qtdjva5dwzj3n"); // if (!(tbl->data.flags & (1 << 5))) { UNSUPPORTED("5atgjs0l2cpz8rdfpnufzi70j"); // tbl->data.border = 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("cc10jfcra7z436uyielyuazm5"); // sizeArray(tbl); UNSUPPORTED("d4ybybc32onajd96ca1mn638f"); // wd = (tbl->cc + 1) * tbl->data.space + 2 * tbl->data.border; UNSUPPORTED("8f66i2di95mrekp3i2a073p3k"); // ht = (tbl->rc + 1) * tbl->data.space + 2 * tbl->data.border; UNSUPPORTED("6zsxjcsdyiqzx29iho3kvce3b"); // for (i = 0; i < tbl->cc; i++) UNSUPPORTED("3cc98nrmqfil716ohn18oza3c"); // wd += tbl->widths[i]; UNSUPPORTED("10mwat8ui5nidzzhlgg5yty7r"); // for (i = 0; i < tbl->rc; i++) UNSUPPORTED("6yoveejihcnddlhvh5p4tq23h"); // ht += tbl->heights[i]; UNSUPPORTED("h8silx20zxdo590p0rov9ilq"); // if (tbl->data.flags & 1) { UNSUPPORTED("eh0xx08g3zcuo0cuk6dhpz9hz"); // if (tbl->data.width && tbl->data.height) { UNSUPPORTED("qc19pzjtzrlwlr2z5mlazlw3"); // if ((tbl->data.width < wd) || (tbl->data.height < ht)) { UNSUPPORTED("auq0b1s64wg6gf5s6wd4zv6s6"); // agerr(AGWARN, "table size too small for content\n"); UNSUPPORTED("en0rarvkx5srsxnlqpf6ja1us"); // rv = 1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6s22a7y0lgf1nt0wz0g1ysrzb"); // wd = ht = 0; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("cw5grwj6gbj94jcztvnp2ooyj"); // agerr(AGWARN, UNSUPPORTED("ef1ic85u7lira3uhp5mbc1v84"); // "fixed table size with unspecified width or height\n"); UNSUPPORTED("eldwzm3uyfs9zu1roub5a2uqi"); // rv = 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("caz4xnmfghxiwpo8wk2zeu3a4"); // tbl->data.box.UR.x = MAX(wd, tbl->data.width); UNSUPPORTED("9acb4ze4b4pn33aevyxfyqozw"); // tbl->data.box.UR.y = MAX(ht, tbl->data.height); UNSUPPORTED("acdkiuky8vkjaqqynxn9e052i"); // if (tbl->font) UNSUPPORTED("aqz3bhc3ot0j0okxcmu0ic2r"); // popFontInfo(env, &savef); UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7sxjij9pnf0bhnnb7wl4nofo1 // static char *nameOf(void *obj, agxbuf * xb) public static Object nameOf(Object... arg) { UNSUPPORTED("btnlhy87chzxs16mxvfpsif78"); // static char *nameOf(void *obj, agxbuf * xb) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1bl759aws53yjk3xg9shiogx5"); // Agedge_t *ep; UNSUPPORTED("91broiy562bqiwualvjbh1l0s"); // switch (agobjkind(obj)) { UNSUPPORTED("eyna33dobiebmtd0nihpgura4"); // case AGRAPH: UNSUPPORTED("8cgnhfyyaj25ten1tobjzy3cj"); // agxbput(xb, agnameof(((Agraph_t *) obj))); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("6x7ztvlgv763oeop84udp1egg"); // case AGNODE: UNSUPPORTED("cctji3p8t7zmokmktgqtbprtn"); // agxbput(xb, agnameof(((Agnode_t *) obj))); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("2dqikmmb6ag0anvbzo5tybf1r"); // case AGEDGE: UNSUPPORTED("2ad512bjuifndlyd0zp0no4as"); // ep = (Agedge_t *) obj; UNSUPPORTED("awux6oj7dq7r586y9rfsec5pl"); // agxbput(xb, agnameof(agtail(ep))); UNSUPPORTED("3klfzjun0e36uku5f8mijrupz"); // agxbput(xb, agnameof(aghead(ep))); UNSUPPORTED("abmgbuhki8erjgnnm5jbld3u0"); // if (agisdirected(agraphof(aghead(ep)))) UNSUPPORTED("c83vr6d2i396r9l0hibwix946"); // agxbput(xb, "->"); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("4dvlp54lhuqxiob0e9rb75y78"); // agxbput(xb, "--"); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ersrvcvo8qkfouomz222hiih7"); // return (((((xb)->ptr >= (xb)->eptr) ? agxbmore(xb,1) : 0), (int)(*(xb)->ptr++ = ((unsigned char)'\0'))),(char*)((xb)->ptr = (xb)->buf)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eu0n8w5rlasw0veo8k5b77529 // static char *getPenColor(void *obj) public static Object getPenColor(Object... arg) { UNSUPPORTED("cfi7ftrhnkn3lm0wv2x0r18rz"); // static char *getPenColor(void *obj) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("76nok3eiyr33qf4ecv69ujxn6"); // char *str; UNSUPPORTED("29hppwsf0dbsgg7vod6zm63bi"); // if (((str = agget(obj, "pencolor")) != 0) && str[0]) UNSUPPORTED("dep483bycw0fobgm198jw5423"); // return str; UNSUPPORTED("edcd5eo1mutwxn0thhhi6st3g"); // else if (((str = agget(obj, "color")) != 0) && str[0]) UNSUPPORTED("dep483bycw0fobgm198jw5423"); // return str; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("11hwqop4xebvtcskop4uhpp01"); // return NULL; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 39z2hrj2uwkezxobreqxpgb10 // int make_html_label(void *obj, textlabel_t * lp) public static int make_html_label(__ptr__ obj, ST_textlabel_t lp) { ENTERING("39z2hrj2uwkezxobreqxpgb10","make_html_label"); try { UNSUPPORTED("3s2xr5n4swgcjctfsv6qg00p1"); // int make_html_label(void *obj, textlabel_t * lp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ecz4e03zumggc8tfymqvirexq"); // int rv; UNSUPPORTED("eilnlejf229enq1lj62vjv9co"); // double wd2, ht2; UNSUPPORTED("5t3pges1wg6mfbkjboi2joxvz"); // boxf box; UNSUPPORTED("djl3ek9tn11htu3vj4zglczzz"); // graph_t *g; UNSUPPORTED("1u1794803wctqmezrle9e40fh"); // htmllabel_t *lbl; UNSUPPORTED("3safvfkd3g1jswoj457mw482u"); // htmlenv_t env; UNSUPPORTED("8yytudftst76763qgnjebkzhm"); // char *s; UNSUPPORTED("1czan75f1vggpdp24d7zdiuk3"); // env.obj = obj; UNSUPPORTED("91broiy562bqiwualvjbh1l0s"); // switch (agobjkind(obj)) { UNSUPPORTED("eyna33dobiebmtd0nihpgura4"); // case AGRAPH: UNSUPPORTED("e6ugdl34d8yqtquk3xq8g5njr"); // env.g = ((Agraph_t *) obj)->root; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("6x7ztvlgv763oeop84udp1egg"); // case AGNODE: UNSUPPORTED("9ldb5ezpi13ytd46d7a2jfsjt"); // env.g = agraphof(((Agnode_t *) obj)); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("2dqikmmb6ag0anvbzo5tybf1r"); // case AGEDGE: UNSUPPORTED("b3fnj3g5kryrunurhwtu14s58"); // env.g = agraphof(aghead(((Agedge_t *) obj))); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b3ml4dxxt48s1jb4tjmh3kcl"); // g = env.g->root; UNSUPPORTED("a849v049i9w8qoy93ki11k5uu"); // env.finfo.size = lp->fontsize; UNSUPPORTED("a1hmvx29drpq62yc0z1hnt94v"); // env.finfo.name = lp->fontname; UNSUPPORTED("bp1xlac8f55plurlc7r8zlhe1"); // env.finfo.color = lp->fontcolor; UNSUPPORTED("1zhbcd4p01yiidkt2nre243ud"); // env.finfo.flags = 0; UNSUPPORTED("59lntj5hyamn5m48dx76egibr"); // lbl = parseHTML(lp->text, &rv, &env); UNSUPPORTED("5x7tz7hiemlbixjq7oneb217t"); // if (!lbl) { UNSUPPORTED("40w3xqmz5l9wriaza3oix426k"); // /* Parse of label failed; revert to simple text label */ UNSUPPORTED("8moktqylyfg7421xon31c77cc"); // agxbuf xb; UNSUPPORTED("ej6qvho3zo1ppee5osn05sznr"); // unsigned char buf[128]; UNSUPPORTED("el1z2krv8hoorc5c7vjsxw7yn"); // agxbinit(&xb, 128, buf); UNSUPPORTED("ex7p8f1fzbxmluxcv7b1klvqj"); // lp->html = 0; UNSUPPORTED("bw17wplsvct5mo251vy3dsdnd"); // lp->text = strdup(nameOf(obj, &xb)); UNSUPPORTED("84zi029i2je3v9lclasqbzzz6"); // switch (lp->charset) { UNSUPPORTED("2o83im06dulx11wjpy469gkoa"); // case 1: UNSUPPORTED("2x8axrtn44h0bxv8taty1g4um"); // s = latin1ToUTF8(lp->text); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("6s5lm4gzged3go962bmlj7ali"); // default: /* UTF8 */ UNSUPPORTED("ae0fj5kvhvwo125n05075dey0"); // s = htmlEntityUTF8(lp->text, env.g); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8o33n1cjfbc5pomhjq05mf70g"); // free(lp->text); UNSUPPORTED("dggo2tcwybfitlkszeokmmkif"); // lp->text = s; UNSUPPORTED("6kbijqcef4n75vn0elzyhlp1s"); // make_simple_label(GD_gvc(g), lp); UNSUPPORTED("52frst03mcbsuu6bmnqs962qm"); // agxbfree(&xb); UNSUPPORTED("cs1ejkx9cw658cl8cagdzqrzm"); // return rv; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5iviolw5wpvd60kgvpshry9yr"); // if (lbl->kind == 1) { UNSUPPORTED("bngn7k03zqxfuyqrg5jrn8bey"); // if (!lbl->u.tbl->data.pencolor && getPenColor(obj)) UNSUPPORTED("dotxa79u2y19du2t3cy26ikyr"); // lbl->u.tbl->data.pencolor = strdup(getPenColor(obj)); UNSUPPORTED("4f3k9n37gn0t77n0n8w2jri95"); // rv |= size_html_tbl(g, lbl->u.tbl, NULL, &env); UNSUPPORTED("9uru4l1xhqaont8awi4p0sjkj"); // wd2 = (lbl->u.tbl->data.box.UR.x) / 2; UNSUPPORTED("47cjxxvben4j3g6i0n57razql"); // ht2 = (lbl->u.tbl->data.box.UR.y) / 2; UNSUPPORTED("dbeae1e9945z3x32hpr57lcsy"); // box = boxfof(-wd2, -ht2, wd2, ht2); UNSUPPORTED("esx73kvkhml43ids93kjyxtjl"); // pos_html_tbl(lbl->u.tbl, box, (1<<0) | (1<<1) | (1<<2) | (1<<3)); UNSUPPORTED("1pymoi8bdocpvglitsvkl1ht0"); // lp->dimen.x = box.UR.x - box.LL.x; UNSUPPORTED("37qvpfma16f9jhg8vmapgqes9"); // lp->dimen.y = box.UR.y - box.LL.y; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("4c4f4evqzm79omegn0iiwh0xm"); // rv |= size_html_txt(GD_gvc(g), lbl->u.txt, &env); UNSUPPORTED("5p7gjzkkk108kyqqi0dcaub03"); // wd2 = lbl->u.txt->box.UR.x / 2; UNSUPPORTED("2h33453c8784yvjdqab9rhpnb"); // ht2 = lbl->u.txt->box.UR.y / 2; UNSUPPORTED("dbeae1e9945z3x32hpr57lcsy"); // box = boxfof(-wd2, -ht2, wd2, ht2); UNSUPPORTED("bm3p3ihso4c60iy15wod75c9c"); // lbl->u.txt->box = box; UNSUPPORTED("1pymoi8bdocpvglitsvkl1ht0"); // lp->dimen.x = box.UR.x - box.LL.x; UNSUPPORTED("37qvpfma16f9jhg8vmapgqes9"); // lp->dimen.y = box.UR.y - box.LL.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5a4597d2vy3oenspwdojc7p42"); // lp->u.html = lbl; UNSUPPORTED("75khj23dwtyoqpo3pddh0y5lm"); // /* If the label is a table, replace label text because this may UNSUPPORTED("r04wjcozjf8bj9wdy4arsdy1"); // * be used for the title and alt fields in image maps. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("5iviolw5wpvd60kgvpshry9yr"); // if (lbl->kind == 1) { UNSUPPORTED("8o33n1cjfbc5pomhjq05mf70g"); // free(lp->text); UNSUPPORTED("40luql1elu7ug4ne43b0l4bh4"); // lp->text = strdup(""); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("39z2hrj2uwkezxobreqxpgb10","make_html_label"); } } } plantuml-1.2018.13+ds/src/gen/lib/common/input__c.java000066400000000000000000002074371340005343600223410ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static gen.lib.cgraph.attr__c.agattr; import static gen.lib.cgraph.attr__c.agget; import static gen.lib.cgraph.obj__c.agroot; import static gen.lib.cgraph.refstr__c.aghtmlstr; import static gen.lib.common.emit__c.init_xdot; import static gen.lib.common.labels__c.make_label; import static gen.lib.common.labels__c.strdup_and_subst_obj; import static gen.lib.common.utils__c.late_double; import static gen.lib.common.utils__c.late_int; import static gen.lib.common.utils__c.late_nnstring; import static gen.lib.common.utils__c.late_string; import static gen.lib.common.utils__c.mapbool; import static gen.lib.common.utils__c.maptoken; import static smetana.core.JUtils.EQ; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtils.atof; import static smetana.core.JUtils.atoi; import static smetana.core.JUtils.enumAsInt; import static smetana.core.JUtils.getenv; import static smetana.core.JUtils.strstr; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.AGEDGE; import static smetana.core.Macro.AGNODE; import static smetana.core.Macro.AGRAPH; import static smetana.core.Macro.GD_border; import static smetana.core.Macro.GD_charset; import static smetana.core.Macro.GD_drawing; import static smetana.core.Macro.GD_exact_ranksep; import static smetana.core.Macro.GD_flip; import static smetana.core.Macro.GD_fontnames; import static smetana.core.Macro.GD_has_labels; import static smetana.core.Macro.GD_label; import static smetana.core.Macro.GD_label_pos; import static smetana.core.Macro.GD_nodesep; import static smetana.core.Macro.GD_rankdir2; import static smetana.core.Macro.GD_ranksep; import static smetana.core.Macro.GD_showboxes; import static smetana.core.Macro.N; import static smetana.core.Macro.ROUND; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agraph_s; import h.ST_layout_t; import h.ST_pointf; import h.fontname_kind; import smetana.core.CString; import smetana.core.Z; public class input__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 1fi3wib3hc7ibek0vfrpx9k3i // static char *usageFmt = //1 cpzagrot2j4620xbm08g3qbaz // static char *genericItems = //1 ej8f5pc6itbjzywbvv9r7pgog // static char *neatoFlags = //1 6zygu4f39vz4q5m4oiz64om5v // static char *neatoItems = //1 a5i7jzdqfacw4bequdriv6cb9 // static char *fdpFlags = //1 9hrf5y45qp9kii44glcd4nx6e // static char *fdpItems = //1 bw7swzrd97c859k69vhbo6xui // static char *memtestFlags = //1 dlf2hcbhlyk0xi7y4hhyxdjlg // static char *memtestItems = //1 bfkjkg4j8ncjq3fbcfon7ce1a // static char *configFlags = //1 cwsgle0ax1dh0i4rb6c4n90s8 // static char *configItems = //3 18dk9rr2jwvw2k0pwd01u1rp // int dotneato_usage(int exval) public static Object dotneato_usage(Object... arg) { UNSUPPORTED("cjfxortgnqo3ho8cb4mse3bjk"); // int dotneato_usage(int exval) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9qo38fqtykhj9o5wf9n2mmvf9"); // FILE *outs; UNSUPPORTED("6p2t5f6k16pthcnlxnvr8fxp2"); // if (exval > 0) UNSUPPORTED("ajsyw6vt4yc7jws9my3dfqw55"); // outs = stderr; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("9ymsocy1jyvql8lvl7z9v3x1d"); // outs = stdout; UNSUPPORTED("eo2ztyy17mz06ptqvcj5azpza"); // fprintf(outs, usageFmt, CmdName); UNSUPPORTED("1nhpls9sffy8jo9sa7638u515"); // fputs(neatoFlags, outs); UNSUPPORTED("578fe6racfp402cmjp3xuomor"); // fputs(fdpFlags, outs); UNSUPPORTED("a3xdyyuyrv70igk8e8z4415gn"); // fputs(memtestFlags, outs); UNSUPPORTED("59cqs6545cogaa8zbv9x1fep0"); // fputs(configFlags, outs); UNSUPPORTED("9qmx2r5uawon9q2snigjcita"); // fputs(genericItems, outs); UNSUPPORTED("18sodiqes6jpcc8fj1vlkj6bd"); // fputs(neatoItems, outs); UNSUPPORTED("boxkj32094gcugdk6u9p1hppc"); // fputs(fdpItems, outs); UNSUPPORTED("4yygtzneqsdphtbnhfta2lge0"); // fputs(memtestItems, outs); UNSUPPORTED("8ywutcqn5x3zpugo58b72ualq"); // fputs(configItems, outs); UNSUPPORTED("3rabv7gfkqu0ag8x2rjiyrjbr"); // if (GvExitOnUsage && (exval >= 0)) UNSUPPORTED("1swto2i8s568mypddkno5wez1"); // exit(exval); UNSUPPORTED("3jphahsl7jw3c1c1u71vs8dj3"); // return (exval+1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9s68av3h3ph5gjla9e2d3220t // static char *getFlagOpt(int argc, char **argv, int *idx) public static Object getFlagOpt(Object... arg) { UNSUPPORTED("7i2co2mk6i4v2e5zed6cohfi0"); // static char *getFlagOpt(int argc, char **argv, int *idx) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0vo8zzyjurgsxynujp3wbwn3"); // int i = *idx; UNSUPPORTED("9ldayvulqiau72gm4iigedbe"); // char *arg = argv[i]; UNSUPPORTED("1ii197c2ypmbtq6b4c6xrmqre"); // if (arg[2]) UNSUPPORTED("85bk7kest90gpgv6qhqqam6od"); // return arg + 2; UNSUPPORTED("62vtkmbmceearvwa1gge24udl"); // if (i < argc - 1) { UNSUPPORTED("chd2f5z6rt19lbaye25ej7q6j"); // i++; UNSUPPORTED("dbe1l1xge33op9cemtc13bsld"); // arg = argv[i]; UNSUPPORTED("e7t6j4nall86kdxxvxopr6hl7"); // if (*arg && (*arg != '-')) { UNSUPPORTED("a1qi3k2o6tudikh6zg6qxb32v"); // *idx = i; UNSUPPORTED("aegbvj6xoqbt16mud86st36ex"); // return arg; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2dx6lb6fkeqxispmv7w0bgsat // static char* dotneato_basename (char* path) public static Object dotneato_basename(Object... arg) { UNSUPPORTED("58z62a4pwz8fb1fqzgemmk2v"); // static char* dotneato_basename (char* path) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("60anbhq8j280g1jvxqcu76t4v"); // char* ret; UNSUPPORTED("cmcyg2bmd7exlb7oegpilnua8"); // char* s = path; UNSUPPORTED("7oz55r1w75doc5wm9wdr5ud7c"); // if (*s == '\0') return path; /* empty string */ UNSUPPORTED("48at50ffoqbw40aae7qlp0vus"); // while (*s) s++; s--; UNSUPPORTED("tbim4ak38lvnw1gb72gj4hnh"); // /* skip over trailing slashes, nulling out as we go */ UNSUPPORTED("clj6wpwuuq0wl5g7f67hqvvfc"); // while ((s > path) && ((*s == '/') || (*s == '\\'))) UNSUPPORTED("f59muao0hgreza561qmmnlzum"); // *s-- = '\0'; UNSUPPORTED("18c1lv0flxz0ts64xlwuviv33"); // if (s == path) ret = path; UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("4x9t5rl1kdp5nac9tewdf9x2n"); // while ((s > path) && ((*s != '/') && (*s != '\\'))) s--; UNSUPPORTED("953u2wmr3tzfpiq8m06fdvhn5"); // if ((*s == '/') || (*s == '\\')) ret = s+1; UNSUPPORTED("5dwayhic40dcurqedqxv1q7mj"); // else ret = path; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("f3b7mj138albdr4lodyomke0z"); // return ret; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ez0qfar6yuf01ivvqrnev06fv // static void use_library(GVC_t *gvc, const char *name) public static Object use_library(Object... arg) { UNSUPPORTED("cjicty7s03euuxnpum74nrt6f"); // static void use_library(GVC_t *gvc, const char *name) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8h89r8rhn7udjmeo8y259899y"); // static int cnt = 0; UNSUPPORTED("30nxp5k7c6mdth5ymcpz1oxob"); // if (name) { UNSUPPORTED("dwg0l3nktjnwky7m5lipngiot"); // Lib = ALLOC(cnt + 2, Lib, const char *); UNSUPPORTED("axgfffz8lebk44oe1y1djiu6p"); // Lib[cnt++] = name; UNSUPPORTED("3c388gk5lojcaen61m94i3x0w"); // Lib[cnt] = NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("comriuhmiu8kq7sayutlxoqbq"); // gvc->common.lib = Lib; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dlfidqx2agrk43ikmxgzw9kgp // static void global_def(agxbuf* xb, char *dcl, int kind, attrsym_t * ((*dclfun) (Agraph_t *, int kind, char *, char *)) ) public static Object global_def(Object... arg) { UNSUPPORTED("zydu58d3g8obsevu9l8zo05i"); // static void global_def(agxbuf* xb, char *dcl, int kind, UNSUPPORTED("zj9p9fdfpp3hwme7atl3cug3"); // attrsym_t * ((*dclfun) (Agraph_t *, int kind, char *, char *)) ) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("aexhdud6z2wbwwi73yppp0ynl"); // char *p; UNSUPPORTED("c6ykztqlvb01grrqat3q7f8hg"); // char *rhs = "true"; UNSUPPORTED("7c3pfnvbbbnijw9cg9xkyyatm"); // attrsym_t *sym; UNSUPPORTED("1qmhad0yyiddc207b8z5rm70x"); // if ((p = strchr(dcl, '='))) { UNSUPPORTED("5s96z976xk7iglr5vvuad1dsb"); // agxbput_n (xb, dcl, p-dcl); UNSUPPORTED("dbw9pn8xmpdqi11uffv4r6gxq"); // rhs = p+1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("dv0ywo1nopy8xc9d9kfbn0hgz"); // agxbput (xb, dcl); UNSUPPORTED("dhedzhv3dnzrq7ytgiqff11ku"); // sym = dclfun(NULL, kind, (((((xb)->ptr >= (xb)->eptr) ? agxbmore(xb,1) : 0), (int)(*(xb)->ptr++ = ((unsigned char)'\0'))),(char*)((xb)->ptr = (xb)->buf)), rhs); UNSUPPORTED("6o4s3a3c3rae5ltba8nvab5px"); // sym->fixed = 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5qvhl3c476hpwnik5r2ee5pin // static int gvg_init(GVC_t *gvc, graph_t *g, char *fn, int gidx) public static Object gvg_init(Object... arg) { UNSUPPORTED("69zdfufo90wdjvfvsw59lz5n3"); // static int gvg_init(GVC_t *gvc, graph_t *g, char *fn, int gidx) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c55ofvf49idlhjsnnxfqjpi9s"); // GVG_t *gvg; UNSUPPORTED("1nqr81udw639pz7enx2hfhtn5"); // gvg = zmalloc(sizeof(GVG_t)); UNSUPPORTED("wpylwsmjyiuxs9f8x3srqmfs"); // if (!gvc->gvgs) UNSUPPORTED("9y22l2dxq6artoaqqeeczdq1x"); // gvc->gvgs = gvg; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("2nndq73tw0aaltr2i1ajvsspn"); // gvc->gvg->next = gvg; UNSUPPORTED("e9w6optlcophkwjmfin7kyi1i"); // gvc->gvg = gvg; UNSUPPORTED("eish9dbcdxs6v4dh4sgg6uzjj"); // gvg->gvc = gvc; UNSUPPORTED("27sxrps4axrp5fbl0qnenmif3"); // gvg->g = g; UNSUPPORTED("5q4sypoeu8fbwv3a2p6qsnq73"); // gvg->input_filename = fn; UNSUPPORTED("1wh5jhwi3fb70nrl37aoz6lhj"); // gvg->graph_index = gidx; UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 6k1gxkaeteh3v4108asx0nu9q // static graph_t *P_graph //3 2zkpt5r5hmvqy31vbxai8aoww // graph_t *gvPluginsGraph(GVC_t *gvc) public static Object gvPluginsGraph(Object... arg) { UNSUPPORTED("aq8xsrhhkbt250zdmff189jej"); // graph_t *gvPluginsGraph(GVC_t *gvc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eoghsuji192if07hz2zmt1geg"); // gvg_init(gvc, P_graph, "", 0); UNSUPPORTED("5qryvsjfdmb52s891tbejpwi3"); // return P_graph; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a4vyp310q1ezn1wiiqbhjazfi // int dotneato_args_initialize(GVC_t * gvc, int argc, char **argv) public static Object dotneato_args_initialize(Object... arg) { UNSUPPORTED("3an9kpb8l897hglulndwlyhmk"); // int dotneato_args_initialize(GVC_t * gvc, int argc, char **argv) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("exs7yxl18noutslfdhd65grcd"); // char c, *rest, *layout; UNSUPPORTED("d28hrwkttitp7p3zkyur6josm"); // const char *val; UNSUPPORTED("e4nq5nxc3t4f7sn9hms693ro5"); // int i, v, nfiles; UNSUPPORTED("h0or3v13348vfl22jqz895yc"); // unsigned char buf[128]; UNSUPPORTED("9gou5otj6s39l2cbyc8i5i5lq"); // agxbuf xb; UNSUPPORTED("djkz3f3ke85c3ihtck61wzehd"); // int Kflag = 0; UNSUPPORTED("e36z5l2h47e3sm6az444bpmte"); // /* establish if we are running in a CGI environment */ UNSUPPORTED("39kpbo7t3xw42psbqxwyosbtg"); // HTTPServerEnVar = getenv("SERVER_NAME"); UNSUPPORTED("bjgrdu955j26h6boths39zysy"); // /* establish Gvfilepath, if any */ UNSUPPORTED("9u1u08bh9yk3m8qjesa9h35o3"); // Gvfilepath = getenv("GV_FILE_PATH"); UNSUPPORTED("byzhjcmd87bu2q2ifs8d2zqmx"); // gvc->common.cmdname = dotneato_basename(argv[0]); UNSUPPORTED("6t7yoiijwsc45jhh2ycc1zvqn"); // if (gvc->common.verbose) { UNSUPPORTED("5jlgk53d79be5z8yrpqk31i41"); // fprintf(stderr, "%s - %s version %s (%s)\n", UNSUPPORTED("a3fdnva5eaynygwl01w4i14vu"); // gvc->common.cmdname, gvc->common.info[0], UNSUPPORTED("4cr6o6cpwligpzuiy9go86dtk"); // gvc->common.info[1], gvc->common.info[2]); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ebjtmwuwx6vwhxaswhb2j4mfm"); // /* configure for available plugins */ UNSUPPORTED("7y1a5ferpdpuzp8lj2nreef7e"); // /* needs to know if "dot -c" is set (gvc->common.config) */ UNSUPPORTED("1915n665xv0fno6lfzaikw5ml"); // /* must happen before trying to select any plugins */ UNSUPPORTED("b2umkw2rzz1ig1cngfiht4fmx"); // if (gvc->common.config) { UNSUPPORTED("d3di2hukfdei22j9nlhb4lr4i"); // gvconfig(gvc, gvc->common.config); UNSUPPORTED("ew35v5jfro4z9mn5cwzl5e0ha"); // exit (0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9gg8gbp3jei0upfnr0b5i6fur"); // /* feed the globals */ UNSUPPORTED("36hh3435f786qyybpu0o87zjv"); // Verbose = gvc->common.verbose; UNSUPPORTED("es2j9l0phjktwgdz1y2435lnm"); // CmdName = gvc->common.cmdname; UNSUPPORTED("dhvbz69j0rmligcrm9974041x"); // nfiles = 0; UNSUPPORTED("d1jh4myxvrwmm9xcl79yh24g1"); // for (i = 1; i < argc; i++) UNSUPPORTED("32x1kvhg66oubz0hakj6dvxg1"); // if (argv[i] && argv[i][0] != '-') UNSUPPORTED("5pk2vvpyoy1qbkfwm0d3cqpip"); // nfiles++; UNSUPPORTED("d4gb5xxnp2a9dqmzsisy3d2x5"); // gvc->input_filenames = (char **)zmalloc((nfiles + 1)*sizeof(char *)); UNSUPPORTED("dhvbz69j0rmligcrm9974041x"); // nfiles = 0; UNSUPPORTED("ci65k77x1b3nq6luu69s87oup"); // agxbinit(&xb, 128, buf); UNSUPPORTED("9fp588sbdt939tsh4lldsi78p"); // for (i = 1; i < argc; i++) { UNSUPPORTED("71ydjmz8tdkhga4y130hpfzd7"); // if (argv[i] && argv[i][0] == '-') { UNSUPPORTED("a2i31gh8f8d1uzwvazthtdjhl"); // rest = &(argv[i][2]); UNSUPPORTED("akiijvdhiis6rte3uan48lkio"); // switch (c = argv[i][1]) { UNSUPPORTED("cnw3cn0y6fyfmhrj9i6zrj7yt"); // case 'G': UNSUPPORTED("cyapeoqsbt759mwufn37a0j3w"); // if (*rest) UNSUPPORTED("37iemzdcou8tf7mb850gmys6k"); // global_def(&xb, rest, AGRAPH, agattr); UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else { UNSUPPORTED("d10434bczuxvbju6r580xu4i3"); // fprintf(stderr, "Missing argument for -G flag\n"); UNSUPPORTED("3j6l9hq73a342kljq6expow6m"); // return (dotneato_usage(1)); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("3za1kdrr0abcgx59eek9sst25"); // case 'N': UNSUPPORTED("cyapeoqsbt759mwufn37a0j3w"); // if (*rest) UNSUPPORTED("22su7vu663f22bni5gx0jkxq9"); // global_def(&xb, rest, AGNODE,agattr); UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else { UNSUPPORTED("14g4xc09ropngbhfr31tffeii"); // fprintf(stderr, "Missing argument for -N flag\n"); UNSUPPORTED("3j6l9hq73a342kljq6expow6m"); // return (dotneato_usage(1)); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("30903uov1ouylqet6qkn3k0rw"); // case 'E': UNSUPPORTED("cyapeoqsbt759mwufn37a0j3w"); // if (*rest) UNSUPPORTED("b73i9nd8mv1m5tjqoqs0xawyw"); // global_def(&xb, rest, AGEDGE,agattr); UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else { UNSUPPORTED("6utrckluwkoaluhpksl5aa52s"); // fprintf(stderr, "Missing argument for -E flag\n"); UNSUPPORTED("3j6l9hq73a342kljq6expow6m"); // return (dotneato_usage(1)); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("1ve8bjgk9dfpf0eremg7h6xzz"); // case 'T': UNSUPPORTED("8xdr8a6r0v0ddt027euqcwvue"); // val = getFlagOpt(argc, argv, &i); UNSUPPORTED("3w8hn108291bjaa11z3v4j97d"); // if (!val) { UNSUPPORTED("cd45xgksaxjl5u63gikj5qcyu"); // fprintf(stderr, "Missing argument for -T flag\n"); UNSUPPORTED("3j6l9hq73a342kljq6expow6m"); // return (dotneato_usage(1)); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("72i7z40rqqngolv7pgnr45kl3"); // v = gvjobs_output_langname(gvc, val); UNSUPPORTED("9cs6zbfun0bg9dhunbu1dwnox"); // if (!v) { UNSUPPORTED("7ohbl1a39cg7xkg3hactpw7w3"); // fprintf(stderr, "Format: \"%s\" not recognized. Use one of:%s\n", UNSUPPORTED("f2p3vxh49izcvsl9jvtkf6q3o"); // val, gvplugin_list(gvc, API_device, val)); UNSUPPORTED("910dtu59610pevhvj5yhrqcm4"); // if (GvExitOnUsage) exit(1); UNSUPPORTED("7uqiarbyt9mx4hwdla4nbhj8p"); // return(2); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("8e0kz1b9axy6hx29fg32k1asu"); // case 'K': UNSUPPORTED("8xdr8a6r0v0ddt027euqcwvue"); // val = getFlagOpt(argc, argv, &i); UNSUPPORTED("3w8hn108291bjaa11z3v4j97d"); // if (!val) { UNSUPPORTED("4387cb0sfakxesew55rctdheb"); // fprintf(stderr, "Missing argument for -K flag\n"); UNSUPPORTED("2ns70sizijh2h7z83rt81fqfk"); // return (dotneato_usage(1)); UNSUPPORTED("7nxu74undh30brb8laojud3f9"); // } UNSUPPORTED("13d5md8v926ivibrbmgaktksx"); // v = gvlayout_select(gvc, val); UNSUPPORTED("4pu52xhc37cufgh16nc8pjoa2"); // if (v == 999) { UNSUPPORTED("8uoslbuyiw8828cnsd28ys8oh"); // fprintf(stderr, "There is no layout engine support for \"%s\"\n", val); UNSUPPORTED("em4qxiev3phf1bnbh6vx4zjp9"); // if ((*(val)==*("dot")&&!strcmp(val,"dot"))) { UNSUPPORTED("e46yvd7c19nfgratz9j0sg9d0"); // fprintf(stderr, "Perhaps \"dot -c\" needs to be run (with installer's privileges) to register the plugins?\n"); UNSUPPORTED("3e08x1y395304nd0y3uwffvim"); // } UNSUPPORTED("cphaexi33y32dnefwtu3jsom4"); // else { UNSUPPORTED("d3cg95zim5q97685u5v0sxrhv"); // fprintf(stderr, "Use one of:%s\n", UNSUPPORTED("7ced84fhzz8sv21ptj4yf5b3p"); // gvplugin_list(gvc, API_layout, val)); UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("910dtu59610pevhvj5yhrqcm4"); // if (GvExitOnUsage) exit(1); UNSUPPORTED("7uqiarbyt9mx4hwdla4nbhj8p"); // return(2); UNSUPPORTED("7nxu74undh30brb8laojud3f9"); // } UNSUPPORTED("8c0wmxuda35p1as4i2fh9yoti"); // Kflag = 1; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("5gsxsxc1w5fdmgnphelmjuqql"); // case 'P': UNSUPPORTED("91ohbqvqagns01k8geznhjm7k"); // P_graph = gvplugin_graph(gvc); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("cxe7ytf67rip7dewog9rnbqqq"); // case 'V': UNSUPPORTED("61p8yjtqxyg8jhsx9xyqa39my"); // fprintf(stderr, "%s - %s version %s (%s)\n", UNSUPPORTED("chg3zu0nmmc2hpkc8a0cx08er"); // gvc->common.cmdname, gvc->common.info[0], UNSUPPORTED("b9v3iookta64ex67ies4j4zva"); // gvc->common.info[1], gvc->common.info[2]); UNSUPPORTED("2hk3eyce9u1ys3e3ycfmrtq9n"); // if (GvExitOnUsage) exit(0); UNSUPPORTED("b9uibzxx0tu796r6pqyspuc8u"); // return (1); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("8et213nsqt44k6e0d06mh32mg"); // case 'l': UNSUPPORTED("8xdr8a6r0v0ddt027euqcwvue"); // val = getFlagOpt(argc, argv, &i); UNSUPPORTED("3w8hn108291bjaa11z3v4j97d"); // if (!val) { UNSUPPORTED("3l9adyncbqlq4cr0dn291j8ms"); // fprintf(stderr, "Missing argument for -l flag\n"); UNSUPPORTED("3j6l9hq73a342kljq6expow6m"); // return (dotneato_usage(1)); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("a3ei53c2mnxhfpt33rezp6ll1"); // use_library(gvc, val); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t4c4wqag0c9inoine0vc6rzh"); // case 'o': UNSUPPORTED("8xdr8a6r0v0ddt027euqcwvue"); // val = getFlagOpt(argc, argv, &i); UNSUPPORTED("cgclbrsy2pcq9nt94cnmi4l1n"); // if (! gvc->common.auto_outfile_names) UNSUPPORTED("6l1o8s3lihedxdhlhkt8bacw5"); // gvjobs_output_filename(gvc, val); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("3gzpswryl53n5xaxcbut8piyh"); // case 'q': UNSUPPORTED("55tn4eqemjloic8o06vd4n3nc"); // if (*rest) { UNSUPPORTED("5j8v456fg3eazoh4x59s440ph"); // v = atoi(rest); UNSUPPORTED("ee277mlx9bo22lecmdsnie12n"); // if (v <= 0) { UNSUPPORTED("3iwc3dzplzj2jkbze5cd6zfh9"); // fprintf(stderr, UNSUPPORTED("6w3cyan5p5sb01pzz7n8i45h6"); // "Invalid parameter \"%s\" for -q flag - ignored\n", UNSUPPORTED("77gwizewn0zj87535pi2g735m"); // rest); UNSUPPORTED("2ndpjzfiv49aqobcgbi5tftoi"); // } else if (v == 1) UNSUPPORTED("b4xb9n0clcaf5h0njzxmd6t8u"); // agseterr(AGERR); UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else UNSUPPORTED("eb2xug8syn6gd6cd1ms784rt0"); // agseterr(AGMAX); UNSUPPORTED("738mi6h8ef0itznt34ngxe25o"); // } else UNSUPPORTED("cyu314astki71lyhi8jonkon1"); // agseterr(AGERR); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("9laca56e8dr2klwt5asm5s92v"); // case 's': UNSUPPORTED("55tn4eqemjloic8o06vd4n3nc"); // if (*rest) { UNSUPPORTED("7p5xijseyywlgq947on87fbfy"); // PSinputscale = atof(rest); UNSUPPORTED("te6xrfczv0b2rmmfw7n419bj"); // if (PSinputscale < 0) { UNSUPPORTED("3iwc3dzplzj2jkbze5cd6zfh9"); // fprintf(stderr, UNSUPPORTED("298zr2x6bn7osz168zt1qsgbn"); // "Invalid parameter \"%s\" for -s flag\n", UNSUPPORTED("77gwizewn0zj87535pi2g735m"); // rest); UNSUPPORTED("788fqd2nm2s7cyhjye34lwaho"); // return (dotneato_usage(1)); UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("e99bugzc8p62vi8asjsx3jnat"); // else if (PSinputscale == 0) UNSUPPORTED("ca5magegib4z3wn2wbj91xdz5"); // PSinputscale = 72; UNSUPPORTED("738mi6h8ef0itznt34ngxe25o"); // } else UNSUPPORTED("cdz7sxlinpy8lsv4kjrrzvmlb"); // PSinputscale = 72; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("551eo7ey20lfrotadzc8xx636"); // case 'x': UNSUPPORTED("ciou2ugu3ekwr7d8dtcmo8bqd"); // Reduce = NOT(0); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6hwwmvxwrrrsv7qs0y53et76n"); // case 'y': UNSUPPORTED("71s7bg2w58aqtjmpwed4525kz"); // Y_invert = NOT(0); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("eqbveikc3czxh4drpev1uzhla"); // case '?': UNSUPPORTED("5tdq5fsx232bmgvcnkjmwox6c"); // return (dotneato_usage(0)); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("bt2g0yhsy3c7keqyftf3c98ut"); // default: UNSUPPORTED("ex8ddsq0de4n302ieh93s4nrw"); // agerr(AGERR, "%s: option -%c unrecognized\n\n", gvc->common.cmdname, UNSUPPORTED("4fgwtijdvmyysu4tcsnigf36q"); // c); UNSUPPORTED("5mxnk6d8u3qj69z7yzqkphjgw"); // return (dotneato_usage(1)); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ezl09f02n0cfigsaeyqsejcm0"); // } else if (argv[i]) UNSUPPORTED("ez69zldbihwem8y9yr9rmi9gt"); // gvc->input_filenames[nfiles++] = argv[i]; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9ocnzhe59r19odwgtedwnydm"); // agxbfree (&xb); UNSUPPORTED("56kll2bx8jbmqba2kk0pxvefe"); // /* if no -K, use cmd name to set layout type */ UNSUPPORTED("dy5okspyylmag8l3ke6of2fps"); // if (!Kflag) { UNSUPPORTED("18vaoqlkvxjkxccqkm1cxljuo"); // layout = gvc->common.cmdname; UNSUPPORTED("bshj1mtaoepm94oi9afocf8ou"); // if ((*(layout)==*("dot_static")&&!strcmp(layout,"dot_static")) UNSUPPORTED("64dtzt25t15e7uoo50r0rsefx"); // || (*(layout)==*("dot_builtins")&&!strcmp(layout,"dot_builtins")) UNSUPPORTED("klg5jjw0m71w4m5shlxzhfjy"); // || (*(layout)==*("lt-dot")&&!strcmp(layout,"lt-dot")) UNSUPPORTED("42tigt1aywc44r9j37x5jq0ib"); // || (*(layout)==*("lt-dot_builtins")&&!strcmp(layout,"lt-dot_builtins")) UNSUPPORTED("56pxlfwd1wodkyuswmf36lmwr"); // || (*(layout)==*("")&&!strcmp(layout,"")) /* when run as a process from Gvedit on Windows */ UNSUPPORTED("awdmf39ch8hkgicc7jwv9s67r"); // ) UNSUPPORTED("80rf3qgk59flt06kvnzepp9kt"); // layout = "dot"; UNSUPPORTED("e3pxmvk611turzkqpddzqql3e"); // i = gvlayout_select(gvc, layout); UNSUPPORTED("cbslslfvt4zqfxukzdqeu902c"); // if (i == 999) { UNSUPPORTED("2h041d156jcuzdn0h3t1kxz6b"); // fprintf(stderr, "There is no layout engine support for \"%s\"\n", layout); UNSUPPORTED("6xr0y24n28bl6fmb7hwi2d6yh"); // if ((*(layout)==*("dot")&&!strcmp(layout,"dot"))) UNSUPPORTED("a9b0u4vno2ovyayhgdz2qi2l0"); // fprintf(stderr, "Perhaps \"dot -c\" needs to be run (with installer's privileges) to register the plugins?\n"); UNSUPPORTED("f3qa0cv737ikcre1vpqlkukio"); // else UNSUPPORTED("3oqrxaejbit2ag4yv1f8std7v"); // fprintf(stderr, "Use one of:%s\n", gvplugin_list(gvc, API_layout, "")); UNSUPPORTED("cziimyez7l7opmyxtz7i258x"); // if (GvExitOnUsage) exit(1); UNSUPPORTED("8u2416o82oso1w72bexmapn9v"); // return(2); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("e8n0c84rizzjhmsff49m2fynz"); // /* if no -Txxx, then set default format */ UNSUPPORTED("5atdq1nn8pklea2e61l8ekie"); // if (!gvc->jobs || !gvc->jobs->output_langname) { UNSUPPORTED("ejs6fyeynpj73y8zhc2xjcvrc"); // v = gvjobs_output_langname(gvc, "dot"); UNSUPPORTED("6lpp7llfms4w364wz03qdlrnl"); // if (!v) { UNSUPPORTED("5di5qeuntrt4eii2azt25l076"); // // assert(v); /* "dot" should always be available as an output format */ UNSUPPORTED("18zn34qcs4vsdhhh831gn9vc9"); // fprintf(stderr, UNSUPPORTED("5rhyltg4walgso272exe4gdqz"); // "Unable to find even the default \"-Tdot\" renderer. Has the config\nfile been generated by running \"dot -c\" with installer's priviledges?\n"); UNSUPPORTED("3r5dyo5vxrzten0rhlmlmhe8v"); // return(2); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1i3ejmrslphirq6u7onu2i3cr"); // /* set persistent attributes here (if not already set from command line options) */ UNSUPPORTED("et68lvyh6row6cmvnxmw4nuvj"); // if (!agattr(NULL, AGNODE, "label", 0)) UNSUPPORTED("74v5uwoisv6m2lnnjv33219om"); // agattr(NULL, AGNODE, "label", "\\N"); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 72no6ayfvjinlnupyn5jlmayg // static boolean getdoubles2ptf(graph_t * g, char *name, pointf * result) public static boolean getdoubles2ptf(ST_Agraph_s g, CString name, ST_pointf result) { ENTERING("72no6ayfvjinlnupyn5jlmayg","getdoubles2ptf"); try { CString p; int i; double xf, yf; char c = '\0'; boolean rv = false; if ((p = agget(g, name))!=null) { UNSUPPORTED("21b2kes0vrizyai71yj9e2os3"); // i = sscanf(p, "%lf,%lf%c", &xf, &yf, &c); UNSUPPORTED("9wua6uiybfvqd70huuo0yatcf"); // if ((i > 1) && (xf > 0) && (yf > 0)) { UNSUPPORTED("8z2huopqt4m1rvfcd7vqatka4"); // result->x = ((((xf)*72>=0)?(int)((xf)*72 + .5):(int)((xf)*72 - .5))); UNSUPPORTED("cil4j0n3iq35gr2pfewi2qawz"); // result->y = ((((yf)*72>=0)?(int)((yf)*72 + .5):(int)((yf)*72 - .5))); UNSUPPORTED("9qnr8qmbz7pf3mmpebux0p08m"); // if (c == '!') UNSUPPORTED("dqyb6drzg8ig5ecb31fq5c1d4"); // rv = (!(0)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("8wtaqjit9awt7xd08vuifknry"); // c = '\0'; UNSUPPORTED("705372l4htjtcvnq97l7i54g8"); // i = sscanf(p, "%lf%c", &xf, &c); UNSUPPORTED("4n9k1twwfmxyet8tokr7xnktj"); // if ((i > 0) && (xf > 0)) { UNSUPPORTED("8ui53rmpq7ao1p4yin0xqzszj"); // result->y = result->x = ((((xf)*72>=0)?(int)((xf)*72 + .5):(int)((xf)*72 - .5))); UNSUPPORTED("1rflva1x66uhyqxr5zbpcsgnh"); // if (c == '!') rv = (!(0)); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } } return rv; } finally { LEAVING("72no6ayfvjinlnupyn5jlmayg","getdoubles2ptf"); } } //3 1xg46gdvtsko1yrtm6mg4tsxy // void getdouble(graph_t * g, char *name, double *result) public static Object getdouble(Object... arg) { UNSUPPORTED("5gfb0pnjet6us7l51d48x25aq"); // void getdouble(graph_t * g, char *name, double *result) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("aexhdud6z2wbwwi73yppp0ynl"); // char *p; UNSUPPORTED("jnku6gn089m43hq5hndzrxzn"); // double f; UNSUPPORTED("bifb8kht3vkytb74qbof9vpob"); // if ((p = agget(g, name))) { UNSUPPORTED("4r30fz6hpqhfj44lip5cndh1m"); // if (sscanf(p, "%lf", &f) >= 1) UNSUPPORTED("jepdvpsjq4757gzwaplghh4j"); // *result = f; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7c1tanyo6vwej9cqo0rkiv6sv // graph_t *gvNextInputGraph(GVC_t *gvc) public static Object gvNextInputGraph(Object... arg) { UNSUPPORTED("a6jdteesa5ifdtthxxsohrlh2"); // graph_t *gvNextInputGraph(GVC_t *gvc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ccvkc7reh332l10k91bjvksnm"); // graph_t *g = NULL; UNSUPPORTED("5dpauyujvamkm0ay3pfh999y3"); // static char *fn; UNSUPPORTED("46orciiuryyogkvndndbawo06"); // static FILE *fp; UNSUPPORTED("82yfc13etao3sz5hqypnt56oq"); // static FILE *oldfp; UNSUPPORTED("1c51f3lle32l3xcfnkzig5ett"); // static int fidx, gidx; UNSUPPORTED("6i509d0s1nqxjr873r5dz7gv5"); // while (!g) { UNSUPPORTED("56tws2uz7mqhxwswpbpf94b5c"); // if (!fp) { UNSUPPORTED("6d4ms2m7wzcyf2eofwsoz7jzu"); // if (!(fn = gvc->input_filenames[0])) { UNSUPPORTED("eec7y1e55sjjkrx06jmtoyrz1"); // if (fidx++ == 0) UNSUPPORTED("sln8j5e1981v4p6fvxyy4jjq"); // fp = stdin; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("btttznywgnyh5niqc16ebuucw"); // while ((fn = gvc->input_filenames[fidx++]) && !(fp = fopen(fn, "r"))) { UNSUPPORTED("4futxtc5kgl4i6bw6j1xhws4s"); // agerr(AGERR, "%s: can't open %s\n", gvc->common.cmdname, fn); UNSUPPORTED("o7u2b38bnefhf1l58zkel4i3"); // graphviz_errors++; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("74qpksqxqa1hxoxfw5ugamyww"); // if (fp == NULL) UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("2euu5u83dzpauthvjfy4vlcxg"); // if (oldfp != fp) { UNSUPPORTED("cdwz1axrp68a13bwv1la3a736"); // agsetfile(fn ? fn : ""); UNSUPPORTED("36hhlg0nbd0exjvtbe0fc5gj6"); // oldfp = fp; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("b1s6sspge1n2c2b0yukawa8jw"); // g = agread(fp,((Agdisc_t*)0)); UNSUPPORTED("wx1q1tyb5r9oziojtpc4vd1n"); // if (g) { UNSUPPORTED("8r806yndx1ticudcknc3r1sp2"); // gvg_init(gvc, g, fn, gidx++); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("7oaqgqiffegej6sz73ow4cwtw"); // if (fp != stdin) UNSUPPORTED("caiflnlhuyqft76qr8gx91bf3"); // fclose (fp); UNSUPPORTED("7y7knbs9950t3udidyrln8lmp"); // fp = NULL; UNSUPPORTED("ecnsdkjxzhqh68kkz6fpbez04"); // gidx = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2syri7q5tc0jyvwq8ecyfo3vr"); // return g; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9t08dr2ks9qz1pyfz99awla6x // static int findCharset (graph_t * g) public static int findCharset(ST_Agraph_s g) { ENTERING("9t08dr2ks9qz1pyfz99awla6x","findCharset"); try { return 0; } finally { LEAVING("9t08dr2ks9qz1pyfz99awla6x","findCharset"); } } //3 3bnmjpvynh1j9oh2p2vi0vh2m // static void setRatio(graph_t * g) public static void setRatio(ST_Agraph_s g) { ENTERING("3bnmjpvynh1j9oh2p2vi0vh2m","setRatio"); try { CString p; char c; double ratio; if ((p = agget(g, new CString("ratio")))!=null && ((c = p.charAt(0))!='\0')) { UNSUPPORTED("7rk995hpmaqbbasmi40mqg0yw"); // switch (c) { UNSUPPORTED("2v5u3irq50r1n2ccuna0y09lk"); // case 'a': UNSUPPORTED("3jv8xrrloj92axkpkgolzwgo6"); // if ((*(p)==*("auto")&&!strcmp(p,"auto"))) UNSUPPORTED("8bdbsrt9sk4hnj3wm6z100qm"); // (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->drawing)->ratio_kind = R_AUTO; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("f3lyz2cejs6yn5fyckhn7ba1"); // case 'c': UNSUPPORTED("1v3jyjziibgnha1glbymorwg1"); // if ((*(p)==*("compress")&&!strcmp(p,"compress"))) UNSUPPORTED("coprfqf41n6byzz3nfneke6a"); // (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->drawing)->ratio_kind = R_COMPRESS; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("2fzjr952o6hmcz3ad5arl2n8d"); // case 'e': UNSUPPORTED("5s06nikh994hgncpwni2p4rwq"); // if ((*(p)==*("expand")&&!strcmp(p,"expand"))) UNSUPPORTED("eanijnkdjj1f6q7su4gmmijpj"); // (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->drawing)->ratio_kind = R_EXPAND; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("8jntw084f69528np3kisw5ioc"); // case 'f': UNSUPPORTED("105p0jwfnsptmrweig5mhpkn9"); // if ((*(p)==*("fill")&&!strcmp(p,"fill"))) UNSUPPORTED("eknfh3axjhorf2rfb914hdgbd"); // (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->drawing)->ratio_kind = R_FILL; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("e4fr8djxwn615yr0rj46vtdbd"); // ratio = atof(p); UNSUPPORTED("43a0ik2dkpg3y58orisgkn32q"); // if (ratio > 0.0) { UNSUPPORTED("azv56xi8njootl2n9l5bm1udc"); // (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->drawing)->ratio_kind = R_VALUE; UNSUPPORTED("ch5o67mezsw0v6iwxylb98myn"); // (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->drawing)->ratio = ratio; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } } } finally { LEAVING("3bnmjpvynh1j9oh2p2vi0vh2m","setRatio"); } } static CString rankname[] = new CString[] { new CString("local"), new CString("global"), new CString("none"), null }; static int rankcode[] = { 100, 101, 102, 100 }; static CString fontnamenames[] = new CString[] {new CString("gd"),new CString("ps"),new CString("svg"), null}; static int fontnamecodes[] = {enumAsInt(fontname_kind.class, "NATIVEFONTS"),enumAsInt(fontname_kind.class, "PSFONTS"), enumAsInt(fontname_kind.class, "SVGFONTS"),-1}; //3 8gzdr3oil2d0e2o7m84wsszfg //void graph_init(graph_t * g, boolean use_rankdir) public static void graph_init(ST_Agraph_s g, boolean use_rankdir) { ENTERING("8gzdr3oil2d0e2o7m84wsszfg","graph_init"); try { CString p; double xf; int rankdir; GD_drawing(g, new ST_layout_t()); /* set this up fairly early in case any string sizes are needed */ if ((p = agget(g, new CString("fontpath")))!=null || (p = getenv(new CString("DOTFONTPATH")))!=null) { UNSUPPORTED("81bz3jcukzyotxiqgrlhn9cbq"); // /* overide GDFONTPATH in local environment if dot UNSUPPORTED("6jgl7atk1m9yeam4auh127azw"); // * wants its own */ UNSUPPORTED("dyk0vc64gdzy1uwvsc2jqnjdw"); // static char *buf = 0; UNSUPPORTED("8dywgree8jdjmj2ll2whbekhe"); // buf = grealloc(buf, strlen("GDFONTPATH=") + strlen(p) + 1); UNSUPPORTED("d9ej6bo2s49vpstu3pql6tkrx"); // strcpy(buf, "GDFONTPATH="); UNSUPPORTED("1s2jcd2h3eok7j6pclv20gyi2"); // strcat(buf, p); UNSUPPORTED("abkxekvux4nramryfw2e8vcru"); // putenv(buf); } GD_charset(g, findCharset (g)); /*if (!HTTPServerEnVar) { Gvimagepath = agget (g, "imagepath"); if (!Gvimagepath) Gvimagepath = Gvfilepath; }*/ GD_drawing(g).setDouble("quantum", late_double(g, (agattr(g,AGRAPH,new CString("quantum"),null)), 0.0, 0.0)); /* setting rankdir=LR is only defined in dot, * but having it set causes shape code and others to use it. * The result is confused output, so we turn it off unless requested. * This effective rankdir is stored in the bottom 2 bits of g->u.rankdir. * Sometimes, the code really needs the graph's rankdir, e.g., neato -n * with record shapes, so we store the real rankdir in the next 2 bits. */ rankdir = 0; if ((p = agget(g, new CString("rankdir")))!=null) { UNSUPPORTED("sp7zcza7w0dn7t66aj8rf4wn"); // if ((*(p)==*("LR")&&!strcmp(p,"LR"))) UNSUPPORTED("bjd2vk1jssqehllmgnqv601qd"); // rankdir = 1; UNSUPPORTED("ry8itlrmblmuegdwk1iu1t0x"); // else if ((*(p)==*("BT")&&!strcmp(p,"BT"))) UNSUPPORTED("5hno0xn18yt443qg815w3c2s2"); // rankdir = 2; UNSUPPORTED("aal39mi047mhafrsrxoutcffk"); // else if ((*(p)==*("RL")&&!strcmp(p,"RL"))) UNSUPPORTED("7vlda224wrgcdhr0ts3mndh5q"); // rankdir = 3; } if (use_rankdir) GD_rankdir2(g, (rankdir << 2) | rankdir); else GD_rankdir2(g, (rankdir << 2)); xf = late_double(g, (agattr(g,AGRAPH,new CString("nodesep"),null)), 0.25, 0.02); GD_nodesep(g, (ROUND((xf)*72))); p = late_string(g, (agattr(g,AGRAPH,new CString("ranksep"),null)), null); if (p!=null) { UNSUPPORTED("c3p25g4289dxlei062z4eflss"); // if (sscanf(p, "%lf", &xf) == 0) UNSUPPORTED("570vljex12zx5dkwi7mqa9knw"); // xf = 0.5; UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("p882lodfwy5v48rwbxvg5s9i"); // if (xf < 0.02) UNSUPPORTED("dhhbmqv6n01j1eeyy7fpus1xw"); // xf = 0.02; if (strstr(p, new CString("equally"))!=null) GD_exact_ranksep(g, 1); } else xf = 0.5; GD_ranksep(g, (ROUND((xf)*72))); GD_showboxes(g, late_int(g, (agattr(g,AGRAPH,new CString("showboxes"),null)), 0, 0)); p = late_string(g, (agattr(g,AGRAPH,new CString("fontnames"),null)), null); GD_fontnames(g, maptoken(p, fontnamenames, fontnamecodes)); setRatio(g); GD_drawing(g).filled = getdoubles2ptf(g, new CString("size"), (ST_pointf) GD_drawing(g).size); getdoubles2ptf(g, new CString("page"), (ST_pointf) GD_drawing(g).page); GD_drawing(g).centered = mapbool(agget(g, new CString("center"))); if ((p = agget(g, new CString("rotate")))!=null) GD_drawing(g).landscape= (atoi(p) == 90); else if ((p = agget(g, new CString("orientation")))!=null) GD_drawing(g).landscape= ((p.charAt(0) == 'l') || (p.charAt(0) == 'L')); else if ((p = agget(g, new CString("landscape")))!=null) GD_drawing(g).landscape= mapbool(p); p = agget(g, new CString("clusterrank")); Z.z().CL_type = maptoken(p, rankname, rankcode); p = agget(g, new CString("concentrate")); Z.z().Concentrate = mapbool(p); Z.z().State = 0; Z.z().EdgeLabelsDone = 0; GD_drawing(g).setDouble("dpi", 0.0); if (((p = agget(g, new CString("dpi")))!=null && p.charAt(0)!='\0') || ((p = agget(g, new CString("resolution")))!=null && p.charAt(0)!='\0')) GD_drawing(g).setDouble("dpi", atof(p)); do_graph_label(g); Z.z().Initial_dist = (1.0e+37); Z.z().G_ordering = (agattr(g,AGRAPH,new CString("ordering"),null)); Z.z().G_gradientangle = (agattr(g,AGRAPH,new CString("gradientangle"),null)); Z.z().G_margin = (agattr(g,AGRAPH,new CString("margin"),null)); /* initialize nodes */ Z.z().N_height = (agattr(g,AGNODE,new CString("height"),null)); Z.z().N_width = (agattr(g,AGNODE,new CString("width"),null)); Z.z().N_shape = (agattr(g,AGNODE,new CString("shape"),null)); Z.z().N_color = (agattr(g,AGNODE,new CString("color"),null)); Z.z().N_fillcolor = (agattr(g,AGNODE,new CString("fillcolor"),null)); Z.z().N_style = (agattr(g,AGNODE,new CString("style"),null)); Z.z().N_fontsize = (agattr(g,AGNODE,new CString("fontsize"),null)); Z.z().N_fontname = (agattr(g,AGNODE,new CString("fontname"),null)); Z.z().N_fontcolor = (agattr(g,AGNODE,new CString("fontcolor"),null)); Z.z().N_label = (agattr(g,AGNODE,new CString("label"),null)); if (N(Z.z().N_label)) Z.z().N_label = agattr(g, AGNODE, new CString("label"), new CString("\\N")); Z.z().N_xlabel = (agattr(g,AGNODE,new CString("xlabel"),null)); Z.z().N_showboxes = (agattr(g,AGNODE,new CString("showboxes"),null)); Z.z().N_penwidth = (agattr(g,AGNODE,new CString("penwidth"),null)); Z.z().N_ordering = (agattr(g,AGNODE,new CString("ordering"),null)); Z.z().N_margin = (agattr(g,AGNODE,new CString("margin"),null)); /* attribs for polygon shapes */ Z.z().N_sides = (agattr(g,AGNODE,new CString("sides"),null)); Z.z().N_peripheries = (agattr(g,AGNODE,new CString("peripheries"),null)); Z.z().N_skew = (agattr(g,AGNODE,new CString("skew"),null)); Z.z().N_orientation = (agattr(g,AGNODE,new CString("orientation"),null)); Z.z().N_distortion = (agattr(g,AGNODE,new CString("distortion"),null)); Z.z().N_fixed = (agattr(g,AGNODE,new CString("fixedsize"),null)); Z.z().N_imagescale = (agattr(g,AGNODE,new CString("imagescale"),null)); Z.z().N_nojustify = (agattr(g,AGNODE,new CString("nojustify"),null)); Z.z().N_layer = (agattr(g,AGNODE,new CString("layer"),null)); Z.z().N_group = (agattr(g,AGNODE,new CString("group"),null)); Z.z().N_comment = (agattr(g,AGNODE,new CString("comment"),null)); Z.z().N_vertices = (agattr(g,AGNODE,new CString("vertices"),null)); Z.z().N_z = (agattr(g,AGNODE,new CString("z"),null)); Z.z().N_gradientangle = (agattr(g,AGNODE,new CString("gradientangle"),null)); /* initialize edges */ Z.z().E_weight = (agattr(g,AGEDGE,new CString("weight"),null)); Z.z().E_color = (agattr(g,AGEDGE,new CString("color"),null)); Z.z().E_fillcolor = (agattr(g,AGEDGE,new CString("fillcolor"),null)); Z.z().E_fontsize = (agattr(g,AGEDGE,new CString("fontsize"),null)); Z.z().E_fontname = (agattr(g,AGEDGE,new CString("fontname"),null)); Z.z().E_fontcolor = (agattr(g,AGEDGE,new CString("fontcolor"),null)); Z.z().E_label = (agattr(g,AGEDGE,new CString("label"),null)); Z.z().E_xlabel = (agattr(g,AGEDGE,new CString("xlabel"),null)); Z.z().E_label_float = (agattr(g,AGEDGE,new CString("labelfloat"),null)); /* vladimir */ Z.z().E_dir = (agattr(g,AGEDGE,new CString("dir"),null)); Z.z().E_arrowhead = (agattr(g,AGEDGE,new CString("arrowhead"),null)); Z.z().E_arrowtail = (agattr(g,AGEDGE,new CString("arrowtail"),null)); Z.z().E_headlabel = (agattr(g,AGEDGE,new CString("headlabel"),null)); Z.z().E_taillabel = (agattr(g,AGEDGE,new CString("taillabel"),null)); Z.z().E_labelfontsize = (agattr(g,AGEDGE,new CString("labelfontsize"),null)); Z.z().E_labelfontname = (agattr(g,AGEDGE,new CString("labelfontname"),null)); Z.z().E_labelfontcolor = (agattr(g,AGEDGE,new CString("labelfontcolor"),null)); Z.z().E_labeldistance = (agattr(g,AGEDGE,new CString("labeldistance"),null)); Z.z().E_labelangle = (agattr(g,AGEDGE,new CString("labelangle"),null)); /* end vladimir */ Z.z().E_minlen = (agattr(g,AGEDGE,new CString("minlen"),null)); Z.z().E_showboxes = (agattr(g,AGEDGE,new CString("showboxes"),null)); Z.z().E_style = (agattr(g,AGEDGE,new CString("style"),null)); Z.z().E_decorate = (agattr(g,AGEDGE,new CString("decorate"),null)); Z.z().E_arrowsz = (agattr(g,AGEDGE,new CString("arrowsize"),null)); Z.z().E_constr = (agattr(g,AGEDGE,new CString("constraint"),null)); Z.z().E_layer = (agattr(g,AGEDGE,new CString("layer"),null)); Z.z().E_comment = (agattr(g,AGEDGE,new CString("comment"),null)); Z.z().E_tailclip = (agattr(g,AGEDGE,new CString("tailclip"),null)); Z.z().E_headclip = (agattr(g,AGEDGE,new CString("headclip"),null)); Z.z().E_penwidth = (agattr(g,AGEDGE,new CString("penwidth"),null)); /* background */ GD_drawing(g).setPtr("xdots", init_xdot (g)); /* initialize id, if any */ if ((p = agget(g, new CString("id")))!=null && p.charAt(0)!='\0') GD_drawing(g).setPtr("id", strdup_and_subst_obj(p, g)); } finally { LEAVING("8gzdr3oil2d0e2o7m84wsszfg","graph_init"); } } //3 46ypwxxdurpwoq7ee0nagnyuw // void graph_cleanup(graph_t *g) public static Object graph_cleanup(Object... arg) { UNSUPPORTED("30nwbe5cpmxhh80h8xa9akr9z"); // void graph_cleanup(graph_t *g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dnom8brm7mdyz49mlyew1yfx4"); // if (GD_drawing(g) && GD_drawing(g)->xdots) UNSUPPORTED("cbn0kehrijve4p68esddyi4cm"); // freeXDot ((xdot*)GD_drawing(g)->xdots); UNSUPPORTED("4wfyhel6dchugc6m03gzcaqqx"); // if (GD_drawing(g) && GD_drawing(g)->id) UNSUPPORTED("3uhbrv39ml1lee2b5i24tnmp2"); // free (GD_drawing(g)->id); UNSUPPORTED("vcg73wzydblsuguqzall9cv4"); // free(GD_drawing(g)); UNSUPPORTED("1ia1a125sivdblphtrgblo6nr"); // GD_drawing(g) = NULL; UNSUPPORTED("amdwcc4txs1rjdj436t6qt2k4"); // free_label(GD_label(g)); UNSUPPORTED("8jf0pz51pmyvkml9d1jqhncju"); // //FIX HERE , STILL SHALLOW UNSUPPORTED("32tijapsyiumwfmjqrf8j6d41"); // //memset(&(g->u), 0, sizeof(Agraphinfo_t)); UNSUPPORTED("7e4eo7ldxaf48s2v3paft8j2c"); // agclean(g, AGRAPH,"Agraphinfo_t"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7rzv30lub416sffko0du3o6sx // char* charsetToStr (int c) public static Object charsetToStr(Object... arg) { UNSUPPORTED("cqm25rponse4rsi686sbn1lo0"); // char* UNSUPPORTED("b1ttom615vlztws5drinv8k4i"); // charsetToStr (int c) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cypok90bpbt6z74ak3nu63g1m"); // char* s; UNSUPPORTED("239qe3atroys6jen2eufic7ex"); // switch (c) { UNSUPPORTED("1nhgtydm95uz0oftevo3oly8e"); // case 0 : UNSUPPORTED("2nidjssyf3n7w7cygka1k20t7"); // s = "UTF-8"; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("6152devym3begeqtwle6okwtn"); // case 1 : UNSUPPORTED("ct1k13idag6941hvbi9y2bzt3"); // s = "ISO-8859-1"; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("brmutjgcyjq57ggmjk11na8lu"); // case 2 : UNSUPPORTED("5irze7y061rfoysvsbc01net8"); // s = "BIG-5"; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("cjimoqzt0qz3wos8m9h7g3hmh"); // default : UNSUPPORTED("816pcwbgdg9rau7jfcj6xpoel"); // agerr(AGERR, "Unsupported charset value %d\n", c); UNSUPPORTED("2nidjssyf3n7w7cygka1k20t7"); // s = "UTF-8"; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("67k63k77j3kjabivb0i8hxrwd"); // } UNSUPPORTED("dyq366cow9q7c8bh5jns3dlqo"); // return s; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5vks1zdadu5vjinaivs0j2bkb // void do_graph_label(graph_t * sg) public static void do_graph_label(ST_Agraph_s sg) { ENTERING("5vks1zdadu5vjinaivs0j2bkb","do_graph_label"); try { CString str, pos, just; int pos_ix; /* it would be nice to allow multiple graph labels in the future */ if ((str = agget(sg, new CString("label")))!=null && (str.charAt(0) != '\0')) { char pos_flag=0; final ST_pointf dimen = new ST_pointf(); GD_has_labels(sg.root, GD_has_labels(sg.root) | (1 << 3)); GD_label(sg, make_label(sg, str, (aghtmlstr(str)!=0 ? (1 << 1) : (0 << 1)), late_double(sg, (agattr(sg,AGRAPH,new CString("fontsize"),null)), 14.0, 1.0), late_nnstring(sg, (agattr(sg,AGRAPH,new CString("fontname"),null)), new CString("Times-Roman")), late_nnstring(sg, (agattr(sg,AGRAPH,new CString("fontcolor"),null)), new CString("black")))); /* set label position */ pos = agget(sg, new CString("labelloc")); if (NEQ(sg, agroot(sg))) { if (pos!=null && (pos.charAt(0) == 'b')) pos_flag = 0; else pos_flag = 1; } else { UNSUPPORTED("601b6yrqr391vnfpa74d7fec7"); // if (pos && (pos[0] == 't')) UNSUPPORTED("bxai2kktsidvda3696ctyk63c"); // pos_flag = 1; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("6m5sy5ew8izdy8i10zb5o2dvu"); // pos_flag = 0; } just = agget(sg, new CString("labeljust")); if (just!=null) { UNSUPPORTED("3gxohpfqzahytaf7f9apn58az"); // if (just[0] == 'l') UNSUPPORTED("ch7sydr4cg29o8ky9fbk5vnlg"); // pos_flag |= 2; UNSUPPORTED("336to8kpmovx00pexhhenz74b"); // else if (just[0] == 'r') UNSUPPORTED("evu9w6pw3kkh7z8w7t4rx4qxc"); // pos_flag |= 4; } GD_label_pos(sg, pos_flag); if (EQ(sg, agroot(sg))) return; /* Set border information for cluster labels to allow space */ dimen.___(GD_label(sg).dimen); dimen.setDouble("x", dimen.x + 4*4); dimen.setDouble("y", dimen.y + 2*4); if (N(GD_flip(agroot(sg)))) { if ((GD_label_pos(sg) & 1)!=0) pos_ix = 2; else pos_ix = 0; GD_border(sg)[pos_ix].___(dimen); } else { /* when rotated, the labels will be restored to TOP or BOTTOM */ UNSUPPORTED("cabz6xbjdvz5vmjulzrhlxh48"); // if ((((Agraphinfo_t*)(((Agobj_t*)(sg))->data))->label_pos) & 1) UNSUPPORTED("dx7v6663o9o0x1j5r8z4wumxb"); // pos_ix = 1; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("97dtv6k7yw1qvfzgs65cj2v0l"); // pos_ix = 3; UNSUPPORTED("21iuie8b11x65je8vampstgt6"); // (((Agraphinfo_t*)(((Agobj_t*)(sg))->data))->border)[pos_ix].x = dimen.y; UNSUPPORTED("8cawl3kik853hkvgm39y34urs"); // (((Agraphinfo_t*)(((Agobj_t*)(sg))->data))->border)[pos_ix].y = dimen.x; } } } finally { LEAVING("5vks1zdadu5vjinaivs0j2bkb","do_graph_label"); } } } plantuml-1.2018.13+ds/src/gen/lib/common/intset__c.java000066400000000000000000000143661340005343600225050ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static smetana.core.Macro.UNSUPPORTED; public class intset__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //3 8qgr88nich230f7xchwdzz29a // static void* mkIntItem(Dt_t* d,intitem* obj,Dtdisc_t* disc) public static Object mkIntItem(Object... arg) { UNSUPPORTED("8fbx43f8g4rod2yqfdymsxdnx"); // static void* UNSUPPORTED("a10lzkc4r102m2qlk5imsvovv"); // mkIntItem(Dt_t* d,intitem* obj,Dtdisc_t* disc) UNSUPPORTED("yo7buicdiu29rv5vxhas0v3s"); // { UNSUPPORTED("ekjuvztgs19rbqj0v3lmfo01q"); // intitem* np = (intitem*)zmalloc(sizeof(intitem)); UNSUPPORTED("506xq20ierdh2vdh0oxwa7m8v"); // np->id = obj->id; UNSUPPORTED("184diuw6jvuoeak7fkbqm6fr6"); // return (void*)np; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bh6e5ln10dj2wbs1o7bpt00i8 // static void freeIntItem(Dt_t* d,intitem* obj,Dtdisc_t* disc) public static Object freeIntItem(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("criv4pqv4650sbunujgt3rbya"); // freeIntItem(Dt_t* d,intitem* obj,Dtdisc_t* disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4neq75mnpa0cym29pxiizrkz3"); // free (obj); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 47m5dtm8t3vpv956ejy5w6th9 // static int cmpid(Dt_t* d, int* key1, int* key2, Dtdisc_t* disc) public static Object cmpid(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("1si01iycmvt6w5p4npvowvekx"); // cmpid(Dt_t* d, int* key1, int* key2, Dtdisc_t* disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1cu94gjng90rrt7xtp42ifr1"); // if (*key1 > *key2) return 1; UNSUPPORTED("3h1tdtwyfqaqhne2o7pz8yq9h"); // else if (*key1 < *key2) return -1; UNSUPPORTED("7lrkjjj5lce2uf86c1y9o9yoa"); // else return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 8lrju563ta1xqsy4xixotjo3l // static Dtdisc_t intSetDisc = //3 2xsz5eza9h7l039872rv37hsv // Dt_t* openIntSet (void) public static Object openIntSet(Object... arg) { UNSUPPORTED("96gezykql110n8xkno0gtdrmq"); // Dt_t* UNSUPPORTED("68yvszwdppo58pmasvi3gqm0a"); // openIntSet (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bjd7jaxyhis3c4zl58948rs5w"); // return dtopen(&intSetDisc,Dtoset); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 djjwoeky7tlyxdg2zx3x4pdib // void addIntSet (Dt_t* is, int v) public static Object addIntSet(Object... arg) { UNSUPPORTED("347dderd02mvlozoheqo4ejwo"); // void UNSUPPORTED("uq3ewaypmpqc0nyc6mp0osz6"); // addIntSet (Dt_t* is, int v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2rjvy9cij6zo2nowb4w37hnjt"); // intitem obj; UNSUPPORTED("5ne3fj3dr6iouu1y3bnx3lcd7"); // obj.id = v; UNSUPPORTED("2ugf3ujkfn9ofv5ykvcsvr6m5"); // (*(((Dt_t*)(is))->searchf))((is),(void*)(&obj),0000001); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7w5km9pct0qd0skzhgxezhr2x // int inIntSet (Dt_t* is, int v) public static Object inIntSet(Object... arg) { UNSUPPORTED("7zkpme13g8rxxwloxvpvvnbcw"); // int UNSUPPORTED("cg6pm0yggmopx83usksgtt395"); // inIntSet (Dt_t* is, int v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eckrym421t3ug9lj77hzalv1a"); // return ((*(((Dt_t*)(is))->searchf))((is),(void*)(&v),0001000) != 0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/common/labels__c.java000066400000000000000000001400641340005343600224340ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static gen.lib.cgraph.edge__c.aghead; import static gen.lib.cgraph.graph__c.agisdirected; import static gen.lib.cgraph.id__c.agnameof; import static gen.lib.cgraph.obj__c.agobjkind; import static gen.lib.cgraph.obj__c.agraphof; import static gen.lib.cgraph.obj__c.agroot; import static gen.lib.common.htmltable__c.make_html_label; import static gen.lib.common.memory__c.gmalloc; import static gen.lib.common.utils__c.htmlEntityUTF8; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtils.strlen; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.AGEDGE; import static smetana.core.Macro.AGNODE; import static smetana.core.Macro.AGRAPH; import static smetana.core.Macro.ED_head_port; import static smetana.core.Macro.ED_label; import static smetana.core.Macro.ED_tail_port; import static smetana.core.Macro.GD_label; import static smetana.core.Macro.MAX; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import static smetana.core.Macro.ZALLOC_ST_textspan_t; import static smetana.core.Macro.agtail; import static smetana.core.Macro.hackInitDimensionFromLabel; import h.ST_Agedge_s; import h.ST_Agnode_s; import h.ST_Agnodeinfo_t; import h.ST_Agobj_s; import h.ST_Agraph_s; import h.ST_Agraphinfo_t; import h.ST_Agrec_s; import h.ST_GVC_s; import h.ST_pointf; import h.ST_port; import h.ST_textlabel_t; import h.ST_textspan_t; import smetana.core.CString; import smetana.core.Memory; import smetana.core.Z; import smetana.core.__ptr__; public class labels__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wkeqik2dt7ecr64ej6ltbnvb // static void storeline(GVC_t *gvc, textlabel_t *lp, char *line, char terminator) //private static __struct__ tf = JUtils.from(textfont_t.class); public static void storeline(ST_GVC_s gvc, ST_textlabel_t lp, CString line, char terminator) { ENTERING("4wkeqik2dt7ecr64ej6ltbnvb","storeline"); try { final ST_pointf size = new ST_pointf(); ST_textspan_t span = null; int oldsz = lp.nspans + 1; lp.span = ZALLOC_ST_textspan_t((ST_textspan_t.Array) lp.span, oldsz + 1); span = lp.span.get(lp.nspans); span.str = line; span.just = terminator; if (line!=null && line.charAt(0)!='\0') { Z.z().tf.name = lp.fontname; Z.z().tf.size = lp.fontsize; // WE CHEAT size.x = 0.0; size.y = (int)(lp.fontsize * 1.20); hackInitDimensionFromLabel(size, line.getContent()); span.size.y = (int)size.y; } else { System.err.println("YOU SHOULD NOT SEE THAT"); size.x = 0.0; size.y = (int)(lp.fontsize * 1.20); span.size.y = (int)(lp.fontsize * 1.20); } lp.nspans = lp.nspans + 1; /* width = max line width */ lp.dimen.x = MAX(lp.dimen.x, size.x); /* accumulate height */ lp.dimen.y = lp.dimen.y + size.y; } finally { LEAVING("4wkeqik2dt7ecr64ej6ltbnvb","storeline"); } } //3 22ar72ye93a8ntj8pagnt5b5k // void make_simple_label(GVC_t * gvc, textlabel_t * lp) public static void make_simple_label(ST_GVC_s gvc, ST_textlabel_t lp) { ENTERING("22ar72ye93a8ntj8pagnt5b5k","make_simple_label"); try { char c; CString p, line, lineptr, str = lp.text; char bytee = 0x00; ((ST_pointf) lp.dimen).x = 0.0; ((ST_pointf) lp.dimen).y = 0.0; if (str.charAt(0) == '\0') return; line = lineptr = null; p = str; line = lineptr = gmalloc((strlen(p) + 1)); line.setCharAt(0, '\0'); while ((c = p.charAt(0))!='\0') { p = p.plus(1); bytee = c; /* wingraphviz allows a combination of ascii and big-5. The latter * is a two-byte encoding, with the first byte in 0xA1-0xFE, and * the second in 0x40-0x7e or 0xa1-0xfe. We assume that the input * is well-formed, but check that we don't go past the ending '\0'. */ if ((lp.charset == 2) && 0xA1 <= bytee && bytee <= 0xFE) { UNSUPPORTED("6la63t1mnqv30shyyp3yfroxb"); // *lineptr++ = c; UNSUPPORTED("ebmmarxykvf76hmfmjuk0ssjz"); // c = *p++; UNSUPPORTED("6la63t1mnqv30shyyp3yfroxb"); // *lineptr++ = c; UNSUPPORTED("1kri3b36twfj4t7bvjbrt6dhs"); // if (!c) /* NB. Protect against unexpected string end here */ UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; } else { if (c == '\\') { switch (p.charAt(0)) { case 'n': case 'l': case 'r': lineptr.setCharAt(0, '\0'); lineptr = lineptr.plus(1); storeline(gvc, lp, line, p.charAt(0)); line = lineptr; break; default: lineptr.setCharAt(0, p.charAt(0)); lineptr = lineptr.plus(1); } if (p.charAt(0)!='\0') p = p.plus(1); /* tcldot can enter real linend characters */ } else if (c == '\n') { lineptr.setCharAt(0, '\0'); lineptr = lineptr.plus(1); storeline(gvc, lp, line, 'n'); line = lineptr; } else { lineptr.setCharAt(0, c); lineptr = lineptr.plus(1); } } } if (NEQ(line, lineptr)) { lineptr.setCharAt(0, '\0'); lineptr = lineptr.plus(1); storeline(gvc, lp, line, 'n'); } lp.setStruct("space", lp.dimen); } finally { LEAVING("22ar72ye93a8ntj8pagnt5b5k","make_simple_label"); } } //3 ecq5lydlrjrlaz8o6vm6svc8i // textlabel_t *make_label(void *obj, char *str, int kind, double fontsize, char *fontname, char *fontcolor) public static ST_textlabel_t make_label(__ptr__ obj, CString str, int kind, double fontsize, CString fontname, CString fontcolor) { ENTERING("ecq5lydlrjrlaz8o6vm6svc8i","make_label"); try { ST_textlabel_t rv = new ST_textlabel_t(); ST_Agraph_s g = null, sg = null; ST_Agnode_s n = null; ST_Agedge_s e = null; CString s = null; switch (agobjkind(obj)) { case AGRAPH: sg = (ST_Agraph_s)obj; g = (ST_Agraph_s) sg.root; break; case AGNODE: n = (ST_Agnode_s)obj.castTo(ST_Agnode_s.class); g = agroot(agraphof(n)); break; case AGEDGE: e = (ST_Agedge_s)obj.castTo(ST_Agedge_s.class); g = agroot(agraphof(aghead(e))); break; } rv.setPtr("fontname", fontname); rv.setPtr("fontcolor", fontcolor); rv.setDouble("fontsize", fontsize); rv.charset = ((ST_Agraphinfo_t)g.castTo_ST_Agobj_s().data.castTo(ST_Agraphinfo_t.class)).charset; if ((kind & (2 << 1))!=0) { rv.setPtr("text", str.strdup()); if ((kind & (1 << 1))!=0) { rv.html = (N(0)); } } else if (kind == (1 << 1)) { rv.setPtr("text", str.strdup()); rv.html = N(0); if (make_html_label(obj, rv)!=0) { switch (agobjkind(obj)) { case AGRAPH: UNSUPPORTED("agerr(AGPREV, in label of graph %s\n,agnameof(sg));"); break; case AGNODE: UNSUPPORTED("agerr(AGPREV, in label of node %s\n, agnameof(n));"); break; case AGEDGE: UNSUPPORTED("agerr(AGPREV, in label of edge %s %s %s\n,"); // agnameof(((((((Agobj_t*)(e))->tag).objtype) == 3? (e): ((e)+1))->node)), agisdirected(g)?"->":"--", agnameof(((((((Agobj_t*)(e))->tag).objtype) == 2? (e): ((e)-1))->node))); break; } } } else { //assert(kind == (0 << 1)); /* This call just processes the graph object based escape sequences. The formatting escape * sequences (\n, \l, \r) are processed in make_simple_label. That call also replaces \\ with \. */ rv.setPtr("text", strdup_and_subst_obj0(str, obj, 0)); switch (rv.charset) { case 1: UNSUPPORTED("s = latin1ToUTF8(rv->text);"); break; default: /* UTF8 */ s = htmlEntityUTF8(rv.text, g); break; } Memory.free(rv.text); rv.setPtr("text", s); make_simple_label(g.castTo_ST_Agobj_s().data.castTo_ST_Agraphinfo_t().gvc, rv); } return rv; } finally { LEAVING("ecq5lydlrjrlaz8o6vm6svc8i","make_label"); } } //3 1qv9kl0wi0snf1xtrb6vo2yiu // void free_textspan(textspan_t * tl, int cnt) public static Object free_textspan(Object... arg) { UNSUPPORTED("eh9j8hhtolluyaegv937nnpys"); // void free_textspan(textspan_t * tl, int cnt) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("4iuvdwfqjfqyk7dpy1s8mgw2o"); // textspan_t* tlp = tl; UNSUPPORTED("1f70128zxfm2jtz3ebwavc3nc"); // if (!tl) return; UNSUPPORTED("3r70mdmcurt4csiwolv9n6mmh"); // for (i = 0; i < cnt; i++) { UNSUPPORTED("anxpl4mk65alvdjja9pn97kro"); // if ((i == 0) && tlp->str) UNSUPPORTED("1fhpzk3z0aliuuzuovdmsmp7d"); // free(tlp->str); UNSUPPORTED("b0d4wly929yfs331ilovdcqjo"); // if (tlp->layout && tlp->free_layout) UNSUPPORTED("40xyvfopujwdcztwx5vs27p5d"); // tlp->free_layout (tlp->layout); UNSUPPORTED("72ldhje939sa8dg5ttywkmwa6"); // tlp++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4pi9nz7hlvy0eo98r6tzd0oy"); // free(tl); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2palqnlr5u0ssnag1bp5tq510 // void free_label(textlabel_t * p) public static Object free_label(Object... arg) { UNSUPPORTED("7fgqv20ow9mktpealn2ueqf9i"); // void free_label(textlabel_t * p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3cvmixd2u1g2d9l03kuxyyxxw"); // if (p) { UNSUPPORTED("26ktwrszmdk4inac0pxe7mudg"); // free(p->text); UNSUPPORTED("6sxnt2ovvq1ihlz4odqepnnln"); // if (p->html) { UNSUPPORTED("8p452npbufapts0rm8ff82xfu"); // if (p->u.html) free_html_label(p->u.html, 1); UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("ghxtimeg851hu16krg2dnb14"); // free_textspan(p->u.txt.span, p->u.txt.nspans); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cy5x5dma0v4hiepir7lrfuo17"); // free(p); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a0gse5mgpw0xhsmu4lwellfdq // void emit_label(GVJ_t * job, emit_state_t emit_state, textlabel_t * lp) public static Object emit_label(Object... arg) { UNSUPPORTED("2bspalmq4q86q66b0sehcnui"); // void emit_label(GVJ_t * job, emit_state_t emit_state, textlabel_t * lp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("2bghyit203pd6xw2ihhenzyn8"); // pointf p; UNSUPPORTED("ecr1y7qy0ikxkidkdfvwv88ir"); // emit_state_t old_emit_state; UNSUPPORTED("c3lqudp40feg72zp97ngqkww9"); // old_emit_state = obj->emit_state; UNSUPPORTED("3ook7gsw0rr7b6uwm9f5a5dtx"); // obj->emit_state = emit_state; UNSUPPORTED("17ejiipjo2ljqtqe4rkpx6b15"); // if (lp->html) { UNSUPPORTED("8jyhluz8a51w5y5qalhlrpgnp"); // emit_html_label(job, lp->u.html, lp); UNSUPPORTED("2rghcn1n5g9f29wxd8nqhub0p"); // obj->emit_state = old_emit_state; UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("71u0rnrd0pn6urf5ttv39ec5d"); // /* make sure that there is something to do */ UNSUPPORTED("c4lzcn6qndbrx4u9kybwfk11l"); // if (lp->u.txt.nspans < 1) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("2qj4sjf5amdyhvqsi47mei07v"); // gvrender_begin_label(job, LABEL_PLAIN); UNSUPPORTED("bl5mm7hn2il0n2e623rbq8q5w"); // gvrender_set_pencolor(job, lp->fontcolor); UNSUPPORTED("8a1fbspdbpecd6k8uj7bse1cx"); // /* position for first span */ UNSUPPORTED("f433l06cgmbaiibsv9a9tjun8"); // switch (lp->valign) { UNSUPPORTED("c66d69vmpko3goomc3npvjhy3"); // case 't': UNSUPPORTED("63ukdafw48pf9seqbe8vedft9"); // p.y = lp->pos.y + lp->space.y / 2.0 - lp->fontsize; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("5coaag9ev3fzc0jtpkjkfvhd2"); // case 'b': UNSUPPORTED("eodoiejpigubj8in93lnnc05d"); // p.y = lp->pos.y - lp->space.y / 2.0 + lp->dimen.y - lp->fontsize; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("f3lyz2cejs6yn5fyckhn7ba1"); // case 'c': UNSUPPORTED("8jmef3sfg06sme4q6t23ms8i7"); // default: UNSUPPORTED("bicy4u16zheftiukscavoqq3c"); // p.y = lp->pos.y + lp->dimen.y / 2.0 - lp->fontsize; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8mg9hiit60q1ve98yormydem5"); // for (i = 0; i < lp->u.txt.nspans; i++) { UNSUPPORTED("aq0sxux77sg7whxt7hslkske3"); // switch (lp->u.txt.span[i].just) { UNSUPPORTED("bwy7mh2nb7lz950r20rfilwa4"); // case 'l': UNSUPPORTED("ds60aoxxlta1y3r5wuo09mzzp"); // p.x = lp->pos.x - lp->space.x / 2.0; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("43ds1cyu29ex66kcjszrcu3mp"); // case 'r': UNSUPPORTED("1103h1zfvqia1xelrw919hw2p"); // p.x = lp->pos.x + lp->space.x / 2.0; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("f187wptsr73liavtlyoyfovp3"); // case 'n': UNSUPPORTED("7tkhws043t1k3ra1n1191ld2m"); // p.x = lp->pos.x; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("a00q6gh3dlg3gdt95e6rt129n"); // gvrender_textspan(job, p, &(lp->u.txt.span[i])); UNSUPPORTED("dczp8jeltzgwb21pyxgxyrasy"); // /* UL position for next span */ UNSUPPORTED("33byiwlc3a1j2oeyyqf04jpoo"); // p.y -= lp->u.txt.span[i].size.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8bm7lzosnhuf0od7i4hkgzovo"); // gvrender_end_label(job); UNSUPPORTED("b1bkq4eyrmepbxyb3qiuhi8b8"); // obj->emit_state = old_emit_state; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ajohywvjbrvkc7zca2uew6ghm // static char *strdup_and_subst_obj0 (char *str, void *obj, int escBackslash) public static CString strdup_and_subst_obj0(CString str, __ptr__ obj, int escBackslash) { ENTERING("ajohywvjbrvkc7zca2uew6ghm","strdup_and_subst_obj0"); try { char c; CString s, p, t, newstr; CString tp_str = new CString(""), hp_str = new CString(""); CString g_str = new CString("\\G"), n_str = new CString("\\N"), e_str = new CString("\\E"), h_str = new CString("\\H"), t_str = new CString("\\T"), l_str = new CString("\\L"); int g_len = 2, n_len = 2, e_len = 2, h_len = 2, t_len = 2, l_len = 2, tp_len = 0, hp_len = 0; int newlen = 0; int isEdge = 0; ST_textlabel_t tl; final ST_port pt = new ST_port(); /* prepare substitution strings */ switch (agobjkind(obj)) { case AGRAPH: g_str = agnameof((ST_Agraph_s)obj); g_len = strlen(g_str); tl = GD_label((ST_Agraph_s)obj); if (tl!=null) { l_str = tl.text; if (str!=null) l_len = strlen(l_str); } break; case AGNODE: g_str = agnameof(agraphof(obj.castTo(ST_Agnode_s.class))); g_len = strlen(g_str); n_str = agnameof(obj.castTo(ST_Agnode_s.class)); n_len = strlen(n_str); tl = (ST_textlabel_t) ((ST_Agnode_s)obj.castTo(ST_Agnode_s.class)).castTo_ST_Agobj_s().data.castTo_ST_Agnodeinfo_t().label; if (tl!=null) { l_str = tl.text; if (str!=null) l_len = strlen(l_str); } break; case AGEDGE: isEdge = 1; g_str = agnameof(agroot(agraphof(agtail((obj.castTo(ST_Agedge_s.class)))))); g_len = strlen(g_str); t_str = agnameof(agtail((obj.castTo(ST_Agedge_s.class)))); t_len = strlen(t_str); pt.___(ED_tail_port(obj.castTo(ST_Agedge_s.class))); if ((tp_str = pt.name)!=null) tp_len = strlen(tp_str); h_str = agnameof(aghead((obj.castTo(ST_Agedge_s.class)))); h_len = strlen(h_str); pt.___(ED_head_port(obj.castTo(ST_Agedge_s.class))); if ((hp_str = pt.name)!=null) hp_len = strlen(hp_str); h_len = strlen(h_str); tl = ED_label(obj.castTo(ST_Agedge_s.class)); if (tl!=null) { l_str = tl.text; if (str!=null) l_len = strlen(l_str); } if (agisdirected(agroot(agraphof(agtail((obj.castTo(ST_Agedge_s.class))))))) e_str = new CString("->"); else e_str = new CString("--"); e_len = t_len + (tp_len!=0?tp_len+1:0) + 2 + h_len + (hp_len!=0?hp_len+1:0); break; } /* two passes over str. * * first pass prepares substitution strings and computes * total length for newstring required from malloc. */ for (s = str; ;) { c = s.charAt(0); s = s.plus(1); if (c=='\0') break; if (c == '\\') { c = s.charAt(0); s = s.plus(1); switch (c) { case 'G': newlen += g_len; break; case 'N': newlen += n_len; break; case 'E': newlen += e_len; break; case 'H': newlen += h_len; break; case 'T': newlen += t_len; break; case 'L': newlen += l_len; break; case '\\': if (escBackslash!=0) { newlen += 1; break; } /* Fall through */ default: /* leave other escape sequences unmodified, e.g. \n \l \r */ newlen += 2; } } else { newlen++; } } /* allocate new string */ newstr = gmalloc(newlen + 1); /* second pass over str assembles new string */ p = newstr; for (s = str; ;) { c = s.charAt(0); s = s.plus(1); if (c=='\0') break; if (c == '\\') { c = s.charAt(0); s = s.plus(1); switch (c) { case 'G': UNSUPPORTED("for (t = g_str; (*p = *t++); p++);"); break; case 'N': for (t = n_str; ; ) { p.setCharAt(0, t.charAt(0)); t = t.plus(1); if (p.charAt(0)=='\0') break; p = p.plus(1); } break; case 'E': UNSUPPORTED("if (isEdge) {"); /* for (t = t_str; (*p = *t++); p++); if (tp_len) { *p++ = ':'; for (t = tp_str; (*p = *t++); p++); } for (t = e_str; (*p = *t++); p++); for (t = h_str; (*p = *t++); p++); if (hp_len) { *p++ = ':'; for (t = hp_str; (*p = *t++); p++); } }*/ break; case 'T': UNSUPPORTED("for (t = t_str; (*p = *t++); p++);"); break; case 'H': UNSUPPORTED("for (t = h_str; (*p = *t++); p++);"); break; case 'L': UNSUPPORTED("for (t = l_str; (*p = *t++); p++);"); break; case '\\': UNSUPPORTED("if (escBackslash) {"); /* *p++ = '\\'; break; }*/ /* Fall through */ default: /* leave other escape sequences unmodified, e.g. \n \l \r */ p.setCharAt(0, '\\'); p = p.plus(1); p.setCharAt(0, c); p = p.plus(1); break; } } else { p.setCharAt(0, c); p = p.plus(1); } } p.setCharAt(0, '\0'); p = p.plus(1); return newstr; } finally { LEAVING("ajohywvjbrvkc7zca2uew6ghm","strdup_and_subst_obj0"); } } //3 af2a0cdl8ld7bbq0qu0rt1d8z // char *strdup_and_subst_obj(char *str, void *obj) public static CString strdup_and_subst_obj(CString str, __ptr__ obj) { ENTERING("af2a0cdl8ld7bbq0qu0rt1d8z","strdup_and_subst_obj"); try { UNSUPPORTED("7eeocxzl6qhtvcv7gnh73o7d1"); // char *strdup_and_subst_obj(char *str, void *obj) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("67419rdrhawe7vudn882sohkd"); // return strdup_and_subst_obj0 (str, obj, 1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("af2a0cdl8ld7bbq0qu0rt1d8z","strdup_and_subst_obj"); } } //3 bevzgi4opmmgxwksl1lssepxc // static int xml_isentity(char *s) public static Object xml_isentity(Object... arg) { UNSUPPORTED("ddxpdim5n11qvep9b61kpijae"); // static int xml_isentity(char *s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7309b02hjekdyss2l1jlfa3o5"); // s++; /* already known to be '&' */ UNSUPPORTED("ee1xg58k0yj6mgak36f7bqx4z"); // if (*s == '#') { UNSUPPORTED("1fe0kohehgdxhenrepo7ymdcw"); // s++; UNSUPPORTED("autyof60ysqv0zxvcovs8ol1o"); // if (*s == 'x' || *s == 'X') { UNSUPPORTED("8dqpp2f04tbhgnmk4gjjb8dga"); // s++; UNSUPPORTED("7z8kjrmcms9gfhq10a65dbjog"); // while ((*s >= '0' && *s <= '9') UNSUPPORTED("cvyao8709l4lhttkvu9hcnvne"); // || (*s >= 'a' && *s <= 'f') UNSUPPORTED("5q6n6p2xf3gohuffw81ur8vhb"); // || (*s >= 'A' && *s <= 'F')) UNSUPPORTED("zybbca41b450wccgr0kkur00"); // s++; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("1hg41j8n8b0uz0lmqlqcy30so"); // while (*s >= '0' && *s <= '9') UNSUPPORTED("zybbca41b450wccgr0kkur00"); // s++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("8h0cru3h3jveaqc5sgyq4rk71"); // while ((*s >= 'a' && *s <= 'z') UNSUPPORTED("31bir978ftxj7zjleb3mr1bei"); // || (*s >= 'A' && *s <= 'Z')) UNSUPPORTED("8dqpp2f04tbhgnmk4gjjb8dga"); // s++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9hcbv4ydnt8trlfaz870sjsyh"); // if (*s == ';') UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 57faqt3qjliznr0tkqn1ebjgk // char *xml_string(char *s) public static Object xml_string(Object... arg) { UNSUPPORTED("bnxc0qd7mqxuf0ayp7tmgh9i0"); // char *xml_string(char *s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1ufug0n20nuue5zidl5g8283p"); // return xml_string0 (s, 0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2ukbjx5sti6tulvxdrftanx4p // char *xml_string0(char *s, boolean raw) public static Object xml_string0(Object... arg) { UNSUPPORTED("c15krv3c4yexqimy1thaiy4zm"); // char *xml_string0(char *s, boolean raw) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("210phh7av8ei8ajjmpptx96m6"); // static char *buf = NULL; UNSUPPORTED("6fpm1wk8mz0hofn15361g6nzn"); // static int bufsize = 0; UNSUPPORTED("1q9p9mppsiolvz4xyp1xfe8s2"); // char *p, *sub, *prev = NULL; UNSUPPORTED("9ee5mdh9hsw491mz8n88ey33d"); // int len, pos = 0; UNSUPPORTED("cjyiejw67ffjjsk60tgeebvif"); // if (!buf) { UNSUPPORTED("4xkxdnucjd4ldoikgelnsa7c9"); // bufsize = 64; UNSUPPORTED("9pvgystp8nwvblycum3rps3tz"); // buf = gmalloc(bufsize); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dpfzdhkfq6u86uv5f9lnqfbpq"); // p = buf; UNSUPPORTED("e8ng575h9ts71v7d04mtpxyr5"); // while (s && *s) { UNSUPPORTED("85svsyrkaau2681m7ya7tygx6"); // if (pos > (bufsize - 8)) { UNSUPPORTED("aa09fjtytqkag416h6457rmkr"); // bufsize *= 2; UNSUPPORTED("3vu2n3g10rrkdmia0oyndfj4s"); // buf = grealloc(buf, bufsize); UNSUPPORTED("cz6j3s7zlvrbs83g3e42o83z7"); // p = buf + pos; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("97iud4axotxlk7ywlijb75m3d"); // /* escape '&' only if not part of a legal entity sequence */ UNSUPPORTED("4x9tn37kkejgziq8i1mkuzm2l"); // if (*s == '&' && (raw || !(xml_isentity(s)))) { UNSUPPORTED("cac1jzftgtiz1fvztpxrb5pzr"); // sub = "&"; UNSUPPORTED("17g0bn2jwfuvdxn93z9lsronr"); // len = 5; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("7e1vaedh6l0yfegrgw9donb9e"); // /* '<' '>' are safe to substitute even if string is already UTF-8 coded UNSUPPORTED("2hspzajrej6p5fmxtp3xo33mw"); // * since UTF-8 strings won't contain '<' or '>' */ UNSUPPORTED("3xg4wo6utmvnlgyvg8ciz4tey"); // else if (*s == '<') { UNSUPPORTED("13qv1mf2mabbasi5mgrjsqs3n"); // sub = "<"; UNSUPPORTED("cn6mu8yh8covbdy1zkhq7256"); // len = 4; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("art2agkl4px2ncm5gmygaoi4v"); // else if (*s == '>') { UNSUPPORTED("dbkjqbduusn4tza1p3ng8iuyi"); // sub = ">"; UNSUPPORTED("cn6mu8yh8covbdy1zkhq7256"); // len = 4; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("aundz2f5ze9pcxo1dksgg0zxi"); // else if (*s == '-') { /* can't be used in xml comment strings */ UNSUPPORTED("37g3n162xpdox7os6l6tphpwc"); // sub = "-"; UNSUPPORTED("17g0bn2jwfuvdxn93z9lsronr"); // len = 5; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1lvkv9camdmveih40gwylsnw6"); // else if (*s == ' ' && prev && *prev == ' ') { UNSUPPORTED("b0atdb6d1uzal5s04csjvyq30"); // /* substitute 2nd and subsequent spaces with required_spaces */ UNSUPPORTED("72g8c8ott8fvqjni8tir0plf7"); // sub = " "; /* inkscape doesn't recognise   */ UNSUPPORTED("axaethtisavqkan2dx7laigpw"); // len = 6; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9e32cag083iuoabhlvpcldsa8"); // else if (*s == '"') { UNSUPPORTED("4w7kby1vesehrcs7zpowfb0q6"); // sub = """; UNSUPPORTED("axaethtisavqkan2dx7laigpw"); // len = 6; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("akz9vs5rt6crj61e0batgdi09"); // else if (*s == '\'') { UNSUPPORTED("6ohptq6v6vjhjivmjf7d5auoz"); // sub = "'"; UNSUPPORTED("17g0bn2jwfuvdxn93z9lsronr"); // len = 5; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("adxr80w3fzxvf4gxvbuo78rm5"); // sub = s; UNSUPPORTED("ct414lk8my1pywj7ypk05e6d"); // len = 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("25ryz7f7izh8r6792860c1d0y"); // while (len--) { UNSUPPORTED("byu93mjyl867v3xyy1fb9pw9"); // *p++ = *sub++; UNSUPPORTED("27349aw1zezm0lpez1jn3pcw4"); // pos++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5j7yubj14qnrajv5mpkfylpk3"); // prev = s; UNSUPPORTED("1fe0kohehgdxhenrepo7ymdcw"); // s++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2t1d66kwn86kqh0i665hqw6cl"); // *p = '\0'; UNSUPPORTED("5jfpogdyby101eyuw2dhtb5cg"); // return buf; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d3mybo5t72cpoks3gfdfynkjw // char *xml_url_string(char *s) public static Object xml_url_string(Object... arg) { UNSUPPORTED("9u7qpiphyo8n8zc8n1071b67e"); // char *xml_url_string(char *s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("210phh7av8ei8ajjmpptx96m6"); // static char *buf = NULL; UNSUPPORTED("6fpm1wk8mz0hofn15361g6nzn"); // static int bufsize = 0; UNSUPPORTED("47g093jarn346ptid7u4d7e7m"); // char *p, *sub; UNSUPPORTED("9ee5mdh9hsw491mz8n88ey33d"); // int len, pos = 0; UNSUPPORTED("cjyiejw67ffjjsk60tgeebvif"); // if (!buf) { UNSUPPORTED("4xkxdnucjd4ldoikgelnsa7c9"); // bufsize = 64; UNSUPPORTED("9pvgystp8nwvblycum3rps3tz"); // buf = gmalloc(bufsize); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dpfzdhkfq6u86uv5f9lnqfbpq"); // p = buf; UNSUPPORTED("e8ng575h9ts71v7d04mtpxyr5"); // while (s && *s) { UNSUPPORTED("85svsyrkaau2681m7ya7tygx6"); // if (pos > (bufsize - 8)) { UNSUPPORTED("aa09fjtytqkag416h6457rmkr"); // bufsize *= 2; UNSUPPORTED("3vu2n3g10rrkdmia0oyndfj4s"); // buf = grealloc(buf, bufsize); UNSUPPORTED("cz6j3s7zlvrbs83g3e42o83z7"); // p = buf + pos; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("97iud4axotxlk7ywlijb75m3d"); // /* escape '&' only if not part of a legal entity sequence */ UNSUPPORTED("2ulqzjhkp81o1cpur4y62jck9"); // if (*s == '&' && !(xml_isentity(s))) { UNSUPPORTED("cac1jzftgtiz1fvztpxrb5pzr"); // sub = "&"; UNSUPPORTED("17g0bn2jwfuvdxn93z9lsronr"); // len = 5; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("7e1vaedh6l0yfegrgw9donb9e"); // /* '<' '>' are safe to substitute even if string is already UTF-8 coded UNSUPPORTED("2hspzajrej6p5fmxtp3xo33mw"); // * since UTF-8 strings won't contain '<' or '>' */ UNSUPPORTED("3xg4wo6utmvnlgyvg8ciz4tey"); // else if (*s == '<') { UNSUPPORTED("13qv1mf2mabbasi5mgrjsqs3n"); // sub = "<"; UNSUPPORTED("cn6mu8yh8covbdy1zkhq7256"); // len = 4; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("art2agkl4px2ncm5gmygaoi4v"); // else if (*s == '>') { UNSUPPORTED("dbkjqbduusn4tza1p3ng8iuyi"); // sub = ">"; UNSUPPORTED("cn6mu8yh8covbdy1zkhq7256"); // len = 4; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9e32cag083iuoabhlvpcldsa8"); // else if (*s == '"') { UNSUPPORTED("4w7kby1vesehrcs7zpowfb0q6"); // sub = """; UNSUPPORTED("axaethtisavqkan2dx7laigpw"); // len = 6; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("akz9vs5rt6crj61e0batgdi09"); // else if (*s == '\'') { UNSUPPORTED("6ohptq6v6vjhjivmjf7d5auoz"); // sub = "'"; UNSUPPORTED("17g0bn2jwfuvdxn93z9lsronr"); // len = 5; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("adxr80w3fzxvf4gxvbuo78rm5"); // sub = s; UNSUPPORTED("ct414lk8my1pywj7ypk05e6d"); // len = 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("25ryz7f7izh8r6792860c1d0y"); // while (len--) { UNSUPPORTED("byu93mjyl867v3xyy1fb9pw9"); // *p++ = *sub++; UNSUPPORTED("27349aw1zezm0lpez1jn3pcw4"); // pos++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1fe0kohehgdxhenrepo7ymdcw"); // s++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2t1d66kwn86kqh0i665hqw6cl"); // *p = '\0'; UNSUPPORTED("5jfpogdyby101eyuw2dhtb5cg"); // return buf; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/common/memory__c.java000066400000000000000000000103301340005343600224720ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static smetana.core.JUtils.memset; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import smetana.core.CString; import smetana.core.__ptr__; import smetana.core.size_t; public class memory__c { //3 6hfkgng9qf75cucpojc4r8x6w // void *zmalloc(size_t nbytes) public static __ptr__ zmalloc(size_t nbytes) { ENTERING("6hfkgng9qf75cucpojc4r8x6w","zmalloc"); try { __ptr__ rv; if (nbytes.isZero()) return null; rv = gmalloc(nbytes); memset(rv, 0, nbytes); return rv; } finally { LEAVING("6hfkgng9qf75cucpojc4r8x6w","zmalloc"); } } //3 dn6c3bthm7yuhtrxx3o2je19z // void *zrealloc(void *ptr, size_t size, size_t elt, size_t osize) public static Object zrealloc(Object... arg) { UNSUPPORTED("50do65rl7k8poomk5tdkjw6k2"); // void *zrealloc(void *ptr, size_t size, size_t elt, size_t osize) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2esc94j9py77lfd4f23nk7w5x"); // void *p = realloc(ptr, size * elt); UNSUPPORTED("e13q5hvkbkekp23xt0oxo1nsb"); // if (p == NULL && size) { UNSUPPORTED("4t1y5iinm4310lkpvbal1spve"); // fprintf(stderr, "out of memory\n"); UNSUPPORTED("68kasxgknec72r19lohbk6n3q"); // return p; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2wr2qtb30ktteuohi1vgzxugz"); // if (osize < size) UNSUPPORTED("egt7kitgze0mw7g867jd7p6cq"); // memset((char *) p + (osize * elt), '\0', (size - osize) * elt); UNSUPPORTED("91xduilalb406jjyw2g1i07th"); // return p; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } public static CString gmalloc(int nbytes) { return new CString(nbytes); } //3 4mfikqpmxyxrke46i5xakatmc //void *gmalloc(size_t nbytes) public static __ptr__ gmalloc(size_t nbytes) { ENTERING("4mfikqpmxyxrke46i5xakatmc","gmalloc"); try { __ptr__ rv; if (nbytes.isZero()) return null; rv = (__ptr__) nbytes.malloc(); if (rv == null) { System.err.println("out of memory"); } return rv; } finally { LEAVING("4mfikqpmxyxrke46i5xakatmc","gmalloc"); } } //3 1ed55yig6d18nhtbyqlf37jik // void *grealloc(void *ptr, size_t size) public static __ptr__ grealloc(__ptr__ ptr, size_t size) { ENTERING("1ed55yig6d18nhtbyqlf37jik","grealloc"); try { __ptr__ p = (__ptr__) size.realloc(ptr); return p; } finally { LEAVING("1ed55yig6d18nhtbyqlf37jik","grealloc"); } } } plantuml-1.2018.13+ds/src/gen/lib/common/ns__c.java000066400000000000000000001365761340005343600216270ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static gen.lib.cgraph.attr__c.agget; import static gen.lib.cgraph.edge__c.aghead; import static gen.lib.cgraph.edge__c.agtail; import static gen.lib.common.memory__c.zmalloc; import static gen.lib.common.utils__c.dequeue; import static gen.lib.common.utils__c.enqueue; import static gen.lib.common.utils__c.free_queue; import static gen.lib.common.utils__c.new_queue; import static smetana.core.JUtils.EQ; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtils.atoi; import static smetana.core.JUtils.setjmp; import static smetana.core.JUtils.size_t_array_of_integer; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.ED_cutvalue; import static smetana.core.Macro.ED_minlen; import static smetana.core.Macro.ED_tree_index; import static smetana.core.Macro.ED_weight; import static smetana.core.Macro.GD_nlist; import static smetana.core.Macro.INT_MAX; import static smetana.core.Macro.MAX; import static smetana.core.Macro.MIN; import static smetana.core.Macro.N; import static smetana.core.Macro.ND_in; import static smetana.core.Macro.ND_lim; import static smetana.core.Macro.ND_low; import static smetana.core.Macro.ND_mark; import static smetana.core.Macro.ND_next; import static smetana.core.Macro.ND_node_type; import static smetana.core.Macro.ND_out; import static smetana.core.Macro.ND_par; import static smetana.core.Macro.ND_priority; import static smetana.core.Macro.ND_rank; import static smetana.core.Macro.ND_tree_in; import static smetana.core.Macro.ND_tree_out; import static smetana.core.Macro.NOT; import static smetana.core.Macro.SEQ; import static smetana.core.Macro.SLACK; import static smetana.core.Macro.TREE_EDGE; import static smetana.core.Macro.UNSUPPORTED; import static smetana.core.Macro.free_list; import h.ST_Agedge_s; import h.ST_Agnode_s; import h.ST_Agraph_s; import h.ST_nodequeue; import h.ST_pointf; import smetana.core.CString; import smetana.core.Memory; import smetana.core.Z; import smetana.core.__ptr__; import smetana.core.jmp_buf; public class ns__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 540u5gu9i0x1wzoxqqx5n2vwp // static jmp_buf jbuf private static jmp_buf jbuf = new jmp_buf(); //1 5kbimjtsi4ulxiyk2w1brj6py // static graph_t *G //private static Agraph_s G; //1 608xz3ruk6qq4bs1sagl9fuav // static int N_nodes, N_edges //private static int N_nodes, N_edges; //1 cfz1upsuq7ct75nfqmyg925bo // static int Minrank, Maxrank //static private int Minrank, Maxrank; //1 1xxb2cip20ls1938be1sgpc8s // static int S_i //private static int S_i; //1 2ahnzxrqoz8eoicu88g9jzic7 // static int Search_size //private static int Search_size; //1 3t9aql1n1eclyvy7p2nwyacor // static nlist_t Tree_node //private static final __struct__ Tree_node = JUtils.from(nlist_t.class); //1 11b7xeg0x1f09v305mxwvgbhs // static elist Tree_edge //private static final __struct__ Tree_edge = JUtils.from(elist.class); //3 6au5htcaxhw0blmx5c48v03u0 // static void add_tree_edge(edge_t * e) public static void add_tree_edge(ST_Agedge_s e) { ENTERING("6au5htcaxhw0blmx5c48v03u0","add_tree_edge"); try { ST_Agnode_s n; if (TREE_EDGE(e)) { UNSUPPORTED("cq4nqjjxvb0dtdfy4c7pwpqai"); // agerr(AGERR, "add_tree_edge: missing tree edge\n"); UNSUPPORTED("6fzmgjpkhmnx0a2cnt0q0rceg"); // longjmp (jbuf, 1); } ED_tree_index(e, Z.z().Tree_edge.size); Z.z().Tree_edge.setInList(Z.z().Tree_edge.size, e); Z.z().Tree_edge.size = 1+ Z.z().Tree_edge.size; if (ND_mark(agtail(e)) == 0) { Z.z().Tree_node.setInList(Z.z().Tree_node.size, agtail(e)); Z.z().Tree_node.size = 1+ Z.z().Tree_node.size; } if (ND_mark(aghead(e)) == 0) { Z.z().Tree_node.setInList(Z.z().Tree_node.size, aghead(e)); Z.z().Tree_node.size = 1+ Z.z().Tree_node.size; } n = agtail(e); ND_mark(n, 1); ND_tree_out(n).setInList(ND_tree_out(n).size, e); ND_tree_out(n).size = 1+ND_tree_out(n).size; ND_tree_out(n).setInList(ND_tree_out(n).size, null); if (ND_out(n).getFromList(ND_tree_out(n).size - 1) == null) { UNSUPPORTED("9src34zgmgy8yvdzfs1ozlh0w"); // agerr(AGERR, "add_tree_edge: empty outedge list\n"); UNSUPPORTED("6fzmgjpkhmnx0a2cnt0q0rceg"); // longjmp (jbuf, 1); } n = aghead(e); ND_mark(n, 1); ND_tree_in(n).setInList(ND_tree_in(n).size, e); ND_tree_in(n).size = 1+ND_tree_in(n).size; ND_tree_in(n).setInList(ND_tree_in(n).size, null); if (ND_in(n).getFromList(ND_tree_in(n).size - 1) == null) { UNSUPPORTED("f0uri98pv606g2qjpy9k385cy"); // agerr(AGERR, "add_tree_edge: empty inedge list\n"); UNSUPPORTED("6fzmgjpkhmnx0a2cnt0q0rceg"); // longjmp (jbuf, 1); } } finally { LEAVING("6au5htcaxhw0blmx5c48v03u0","add_tree_edge"); } } //3 9b7b78pmafynmvffztrqnlxtn // static void exchange_tree_edges(edge_t * e, edge_t * f) public static void exchange_tree_edges(ST_Agedge_s e, ST_Agedge_s f) { ENTERING("9b7b78pmafynmvffztrqnlxtn","exchange_tree_edges"); try { int i, j; ST_Agnode_s n; ED_tree_index(f, ED_tree_index(e)); Z.z().Tree_edge.setInList(ED_tree_index(e), f); ED_tree_index(e, -1); n = agtail(e); ND_tree_out(n).size = ND_tree_out(n).size -1; i = ND_tree_out(n).size; for (j = 0; j <= i; j++) if (EQ(ND_tree_out(n).getFromList(j), e)) break; ND_tree_out(n).setInList(j, ND_tree_out(n).getFromList(i)); ND_tree_out(n).setInList(i, null); n = aghead(e); ND_tree_in(n).size = ND_tree_in(n).size -1; i = ND_tree_in(n).size; for (j = 0; j <= i; j++) if (EQ(ND_tree_in(n).getFromList(j), e)) break; ND_tree_in(n).setInList(j, ND_tree_in(n).getFromList(i)); ND_tree_in(n).setInList(i, null); n = agtail(f); ND_tree_out(n).setInList(ND_tree_out(n).size, f); ND_tree_out(n).size = ND_tree_out(n).size +1; ND_tree_out(n).setInList(ND_tree_out(n).size, null); n = aghead(f); ND_tree_in(n).setInList(ND_tree_in(n).size, f); ND_tree_in(n).size = ND_tree_in(n).size +1; ND_tree_in(n).setInList(ND_tree_in(n).size, null); } finally { LEAVING("9b7b78pmafynmvffztrqnlxtn","exchange_tree_edges"); } } //3 dbxco6m0mabzhsqfo3pb8nctk // static void init_rank(void) public static void init_rank() { ENTERING("dbxco6m0mabzhsqfo3pb8nctk","init_rank"); try { int i, ctr; ST_nodequeue Q; ST_Agnode_s v; ST_Agedge_s e; Q = new_queue(Z.z().N_nodes); ctr = 0; for (v = GD_nlist(Z.z().G_ns); v!=null; v = ND_next(v)) { if (ND_priority(v) == 0) enqueue(Q, v); } while ((v = dequeue(Q))!=null) { ND_rank(v, 0); ctr++; for (i = 0; (e = (ST_Agedge_s) ND_in(v).getFromList(i))!=null; i++) ND_rank(v, MAX(ND_rank(v), ND_rank(agtail(e)) + ED_minlen(e))); for (i = 0; (e = (ST_Agedge_s) ND_out(v).getFromList(i))!=null; i++) { ND_priority(aghead(e), ND_priority(aghead(e)) -1 ); if ((ND_priority(aghead(e))) <= 0) enqueue(Q, aghead(e)); } } if (ctr != Z.z().N_nodes) { UNSUPPORTED("7sgp99x1l3hzfks5wykxa87gf"); // agerr(AGERR, "trouble in init_rank\n"); UNSUPPORTED("bwwunxmw4kgz6qntbn6xp0cur"); // for (v = (((Agraphinfo_t*)(((Agobj_t*)(G))->data))->nlist); v; v = (((Agnodeinfo_t*)(((Agobj_t*)(v))->data))->next)) UNSUPPORTED("3dk132mz1u2pf0tla64kl6hv0"); // if ((((Agnodeinfo_t*)(((Agobj_t*)(v))->data))->priority)) UNSUPPORTED("916bi45h6sjvte1rgig12b1v2"); // agerr(AGPREV, "\t%s %d\n", agnameof(v), (((Agnodeinfo_t*)(((Agobj_t*)(v))->data))->priority)); } free_queue(Q); } finally { LEAVING("dbxco6m0mabzhsqfo3pb8nctk","init_rank"); } } //3 bj7ux5kz8ls2lnfh0ix6i00b9 // static node_t *incident(edge_t * e) public static ST_Agnode_s incident(ST_Agedge_s e) { ENTERING("bj7ux5kz8ls2lnfh0ix6i00b9","incident"); try { if (ND_mark(agtail(e))!=0) { if (ND_mark(aghead(e)) == 0) return agtail(e); } else { if (ND_mark(aghead(e))!=0) return aghead(e); } return null; } finally { LEAVING("bj7ux5kz8ls2lnfh0ix6i00b9","incident"); } } //3 4i9tcvid2iql874c6k70s9aqm // static edge_t *leave_edge(void) public static ST_Agedge_s leave_edge() { ENTERING("4i9tcvid2iql874c6k70s9aqm","leave_edge"); try { ST_Agedge_s f, rv = null; int j, cnt = 0; j = Z.z().S_i; while (Z.z().S_i < Z.z().Tree_edge.size) { if (ED_cutvalue(f = (ST_Agedge_s) Z.z().Tree_edge.getFromList(Z.z().S_i)) < 0) { if (rv!=null) { if (ED_cutvalue(rv) > ED_cutvalue(f)) rv = f; } else rv = (ST_Agedge_s) Z.z().Tree_edge.getFromList(Z.z().S_i); if (++cnt >= Z.z().Search_size) return rv; } Z.z().S_i++; } if (j > 0) { Z.z().S_i = 0; while (Z.z().S_i < j) { if (ED_cutvalue(f = (ST_Agedge_s) Z.z().Tree_edge.getFromList(Z.z().S_i)) < 0) { if (rv!=null) { if (ED_cutvalue(rv) > ED_cutvalue(f)) rv = f; } else rv = (ST_Agedge_s) Z.z().Tree_edge.getFromList(Z.z().S_i); if (++cnt >= Z.z().Search_size) return rv; } Z.z().S_i++; } } return rv; } finally { LEAVING("4i9tcvid2iql874c6k70s9aqm","leave_edge"); } } //1 3wm7ej298st1xk7rbhbtnbk64 // static edge_t *Enter //private static Agedge_s Enter; //1 dx9f0e947f5kjhc2eftn43t90 // static int Low, Lim, Slack //private static int Low, Lim, Slack; //3 10lkpr4y40luvy2idlozfiva3 // static void dfs_enter_outedge(node_t * v) public static void dfs_enter_outedge(ST_Agnode_s v) { ENTERING("10lkpr4y40luvy2idlozfiva3","dfs_enter_outedge"); try { int i, slack; ST_Agedge_s e; for (i = 0; (e = (ST_Agedge_s) ND_out(v).getFromList(i))!=null; i++) { if (TREE_EDGE(e) == false) { if (N(SEQ(Z.z().Low, ND_lim(aghead(e)), Z.z().Lim))) { slack = SLACK(e); if ((slack < Z.z().Slack) || (Z.z().Enter == null)) { Z.z().Enter = e; Z.z().Slack = slack; } } } else if (ND_lim(aghead(e)) < ND_lim(v)) dfs_enter_outedge(aghead(e)); } for (i = 0; (e = (ST_Agedge_s) ND_tree_in(v).getFromList(i))!=null && (Z.z().Slack > 0); i++) if (ND_lim(agtail(e)) < ND_lim(v)) dfs_enter_outedge(agtail(e)); } finally { LEAVING("10lkpr4y40luvy2idlozfiva3","dfs_enter_outedge"); } } //3 2z9nii6380p8qlql8nznzgvof // static void dfs_enter_inedge(node_t * v) public static void dfs_enter_inedge(ST_Agnode_s v) { ENTERING("2z9nii6380p8qlql8nznzgvof","dfs_enter_inedge"); try { int i, slack; ST_Agedge_s e; for (i = 0; (e = (ST_Agedge_s) ND_in(v).getFromList(i))!=null; i++) { if (TREE_EDGE(e) == false) { if (N(SEQ(Z.z().Low, ND_lim(agtail(e)), Z.z().Lim))) { slack = SLACK(e); if ((slack < Z.z().Slack) || (Z.z().Enter == null)) { Z.z().Enter = e; Z.z().Slack = slack; } } } else if (ND_lim(agtail(e)) < ND_lim(v)) dfs_enter_inedge(agtail(e)); } for (i = 0; (e = (ST_Agedge_s) ND_tree_out(v).getFromList(i))!=null && (Z.z().Slack > 0); i++) if (ND_lim(aghead(e)) < ND_lim(v)) dfs_enter_inedge(aghead(e)); } finally { LEAVING("2z9nii6380p8qlql8nznzgvof","dfs_enter_inedge"); } } //3 aeu2po1o1rvibmafk0k8dw0fh // static edge_t *enter_edge(edge_t * e) public static ST_Agedge_s enter_edge(ST_Agedge_s e) { ENTERING("aeu2po1o1rvibmafk0k8dw0fh","enter_edge"); try { ST_Agnode_s v; int outsearch; /* v is the down node */ if (ND_lim(agtail(e)) < ND_lim(aghead(e))) { v = agtail(e); outsearch = 0; } else { v = aghead(e); outsearch = 1; } Z.z().Enter = null; Z.z().Slack = INT_MAX; Z.z().Low = ND_low(v); Z.z().Lim = ND_lim(v); if (outsearch!=0) dfs_enter_outedge(v); else dfs_enter_inedge(v); return Z.z().Enter; } finally { LEAVING("aeu2po1o1rvibmafk0k8dw0fh","enter_edge"); } } //3 1gvyafmercq92v3lg6gb33cbt // static int treesearch(node_t * v) public static boolean treesearch(ST_Agnode_s v) { ENTERING("1gvyafmercq92v3lg6gb33cbt","treesearch"); try { int i; ST_Agedge_s e; for (i = 0; (e = (ST_Agedge_s) ND_out(v).getFromList(i))!=null; i++) { if ((ND_mark(aghead(e)) == 0) && (SLACK(e) == 0)) { add_tree_edge(e); if ((Z.z().Tree_edge.size == Z.z().N_nodes - 1) || treesearch(aghead(e))) return NOT(0); } } for (i = 0; (e = (ST_Agedge_s) ND_in(v).getFromList(i))!=null; i++) { if ((ND_mark(agtail(e)) == 0) && (SLACK(e) == 0)) { add_tree_edge(e); if ((Z.z().Tree_edge.size == Z.z().N_nodes - 1) || treesearch(agtail(e))) return NOT(0); } } return false; } finally { LEAVING("1gvyafmercq92v3lg6gb33cbt","treesearch"); } } //3 c98bj1u8j43cdezeczn33mec0 // static int tight_tree(void) public static int tight_tree() { ENTERING("c98bj1u8j43cdezeczn33mec0","tight_tree"); try { int i; ST_Agnode_s n; for (n = GD_nlist(Z.z().G_ns); n!=null; n = ND_next(n)) { ND_mark(n, 0); ND_tree_in(n).setInList(0, null); ND_tree_out(n).setInList(0, null); ND_tree_in(n).size = 0; ND_tree_out(n).size = 0; } for (i = 0; i < Z.z().Tree_edge.size; i++) ED_tree_index(Z.z().Tree_edge.getFromList(i), -1); Z.z().Tree_node.size = 0; Z.z().Tree_edge.size = 0; for (n = GD_nlist(Z.z().G_ns); n!=null && (Z.z().Tree_edge.size == 0); n = ND_next(n)) treesearch(n); return Z.z().Tree_node.size; } finally { LEAVING("c98bj1u8j43cdezeczn33mec0","tight_tree"); } } //3 10o7oe8d097fx7swmpqd4tf0h // static void init_cutvalues(void) public static void init_cutvalues() { ENTERING("10o7oe8d097fx7swmpqd4tf0h","init_cutvalues"); try { dfs_range(GD_nlist(Z.z().G_ns), null, 1); dfs_cutval(GD_nlist(Z.z().G_ns), null); } finally { LEAVING("10o7oe8d097fx7swmpqd4tf0h","init_cutvalues"); } } //3 756raqohoxdeiddqbyr37h7ig // static int feasible_tree(void) public static int feasible_tree() { ENTERING("756raqohoxdeiddqbyr37h7ig","feasible_tree"); try { int i, delta; ST_Agnode_s n; ST_Agedge_s e, f; if (Z.z().N_nodes <= 1) return 0; while (tight_tree() < Z.z().N_nodes) { e = null; for (n = GD_nlist(Z.z().G_ns); n!=null; n = ND_next(n)) { for (i = 0; (f = (ST_Agedge_s) ND_out(n).getFromList(i))!=null; i++) { if ((TREE_EDGE(f) == false) && incident(f)!=null && ((e == null) || (SLACK(f) < SLACK (e)))) e = f; } } if (e!=null) { delta = SLACK(e); if (delta!=0) { if (EQ(incident(e), aghead(e))) delta = -delta; for (i = 0; i < Z.z().Tree_node.size; i++) ND_rank(Z.z().Tree_node.getFromList(i), ND_rank(Z.z().Tree_node.getFromList(i)) + delta); } } else { return 1; } } init_cutvalues(); return 0; } finally { LEAVING("756raqohoxdeiddqbyr37h7ig","feasible_tree"); } } //3 49un8m43odrf89cedvin3wz3r // static node_t *treeupdate(node_t * v, node_t * w, int cutvalue, int dir) public static ST_Agnode_s treeupdate(ST_Agnode_s v, ST_Agnode_s w, int cutvalue, boolean dir) { ENTERING("49un8m43odrf89cedvin3wz3r","treeupdate"); try { ST_Agedge_s e; boolean d; while (N(SEQ(ND_low(v), ND_lim(w), ND_lim(v)))) { e = (ST_Agedge_s) ND_par(v); if (EQ(v, agtail(e))) d = dir; else d = NOT(dir); if (d) ED_cutvalue(e, ED_cutvalue(e) + cutvalue); else ED_cutvalue(e, ED_cutvalue(e) - cutvalue); if (ND_lim(agtail(e)) > ND_lim(aghead(e))) v = agtail(e); else v = aghead(e); } return v; } finally { LEAVING("49un8m43odrf89cedvin3wz3r","treeupdate"); } } //3 e66n8gern1fejjsn8nefypo0g // static void rerank(node_t * v, int delta) public static void rerank(ST_Agnode_s v, int delta) { ENTERING("e66n8gern1fejjsn8nefypo0g","rerank"); try { int i; ST_Agedge_s e; ND_rank(v, ND_rank(v) - delta); for (i = 0; (e = (ST_Agedge_s) ND_tree_out(v).getFromList(i))!=null; i++) if (NEQ(e, ND_par(v))) rerank(aghead(e), delta); for (i = 0; (e = (ST_Agedge_s) ND_tree_in(v).getFromList(i))!=null; i++) if (NEQ(e, ND_par(v))) rerank(agtail(e), delta); } finally { LEAVING("e66n8gern1fejjsn8nefypo0g","rerank"); } } //3 xww1p8bentf1qk7mgfhi1q6m // static void update(edge_t * e, edge_t * f) public static void update(ST_Agedge_s e, ST_Agedge_s f) { ENTERING("xww1p8bentf1qk7mgfhi1q6m","update"); try { int cutvalue, delta; ST_Agnode_s lca; delta = SLACK(f); /* "for (v = in nodes in tail side of e) do ND_rank(v) -= delta;" */ if (delta > 0) { int s; s = ND_tree_in(agtail(e)).size + ND_tree_out(agtail(e)).size; if (s == 1) rerank(agtail(e), delta); else { s = ND_tree_in(aghead(e)).size + ND_tree_out(aghead(e)).size; if (s == 1) rerank(aghead(e), -delta); else { if (ND_lim(agtail(e)) < ND_lim(aghead(e))) rerank(agtail(e), delta); else rerank(aghead(e), -delta); } } } cutvalue = ED_cutvalue(e); lca = treeupdate(agtail(f), aghead(f), cutvalue, true); if (NEQ(treeupdate(aghead(f), agtail(f), cutvalue, false), lca)) { UNSUPPORTED("f2l4c6yhnwnfer3vrasf55fio"); // agerr(AGERR, "update: mismatched lca in treeupdates\n"); UNSUPPORTED("6fzmgjpkhmnx0a2cnt0q0rceg"); // longjmp (jbuf, 1); } ED_cutvalue(f, -cutvalue); ED_cutvalue(e, 0); exchange_tree_edges(e, f); dfs_range(lca, ND_par(lca), ND_low(lca)); } finally { LEAVING("xww1p8bentf1qk7mgfhi1q6m","update"); } } //3 3yw7w42hz7af67d6qse3b2172 // static void scan_and_normalize(void) public static void scan_and_normalize() { ENTERING("3yw7w42hz7af67d6qse3b2172","scan_and_normalize"); try { ST_Agnode_s n; Z.z().Minrank = Integer.MAX_VALUE; Z.z().Maxrank = -Integer.MAX_VALUE; for (n = GD_nlist(Z.z().G_ns); n!=null; n = ND_next(n)) { if (ND_node_type(n) == 0) { Z.z().Minrank = MIN(Z.z().Minrank, ND_rank(n)); Z.z().Maxrank = MAX(Z.z().Maxrank, ND_rank(n)); } } if (Z.z().Minrank != 0) { for (n = GD_nlist(Z.z().G_ns); n!=null; n = ND_next(n)) ND_rank(n, ND_rank(n) - Z.z().Minrank); Z.z().Maxrank -= Z.z().Minrank; Z.z().Minrank = 0; } } finally { LEAVING("3yw7w42hz7af67d6qse3b2172","scan_and_normalize"); } } //3 7eg6zti36nbg4tqyo8yunh86r // static void freeTreeList (graph_t* g) public static void freeTreeList(ST_Agraph_s g) { ENTERING("7eg6zti36nbg4tqyo8yunh86r","freeTreeList"); try { ST_Agnode_s n; for (n = GD_nlist(Z.z().G_ns); n!=null; n = ND_next(n)) { free_list(ND_tree_in(n)); free_list(ND_tree_out(n)); ND_mark(n, 0); } } finally { LEAVING("7eg6zti36nbg4tqyo8yunh86r","freeTreeList"); } } //3 9gx8p7md3v3mzp640xdjj814a // static void LR_balance(void) public static void LR_balance() { ENTERING("9gx8p7md3v3mzp640xdjj814a","LR_balance"); try { int i, delta; ST_Agedge_s e, f; for (i = 0; i < Z.z().Tree_edge.size; i++) { e = (ST_Agedge_s) Z.z().Tree_edge.getFromList(i); if (ED_cutvalue(e) == 0) { f = enter_edge(e); if (f == null) continue; delta = SLACK(f); if (delta <= 1) continue; if (ND_lim(agtail(e)) < ND_lim(aghead(e))) rerank(agtail(e), delta / 2); else rerank(aghead(e), -delta / 2); } } freeTreeList (Z.z().G_ns); } finally { LEAVING("9gx8p7md3v3mzp640xdjj814a","LR_balance"); } } //3 5c01jnao2ubmy4l0vi5jol0jz // static void TB_balance(void) public static void TB_balance() { ENTERING("5c01jnao2ubmy4l0vi5jol0jz","TB_balance"); try { ST_Agnode_s n; ST_Agedge_s e; int i, low, high, choice; __ptr__ nrank; int inweight, outweight; scan_and_normalize(); /* find nodes that are not tight and move to less populated ranks */ nrank = zmalloc(size_t_array_of_integer(Z.z().Maxrank + 1)); for (i = 0; i <= Z.z().Maxrank; i++) nrank.plus(i).setInt(0); for (n = GD_nlist(Z.z().G_ns); n!=null; n = ND_next(n)) if (ND_node_type(n) == 0) nrank.plus(ND_rank(n)).setInt(1+nrank.plus(ND_rank(n)).getInt()); for (n = GD_nlist(Z.z().G_ns); n!=null; n = ND_next(n)) { if (ND_node_type(n) != 0) continue; inweight = outweight = 0; low = 0; high = Z.z().Maxrank; for (i = 0; (e = (ST_Agedge_s) ND_in(n).getFromList(i))!=null; i++) { inweight += ED_weight(e); low = MAX(low, ND_rank(agtail(e)) + ED_minlen(e)); } for (i = 0; (e = (ST_Agedge_s) ND_out(n).getFromList(i))!=null; i++) { outweight += ED_weight(e); high = MIN(high, ND_rank(aghead(e)) - ED_minlen(e)); } if (low < 0) low = 0; /* vnodes can have ranks < 0 */ if (inweight == outweight) { choice = low; for (i = low + 1; i <= high; i++) if (nrank.plus(i).getInt() < nrank.plus(choice).getInt()) choice = i; nrank.plus(ND_rank(n)).setInt(nrank.plus(ND_rank(n)).getInt()-1); nrank.plus(choice).setInt(nrank.plus(choice).getInt()+1); ND_rank(n, choice); } free_list(ND_tree_in(n)); free_list(ND_tree_out(n)); ND_mark(n, 0); } Memory.free(nrank); } finally { LEAVING("5c01jnao2ubmy4l0vi5jol0jz","TB_balance"); } } //3 37hg5w7ywmyljdiebgp5ltl22 // static int init_graph(graph_t * g) public static int init_graph(ST_Agraph_s g) { ENTERING("37hg5w7ywmyljdiebgp5ltl22","init_graph"); try { int i, feasible; ST_Agnode_s n; ST_Agedge_s e; Z.z().G_ns = g; Z.z().N_nodes = Z.z().N_edges = Z.z().S_i = 0; for (n = GD_nlist(g); n!=null; n = ND_next(n)) { ND_mark(n, 0); Z.z().N_nodes++; for (i = 0; (e = (ST_Agedge_s) ND_out(n).getFromList(i))!=null; i++) Z.z().N_edges++; } Z.z().Tree_node.reallocEmpty(Z.z().N_nodes); Z.z().Tree_node.size = 0; // Z.z().Tree_edge.setPtr("list", ALLOC_empty(Z.z().N_nodes, Z.z().Tree_edge.getPtr("list"), Agedge_s.class)); Z.z().Tree_edge.realloc(Z.z().N_nodes); Z.z().Tree_edge.size = 0; feasible = 1; for (n = GD_nlist(g); n!=null; n = ND_next(n)) { ND_priority(n, 0); for (i = 0; (e = (ST_Agedge_s) ND_in(n).getFromList(i))!=null; i++) { ND_priority(n, 1+ND_priority(n)); ED_cutvalue(e, 0); ED_tree_index(e, -1); if (feasible!=0 && (ND_rank(aghead(e)) - ND_rank(agtail(e)) < ED_minlen(e))) feasible = 0; } // ND_tree_in(n).setPtr("list", zmalloc(sizeof(Agedge_s.class, i+1)));; ND_tree_in(n).mallocEmpty(i+1); ND_tree_in(n).size = 0; for (i = 0; (e = (ST_Agedge_s) ND_out(n).getFromList(i))!=null; i++); // ND_tree_out(n).setPtr("list", zmalloc(sizeof(Agedge_s.class, i+1))); ND_tree_out(n).mallocEmpty(i+1); ND_tree_out(n).size = 0; } return feasible; } finally { LEAVING("37hg5w7ywmyljdiebgp5ltl22","init_graph"); } } //3 4jv545ixndzfz0hmy2ck1kvre // static void graphSize (graph_t * g, int* nn, int* ne) public static Object graphSize(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("d95292hibn08mh6rbguy3zeib"); // graphSize (graph_t * g, int* nn, int* ne) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4i46dhl8eqbh29vq1vn3ipo70"); // int i, nnodes, nedges; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("359m8vuzzte7zl5lru7vf4bga"); // nnodes = nedges = 0; UNSUPPORTED("8g62mxpap4eeua2lkn9a1iosi"); // for (n = GD_nlist(g); n; n = ND_next(n)) { UNSUPPORTED("a5hcy2vbfyq09svspfdvsreu1"); // nnodes++; UNSUPPORTED("az80xiplaqv1i8gmq2feyyrea"); // for (i = 0; (e = ND_out(n).list[i]); i++) { UNSUPPORTED("1sy3rnb8qjw3nmyka290izgi2"); // nedges++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("h7rj9k6bm1iatjqeqmhlinoi"); // *nn = nnodes; UNSUPPORTED("7whkfg1zlimqk163vbj7cgxmt"); // *ne = nedges; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5n0ipwzhr8urlx0fsdzr02gwq // int rank2(graph_t * g, int balance, int maxiter, int search_size) public static int rank2(ST_Agraph_s g, int balance, int maxiter, int search_size) { ENTERING("5n0ipwzhr8urlx0fsdzr02gwq","rank2"); try { int iter = 0, feasible; CString ns = new CString("network simplex: "); ST_Agedge_s e, f; /*if (Verbose) { int nn, ne; graphSize (g, &nn, &ne); fprintf(stderr, "%s %d nodes %d edges maxiter=%d balance=%d\n", ns, nn, ne, maxiter, balance); start_timer(); }*/ feasible = init_graph(g); if (N(feasible)) init_rank(); if (maxiter <= 0) { freeTreeList (g); return 1; } if (search_size >= 0) Z.z().Search_size = search_size; else Z.z().Search_size = 30; if (setjmp (jbuf)!=0) { return 2; } if (feasible_tree()!=0) { freeTreeList (g); return 1; } while ((e = leave_edge())!=null) { f = enter_edge(e); update(e, f); iter++; /*if (Verbose && (iter % 100 == 0)) { if (iter % 1000 == 100) fputs(ns, stderr); fprintf(stderr, "%d ", iter); if (iter % 1000 == 0) fputc('\n', stderr); }*/ if (iter >= maxiter) break; } switch (balance) { case 1: TB_balance(); break; case 2: LR_balance(); break; default: scan_and_normalize(); freeTreeList (Z.z().G_ns); break; } /*if (Verbose) { if (iter >= 100) fputc('\n', stderr); fprintf(stderr, "%s%d nodes %d edges %d iter %.2f sec\n", ns, N_nodes, N_edges, iter, elapsed_sec()); }*/ return 0; } finally { LEAVING("5n0ipwzhr8urlx0fsdzr02gwq","rank2"); } } //3 aqly8eniwjr5bmh4hzwc7ftdr // int rank(graph_t * g, int balance, int maxiter) public static int rank(ST_Agraph_s g, int balance, int maxiter) { ENTERING("aqly8eniwjr5bmh4hzwc7ftdr","rank"); try { CString s; int search_size; if ((s = agget(g, new CString("searchsize")))!=null) search_size = atoi(s); else search_size = 30; return rank2 (g, balance, maxiter, search_size); } finally { LEAVING("aqly8eniwjr5bmh4hzwc7ftdr","rank"); } } //3 2q59mz8qtn0biifbezb8uxz17 // static void x_cutval(edge_t * f) public static void x_cutval(ST_Agedge_s f) { ENTERING("2q59mz8qtn0biifbezb8uxz17","x_cutval"); try { ST_Agnode_s v=null; ST_Agedge_s e; int i, sum, dir=0; /* set v to the node on the side of the edge already searched */ if (EQ(ND_par(agtail(f)), f)) { v = agtail(f); dir = 1; } else { v = aghead(f); dir = -1; } sum = 0; for (i = 0; (e = (ST_Agedge_s) ND_out(v).getFromList(i))!=null; i++) sum += x_val(e, v, dir); for (i = 0; (e = (ST_Agedge_s) ND_in(v).getFromList(i))!=null; i++) sum += x_val(e, v, dir); ED_cutvalue(f, sum); } finally { LEAVING("2q59mz8qtn0biifbezb8uxz17","x_cutval"); } } //3 bfeafmsmmnblgizs37qj03dy4 // static int x_val(edge_t * e, node_t * v, int dir) public static int x_val(ST_Agedge_s e, ST_Agnode_s v, int dir) { ENTERING("bfeafmsmmnblgizs37qj03dy4","x_val"); try { ST_Agnode_s other; int d=0, rv=0, f=0; if (EQ(agtail(e), v)) other = aghead(e); else other = agtail(e); if (N(SEQ(ND_low(v), ND_lim(other), ND_lim(v)))) { f = 1; rv = ED_weight(e); } else { f = 0; if (TREE_EDGE(e)) rv = ED_cutvalue(e); else rv = 0; rv -= ED_weight(e); } if (dir > 0) { if (EQ(aghead(e), v)) d = 1; else d = -1; } else { if (EQ(agtail(e), v)) d = 1; else d = -1; } if (f!=0) d = -d; if (d < 0) rv = -rv; return rv; } finally { LEAVING("bfeafmsmmnblgizs37qj03dy4","x_val"); } } //3 ah65iqmwa5j0qwotm6amhijlg // static void dfs_cutval(node_t * v, edge_t * par) public static void dfs_cutval(ST_Agnode_s v, ST_Agedge_s par) { ENTERING("ah65iqmwa5j0qwotm6amhijlg","dfs_cutval"); try { int i; ST_Agedge_s e; for (i = 0; (e = (ST_Agedge_s) ND_tree_out(v).getFromList(i))!=null; i++) if (NEQ(e, par)) dfs_cutval(aghead(e), e); for (i = 0; (e = (ST_Agedge_s) ND_tree_in(v).getFromList(i))!=null; i++) if (NEQ(e, par)) dfs_cutval(agtail(e), e); if (par!=null) x_cutval(par); } finally { LEAVING("ah65iqmwa5j0qwotm6amhijlg","dfs_cutval"); } } //3 cgqr48qol9p8bsqjnryo5z5x9 // static int dfs_range(node_t * v, edge_t * par, int low) public static int dfs_range(ST_Agnode_s v, ST_Agedge_s par, int low) { ENTERING("cgqr48qol9p8bsqjnryo5z5x9","dfs_range"); try { ST_Agedge_s e; int i, lim; lim = low; ND_par(v, par); ND_low(v, low); for (i = 0; (e = (ST_Agedge_s) ND_tree_out(v).getFromList(i))!=null; i++) if (NEQ(e, par)) lim = dfs_range(aghead(e), e, lim); for (i = 0; (e = (ST_Agedge_s) ND_tree_in(v).getFromList(i))!=null; i++) if (NEQ(e, par)) lim = dfs_range(agtail(e), e, lim); ND_lim(v, lim); return lim + 1; } finally { LEAVING("cgqr48qol9p8bsqjnryo5z5x9","dfs_range"); } } } plantuml-1.2018.13+ds/src/gen/lib/common/output__c.java000066400000000000000000001415711340005343600225360ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class output__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 6fht53r5vzphmiooo5i9tvna9 // static double Y_off //1 6zlbkxk2nq08jt795gq9ylw7b // static double YF_off //3 6h1oa4cqlakv57l757pixrllu // double yDir (double y) public static Object yDir(Object... arg) { UNSUPPORTED("6yqj3kh80kduseti1t125vxuc"); // double yDir (double y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8dqz2vehx0qw9ow1q34nm29nb"); // return (Y_invert ? (Y_off - (y)) : (y)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8glhmjpf7wu0b4bp6y2morhz // static void agputs (const char* s, FILE* fp) public static Object agputs(Object... arg) { UNSUPPORTED("2a91abhqe9wp7lrhw42vdaf1t"); // static void agputs (const char* s, FILE* fp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3mvbsdv6kemosmi4kus10991w"); // putstr ((void*)fp, s); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 50ytxsn25x33pshc5fn6ndouu // static void agputc (int c, FILE* fp) public static Object agputc(Object... arg) { UNSUPPORTED("8t0e702psmmmcu9eumim4z6nv"); // static void agputc (int c, FILE* fp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("elhrx0tw5ggrn0s926ez829fp"); // static char buf[2] = {'\0','\0'}; UNSUPPORTED("5q4ts22itevk0jgej86bk287q"); // buf[0] = c; UNSUPPORTED("1p712omj2u85bemanjlhqmp39"); // putstr ((void*)fp, buf); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5lwr96qxai3q3ibx4jq2zaup4 // static void printstring(FILE * f, char *prefix, char *s) public static Object printstring(Object... arg) { UNSUPPORTED("cik5crknq1i3soa6udpuqs2jj"); // static void printstring(FILE * f, char *prefix, char *s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bx340tmzxfvnhjtjm8jcaxmo0"); // if (prefix) agputs(prefix, f); UNSUPPORTED("4dll3tdy69cqavyx6p1b4l9ax"); // agputs(s, f); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2bf9grhepqg3zfznzubbvqbeo // static void printint(FILE * f, char *prefix, int i) public static Object printint(Object... arg) { UNSUPPORTED("2j78a77iawzomftkz5vfkk99i"); // static void printint(FILE * f, char *prefix, int i) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cf8w5z35zxww7q6yjin9lc9op"); // char buf[BUFSIZ]; UNSUPPORTED("bx340tmzxfvnhjtjm8jcaxmo0"); // if (prefix) agputs(prefix, f); UNSUPPORTED("b4yrjxb6cecjl46x4jru1w1fi"); // sprintf(buf, "%d", i); UNSUPPORTED("a5120ceak9qt7h6sb0i9w5vj6"); // agputs(buf, f); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5z9gdq5h2uz6ip7nfhbyyjr47 // static void printdouble(FILE * f, char *prefix, double v) public static Object printdouble(Object... arg) { UNSUPPORTED("eigy0k9sb1hxjty7q0c09assn"); // static void printdouble(FILE * f, char *prefix, double v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cf8w5z35zxww7q6yjin9lc9op"); // char buf[BUFSIZ]; UNSUPPORTED("bx340tmzxfvnhjtjm8jcaxmo0"); // if (prefix) agputs(prefix, f); UNSUPPORTED("d38ey896kq41o4hdfsq730yyd"); // sprintf(buf, "%.5g", v); UNSUPPORTED("a5120ceak9qt7h6sb0i9w5vj6"); // agputs(buf, f); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dp0rs7pmn008udrkxxzndzajl // static void printpoint(FILE * f, pointf p) public static Object printpoint(Object... arg) { UNSUPPORTED("awvsuil2ah983t3h0v8en269i"); // static void printpoint(FILE * f, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7xc1oqq7npbfq2b1fzdokzikx"); // printdouble(f, " ", ((p.x)/(double)72)); UNSUPPORTED("6m59r4dotfk08t504y9tsmn5l"); // printdouble(f, " ", (((Y_invert ? (Y_off - (p.y)) : (p.y)))/(double)72)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1kbb9mmakvku7oedntokmdkdi // static void setYInvert(graph_t * g) public static Object setYInvert(Object... arg) { UNSUPPORTED("9qgrdiddkaomo4blvr5n4nffz"); // static void setYInvert(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3vpqrdc1a9x0cpu6f285x2tt3"); // if (Y_invert) { UNSUPPORTED("63lwvwdop4l87voa68fhlmdjq"); // Y_off = GD_bb(g).UR.y + GD_bb(g).LL.y; UNSUPPORTED("3z0tyi45vfaknot68fqyh82n"); // YF_off = ((Y_off)/(double)72); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 96and4g1ndnop0onysx5zohv8 // static char* canon (graph_t *g, char* s) public static Object canon(Object... arg) { UNSUPPORTED("b2eljuhn8sztgwuvk8cdgra33"); // static char* canon (graph_t *g, char* s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6grmh3i7q3dnveytjypxz660c"); // char* ns = agstrdup (g, s); UNSUPPORTED("1g4ujy6wgffnvmdyjrxe9w16n"); // char* cs = agcanonStr (ns); UNSUPPORTED("7146wdsszjqtusr3eogc94t1k"); // agstrfree (g, ns); UNSUPPORTED("cretu2n9zumqk83qpefveu0xm"); // return cs; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 erttiiytj1tj82ue7ewps4owz // static void writenodeandport(FILE * f, node_t * node, char *port) public static Object writenodeandport(Object... arg) { UNSUPPORTED("19qgj5kq0g1bujwdmxqlqtdlf"); // static void writenodeandport(FILE * f, node_t * node, char *port) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8i0d7frxcvvmzhidle0zin9i0"); // char *name; UNSUPPORTED("bmexy4wyucb3s61unxu1dv3rn"); // if ((ND_clustnode(node))) UNSUPPORTED("ebfq6fe0pwr0nbcw74qy0bsss"); // name = canon (agraphof(node), strchr(agnameof(node), ':') + 1); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("3umgsilmw23rwau73f3rlsjib"); // name = agcanonStr (agnameof(node)); UNSUPPORTED("d7ho98n42axo4lwhbros9kdm4"); // printstring(f, " ", name); /* slimey i know */ UNSUPPORTED("aobyifp8chh1zjvcfesub92n2"); // if (port && *port) UNSUPPORTED("9mjure2a47p3h1hulg3wn472r"); // printstring(f, ":", agcanonStr(port)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 548gbl5wlu8wpv6qrjjup6ti8 // void write_plain(GVJ_t * job, graph_t * g, FILE * f, boolean extend) public static Object write_plain(Object... arg) { UNSUPPORTED("3yohfo4t24sd4qgzv5o9jkjm4"); // void write_plain(GVJ_t * job, graph_t * g, FILE * f, boolean extend) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3que9ebpwn6xzziq2r9kq8ej9"); // int i, j, splinePoints; UNSUPPORTED("9spwl0nkgvqarpeweybacgonl"); // char *tport, *hport; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("37thdceezsvepe7tlyfatrbcw"); // bezier bz; UNSUPPORTED("2e0v7u9pfngzg11mt4kn3oudg"); // pointf pt; UNSUPPORTED("53spxurt3zrnwf6pj327788fv"); // char *lbl; UNSUPPORTED("3o5wtshjp5pfng25jcteup81j"); // char* fillcolor; UNSUPPORTED("130ux09wwwjsdsw49ki9wtf3n"); // putstr = g->clos->disc.io->putstr; UNSUPPORTED("d11pm6hxnfq5bb4nemjm82p43"); // // setup_graph(job, g); UNSUPPORTED("5k2g8l6h3qnzvhvq2dv1vn9sp"); // setYInvert(g); UNSUPPORTED("8oq1mul1uckavj0ybvoq2z7qi"); // pt = GD_bb(g).UR; UNSUPPORTED("5uqef2ramb4yi5rrnnaj4nmt"); // printdouble(f, "graph ", job->zoom); UNSUPPORTED("406shi1bpvi8ou1c1xwbdr884"); // printdouble(f, " ", ((pt.x)/(double)72)); UNSUPPORTED("5w5k71mnu6g98coxywamcfa8w"); // printdouble(f, " ", ((pt.y)/(double)72)); UNSUPPORTED("86ub4gpyej70m2eadepsbjm4t"); // agputc('\n', f); UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("asncxe57lbdnm0wz55z5gsfyj"); // if ((ND_clustnode(n))) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("6ozgckb41ca6in9yzfq0crm2n"); // printstring(f, "node ", agcanonStr(agnameof(n))); UNSUPPORTED("ak0dknblcmy335eejoys3sed4"); // printpoint(f, ND_coord(n)); UNSUPPORTED("24wnni5tzo854h07k5nvx5gol"); // if (ND_label(n)->html) /* if html, get original text */ UNSUPPORTED("5v7xkqxikaisplm5ikh8r3nqt"); // lbl = agcanonStr (agxget(n, N_label)); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("4lp7ulk03cbfd74fntdhnjhwg"); // lbl = canon(agraphof(n),ND_label(n)->text); UNSUPPORTED("3qq8s43vgjtmmqm2nhgw8ckkh"); // printdouble(f, " ", ND_width(n)); UNSUPPORTED("1svrzqjfltl2z2zvq408sgp5i"); // printdouble(f, " ", ND_height(n)); UNSUPPORTED("dh1tm9c3mtoa85b2jswjy232b"); // printstring(f, " ", lbl); UNSUPPORTED("bbu711e99pf0awdc7walk1ash"); // printstring(f, " ", late_nnstring(n, N_style, "solid")); UNSUPPORTED("juoayk4fo9jnav4twks4lvdq"); // printstring(f, " ", ND_shape(n)->name); UNSUPPORTED("6vys4r600tnxruabjtc9ip8zc"); // printstring(f, " ", late_nnstring(n, N_color, "black")); UNSUPPORTED("9tfl41t0hcme4402ao005o4iw"); // fillcolor = late_nnstring(n, N_fillcolor, ""); UNSUPPORTED("8v7mu8czvxvalrzjt7rxk5wqt"); // if (fillcolor[0] == '\0') UNSUPPORTED("18cs50exnxhaoxg4rcq419d97"); // fillcolor = late_nnstring(n, N_color, "lightgrey"); UNSUPPORTED("1h3b7zm1rxpldq3b8yqiqymxm"); // printstring(f, " ", fillcolor); UNSUPPORTED("542qodky9o008e1zwnwm02oqu"); // agputc('\n', f); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("58nzhwg3jqygtpq3rebmvyc74"); // if (extend) { //assuming these two attrs have already been created by cgraph UNSUPPORTED("bdavy44dbcv1nyx41nbekylxj"); // if (!(tport = agget(e,"tailport"))) UNSUPPORTED("5340j92gan9stk3ve1c8tyffl"); // tport = ""; UNSUPPORTED("dui85dciz396tx1nm2tcenn8"); // if (!(hport = agget(e,"headport"))) UNSUPPORTED("66s3ixxwgu8j8jwtftmlmibsz"); // hport = ""; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("6lz4jsb3wjydmerovhij4cm45"); // tport = hport = ""; UNSUPPORTED("ciwbgm5llkn8yvebgo9ajni15"); // if (ED_spl(e)) { UNSUPPORTED("1ym7rnjyps0joztbpork4cmr0"); // splinePoints = 0; UNSUPPORTED("4ztb8xx60n4c30nzfp9xvzmi7"); // for (i = 0; i < ED_spl(e)->size; i++) { UNSUPPORTED("5r589l7f0762txb9jmcsnc4jh"); // bz = ED_spl(e)->list[i]; UNSUPPORTED("18zoydx6d28ahubjejtbowoay"); // splinePoints += bz.size; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("90igxdd8rew6udb0eyy1v09s4"); // printstring(f, NULL, "edge"); UNSUPPORTED("arznc8bj79lvgeb1ia4cex1dx"); // writenodeandport(f, agtail(e), tport); UNSUPPORTED("ddt8ixkkxnk5qtpv5quwjfn51"); // writenodeandport(f, aghead(e), hport); UNSUPPORTED("1joybg6h6uyx9yt6bxl9x93t0"); // printint(f, " ", splinePoints); UNSUPPORTED("4ztb8xx60n4c30nzfp9xvzmi7"); // for (i = 0; i < ED_spl(e)->size; i++) { UNSUPPORTED("5r589l7f0762txb9jmcsnc4jh"); // bz = ED_spl(e)->list[i]; UNSUPPORTED("a7ii1okn4acj9rrk02w1rtb5z"); // for (j = 0; j < bz.size; j++) UNSUPPORTED("dpc36d8cbwevs4a5kq50i1lc5"); // printpoint(f, bz.list[j]); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("8riu8zwrbqd66hl5vmy38w8wg"); // if (ED_label(e)) { UNSUPPORTED("co3kc4ees6plaqoyba4tib1ip"); // printstring(f, " ", canon(agraphof(agtail(e)),ED_label(e)->text)); UNSUPPORTED("5kqr2febrlj5731izptqm18dw"); // printpoint(f, ED_label(e)->pos); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6uv06ib11o1ih20o8ysxbxfi2"); // printstring(f, " ", late_nnstring(e, E_style, "solid")); UNSUPPORTED("p1ltgy42ln94e7td5cvqrzx"); // printstring(f, " ", late_nnstring(e, E_color, "black")); UNSUPPORTED("c0e150hwkub1iizmy6t6nhudh"); // agputc('\n', f); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c0wakh4sbgim9485buwdo1tl7"); // agputs("stop\n", f); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bd30kzlzww40ie6bgv51u6rk2 // static void set_record_rects(node_t * n, field_t * f, agxbuf * xb) public static Object set_record_rects(Object... arg) { UNSUPPORTED("4fmlf7jouscb1i4dw9b8fjypg"); // static void set_record_rects(node_t * n, field_t * f, agxbuf * xb) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("cf8w5z35zxww7q6yjin9lc9op"); // char buf[BUFSIZ]; UNSUPPORTED("ke8k3zlei9bz4cmrgv0t1ehz"); // if (f->n_flds == 0) { UNSUPPORTED("4qqwiqivbgrdzykqks6ne39uw"); // sprintf(buf, "%.5g,%.5g,%.5g,%.5g ", UNSUPPORTED("efsdpymwdfstqkzpg0uig902a"); // f->b.LL.x + ND_coord(n).x, UNSUPPORTED("6nvqcxczj7xtk46jnheoe3ugv"); // (Y_invert ? (Y_off - (f->b.LL.y + ND_coord(n).y)) : (f->b.LL.y + ND_coord(n).y)), UNSUPPORTED("2tgp65u179umpruiu4k20wo19"); // f->b.UR.x + ND_coord(n).x, UNSUPPORTED("34hwm9aoefcnkiey7t9s8x49g"); // (Y_invert ? (Y_off - (f->b.UR.y + ND_coord(n).y)) : (f->b.UR.y + ND_coord(n).y))); UNSUPPORTED("9ydwa2m63t3zy7qefxyronhnl"); // agxbput(xb, buf); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dnmh8bux7478sxj4ohw363vu8"); // for (i = 0; i < f->n_flds; i++) UNSUPPORTED("e2ys5uqyitl4018cltkyggevy"); // set_record_rects(n, f->fld[i], xb); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6y17ntp4jpt8vwwnlnjk268c3 // static void rec_attach_bb(graph_t * g, Agsym_t* bbsym, Agsym_t* lpsym, Agsym_t* lwsym, Agsym_t* lhsym) public static Object rec_attach_bb(Object... arg) { UNSUPPORTED("bivwdl6eiggv4njxg1280ro7s"); // static void rec_attach_bb(graph_t * g, Agsym_t* bbsym, Agsym_t* lpsym, Agsym_t* lwsym, Agsym_t* lhsym) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("53xzwretgdbd0atozc0w6hagb"); // int c; UNSUPPORTED("cf8w5z35zxww7q6yjin9lc9op"); // char buf[BUFSIZ]; UNSUPPORTED("2e0v7u9pfngzg11mt4kn3oudg"); // pointf pt; UNSUPPORTED("24lsaiss5p2l0eirgj2ai7xov"); // sprintf(buf, "%.5g,%.5g,%.5g,%.5g", GD_bb(g).LL.x, (Y_invert ? (Y_off - (GD_bb(g).LL.y)) : (GD_bb(g).LL.y)), UNSUPPORTED("8lsgjczd21sic1jbmzpui8cli"); // GD_bb(g).UR.x, (Y_invert ? (Y_off - (GD_bb(g).UR.y)) : (GD_bb(g).UR.y))); UNSUPPORTED("eny81csz71xjufztxhsg5a6vx"); // agxset(g, bbsym, buf); UNSUPPORTED("2wg259ve9d8rmxrgc6a8qd062"); // if (GD_label(g) && GD_label(g)->text[0]) { UNSUPPORTED("1m6bzr76atb9qs06n0g0bh7uc"); // pt = GD_label(g)->pos; UNSUPPORTED("6ajni604em6ax0fnds16ut28y"); // sprintf(buf, "%.5g,%.5g", pt.x, (Y_invert ? (Y_off - (pt.y)) : (pt.y))); UNSUPPORTED("5v5526f3x4jluohwqosaju0n7"); // agxset(g, lpsym, buf); UNSUPPORTED("5d2mg3o3jiz34mw8gf7ghjtud"); // pt = GD_label(g)->dimen; UNSUPPORTED("ebphmma02ajsj8c8y56220tc4"); // sprintf(buf, "%.2f", ((pt.x)/(double)72)); UNSUPPORTED("7153in9qcbkx5yvss4ovz899p"); // agxset (g, lwsym, buf); UNSUPPORTED("7xdpkqi3qd6pzfrxfpijuknae"); // sprintf(buf, "%.2f", ((pt.y)/(double)72)); UNSUPPORTED("aljvhjz27jmi14eg7l9p5af9u"); // agxset (g, lhsym, buf); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7z5fb6iyowsosn1hiz7opeoc6"); // for (c = 1; c <= GD_n_cluster(g); c++) UNSUPPORTED("dj0tj5vp5j7qurrz1bz75onyn"); // rec_attach_bb(GD_clust(g)[c], bbsym, lpsym, lwsym, lhsym); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9ja9vrwgmu7gq2ibxrroufg0i // void attach_attrs_and_arrows(graph_t* g, int* sp, int* ep) public static Object attach_attrs_and_arrows(Object... arg) { UNSUPPORTED("dnwn7idv047g47auyd9t9tvuu"); // void attach_attrs_and_arrows(graph_t* g, int* sp, int* ep) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ejbijsranjcsnebzqxgyniqmz"); // int e_arrows; /* graph has edges with end arrows */ UNSUPPORTED("d0xvc0uxedqt1upohbmcb1rxs"); // int s_arrows; /* graph has edges with start arrows */ UNSUPPORTED("dur3qp0989unhastq7adb67mm"); // int i, j, sides; UNSUPPORTED("8eqangdf1cya20k8l0pp5w6su"); // char buf[BUFSIZ]; /* Used only for small strings */ UNSUPPORTED("budqh0fjozcvw16kcfx9sau4o"); // unsigned char xbuffer[BUFSIZ]; /* Initial buffer for xb */ UNSUPPORTED("9gou5otj6s39l2cbyc8i5i5lq"); // agxbuf xb; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("bz0wmxtnzgka3zfovkbr7eozh"); // pointf ptf; UNSUPPORTED("bybp83bn7n2u6zbmxear1cz69"); // int dim3 = (GD_odim(g) >= 3); UNSUPPORTED("5k8cu60h53vpsotqw8cw6umck"); // Agsym_t* bbsym; UNSUPPORTED("bkbrhs9zyg2w478q8lbw7f0of"); // Agsym_t* lpsym; UNSUPPORTED("eai0rzppsmlzofk8gj75egcsx"); // Agsym_t* lwsym; UNSUPPORTED("c49j8t4h9n74p2h3imevghwgn"); // Agsym_t* lhsym; UNSUPPORTED("98b2uqnwq3rgamma244bsbrt1"); // gv_fixLocale (1); UNSUPPORTED("egwk53dbwqu1xswckndghrarj"); // e_arrows = s_arrows = 0; UNSUPPORTED("5k2g8l6h3qnzvhvq2dv1vn9sp"); // setYInvert(g); UNSUPPORTED("adti9zonvsoivju16of3xz2q1"); // agxbinit(&xb, BUFSIZ, xbuffer); UNSUPPORTED("4ikmwcydxd882urz65fh3odpf"); // safe_dcl(g, AGNODE, "pos", ""); UNSUPPORTED("1iwfu26cywaj02j8z5bso1glz"); // safe_dcl(g, AGNODE, "rects", ""); UNSUPPORTED("78np9dkmdvqba2olja9z7q52s"); // N_width = safe_dcl(g, AGNODE, "width", ""); UNSUPPORTED("781nwp1bndg5p2l0xhwogf1kv"); // N_height = safe_dcl(g, AGNODE, "height", ""); UNSUPPORTED("1grqx09xno74g0wdhra79ri49"); // safe_dcl(g, AGEDGE, "pos", ""); UNSUPPORTED("1z88oj214hkmshhtbjm9xb42b"); // if (GD_has_labels(g) & (1 << 4)) UNSUPPORTED("dftebq916itbaiobbsm7in3b3"); // safe_dcl(g, AGNODE, "xlp", ""); UNSUPPORTED("7d2dbjegkxavs980oua02l4ah"); // if (GD_has_labels(g) & (1 << 0)) UNSUPPORTED("9y62hmnfjg8pzstf8cf4fakp0"); // safe_dcl(g, AGEDGE, "lp", ""); UNSUPPORTED("aze047ifm9owcmyx71hsysdbc"); // if (GD_has_labels(g) & (1 << 5)) UNSUPPORTED("1zxunscbrzj8wm46zil76zlwp"); // safe_dcl(g, AGEDGE, "xlp", ""); UNSUPPORTED("9o41hpfnkkzxiqf6wmsulmacd"); // if (GD_has_labels(g) & (1 << 1)) UNSUPPORTED("akcqnrmeblk7fqxx6s2kz8adq"); // safe_dcl(g, AGEDGE, "head_lp", ""); UNSUPPORTED("cpnv97fkn07xq4zk0ujfs1ae5"); // if (GD_has_labels(g) & (1 << 2)) UNSUPPORTED("e3ddjafxmc4ecqmfz1c1h8pv3"); // safe_dcl(g, AGEDGE, "tail_lp", ""); UNSUPPORTED("3us71eou09pz1u9rz5m97f67t"); // if (GD_has_labels(g) & (1 << 3)) { UNSUPPORTED("50y83cd8joo9jld4oec1oglt0"); // lpsym = safe_dcl(g, AGRAPH, "lp", ""); UNSUPPORTED("bgud8t0dyysjpbmkgyi94zxec"); // lwsym = safe_dcl(g, AGRAPH, "lwidth", ""); UNSUPPORTED("20crancrkqhzwdqrmfab94oqs"); // lhsym = safe_dcl(g, AGRAPH, "lheight", ""); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6jbkl41xrfn9w5ev89lpfg1pf"); // bbsym = safe_dcl(g, AGRAPH, "bb", ""); UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("3rf6ovz8idsnou2upedl0ugl4"); // if (dim3) { UNSUPPORTED("bgir6fgzucxltcpf123wxwa16"); // int k; UNSUPPORTED("5xf6shry4shqq37eqql1o7w0j"); // sprintf(buf, "%.5g,%.5g,%.5g", ND_coord(n).x, (Y_invert ? (Y_off - (ND_coord(n).y)) : (ND_coord(n).y)), 72*(ND_pos(n)[2])); UNSUPPORTED("6yihpqct3gh8dwu4mgetlg4hf"); // agxbput (&xb, buf); UNSUPPORTED("1imggzivuz8js4ab1wrwl598j"); // for (k = 3; k < GD_odim(g); k++) { UNSUPPORTED("5xfk3smfs37332xzr4zfie36z"); // sprintf(buf, ",%.5g", 72*(ND_pos(n)[k])); UNSUPPORTED("4w8zs2s0ndr19sged28fehnw"); // agxbput (&xb, buf); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("8nz5m2e5luayh47sthdw4jq7j"); // agset(n, "pos", (((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf))); UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("brk9q6earum14zd1ygm3dqfyw"); // sprintf(buf, "%.5g,%.5g", ND_coord(n).x, (Y_invert ? (Y_off - (ND_coord(n).y)) : (ND_coord(n).y))); UNSUPPORTED("bbvxas0gcanqusf356ij0hdvv"); // agset(n, "pos", buf); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6vtdv0hwpck48rye7jgri3tey"); // sprintf(buf, "%.5g", ((ND_ht(n))/(double)72)); UNSUPPORTED("4xnatleaw6b1v9rrhz7k2s0x1"); // agxset(n, N_height, buf); UNSUPPORTED("77f3vv1tid826v62dudsmsee3"); // sprintf(buf, "%.5g", ((ND_lw(n) + ND_rw(n))/(double)72)); UNSUPPORTED("eyn81ub2dd36w000iwjiyrzrm"); // agxset(n, N_width, buf); UNSUPPORTED("1nfehzcu9dg4m0zqniggw0myh"); // if (ND_xlabel(n) && ND_xlabel(n)->set) { UNSUPPORTED("7ipswwekn8d70bxb6rug5y4hp"); // ptf = ND_xlabel(n)->pos; UNSUPPORTED("exegykphdodrspivicojucpbx"); // sprintf(buf, "%.5g,%.5g", ptf.x, (Y_invert ? (Y_off - (ptf.y)) : (ptf.y))); UNSUPPORTED("6zn9qfmyz9e7jg5cufudayxsc"); // agset(n, "xlp", buf); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("89kxkqxo5vgsnfp6dko6p6pog"); // if (strcmp(ND_shape(n)->name, "record") == 0) { UNSUPPORTED("ejjebp83rjnqais1mqq9v944o"); // set_record_rects(n, ND_shape_info(n), &xb); UNSUPPORTED("327ru6n1g104bv1jnlnil773m"); // agxbpop(&xb); /* get rid of last space */ UNSUPPORTED("22w4oia21mibvk38zr3dfutl"); // agset(n, "rects", (((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf))); UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("hxnnyu0oel8vd9mag9h7xmqr"); // polygon_t *poly; UNSUPPORTED("a8amhiqvlp5s6vz8p4u2amapy"); // int i; UNSUPPORTED("di0sjpsaryzeog9lls9lo103j"); // if (N_vertices && isPolygon(n)) { UNSUPPORTED("1v0bedqdwts4r8i95bff8tjiw"); // poly = (polygon_t *) ND_shape_info(n); UNSUPPORTED("78f4jae5n959qkejff8eqbt10"); // sides = poly->sides; UNSUPPORTED("1ze2rhuc1ziuqtevmv36n7vg9"); // if (sides < 3) { UNSUPPORTED("b2wk16e1kkfimvcygieesvsi4"); // char *p = agget(n, "samplepoints"); UNSUPPORTED("7b41u5yplmu71fqi9va5filc3"); // if (p) UNSUPPORTED("9h2cka87unr4odf1v9m3riq9v"); // sides = atoi(p); UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else UNSUPPORTED("159b2xvx2h490z3tb5r4kje9y"); // sides = 8; UNSUPPORTED("1nfexxm8zy4evpai9tvs8c29l"); // if (sides < 3) UNSUPPORTED("159b2xvx2h490z3tb5r4kje9y"); // sides = 8; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("d0kx8fo90t25wy56mlmoj0upk"); // for (i = 0; i < sides; i++) { UNSUPPORTED("cb2w7wn5flzqkjy48yvxhf4i5"); // if (i > 0) UNSUPPORTED("ewzkk0b8qrzmah4ugls1nfqc4"); // ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)' '))); UNSUPPORTED("5zto6w00vkhhrctnf1e12kxzn"); // if (poly->sides >= 3) UNSUPPORTED("c5pttvar58bq9ozx95isk3zun"); // sprintf(buf, "%.5g %.5g", UNSUPPORTED("7nrde57g93yxd1fodhhr5dsa9"); // ((poly->vertices[i].x)/(double)72), UNSUPPORTED("ezyj9fkj618u9xhabzvtqwnme"); // (Y_invert ? (YF_off - (((poly->vertices[i].y)/(double)72))) : (((poly->vertices[i].y)/(double)72)))); UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else UNSUPPORTED("c5pttvar58bq9ozx95isk3zun"); // sprintf(buf, "%.5g %.5g", UNSUPPORTED("92k6jkwawod7323cznpljnpr3"); // ND_width(n) / 2.0 * cos(i / (double) sides * M_PI * 2.0), UNSUPPORTED("adbjbhrbctg9kcmql1lnvxs7x"); // (Y_invert ? (YF_off - (ND_height(n) / 2.0 * sin(i /(double) sides * M_PI * 2.0))) : (ND_height(n) / 2.0 * sin(i /(double) sides * M_PI * 2.0)))); UNSUPPORTED("847q0ijh2jwoemzpqx3klzxya"); // agxbput(&xb, buf); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("d0a4ljicq1ojcw1wkomut8ra3"); // agxset(n, N_vertices, (((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf))); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dq5fyvh8jd3qwgkppctvawmyz"); // if (State >= 1) { UNSUPPORTED("7yvyv13me3s32qvq3gfbyt283"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("84ix82wd8yx6m7f33pv0dvvie"); // if (ED_edge_type(e) == 6) UNSUPPORTED("2yi9az7ibt7j9bwztjilyo0v2"); // continue; UNSUPPORTED("76eoblp6hmutlj66fdb7b2es5"); // if (ED_spl(e) == NULL) UNSUPPORTED("8jvroo3mv0ny58gw5bxk345tu"); // continue; /* reported in postproc */ UNSUPPORTED("4ztb8xx60n4c30nzfp9xvzmi7"); // for (i = 0; i < ED_spl(e)->size; i++) { UNSUPPORTED("cb2w7wn5flzqkjy48yvxhf4i5"); // if (i > 0) UNSUPPORTED("f4jr2zjbfcrfi2i7m4klvpw19"); // ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)';'))); UNSUPPORTED("a4zikpd9ktj3rhtfgg7ur40h0"); // if (ED_spl(e)->list[i].sflag) { UNSUPPORTED("70hchi65xabvumigsszopretx"); // s_arrows = 1; UNSUPPORTED("7gl3coqupwm4eqee125qyj8ms"); // sprintf(buf, "s,%.5g,%.5g ", UNSUPPORTED("5vd53qn2sgcgm7igurohj8dpb"); // ED_spl(e)->list[i].sp.x, UNSUPPORTED("eyjso0d41ic749scoinp7q07f"); // (Y_invert ? (Y_off - (ED_spl(e)->list[i].sp.y)) : (ED_spl(e)->list[i].sp.y))); UNSUPPORTED("cnxo8k6a1zwn0s8ej64ag7gqb"); // agxbput(&xb, buf); UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("525ym2s1yq555hhu8ig5jifbt"); // if (ED_spl(e)->list[i].eflag) { UNSUPPORTED("71ej0gajnah1tyqgc0ki81ef9"); // e_arrows = 1; UNSUPPORTED("9ad3jmqcigh7o1fgcmnsl60xz"); // sprintf(buf, "e,%.5g,%.5g ", UNSUPPORTED("107equizdxqqcykrel89pwnq7"); // ED_spl(e)->list[i].ep.x, UNSUPPORTED("6d2ixeiy3c29vamcc7tacvs3q"); // (Y_invert ? (Y_off - (ED_spl(e)->list[i].ep.y)) : (ED_spl(e)->list[i].ep.y))); UNSUPPORTED("cnxo8k6a1zwn0s8ej64ag7gqb"); // agxbput(&xb, buf); UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("8apmnssx9axhnduv4rn7s925z"); // for (j = 0; j < ED_spl(e)->list[i].size; j++) { UNSUPPORTED("ecu1j70aegy6iur2yzsftmopq"); // if (j > 0) UNSUPPORTED("2r8deh8peb8qp7sbtrayoe9q6"); // ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)' '))); UNSUPPORTED("mpf9z7gpsd10qo0ays0lnghj"); // ptf = ED_spl(e)->list[i].list[j]; UNSUPPORTED("860g9wpq0occds1fws2qlhyf4"); // sprintf(buf, "%.5g,%.5g", ptf.x, (Y_invert ? (Y_off - (ptf.y)) : (ptf.y))); UNSUPPORTED("cnxo8k6a1zwn0s8ej64ag7gqb"); // agxbput(&xb, buf); UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("96y4g6ydvjlmvi0265z8mdcav"); // agset(e, "pos", (((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf))); UNSUPPORTED("4s9k2d3zuxs0dor6s8h3gd6sj"); // if (ED_label(e)) { UNSUPPORTED("cjay1b2t98rmvjxrg50ofzaux"); // ptf = ED_label(e)->pos; UNSUPPORTED("2siw49n03h4pngznho2rjguds"); // sprintf(buf, "%.5g,%.5g", ptf.x, (Y_invert ? (Y_off - (ptf.y)) : (ptf.y))); UNSUPPORTED("apqtb2u056i3lf8ej7kmn3pis"); // agset(e, "lp", buf); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("b5ek5jn2c08qdmj3g8ed1wlvt"); // if (ED_xlabel(e) && ED_xlabel(e)->set) { UNSUPPORTED("32q9vbxljv1m2bcqs6hj2chos"); // ptf = ED_xlabel(e)->pos; UNSUPPORTED("2siw49n03h4pngznho2rjguds"); // sprintf(buf, "%.5g,%.5g", ptf.x, (Y_invert ? (Y_off - (ptf.y)) : (ptf.y))); UNSUPPORTED("5t3wfvr67hjnnnl7av3ydzfph"); // agset(e, "xlp", buf); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("8wb1kqodj9fqeq551yk3u8p09"); // if (ED_head_label(e)) { UNSUPPORTED("ayetvnkbpknd8tbnnxn8epqyr"); // ptf = ED_head_label(e)->pos; UNSUPPORTED("2siw49n03h4pngznho2rjguds"); // sprintf(buf, "%.5g,%.5g", ptf.x, (Y_invert ? (Y_off - (ptf.y)) : (ptf.y))); UNSUPPORTED("5679klilm2npeej7dtn4dxnfs"); // agset(e, "head_lp", buf); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("7uo1i3pejmbd3fy8lytwyn8ub"); // if (ED_tail_label(e)) { UNSUPPORTED("9va9jaogd0l19cackxua13pob"); // ptf = ED_tail_label(e)->pos; UNSUPPORTED("2siw49n03h4pngznho2rjguds"); // sprintf(buf, "%.5g,%.5g", ptf.x, (Y_invert ? (Y_off - (ptf.y)) : (ptf.y))); UNSUPPORTED("2w6oh9jygs6jvv2vdda2jehpv"); // agset(e, "tail_lp", buf); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("apxmgxxwi65xd0ekyq3uq8jm7"); // rec_attach_bb(g, bbsym, lpsym, lwsym, lhsym); UNSUPPORTED("1at5m9ctjn3ukv5gqtfswik02"); // agxbfree(&xb); UNSUPPORTED("83ij4r5fzyhegi7bmu2gr8zut"); // if ((GD_flags(g) & 1)) UNSUPPORTED("c0oytwtlqucfw4t4mx524912"); // undoClusterEdges(g); UNSUPPORTED("a3kuneojcjx19vx76ucm594d1"); // *sp = s_arrows; UNSUPPORTED("5hf7szhpgvj1w0auvkgf3v1c3"); // *ep = e_arrows; UNSUPPORTED("bkwnwkliqxeb0zv9leq3mcdrx"); // gv_fixLocale (0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8vpe9ri22zhcgg6000ndr6ax2 // void attach_attrs(graph_t * g) public static Object attach_attrs(Object... arg) { UNSUPPORTED("51i23bz4lg6vdwfy1gfo3i8ui"); // void attach_attrs(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5hko5pg9q9xxal26qceow3e3r"); // int e, s; UNSUPPORTED("e0m1rbhl4fbpkkat4thb7fh3e"); // attach_attrs_and_arrows (g, &s, &e); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/common/pointset__c.java000066400000000000000000000777441340005343600230550ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class pointset__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 6ddu6mrp88g3kun2w1gg8ck8t // typedef Dict_t PointSet //1 6t1gwljnc5qkhgkp9oc8y7lhm // typedef Dict_t PointMap //3 5u1whw7d6cpovx8f4xjmn3q6t // static pair *mkPair(point p) public static Object mkPair(Object... arg) { UNSUPPORTED("8774qe16oxygrbtltm1w8cupy"); // static pair *mkPair(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("949qczzi45w42hb4lf3jx1dac"); // pair *pp; UNSUPPORTED("1ijxfz8npazi18v9qr3bmsi26"); // pp = (pair*)zmalloc(sizeof(pair)); UNSUPPORTED("c6161ivk5k6aom7cjh0vxhilw"); // pp->id = p; UNSUPPORTED("7etsvryh248syh0l6ag8lcsi2"); // return pp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d62tsa65whwfps52l2x4w0gcb // static void freePair(Dt_t * d, pair* pp, Dtdisc_t * disc) public static Object freePair(Object... arg) { UNSUPPORTED("eqa1cxq331w4xa024fugqiivr"); // static void freePair(Dt_t * d, pair* pp, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c67zoo5sy2bsk6yv6ge8pkiqd"); // free (pp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6yfilil8pl8qgowenug9tjamy // static int cmppair(Dt_t * d, point * key1, point * key2, Dtdisc_t * disc) public static Object cmppair(Object... arg) { UNSUPPORTED("271uorrb28yvn44o8bok8s67k"); // static int cmppair(Dt_t * d, point * key1, point * key2, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("abkab041775ecn23z9ztbxe8"); // if (key1->x > key2->x) UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("1od3mcl1r6qkz58queqlqsqpf"); // else if (key1->x < key2->x) UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("9t8b67k30mtg92rtfjppxdiqp"); // else if (key1->y > key2->y) UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("ez745dtgncmak5md2emlylbyf"); // else if (key1->y < key2->y) UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 243qu49nd4znemfi9dovzqnnf // static Dtdisc_t intPairDisc = //3 9ocn9xjre9dbuxzr4rimpmdyu // PointSet *newPS(void) public static Object newPS(Object... arg) { UNSUPPORTED("2ml9ujrnhdzca443cb0fyqi3a"); // PointSet *newPS(void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4qfk5483zwj8sh8bd61gnkw90"); // return (dtopen(&intPairDisc, Dtoset)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 29w0qfptg5fcqe7pa9ysxxf24 // void freePS(PointSet * ps) public static Object freePS(Object... arg) { UNSUPPORTED("71shzndr8ybq7rfcz3bynfzeo"); // void freePS(PointSet * ps) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2n41ueuz6jf5hzwovomkvnu9e"); // dtclose(ps); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 26czecxd19r4jts5801e0p3yc // void insertPS(PointSet * ps, point pt) public static Object insertPS(Object... arg) { UNSUPPORTED("4kpo3ahry423trlfw0gnl85ci"); // void insertPS(PointSet * ps, point pt) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5nz7va2hisdu765559aff39g1"); // (*(((Dt_t*)(ps))->searchf))((ps),(void*)(mkPair(pt)),0000001); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 51pe8vz30p5qyolmqe83g2qp4 // void addPS(PointSet * ps, int x, int y) public static Object addPS(Object... arg) { UNSUPPORTED("22800higm8gm7pzqh3d7l1e2x"); // void addPS(PointSet * ps, int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("tkw5izt69wl0695g5qfi9sug"); // point pt; UNSUPPORTED("4x5drjd0ygppv2k94igpp68s2"); // pt.x = x; UNSUPPORTED("e8848u2pml7agv3q6uepcvysp"); // pt.y = y; UNSUPPORTED("5nz7va2hisdu765559aff39g1"); // (*(((Dt_t*)(ps))->searchf))((ps),(void*)(mkPair(pt)),0000001); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9wqik179vnp2mvf748gomlz2e // int inPS(PointSet * ps, point pt) public static Object inPS(Object... arg) { UNSUPPORTED("5hbcg2znnaj54e6noysf3bjkd"); // int inPS(PointSet * ps, point pt) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1fnwnz6zqrixdpfmd5wf4hbj"); // pair p; UNSUPPORTED("cfcpmjsvjh9kkbol5hagtik3w"); // p.id = pt; UNSUPPORTED("5le2jlc1ullqn6yncxrgtjuzn"); // return (((*(((Dt_t*)(ps))->searchf))((ps),(void*)(&p),0000004)) ? 1 : 0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 evzua6crsnsens9sqn79g9870 // int isInPS(PointSet * ps, int x, int y) public static Object isInPS(Object... arg) { UNSUPPORTED("9y52o7s1azdpjw0ir8bdiwrbi"); // int isInPS(PointSet * ps, int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1fnwnz6zqrixdpfmd5wf4hbj"); // pair p; UNSUPPORTED("52ncbg9utggt2faggxp64yv9b"); // p.id.x = x; UNSUPPORTED("toamtyw5y1n24o6f8bhjebdy"); // p.id.y = y; UNSUPPORTED("5le2jlc1ullqn6yncxrgtjuzn"); // return (((*(((Dt_t*)(ps))->searchf))((ps),(void*)(&p),0000004)) ? 1 : 0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3ge6wmj43n8wltcu9mvdgbi8e // int sizeOf(PointSet * ps) public static Object sizeOf(Object... arg) { UNSUPPORTED("2hufnw5gxr78twqy79iwbk5qi"); // int sizeOf(PointSet * ps) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("fud5wl6c5377lz88jk8tl6df"); // return dtsize(ps); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 aeabbplwi8b2jltr3hvo2u8fb // point *pointsOf(PointSet * ps) public static Object pointsOf(Object... arg) { UNSUPPORTED("5j2nt4yoll5o04ukqeothfm7e"); // point *pointsOf(PointSet * ps) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("xvfbbvpdrw2pj8y5iunrhdpx"); // int n = dtsize(ps); UNSUPPORTED("66nhf1xm3n33tb1a1afyoiz72"); // point *pts = (point*)zmalloc((n)*sizeof(point)); UNSUPPORTED("1mayx1pkq8tvo6q1tohbs7h0g"); // pair *p; UNSUPPORTED("dgxbjvgw9qxehkxtda1tet15c"); // point *pp = pts; UNSUPPORTED("bopn0x0e9kwopvngvt1ggj0bj"); // for (p = (pair *) dtflatten(ps); p; UNSUPPORTED("cltw13cfus3lhfrqbub1nj9ww"); // p = (pair *) (((Dtlink_t*)((Dtlink_t *) p))->right)) { UNSUPPORTED("es42e0byxv0h2addzvnno11dr"); // *pp++ = p->id; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b7gk8q1reftzri269holggnig"); // return pts; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2zdq8hmprgvlbkb09tw060z4j // static mpair *mkMPair(Dt_t * d, mpair * obj, MPairDisc * disc) public static Object mkMPair(Object... arg) { UNSUPPORTED("8od4qepxjbrd0npy2p4n525sz"); // static mpair *mkMPair(Dt_t * d, mpair * obj, MPairDisc * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("a7ax19rlpmk0gq5o135ekyj2v"); // mpair *ap; UNSUPPORTED("8i0h2wv8nzchq7me2yzoi2rr5"); // if (disc->flist) { UNSUPPORTED("871yli6br2bisjn57hntpk5yv"); // ap = disc->flist; UNSUPPORTED("e0e4d714en0fts1w9blmyus01"); // disc->flist = (mpair *) (ap->link.right); UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("8bghtazkctx5rd8x5dq7ct6kh"); // ap = (mpair*)gmalloc(sizeof(mpair)); UNSUPPORTED("awhqwbhvta5lu28gdja4ksrif"); // ap->id = obj->id; UNSUPPORTED("8yz7tznfa5mz9e10s49okhrqq"); // ap->v = obj->v; UNSUPPORTED("b8cimfvcp1vea97hyfr4m9nix"); // return ap; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4acokeswbf1tb04pl4x0e7a2 // static void freeMPair(Dt_t * d, mpair * ap, MPairDisc * disc) public static Object freeMPair(Object... arg) { UNSUPPORTED("234rcu0vknevmhn0uh86si0tf"); // static void freeMPair(Dt_t * d, mpair * ap, MPairDisc * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8f3y7fxkt4aacm3xtya6wj1qr"); // ap->link.right = (Dtlink_t *) (disc->flist); UNSUPPORTED("8kjj5z628cqd2mpt0nfjhua8i"); // disc->flist = ap; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 clfs1fabh7ggsvjwcvqnajr0u // static Dtdisc_t intMPairDisc = //3 5j9qyf3v639puci6eatfrwzbf // PointMap *newPM(void) public static Object newPM(Object... arg) { UNSUPPORTED("55sisdyi5acf47jzlgf66tpl3"); // PointMap *newPM(void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ph32cws293ik0oys5o4ueitl"); // MPairDisc *dp = (MPairDisc*)gmalloc(sizeof(MPairDisc)); UNSUPPORTED("cfbg00sb8qjccviqalrgp0k65"); // dp->disc = intMPairDisc; UNSUPPORTED("90um1p64u4fyns1gneihfsdq2"); // dp->flist = 0; UNSUPPORTED("7uvu2bzpmwxljh7nt92ruvcol"); // return (dtopen(&(dp->disc), Dtoset)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dv0ah723569ocd3e8mnooplao // void clearPM(PointMap * ps) public static Object clearPM(Object... arg) { UNSUPPORTED("2r2uzvpk2gdjomc1z43diai2d"); // void clearPM(PointMap * ps) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dllfzfavloye8gtk0xaf8dkeo"); // (*(((Dt_t*)(ps))->searchf))((ps),(void*)(0),0000100); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5yylsqhjsyk8492nxg8eobgti // void freePM(PointMap * ps) public static Object freePM(Object... arg) { UNSUPPORTED("3d86luffldotezrdyszgzw3l7"); // void freePM(PointMap * ps) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6oeyeh6rkvtb5yfmicbm755jy"); // MPairDisc *dp = (MPairDisc *) (ps->disc); UNSUPPORTED("176wj0v35v3l53swpcwby8zuu"); // mpair *p; UNSUPPORTED("9u5hxm3hr0dfus7fhehuqdp2f"); // mpair *next; UNSUPPORTED("2n41ueuz6jf5hzwovomkvnu9e"); // dtclose(ps); UNSUPPORTED("dsb15bo7g6d9d1e8fhj2mur10"); // for (p = dp->flist; p; p = next) { UNSUPPORTED("df45pyg1n8tee551mx3v6677q"); // next = (mpair *) (p->link.right); UNSUPPORTED("cy5x5dma0v4hiepir7lrfuo17"); // free(p); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("78g8evdxoh4d3gncvp2jcafxm"); // free(dp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6g6s614i42e0o2y63uuxg1eti // int updatePM(PointMap * pm, int x, int y, int v) public static Object updatePM(Object... arg) { UNSUPPORTED("wqd0pwasc8h44kp424gjsy0l"); // int updatePM(PointMap * pm, int x, int y, int v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("176wj0v35v3l53swpcwby8zuu"); // mpair *p; UNSUPPORTED("1p95im01jnitld3s790sv5fnx"); // mpair dummy; UNSUPPORTED("aqvur770zqpckwsqkcelmntsw"); // int old; UNSUPPORTED("12hvr7ilrqa35kjntuwgshfnx"); // dummy.id.x = x; UNSUPPORTED("1nursujxr7qsg0kgumb48rv91"); // dummy.id.y = y; UNSUPPORTED("lrm57wmjqy47ubrh2aaj8zyj"); // dummy.v = v; UNSUPPORTED("2v0q67ylfpp0lz69ee8po35uh"); // p = (*(((Dt_t*)(pm))->searchf))((pm),(void*)(&dummy),0000001); UNSUPPORTED("2cvqyi58pru3tbg96x36qrw6u"); // old = p->v; UNSUPPORTED("5eou6l5nll8srjedmdlpnyxk6"); // p->v = v; UNSUPPORTED("1h4i0djjoipq1eaw0s2g163jp"); // return old; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 edyucrjzf4bhg6ob6rbj6omrk // int insertPM(PointMap * pm, int x, int y, int v) public static Object insertPM(Object... arg) { UNSUPPORTED("27rtedlaes5upd9o92eg8lsx6"); // int insertPM(PointMap * pm, int x, int y, int v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("176wj0v35v3l53swpcwby8zuu"); // mpair *p; UNSUPPORTED("1p95im01jnitld3s790sv5fnx"); // mpair dummy; UNSUPPORTED("12hvr7ilrqa35kjntuwgshfnx"); // dummy.id.x = x; UNSUPPORTED("1nursujxr7qsg0kgumb48rv91"); // dummy.id.y = y; UNSUPPORTED("lrm57wmjqy47ubrh2aaj8zyj"); // dummy.v = v; UNSUPPORTED("2v0q67ylfpp0lz69ee8po35uh"); // p = (*(((Dt_t*)(pm))->searchf))((pm),(void*)(&dummy),0000001); UNSUPPORTED("1qvo8bdep1ocakhfxstvnkdmy"); // return p->v; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/common/postproc__c.java000066400000000000000000001520261340005343600230440ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static gen.lib.cgraph.attr__c.agattr; import static gen.lib.cgraph.edge__c.agfstout; import static gen.lib.cgraph.edge__c.aghead; import static gen.lib.cgraph.edge__c.agnxtout; import static gen.lib.cgraph.edge__c.agtail; import static gen.lib.cgraph.graph__c.agnnodes; import static gen.lib.cgraph.id__c.agnameof; import static gen.lib.cgraph.node__c.agfstnode; import static gen.lib.cgraph.node__c.agnxtnode; import static gen.lib.cgraph.obj__c.agroot; import static gen.lib.common.geom__c.ccwrotatepf; import static gen.lib.common.splines__c.edgeMidpoint; import static gen.lib.common.splines__c.getsplinepoints; import static gen.lib.common.utils__c.late_bool; import static gen.lib.common.utils__c.updateBB; import static gen.lib.label.xlabels__c.placeLabels; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.AGRAPH; import static smetana.core.Macro.ED_edge_type; import static smetana.core.Macro.ED_head_label; import static smetana.core.Macro.ED_label; import static smetana.core.Macro.ED_spl; import static smetana.core.Macro.ED_tail_label; import static smetana.core.Macro.ED_xlabel; import static smetana.core.Macro.GD_bb; import static smetana.core.Macro.GD_border; import static smetana.core.Macro.GD_clust; import static smetana.core.Macro.GD_flags; import static smetana.core.Macro.GD_flip; import static smetana.core.Macro.GD_has_labels; import static smetana.core.Macro.GD_label; import static smetana.core.Macro.GD_label_pos; import static smetana.core.Macro.GD_n_cluster; import static smetana.core.Macro.GD_rankdir; import static smetana.core.Macro.INT_MAX; import static smetana.core.Macro.MAX; import static smetana.core.Macro.MIN; import static smetana.core.Macro.N; import static smetana.core.Macro.ND_coord; import static smetana.core.Macro.ND_height; import static smetana.core.Macro.ND_width; import static smetana.core.Macro.ND_xlabel; import static smetana.core.Macro.NOTI; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agedge_s; import h.ST_Agnode_s; import h.ST_Agraph_s; import h.ST_Agsym_s; import h.ST_bezier; import h.ST_boxf; import h.ST_cinfo_t; import h.ST_label_params_t; import h.ST_object_t; import h.ST_pointf; import h.ST_splines; import h.ST_textlabel_t; import h.ST_xlabel_t; import smetana.core.CString; import smetana.core.Memory; import smetana.core.Z; public class postproc__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 1b0s7t28jl5ftrxccb8fsopp4 // static int Rankdir //private static int Rankdir; //1 3oo1lt5jtd6kuqjr6qqlnkutt // static boolean Flip //private static boolean Flip; //1 ejooa1m5uoq0ue852wtuerpy // static pointf Offset //private final static ST_pointf Offset = new ST_pointf(); //3 dajapw16wus3rwimkrk5ihi2b // static pointf map_point(pointf p) public static ST_pointf map_point(final ST_pointf p) { // WARNING!! STRUCT return map_point_w_(p.copy()).copy(); } private static ST_pointf map_point_w_(final ST_pointf p) { ENTERING("dajapw16wus3rwimkrk5ihi2b","map_point"); try { p.___(ccwrotatepf(p, Z.z().Rankdir * 90)); p.setDouble("x", p.x - Z.z().Offset.x); p.setDouble("y", p.y - Z.z().Offset.y); return p; } finally { LEAVING("dajapw16wus3rwimkrk5ihi2b","map_point"); } } //3 bvq3vvonvotn47mfe5zsvchie // static void map_edge(edge_t * e) public static void map_edge(ST_Agedge_s e) { ENTERING("bvq3vvonvotn47mfe5zsvchie","map_edge"); try { int j, k; final ST_bezier bz = new ST_bezier(); if (ED_spl(e) == null) { if ((Z.z().Concentrate == false) && (ED_edge_type(e) != 6)) System.err.println("lost %s %s edge\n"+ agnameof(agtail(e))+ agnameof(aghead(e))); return; } for (j = 0; j < ED_spl(e).size; j++) { bz.___(ED_spl(e).list.plus(j).getStruct()); for (k = 0; k < bz.size; k++) { bz.list.get(k).setStruct(map_point((ST_pointf) bz.list.get(k).getStruct())); } if (bz.sflag!=0) UNSUPPORTED("7894dgzvk2um2w1a5ph2r0bcc"); // ED_spl(e)->list[j].sp = map_point(ED_spl(e)->list[j].sp); if (bz.eflag!=0) { ED_spl(e).list.get(j).ep.___(map_point((ST_pointf) ED_spl(e).list.get(j).ep)); } } if (ED_label(e)!=null) ED_label(e).pos.___(map_point((ST_pointf) ED_label(e).pos)); if (ED_xlabel(e)!=null) UNSUPPORTED("al3tnq9zjjqeq1ll7qdxyu3ja"); // ED_xlabel(e)->pos = map_point(ED_xlabel(e)->pos); /* vladimir */ if (ED_head_label(e)!=null) ED_head_label(e).setStruct("pos", map_point((ST_pointf) ED_head_label(e).pos)); if (ED_tail_label(e)!=null) ED_tail_label(e).setStruct("pos", map_point((ST_pointf) ED_tail_label(e).pos)); } finally { LEAVING("bvq3vvonvotn47mfe5zsvchie","map_edge"); } } //3 a3hf82rxsojxbunj6p8a6bkse // void translate_bb(graph_t * g, int rankdir) public static void translate_bb(ST_Agraph_s g, int rankdir) { ENTERING("a3hf82rxsojxbunj6p8a6bkse","translate_bb"); try { int c; final ST_boxf bb = new ST_boxf(), new_bb = new ST_boxf(); bb.___(GD_bb(g)); if (rankdir == 1 || rankdir == 2) { UNSUPPORTED("d4wrtj0h7lkb0e0vernd9czq9"); // new_bb.LL = map_point(pointfof(bb.LL.x, bb.UR.y)); UNSUPPORTED("crysiae5zxc69cj3v2ygfs8xn"); // new_bb.UR = map_point(pointfof(bb.UR.x, bb.LL.y)); } else { new_bb.LL.___(map_point(pointfof(bb.LL.x, bb.LL.y))); new_bb.UR.___(map_point(pointfof(bb.UR.x, bb.UR.y))); } GD_bb(g).___(new_bb); if (GD_label(g)!=null) { GD_label(g).setStruct("pos", map_point((ST_pointf) GD_label(g).pos)); } for (c = 1; c <= GD_n_cluster(g); c++) translate_bb((ST_Agraph_s) GD_clust(g).get(c).getPtr(), rankdir); } finally { LEAVING("a3hf82rxsojxbunj6p8a6bkse","translate_bb"); } } //3 h4i5qxnd7hlrew919abswd13 // static void translate_drawing(graph_t * g) public static void translate_drawing(ST_Agraph_s g) { ENTERING("h4i5qxnd7hlrew919abswd13","translate_drawing"); try { ST_Agnode_s v; ST_Agedge_s e; boolean shift = (Z.z().Offset.x!=0.0 || Z.z().Offset.y!=0.0); if (N(shift) && N(Z.z().Rankdir)) return; for (v = agfstnode(g); v!=null; v = agnxtnode(g, v)) { if (Z.z().Rankdir!=0) UNSUPPORTED("e0j848r4j1j7sojfht5gwikvi"); // gv_nodesize(v, 0); ND_coord(v).___(map_point(ND_coord(v))); if (ND_xlabel(v)!=null) UNSUPPORTED("3fy0l7w2v24hzrvlpstpknwl7"); // ND_xlabel(v)->pos = map_point(ND_xlabel(v)->pos); if (Z.z().State == 1) for (e = agfstout(g, v); e!=null; e = agnxtout(g, e)) map_edge(e); } translate_bb(g, GD_rankdir(g)); } finally { LEAVING("h4i5qxnd7hlrew919abswd13","translate_drawing"); } } //3 52s5qfdn5zxeyuodfq8tgxwaa // static void place_root_label(graph_t * g, pointf d) public static Object place_root_label(Object... arg) { UNSUPPORTED("8m0j9ogp2h20aphxjuxn7copg"); // static void place_root_label(graph_t * g, pointf d) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2bghyit203pd6xw2ihhenzyn8"); // pointf p; UNSUPPORTED("2gqofhemdqlul2pxjvuyly8gr"); // if (GD_label_pos(g) & 4) { UNSUPPORTED("5y20n2wgxe7hnzxnkg9144bhl"); // p.x = GD_bb(g).UR.x - d.x / 2; UNSUPPORTED("2892hrfudeikl7o70w4nofhny"); // } else if (GD_label_pos(g) & 2) { UNSUPPORTED("2wafl9f5ytdr13m270aknhkub"); // p.x = GD_bb(g).LL.x + d.x / 2; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("aktxwmc3uefegw0cs334i9dw8"); // p.x = (GD_bb(g).LL.x + GD_bb(g).UR.x) / 2; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dpev8t1rdycpdnwjscmowsvaf"); // if (GD_label_pos(g) & 1) { UNSUPPORTED("1d6n5uhjoy1y3mfj3ddrdt6rc"); // p.y = GD_bb(g).UR.y - d.y / 2; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("d6z40q4ju0vq45te2z2prcsua"); // p.y = GD_bb(g).LL.y + d.y / 2; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dgs75zvkk4komxfg61cia1t82"); // GD_label(g)->pos = p; UNSUPPORTED("8dkewv20cdne73egfv2tn37lb"); // GD_label(g)->set = NOT(0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2i713kmewjct2igf3lwm80462 // static pointf centerPt (xlabel_t* xlp) public static ST_pointf centerPt(ST_xlabel_t.Array xlp) { ENTERING("2i713kmewjct2igf3lwm80462","centerPt"); try { final ST_pointf p = new ST_pointf(); p.___(xlp.getStruct().pos); p.setDouble("x", p.x + xlp.getStruct().sz.x/2); p.setDouble("y", p.y + xlp.getStruct().sz.y/2); return p; } finally { LEAVING("2i713kmewjct2igf3lwm80462","centerPt"); } } //3 2ozwtuocg4cz5ghqemmche3vt // static int printData (object_t* objs, int n_objs, xlabel_t* lbls, int n_lbls, label_params_t* params) public static Object printData(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("ckiu0galpa1852h3cty8ba6r7"); // printData (object_t* objs, int n_objs, xlabel_t* lbls, int n_lbls, UNSUPPORTED("dzs60ka6anviw625w47fdcq2z"); // label_params_t* params) { UNSUPPORTED("327a0i7b6rqjqj8wdl0h29mnc"); // int i; UNSUPPORTED("2v2z0ng0lije7nd5xnnwpvhsk"); // xlabel_t* xp; UNSUPPORTED("8b4vu28i0jzto8xj8y5xidmfi"); // fprintf (stderr, "%d objs %d xlabels force=%d bb=(%.02f,%.02f) (%.02f,%.02f)\n", UNSUPPORTED("4brfvoc74eb0wrjbv0jim84br"); // n_objs, n_lbls, params->force, params->bb.LL.x, params->bb.LL.y, UNSUPPORTED("bg9iybxqjpzhrq7ake4qd022a"); // params->bb.UR.x, params->bb.UR.y); UNSUPPORTED("cqr6z8w761iogdatyx6tujxrj"); // if (Verbose < 2) return 0; UNSUPPORTED("3k661zowi8f52at88thx4gq3c"); // fprintf(stderr, "objects\n"); UNSUPPORTED("a0du2scf7lcyviw12x1mpntj5"); // for (i = 0; i < n_objs; i++) { UNSUPPORTED("7ljpm4lk7dhgz8jneyiurqcqj"); // xp = objs->lbl; UNSUPPORTED("6synbitl0b8qre39c8hfx9ji7"); // fprintf (stderr, " [%d] (%.02f,%.02f) (%.02f,%.02f) %p \"%s\"\n", UNSUPPORTED("5fncs0x8f05ep5nr4lds4lyfi"); // i, objs->pos.x,objs->pos.y,objs->sz.x,objs->sz.y, objs->lbl, UNSUPPORTED("csy4r7zdyqrnbp3yvfpm66w59"); // (xp?((textlabel_t*)(xp->lbl))->text:"")); UNSUPPORTED("bd3gftycfqozopsoe1ptqueov"); // objs++; UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("2kq3xkqpgi5kr4141ab3bukkd"); // fprintf(stderr, "xlabels\n"); UNSUPPORTED("9dzxzlqrz9th6wohjjvd93rtd"); // for (i = 0; i < n_lbls; i++) { UNSUPPORTED("6e093u52b50denwzlx0m7a36a"); // fprintf (stderr, " [%d] %p set %d (%.02f,%.02f) (%.02f,%.02f) %s\n", UNSUPPORTED("bb908gbwccyotc72hfeopef2e"); // i, lbls, lbls->set, lbls->pos.x,lbls->pos.y, lbls->sz.x,lbls->sz.y, ((textlabel_t*)lbls->lbl)->text); UNSUPPORTED("30hn2ulrrh2sxlt3rd89e1nja"); // lbls++; UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("bid671dovx1rdiquw5vm3fttj"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 95pnpuiq4khinrz2bqkci9nfg // static pointf edgeTailpoint (Agedge_t* e) public static ST_pointf edgeTailpoint(ST_Agedge_s e) { ENTERING("95pnpuiq4khinrz2bqkci9nfg","edgeTailpoint"); try { return edgeTailpoint_(e).copy(); } finally { LEAVING("95pnpuiq4khinrz2bqkci9nfg","edgeTailpoint"); } } private static ST_pointf edgeTailpoint_(ST_Agedge_s e) { ST_splines spl; ST_bezier bez; spl = getsplinepoints(e); if (spl == null) { UNSUPPORTED("9wdrv4uc4c7ssn0qpmxgz5eu1"); // pointf p; UNSUPPORTED("ezy0ey6dn5uqp6peuorn615x6"); // p.x = p.y = 0; UNSUPPORTED("68kasxgknec72r19lohbk6n3q"); // return p; } bez = spl.list.get(0); // bez = &spl->list[0]; if (bez.sflag!=0) { return (ST_pointf) bez.sp; } else { return (ST_pointf) (bez.getPtr()).list.get(0); // return bez->list[0]; } } //3 av67wf2xi70ncgl90j1ttrjjs // static pointf edgeHeadpoint (Agedge_t* e) public static ST_pointf edgeHeadpoint(ST_Agedge_s e) { ENTERING("av67wf2xi70ncgl90j1ttrjjs","edgeHeadpoint"); try { return edgeHeadpoint_(e).copy(); } finally { LEAVING("av67wf2xi70ncgl90j1ttrjjs","edgeHeadpoint"); } } private static ST_pointf edgeHeadpoint_(ST_Agedge_s e) { ST_splines spl; ST_bezier bez; spl = getsplinepoints(e); if (spl == null) { UNSUPPORTED("9wdrv4uc4c7ssn0qpmxgz5eu1"); // pointf p; UNSUPPORTED("ezy0ey6dn5uqp6peuorn615x6"); // p.x = p.y = 0; UNSUPPORTED("68kasxgknec72r19lohbk6n3q"); // return p; } bez = spl.list.plus(spl.size - 1).getPtr(); // bez = &spl->list[spl->size - 1]; if (bez.eflag!=0) { return (ST_pointf) bez.ep; } else { return (ST_pointf) ((ST_bezier)bez.getPtr()).list.plus(bez.size - 1).getStruct(); // return bez->list[bez->size - 1]; } } //3 1ca6fh8ns5bgzfzcz8al4eh4k // static boxf adjustBB (object_t* objp, boxf bb) public static ST_boxf adjustBB(ST_object_t.Array objp, ST_boxf bb) { ENTERING("1ca6fh8ns5bgzfzcz8al4eh4k","adjustBB"); try { return adjustBB_(objp, bb.copy()).copy(); } finally { LEAVING("1ca6fh8ns5bgzfzcz8al4eh4k","adjustBB"); } } private static ST_boxf adjustBB_(ST_object_t.Array objp, ST_boxf bb) { final ST_pointf ur = new ST_pointf(); /* Adjust bounding box */ bb.LL.setDouble("x", MIN(bb.LL.x, objp.getStruct().pos.x)); bb.LL.setDouble("y", MIN(bb.LL.y, objp.getStruct().pos.y)); ur.setDouble("x", objp.getStruct().pos.x + objp.getStruct().sz.x); ur.setDouble("y", objp.getStruct().pos.y + objp.getStruct().sz.y); bb.UR.setDouble("x", MAX(bb.UR.x, ur.x)); bb.UR.setDouble("y", MAX(bb.UR.y, ur.y)); return bb; } //3 3mefe722uemyoa0czmkkw6hjb // static void addXLabel (textlabel_t* lp, object_t* objp, xlabel_t* xlp, int initObj, pointf pos) public static void addXLabel(ST_textlabel_t lp, ST_object_t.Array objp, ST_xlabel_t.Array xlp, int initObj, ST_pointf pos) { ENTERING("3mefe722uemyoa0czmkkw6hjb","addXLabel"); try { addXLabel_(lp, objp, xlp, initObj, pos.copy()); } finally { LEAVING("3mefe722uemyoa0czmkkw6hjb","addXLabel"); } } private static void addXLabel_(ST_textlabel_t lp, ST_object_t.Array objp, ST_xlabel_t.Array xlp, int initObj, ST_pointf pos) { if (initObj!=0) { objp.getStruct().sz.setDouble("x", 0); objp.getStruct().sz.setDouble("y", 0); objp.setStruct("pos", pos); } if (Z.z().Flip) { UNSUPPORTED("99tzt7erbvtfsbo0jbdz0lc8m"); // xlp->sz.x = lp->dimen.y; UNSUPPORTED("6v5t3ysaisj27bwc0r9zg3rpd"); // xlp->sz.y = lp->dimen.x; } else { xlp.get(0).sz.___(lp.dimen); } xlp.get(0).lbl = lp; xlp.get(0).set = 0; objp.setPtr("lbl", xlp); } //3 dwxd5kvlanbcxqfuncjg0ea54 // static boxf addLabelObj (textlabel_t* lp, object_t* objp, boxf bb) public static ST_boxf addLabelObj(ST_textlabel_t lp, ST_object_t.Array objp, final ST_boxf bb) { // WARNING!! STRUCT return addLabelObj_(lp, objp, bb.copy()).copy(); } private static ST_boxf addLabelObj_(ST_textlabel_t lp, ST_object_t.Array objp, final ST_boxf bb) { ENTERING("dwxd5kvlanbcxqfuncjg0ea54","addLabelObj"); try { if (Z.z().Flip) { UNSUPPORTED("6z2yrwq81gtsk3q9c5pofow1x"); // objp->sz.x = lp->dimen.y; UNSUPPORTED("8xsm9kavrekjrsydqe1wh1pu"); // objp->sz.y = lp->dimen.x; } else { objp.getStruct().sz.setDouble("x", lp.dimen.x); objp.getStruct().sz.setDouble("y", lp.dimen.y); } objp.setStruct("pos", lp.pos); objp.getStruct().pos.setDouble("x", objp.getStruct().pos.x - (objp.getStruct().sz.x / 2.0 )); objp.getStruct().pos.setDouble("y", objp.getStruct().pos.y - (objp.getStruct().sz.y / 2.0 )); return adjustBB(objp, bb); } finally { LEAVING("dwxd5kvlanbcxqfuncjg0ea54","addLabelObj"); } } //3 b8tjygxnwny5qoiir1mha1d62 // static boxf addNodeObj (node_t* np, object_t* objp, boxf bb) public static ST_boxf addNodeObj(ST_Agnode_s np, ST_object_t.Array objp, final ST_boxf bb) { // WARNING!! STRUCT return addNodeObj_(np, objp, bb.copy()).copy(); } public static ST_boxf addNodeObj_(ST_Agnode_s np, ST_object_t.Array objp, final ST_boxf bb) { ENTERING("b8tjygxnwny5qoiir1mha1d62","map_point"); try { if (Z.z().Flip) { UNSUPPORTED("1ri5uimcd1z58iix8tp528l1m"); // objp->sz.x = ((ND_height(np))*(double)72); UNSUPPORTED("6r5gwwhz3sjxrssh8yo3v5c3v"); // objp->sz.y = ((ND_width(np))*(double)72); } else { objp.getStruct().sz.setDouble("x", ((ND_width(np))*(double)72)); objp.getStruct().sz.setDouble("y", ((ND_height(np))*(double)72)); } objp.setPtr("pos", ND_coord(np)); objp.getStruct().pos.setDouble("x", objp.getStruct().pos.x - objp.getStruct().sz.x / 2.0); objp.getStruct().pos.setDouble("y", objp.getStruct().pos.y - objp.getStruct().sz.y / 2.0); return adjustBB(objp, bb); } finally { LEAVING("dajapw16wus3rwimkrk5ihi2b","map_point"); } } //3 6kx3lin2ig9o2otk2bqzdvd4t // static cinfo_t addClusterObj (Agraph_t* g, cinfo_t info) public static ST_cinfo_t addClusterObj(ST_Agraph_s g, ST_cinfo_t info) { ENTERING("6kx3lin2ig9o2otk2bqzdvd4t","addClusterObj"); try { return addClusterObj_(g, info.copy()).copy(); } finally { LEAVING("6kx3lin2ig9o2otk2bqzdvd4t","addClusterObj"); } } private static ST_cinfo_t addClusterObj_(ST_Agraph_s g, ST_cinfo_t info) { int c; for (c = 1; c <= GD_n_cluster(g); c++) info.___(addClusterObj ((ST_Agraph_s)GD_clust(g).get(c).castTo(ST_Agraph_s.class), info)); if (NEQ(g, agroot(g)) && (GD_label(g)!=null) && GD_label(g).set!=0) { ST_object_t.Array objp = info.objp; info.setStruct("bb", addLabelObj (GD_label(g), objp, (ST_boxf) info.bb)); info.objp = info.objp.plus(1); //UNSUPPORTED("dcgq2zlh4t0m1gno12t6h7ouy"); // object_t* objp = info.objp; //UNSUPPORTED("ddz79zm5235krd6smukq1gza0"); // info.bb = addLabelObj (GD_label(g), objp, info.bb); //UNSUPPORTED("be25qc3x3muxo4l87ji01t3kd"); // info.objp++; } return info; } //3 2tdbzvdtkwxp75kj0iufsynm5 // static int countClusterLabels (Agraph_t* g) public static int countClusterLabels(ST_Agraph_s g) { ENTERING("2tdbzvdtkwxp75kj0iufsynm5","countClusterLabels"); try { int c, i = 0; if (NEQ(g, agroot(g)) && GD_label(g)!=null && GD_label(g).set!=0) i++; for (c = 1; c <= GD_n_cluster(g); c++) i += countClusterLabels((ST_Agraph_s) GD_clust(g).plus(c).castTo(ST_Agraph_s.class)); return i; } finally { LEAVING("2tdbzvdtkwxp75kj0iufsynm5","countClusterLabels"); } } //3 d4215jd9wukfn6t0iknwzjcof // static void addXLabels(Agraph_t * gp) public static void addXLabels(ST_Agraph_s gp) { ENTERING("d4215jd9wukfn6t0iknwzjcof","addXLabels"); try { ST_Agnode_s np; ST_Agedge_s ep; int cnt, i, n_objs, n_lbls; int n_nlbls = 0; /* # of unset node xlabels */ int n_elbls = 0; /* # of unset edge labels or xlabels */ int n_set_lbls = 0; /* # of set xlabels and edge labels */ int n_clbls = 0; /* # of set cluster labels */ final ST_boxf bb = new ST_boxf(); final ST_pointf ur = new ST_pointf(); ST_textlabel_t lp; final ST_label_params_t params = new ST_label_params_t(); ST_object_t.Array objs; ST_xlabel_t.Array lbls; ST_object_t.Array objp; ST_xlabel_t.Array xlp; ST_Agsym_s force; int et = (GD_flags(gp) & (7 << 1)); if (N(GD_has_labels(gp) & (1 << 4)) && N(GD_has_labels(gp) & (1 << 5)) && N(GD_has_labels(gp) & (1 << 2)) && N(GD_has_labels(gp) & (1 << 1)) && (N(GD_has_labels(gp) & (1 << 0)) || Z.z().EdgeLabelsDone!=0)) return; for (np = agfstnode(gp); np!=null; np = agnxtnode(gp, np)) { if (ND_xlabel(np)!=null) { UNSUPPORTED("6oje33bnpp4jv5mclsrrhl005"); // if (ND_xlabel(np)->set) UNSUPPORTED("cfkrw6t4lrs7dfgx86sgrz26"); // n_set_lbls++; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("26eewzzknvqt2nbcrqds5fmti"); // n_nlbls++; } for (ep = agfstout(gp, np); ep!=null; ep = agnxtout(gp, ep)) { if (ED_xlabel(ep)!=null) { UNSUPPORTED("appkettxihy2o612jk6fahbnh"); // if (ED_xlabel(ep)->set) UNSUPPORTED("8k2rclvg6eaoph9r2pz4620xq"); // n_set_lbls++; UNSUPPORTED("14y6caappoxe17mogr979qf75"); // else if (((et != (0 << 1)) && (ED_spl(ep) != NULL))) UNSUPPORTED("q3t8uxncrxc4n8rtuabtzxya"); // n_elbls++; } if (ED_head_label(ep)!=null) { if (ED_head_label(ep).set!=0) n_set_lbls++; else if (((et != (0 << 1)) && (ED_spl(ep) != null))) n_elbls++; } if (ED_tail_label(ep)!=null) { if (ED_tail_label(ep).set!=0) n_set_lbls++; else if (((et != (0 << 1)) && (ED_spl(ep) != null))) n_elbls++; } if (ED_label(ep)!=null) { if (ED_label(ep).set!=0) n_set_lbls++; else if (((et != (0 << 1)) && (ED_spl(ep) != null))) n_elbls++; } } } if ((GD_has_labels(gp) & (1 << 3))!=0) n_clbls = countClusterLabels (gp); /* A label for each unpositioned external label */ n_lbls = n_nlbls + n_elbls; if (n_lbls == 0) return; /* An object for each node, each positioned external label, any cluster label, * and all unset edge labels and xlabels. */ n_objs = agnnodes(gp) + n_set_lbls + n_clbls + n_elbls; objs = new ST_object_t.Array(n_objs); objp = objs; lbls = new ST_xlabel_t.Array(n_lbls); xlp = lbls; bb.setStruct("LL", pointfof(INT_MAX, INT_MAX)); bb.setStruct("UR", pointfof(-INT_MAX, -INT_MAX)); for (np = agfstnode(gp); np!=null; np = agnxtnode(gp, np)) { bb.___(addNodeObj (np, objp, bb)); lp = ND_xlabel(np); if (lp != null) { UNSUPPORTED("d5pjy3dwui27jfdz550cy0cln"); // if (lp->set) { UNSUPPORTED("cls7z8l7wi371a4wrec0viqil"); // objp++; UNSUPPORTED("3zy3jhlqyioeyh9mlrspjjgc6"); // bb = addLabelObj (lp, objp, bb); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("2msn58w2dse7pbq2esv7awk4r"); // addXLabel (lp, objp, xlp, 0, ur); UNSUPPORTED("1zpq9rd3nn9kjrmun8ivs9zx5"); // xlp++; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } } objp = objp.plus(1); for (ep = agfstout(gp, np); ep!=null; ep = agnxtout(gp, ep)) { lp = ED_label(ep); if (lp != null) { if (lp.set!=0) { bb.___(addLabelObj (lp, objp, bb)); } else if (((et != (0 << 1)) && (ED_spl(ep) != null))) { addXLabel (lp, objp, xlp, 1, edgeMidpoint(gp, ep)); xlp = xlp.plus(1); } else { UNSUPPORTED("3ia66n3hqrwmh3hybkoh6f8wa"); // agerr(AGWARN, "no position for edge with label %s", UNSUPPORTED("9npeksy1st7v005znerttzzzv"); // ED_label(ep)->text); UNSUPPORTED("2yi9az7ibt7j9bwztjilyo0v2"); // continue; } objp = objp.plus(1); } lp = ED_tail_label(ep); if (lp != null) { if (lp.set!=0) { UNSUPPORTED("7rwrlod7lkgin3rnnzy3iw2rw"); // bb = addLabelObj (lp, objp, bb); } else if (((et != (0 << 1)) && (ED_spl(ep) != null))) { addXLabel (lp, objp, xlp, 1, edgeTailpoint(ep)); xlp = xlp.plus(1); } else { UNSUPPORTED("5ixexxcbcix5hrfl43td7pj4s"); // agerr(AGWARN, "no position for edge with tail label %s", UNSUPPORTED("cf9qaysecgkvv4165la4uu6cb"); // ED_tail_label(ep)->text); UNSUPPORTED("2yi9az7ibt7j9bwztjilyo0v2"); // continue; } objp = objp.plus(1); } lp = ED_head_label(ep); if (lp != null) { if (lp.set!=0) { UNSUPPORTED("7rwrlod7lkgin3rnnzy3iw2rw"); // bb = addLabelObj (lp, objp, bb); } else if (((et != (0 << 1)) && (ED_spl(ep) != null))) { addXLabel (lp, objp, xlp, 1, edgeHeadpoint(ep)); xlp = xlp.plus(1); } else { UNSUPPORTED("8nrkavpg9ifts9yylhfijn9rp"); // agerr(AGWARN, "no position for edge with head label %s", UNSUPPORTED("a5omwtwd411hsfrc37d8t6m8b"); // ED_head_label(ep)->text); UNSUPPORTED("2yi9az7ibt7j9bwztjilyo0v2"); // continue; } objp = objp.plus(1); } lp = ED_xlabel(ep); if (lp != null) { UNSUPPORTED("5dapykbxjvnhw0dpi7jfpcazk"); // if (lp->set) { UNSUPPORTED("7rwrlod7lkgin3rnnzy3iw2rw"); // bb = addLabelObj (lp, objp, bb); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("dfnmpe0hri6ksye0gnxssi4zz"); // else if (((et != (0 << 1)) && (ED_spl(ep) != NULL))) { UNSUPPORTED("9ffmrymv8cg4h4b3ea97t9qbp"); // addXLabel (lp, objp, xlp, 1, edgeMidpoint(gp, ep)); UNSUPPORTED("808184nt3k6cxj5dsg27yvpvg"); // xlp++; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else { UNSUPPORTED("dbskad3xgu5oqqhwl1cr9f88g"); // agerr(AGWARN, "no position for edge with xlabel %s", UNSUPPORTED("dtpynjioyrbt2xfca2o46eb0j"); // ED_xlabel(ep)->text); UNSUPPORTED("2yi9az7ibt7j9bwztjilyo0v2"); // continue; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("cls7z8l7wi371a4wrec0viqil"); // objp++; } } } if (n_clbls!=0) { final ST_cinfo_t info = new ST_cinfo_t(); info.setStruct("bb", bb); info.objp = objp; info.___(addClusterObj (gp, info)); bb.___(info.bb); } force = (agattr(gp,AGRAPH,new CString("forcelabels"),null)); params.force = late_bool(gp, force, 1); params.setStruct("bb", bb); placeLabels(objs, n_objs, lbls, n_lbls, params); // if (Verbose) // printData(objs, n_objs, lbls, n_lbls, ¶ms); xlp = lbls; cnt = 0; for (i = 0; i < n_lbls; i++) { if (xlp.get(0).set!=0) { cnt++; lp = xlp.getStruct().lbl; lp.setInt("set", 1); lp.setStruct("pos", centerPt(xlp)); updateBB (gp, lp); } xlp = xlp.plus(1); } // if (Verbose) // fprintf (stderr, "%d out of %d labels positioned.\n", cnt, n_lbls); if (cnt != n_lbls) UNSUPPORTED("9hqu9h8q1a2xl4ty48ct0fdyp"); // agerr(AGWARN, "%d out of %d exterior labels positioned.\n", cnt, n_lbls); Memory.free(objs); Memory.free(lbls); } finally { LEAVING("d4215jd9wukfn6t0iknwzjcof","addXLabels"); } } //3 8fc0zxg8y7hec3n4evx3jw6cq // void gv_postprocess(Agraph_t * g, int allowTranslation) public static void gv_postprocess(ST_Agraph_s g, int allowTranslation) { ENTERING("8fc0zxg8y7hec3n4evx3jw6cq","gv_postprocess"); try { double diff; final ST_pointf dimen = new ST_pointf(); Z.z().Rankdir = GD_rankdir(g); Z.z().Flip = GD_flip(g)!=0; /* Handle cluster labels */ if (Z.z().Flip) UNSUPPORTED("4hxky2sp978rmy6018sfmts6m"); // place_flip_graph_label(g); else place_graph_label(g); /* Everything has been placed except the root graph label, if any. * The graph positions have not yet been rotated back if necessary. */ addXLabels(g); /* Add space for graph label if necessary */ if (GD_label(g)!=null && N(GD_label(g).set)) { UNSUPPORTED("crj0py2wme4b5l8apvbxqcmqa"); // dimen = GD_label(g)->dimen; UNSUPPORTED("22jhn709g4c5wh0gb6v40rh19"); // {((dimen).x += 4*4); ((dimen).y += 2*4);}; UNSUPPORTED("9k69y89jybam5elefg45va3ey"); // if (Flip) { UNSUPPORTED("andsvpqa42ef9h5dkn3uyv6tj"); // if (GD_label_pos(g) & 1) { UNSUPPORTED("65ggem18g4zgz2yx552vi2n4v"); // GD_bb(g).UR.x += dimen.y; UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("9dm14vohn1tuwqrwprpdywylr"); // GD_bb(g).LL.x -= dimen.y; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("94nnj9ien92542qanqtyo8qzq"); // if (dimen.x > (GD_bb(g).UR.y - GD_bb(g).LL.y)) { UNSUPPORTED("awekuk9gokwsbb49j41hvhqt4"); // diff = dimen.x - (GD_bb(g).UR.y - GD_bb(g).LL.y); UNSUPPORTED("5856jxlve8fb2pennnazjjkij"); // diff = diff / 2.; UNSUPPORTED("3t8m6fustsc50cpggxiadcjax"); // GD_bb(g).LL.y -= diff; UNSUPPORTED("7c25kl7mn9jd5x5x2uflcql86"); // GD_bb(g).UR.y += diff; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("andsvpqa42ef9h5dkn3uyv6tj"); // if (GD_label_pos(g) & 1) { UNSUPPORTED("7x8evhhttjy9mwgcpfpb3l7lm"); // if (Rankdir == 0) UNSUPPORTED("45a42yl5qj83sj5mzdd6k6wcj"); // GD_bb(g).UR.y += dimen.y; UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("6i55hrio04eg5ilg5i01jw8vv"); // GD_bb(g).LL.y -= dimen.y; UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("7x8evhhttjy9mwgcpfpb3l7lm"); // if (Rankdir == 0) UNSUPPORTED("6i55hrio04eg5ilg5i01jw8vv"); // GD_bb(g).LL.y -= dimen.y; UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("45a42yl5qj83sj5mzdd6k6wcj"); // GD_bb(g).UR.y += dimen.y; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("p1mrpzvl0adzwcw3lialn8v3"); // if (dimen.x > (GD_bb(g).UR.x - GD_bb(g).LL.x)) { UNSUPPORTED("3ie0x59qavcqpnvy7kci31lgc"); // diff = dimen.x - (GD_bb(g).UR.x - GD_bb(g).LL.x); UNSUPPORTED("5856jxlve8fb2pennnazjjkij"); // diff = diff / 2.; UNSUPPORTED("anqdsrkl2qs1pqbuivrdz6fnt"); // GD_bb(g).LL.x -= diff; UNSUPPORTED("c0ah0pvnkczqdg5jt0u955wns"); // GD_bb(g).UR.x += diff; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } } if (allowTranslation!=0) { switch (Z.z().Rankdir) { case 0: Z.z().Offset.___(GD_bb(g).LL); break; case 1: UNSUPPORTED("5t3j9lrc86kd5ouaqgzvz3qcm"); // Offset = pointfof(-GD_bb(g).UR.y, GD_bb(g).LL.x); break; case 2: UNSUPPORTED("96ajwnh79ja9g57xmut6dmh9d"); // Offset = pointfof(GD_bb(g).LL.x, -GD_bb(g).UR.y); break; case 3: UNSUPPORTED("3xtu7zkpqq7nsx9oe68oi6ebt"); // Offset = pointfof(GD_bb(g).LL.y, GD_bb(g).LL.x); break; } translate_drawing(g); } if (GD_label(g)!=null && N(GD_label(g).set)) UNSUPPORTED("6dds0zsvqw48u510zcy954fh1"); // place_root_label(g, dimen); if (Z.z().Show_boxes!=null) { UNSUPPORTED("8c7x8di5w36ib05qan9z4sl9"); // char buf[BUFSIZ]; UNSUPPORTED("83qqprhiseoxlwtwi991aag0c"); // if (Flip) UNSUPPORTED("86tova7pv19alt02nlk0d17oj"); // sprintf(buf, "/pathbox {\n /X exch neg %.5g sub def\n /Y exch %.5g sub def\n /x exch neg %.5g sub def\n /y exch %.5g sub def\n newpath x y moveto\n X y lineto\n X Y lineto\n x Y lineto\n closepath stroke\n} def\n", Offset.x, Offset.y, Offset.x, Offset.y); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("79tu9xkxv4v48uko4cxz7v04t"); // sprintf(buf, "/pathbox {\n /Y exch %.5g sub def\n /X exch %.5g sub def\n /y exch %.5g sub def\n /x exch %.5g sub def\n newpath x y moveto\n X y lineto\n X Y lineto\n x Y lineto\n closepath stroke\n } def\n/dbgstart { gsave %.5g %.5g translate } def\n/arrowlength 10 def\n/arrowwidth arrowlength 2 div def\n/arrowhead {\n gsave\n rotate\n currentpoint\n newpath\n moveto\n arrowlength arrowwidth 2 div rlineto\n 0 arrowwidth neg rlineto\n closepath fill\n grestore\n} bind def\n/makearrow {\n currentpoint exch pop sub exch currentpoint pop sub atan\n arrowhead\n} bind def\n/point { newpath 2 0 360 arc fill} def/makevec {\n /Y exch def\n /X exch def\n /y exch def\n /x exch def\n newpath x y moveto\n X Y lineto stroke\n X Y moveto\n x y makearrow\n} def\n", Offset.y, Offset.x, Offset.y, Offset.x, UNSUPPORTED("aow79vde4xjqtwexymr5ocjl6"); // -Offset.x, -Offset.y); UNSUPPORTED("6g3g36v7l0tyfootyy8mzv3t8"); // Show_boxes[0] = strdup(buf); } } finally { LEAVING("8fc0zxg8y7hec3n4evx3jw6cq","gv_postprocess"); } } //3 3qbbvlnq1b06ylgr0yj2slbhm // void dotneato_postprocess(Agraph_t * g) public static void dotneato_postprocess(ST_Agraph_s g) { ENTERING("3qbbvlnq1b06ylgr0yj2slbhm","dotneato_postprocess"); try { gv_postprocess(g, 1); } finally { LEAVING("3qbbvlnq1b06ylgr0yj2slbhm","dotneato_postprocess"); } } //3 ehe7n8wkl4thn86tisjzdotpq // static void place_flip_graph_label(graph_t * g) public static Object place_flip_graph_label(Object... arg) { UNSUPPORTED("3zsjtcmcfxhkmaagi0on4dy20"); // static void place_flip_graph_label(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("53xzwretgdbd0atozc0w6hagb"); // int c; UNSUPPORTED("1wiyv8zjadpaaw6l7rs3o7g1w"); // pointf p, d; UNSUPPORTED("3aye33sd5gwxvun5g9nvgb2py"); // if ((g != agroot(g)) && (GD_label(g)) && !GD_label(g)->set) { UNSUPPORTED("bb9kbz7bijh4xjt97fdn2q90k"); // if (GD_label_pos(g) & 1) { UNSUPPORTED("9fqnrxwwa66oa8qe31y1gf37u"); // d = GD_border(g)[1]; UNSUPPORTED("cgv3bcg9c274cdwxi1y0sja3p"); // p.x = GD_bb(g).UR.x - d.x / 2; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("16roor3488xb2g2wr6oh8dqpx"); // d = GD_border(g)[3]; UNSUPPORTED("7ictv9eqmjvxjii5lqlyw8nu"); // p.x = GD_bb(g).LL.x + d.x / 2; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2qpji9cqj2p2czgcug3wvnqpl"); // if (GD_label_pos(g) & 4) { UNSUPPORTED("2xa4n9ca16xpf1kahaycmkl4r"); // p.y = GD_bb(g).LL.y + d.y / 2; UNSUPPORTED("blrmgi2c43f98h1nso1k757hi"); // } else if (GD_label_pos(g) & 2) { UNSUPPORTED("a7anlx7s8s2pqd73q59ep0kpf"); // p.y = GD_bb(g).UR.y - d.y / 2; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("378pj84d79yuezjebpqcchyut"); // p.y = (GD_bb(g).LL.y + GD_bb(g).UR.y) / 2; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("ptjqgn3loi94u957cup0fi1"); // GD_label(g)->pos = p; UNSUPPORTED("5ezl5j9dxa3ewoj8hxw72wn4n"); // GD_label(g)->set = NOT(0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7z5fb6iyowsosn1hiz7opeoc6"); // for (c = 1; c <= GD_n_cluster(g); c++) UNSUPPORTED("d388zyk4c9le0jg4fcfx0b2"); // place_flip_graph_label(GD_clust(g)[c]); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 72zw1alhd5vd0g6mhum507rvx // void place_graph_label(graph_t * g) public static void place_graph_label(ST_Agraph_s g) { ENTERING("72zw1alhd5vd0g6mhum507rvx","place_graph_label"); try { int c; final ST_pointf p = new ST_pointf(), d = new ST_pointf(); if (NEQ(g, agroot(g)) && (GD_label(g)!=null) && N(GD_label(g).set)) { if ((GD_label_pos(g) & 1)!=0) { d.___(GD_border(g)[2].getStruct()); p.setDouble("y", GD_bb(g).UR.y - d.y / 2); } else { UNSUPPORTED("1w38no4welthbwa0i10hei16b"); // d = GD_border(g)[0]; UNSUPPORTED("2xa4n9ca16xpf1kahaycmkl4r"); // p.y = GD_bb(g).LL.y + d.y / 2; } if ((GD_label_pos(g) & 4)!=0) { UNSUPPORTED("cgv3bcg9c274cdwxi1y0sja3p"); // p.x = GD_bb(g).UR.x - d.x / 2; } else if ((GD_label_pos(g) & 2)!=0) { UNSUPPORTED("7ictv9eqmjvxjii5lqlyw8nu"); // p.x = GD_bb(g).LL.x + d.x / 2; } else { p.setDouble("x", (GD_bb(g).LL.x + GD_bb(g).UR.x) / 2); } GD_label(g).setStruct("pos", p); GD_label(g).set= NOTI(false); } for (c = 1; c <= GD_n_cluster(g); c++) place_graph_label((ST_Agraph_s) GD_clust(g).get(c).getPtr()); } finally { LEAVING("72zw1alhd5vd0g6mhum507rvx","place_graph_label"); } } } plantuml-1.2018.13+ds/src/gen/lib/common/psusershape__c.java000066400000000000000000001132431340005343600235330ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class psusershape__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 eryi0zdvu1vdj4z91oqjowr7s // static int N_EPSF_files //1 exwjj9od9856wjk4etv0hx2as // static Dict_t *EPSF_contents //3 29n1xng5iw7sfvv70eq9vuxu8 // static void ps_image_free(Dict_t * dict, usershape_t * p, Dtdisc_t * disc) public static Object ps_image_free(Object... arg) { UNSUPPORTED("5rj4kigk1748pyl3msx43jfns"); // static void ps_image_free(Dict_t * dict, usershape_t * p, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cmkwmwk1rz1nafnyaky92rbn2"); // free(p->data); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 au4inx0gk5hoa20orx5lvhth4 // static Dtdisc_t ImageDictDisc = //3 1uc9lbl2k8ptz750obaoq4owa // static usershape_t *user_init(const char *str) public static Object user_init(Object... arg) { UNSUPPORTED("btjk6ghnhhhpxqzthns1035sv"); // static usershape_t *user_init(const char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7yx4ibv9esrr2z6ts6eh3p9kc"); // char *contents; UNSUPPORTED("18vi5vqd0r4k0kxsl3h3rwa4y"); // char line[BUFSIZ]; UNSUPPORTED("dn2hi0km4q5ldibguffbger1c"); // FILE *fp; UNSUPPORTED("betw6ruf6fq3p0lck4gnts0kj"); // struct stat statbuf; UNSUPPORTED("d2qyre5sgbxena5i9pu0h2xam"); // int saw_bb, must_inline, rc; UNSUPPORTED("5rcgzsa5rlhtyjz964tcthts2"); // int lx, ly, ux, uy; UNSUPPORTED("exneoozy5g8al0a8y6fxb88zv"); // usershape_t *us; UNSUPPORTED("8g3a4ltfhciggja7iwey2aqcl"); // if (!EPSF_contents) UNSUPPORTED("e6hd21gm9apd4gmmy01z57zgf"); // EPSF_contents = dtopen(&ImageDictDisc, Dtoset); UNSUPPORTED("erlko2ce22rjvf7uoy0h8u0v8"); // us = (*(((Dt_t*)(EPSF_contents))->searchf))((EPSF_contents),(void*)(str),0001000); UNSUPPORTED("91avho72bkiuf772dc2a5ix6e"); // if (us) UNSUPPORTED("cw85r4wtmkbzxtvhwpamie4v6"); // return us; UNSUPPORTED("77brc54aeox9dylmsw9nrc9lh"); // if (!(fp = fopen(str, "r"))) { UNSUPPORTED("bksyqnyoym7zpn3ga1d0g0tyf"); // agerr(AGWARN, "couldn't open epsf file %s\n", str); UNSUPPORTED("11hwqop4xebvtcskop4uhpp01"); // return NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5yfoc02nltmsi4pxppdmtqaxe"); // /* try to find size */ UNSUPPORTED("5efqa07nxd5jzvtbp8ow6ak81"); // saw_bb = must_inline = 0; UNSUPPORTED("5zpyz8rwwni5vzipcoh9h5j1s"); // while (fgets(line, sizeof(line), fp)) { UNSUPPORTED("84ei9xnflwzrsv8mcoxyax2jg"); // if (sscanf UNSUPPORTED("wj64hfw12hp6blditicrusxg"); // (line, "%%%%BoundingBox: %d %d %d %d", &lx, &ly, &ux, &uy) == 4) { UNSUPPORTED("d9bzgs0bw96je3fnzudy957xp"); // saw_bb = NOT(0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("4toi4f2ci00kw02glf22xjylj"); // if ((line[0] != '%') && strstr(line,"read")) must_inline = NOT(0); UNSUPPORTED("2eb5k0vpbigkfqqzv1t6iu11t"); // if (saw_bb && must_inline) break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8p3jjm43yrzygpor71hdkfs1g"); // if (saw_bb) { UNSUPPORTED("4eocsemdgmodxdzjhlhubun1"); // us = (usershape_t*)gmalloc(sizeof(usershape_t)); UNSUPPORTED("5dym7sjpxsgdgav57jvyuohe8"); // us->x = lx; UNSUPPORTED("da04q03gf0w4upkkrsn74w1dc"); // us->y = ly; UNSUPPORTED("2ii7hvliw02uqnhr23i7argb2"); // us->w = ux - lx; UNSUPPORTED("191g18ggraral9b3r928yx2ow"); // us->y = uy - ly; UNSUPPORTED("dop1va2g3wkq8qbie2jsg2l5v"); // us->name = str; UNSUPPORTED("bnlt8sbqy5nvjanbynnzxfgat"); // us->macro_id = N_EPSF_files++; UNSUPPORTED("7c7n8wrq5m5e8eatfo94u2pu9"); // fstat(fileno(fp), &statbuf); UNSUPPORTED("56jn6f4g97pzyo432xeqpcx5d"); // contents = us->data = (char*)gmalloc((statbuf.st_size + 1)*sizeof(char)); UNSUPPORTED("6ppmne13xb7f5x8gvqumpmyiq"); // fseek(fp, 0, SEEK_SET); UNSUPPORTED("21uxu15vxgywtd0a3igl6p80t"); // rc = fread(contents, statbuf.st_size, 1, fp); UNSUPPORTED("6t9w56kgnl604tbbuy1lqdndx"); // contents[statbuf.st_size] = '\0'; UNSUPPORTED("dywmx93gyg3hytqtt3l8d5z2p"); // (*(((Dt_t*)(EPSF_contents))->searchf))((EPSF_contents),(void*)(us),0000001); UNSUPPORTED("d1520lv1wzdo42xmawn5xxkrw"); // us->must_inline = must_inline; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("39sdmjtt29d7vsalbnmv8qv4z"); // agerr(AGWARN, "BoundingBox not found in epsf file %s\n", str); UNSUPPORTED("5kcrfk94jgjyac8443js6gz3j"); // us = NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("64ohktjo8rl0tbgujwt2zhips"); // fclose(fp); UNSUPPORTED("2iqrgjc97xskxvw6791yf0sl7"); // return us; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4jtxldcmdfn1er82zhtd5wlri // void epsf_init(node_t * n) public static Object epsf_init(Object... arg) { UNSUPPORTED("7em8y1zyx1snxc7xca5n5th5o"); // void epsf_init(node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("31b47kcwg6z2ds4cugdfq5hft"); // epsf_t *desc; UNSUPPORTED("3khvuud3f5gatnp6mor2iup7b"); // const char *str; UNSUPPORTED("exneoozy5g8al0a8y6fxb88zv"); // usershape_t *us; UNSUPPORTED("bftz89757hgmx7ivuna8lc4z6"); // int dx, dy; UNSUPPORTED("678wz7kwotz1a6i79id3poi7x"); // if ((str = safefile(agget(n, "shapefile")))) { UNSUPPORTED("4o6c82f5unsr24rvl75p7p5ek"); // us = user_init(str); UNSUPPORTED("b5eehxrs3a1afyurga0m7yg5z"); // if (!us) UNSUPPORTED("6cprbghvenu9ldc0ez1ifc63q"); // return; UNSUPPORTED("1llk4yzmxomxce2uecvbxt922"); // dx = us->w; UNSUPPORTED("7xizqe3g4592mv98u21qsg12y"); // dy = us->h; UNSUPPORTED("36n9s8hc2y0ggb7ed2kxv65vd"); // ND_width(n) = ((dx)/(double)72); UNSUPPORTED("9px3qggrf4lv7iustz7y59w1w"); // ND_height(n) = ((dy)/(double)72); UNSUPPORTED("ebl6c4mrti14npk9mjj1qazca"); // ND_shape_info(n) = desc = (epsf_t*)zmalloc(sizeof(epsf_t)); UNSUPPORTED("a9wg4pmg1rx2n6b2s84l80obj"); // desc->macro_id = us->macro_id; UNSUPPORTED("afw8uhw0ehdxj1a69rz0ybq4r"); // desc->offset.x = -us->x - (dx) / 2; UNSUPPORTED("9nm3fw2qmg65tbqome5kujtsz"); // desc->offset.y = -us->y - (dy) / 2; UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("8mplvqa6xkatre0c6wwuh61lk"); // agerr(AGWARN, "shapefile not set or not found for epsf node %s\n", agnameof(n)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5dl04g1rrjvf8547fcq7xwqzt // void epsf_free(node_t * n) public static Object epsf_free(Object... arg) { UNSUPPORTED("5rxuq2v3mq5yi8hvoggnvosw5"); // void epsf_free(node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("63ge8bmq3laisshvh9shex6rf"); // if (ND_shape_info(n)) UNSUPPORTED("4tqz4t9dpzad2deeqfzrkmkfw"); // free(ND_shape_info(n)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3k8bgogm645fta5beqiqlgb91 // void cat_libfile(GVJ_t * job, const char **arglib, const char **stdlib) public static Object cat_libfile(Object... arg) { UNSUPPORTED("f2ebumtuigxeossbmwcw7sauq"); // void cat_libfile(GVJ_t * job, const char **arglib, const char **stdlib) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dn2hi0km4q5ldibguffbger1c"); // FILE *fp; UNSUPPORTED("5py5d30vifgyqkijs4037nlps"); // const char **s, *bp, *p, *path; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("bamb0j1bzualb8qewx4zt5dph"); // boolean use_stdlib = NOT(0); UNSUPPORTED("4j7ud7jy9tm90khvzcx3dzkse"); // /* check for empty string to turn off stdlib */ UNSUPPORTED("3j11d6cpp08lgcnsl7g86bdq7"); // if (arglib) { UNSUPPORTED("c52r2tlvayllcewxs8k15s05w"); // for (i = 0; use_stdlib && ((p = arglib[i])); i++) { UNSUPPORTED("927bwpabhr93r5m1t31uoko5y"); // if (*p == '\0') UNSUPPORTED("8gxs50v7w64gzo5zglu3ojguv"); // use_stdlib = 0; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("e8ewhnemro5nober1fa75a77b"); // if (use_stdlib) UNSUPPORTED("9osn5uouzsj18nqzp3gaief29"); // for (s = stdlib; *s; s++) { UNSUPPORTED("30lfe4kxbvbtghur73wrl2dav"); // gvputs(job, *s); UNSUPPORTED("5uq09elejy2ot3s8x5d13dxs9"); // gvputs(job, "\n"); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("3j11d6cpp08lgcnsl7g86bdq7"); // if (arglib) { UNSUPPORTED("evqlr64pfisalhednuxyi8se0"); // for (i = 0; (p = arglib[i]) != 0; i++) { UNSUPPORTED("927bwpabhr93r5m1t31uoko5y"); // if (*p == '\0') UNSUPPORTED("ae84fvt6djsw3pvp7g15ypmw7"); // continue; /* ignore empty string */ UNSUPPORTED("7rcba80v613dy9q1k10xxe78v"); // path = safefile(p); /* make sure filename is okay */ UNSUPPORTED("7tatqi6et1nsfzfr542t4r5i8"); // if (!path) { UNSUPPORTED("7y7cgdemfr8h5e077czq19s0p"); // agerr(AGWARN, "can't find library file %s\n", p); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("e100j39k1vq90fggjnce67zd1"); // else if ((fp = fopen(path, "r"))) { UNSUPPORTED("25rk7l5monea7crssvaemqymw"); // while ((bp = Fgets(fp))) UNSUPPORTED("csp26n5hr6bygjv2orlm6xh0s"); // gvputs(job, bp); UNSUPPORTED("ca5a791njn2so4a7dtvrjmcol"); // gvputs(job, "\n"); /* append a newline just in case */ UNSUPPORTED("vg8cxxpc2olmxqemlfw98yhx"); // fclose (fp); UNSUPPORTED("8983k01wuaibmqpm7x4605bp7"); // } else UNSUPPORTED("4ii3y4fdc0rtv5sdyvnq3r19x"); // agerr(AGWARN, "can't open library file %s\n", path); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c8mk88p0edzfsgqm13hpubkxw // void epsf_emit_body(GVJ_t *job, usershape_t *us) public static Object epsf_emit_body(Object... arg) { UNSUPPORTED("8glrt6xt7v3ywzysyvx97glwt"); // void epsf_emit_body(GVJ_t *job, usershape_t *us) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("aexhdud6z2wbwwi73yppp0ynl"); // char *p; UNSUPPORTED("wrvu9u7a8j6i6y6552zncxfk"); // char c; UNSUPPORTED("d7ketofh63tjf8eb5ztge4c31"); // p = us->data; UNSUPPORTED("9oyx3ukhip4n1koefwntplgmx"); // while (*p) { UNSUPPORTED("9qifncqcc9fx15rxu1muizz0o"); // /* skip %%EOF lines */ UNSUPPORTED("9g4rchc1chbqitmc8bminq7v"); // if ((p[0] == '%') && (p[1] == '%') UNSUPPORTED("bba83ay6zg8fvrsgqrrrcuy8i"); // && (!strncasecmp(&p[2], "EOF", 3) UNSUPPORTED("6chobjvni909a13o053pxk2p0"); // || !strncasecmp(&p[2], "BEGIN", 5) UNSUPPORTED("bzsdn21uu7jb8tzc4tbom7sw5"); // || !strncasecmp(&p[2], "END", 3) UNSUPPORTED("a2ti475ble1zqs3dlsmntwv74"); // || !strncasecmp(&p[2], "TRAILER", 7) UNSUPPORTED("c1tth0cl8ygadmbgsvzkapnoe"); // )) { UNSUPPORTED("9k6m8vuyp3pzjw1gxyk3o58wp"); // /* check for *p since last line might not end in '\n' */ UNSUPPORTED("5be7pghqp1llzh7fl9vgv7pal"); // while ((c = *p) && (c != '\r') && (c != '\n')) p++; UNSUPPORTED("3cka3lnpeg06gmtc079gxlxrv"); // if ((*p == '\r') && (*(p+1) == '\n')) p += 2; UNSUPPORTED("3w319yo1w73iab195sxwuf5e7"); // else if (*p) p++; UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3ynl0b83d0xrdpt5dzpjat21p"); // /* output line */ UNSUPPORTED("47nu285gh2jm87occ1dd24ore"); // while ((c = *p) && (c != '\r') && (c != '\n')) { UNSUPPORTED("exn5b6l9v272pe3lg7iopebqu"); // gvputc(job, c); UNSUPPORTED("847zwwso12sey42b59zepembc"); // p++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("451qyj2kv55zeowl3tn3wbt5"); // if ((*p == '\r') && (*(p+1) == '\n')) p += 2; UNSUPPORTED("4ula5fp4ciaxwkk14htcc2chb"); // else if (*p) p++; UNSUPPORTED("3w0oergh6hreff0gxv1dt2v6e"); // gvputc(job, '\n'); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8y6ghoi95l19nfvv9bb79pg17 // void epsf_define(GVJ_t *job) public static Object epsf_define(Object... arg) { UNSUPPORTED("2jk8j9j4tqkxfac24cs1wm4xs"); // void epsf_define(GVJ_t *job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("exneoozy5g8al0a8y6fxb88zv"); // usershape_t *us; UNSUPPORTED("8g3a4ltfhciggja7iwey2aqcl"); // if (!EPSF_contents) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("8nth7emjhetau8szgigivkiwa"); // for (us = (*(((Dt_t*)(EPSF_contents))->searchf))((EPSF_contents),(void*)(0),0000200); us; us = (*(((Dt_t*)(EPSF_contents))->searchf))((EPSF_contents),(void*)(us),0000010)) { UNSUPPORTED("e38lq5b2sg26x3edlqnpmenjf"); // if (us->must_inline) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("74qu08bzz2w50fm1rxcd3nb1t"); // gvprintf(job, "/user_shape_%d {\n", us->macro_id); UNSUPPORTED("bq7b88oc2llin4wuspb9y2k0z"); // gvputs(job, "%%BeginDocument:\n"); UNSUPPORTED("11ii4m89jltj0dk9f2nl812na"); // epsf_emit_body(job, us); UNSUPPORTED("b6zvkgtf4i48itua2znxykfv4"); // gvputs(job, "%%EndDocument\n"); UNSUPPORTED("dys3bmzsjlng5wufay121n4wd"); // gvputs(job, "} bind def\n"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 egj5vrbfagce8lh8wcotr50p8 // static int charsetOf (char* s) public static Object charsetOf(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("14toksq7jmazxy7jf8hdlx5b3"); // charsetOf (char* s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8mngi3m5lqbt7c8rk7l3o7zpc"); // int r = ASCII; UNSUPPORTED("10sir32iwi5l2jyfgp65pihto"); // unsigned char c; UNSUPPORTED("11zj3p308ttro04hrzowx0vrh"); // while ((c = *(unsigned char*)s++)) { UNSUPPORTED("1efx7dnx6p2hru4jp6nmn5kp1"); // if (c < 0x7F) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("cjeai7vjetgqlhigjsxcurv5u"); // else if ((c & 0xFC) == 0xC0) { UNSUPPORTED("7v9ez1gvzvyjl1ehstexhlqra"); // r = LATIN1; UNSUPPORTED("eqg09536v8dzlzdsxjyjb79qo"); // s++; /* eat second byte */ UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2ckvuq6gku7vtnk1i5az5fy60"); // else return NONLATIN; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6ov4fplgnlc2vo7ilyz88l8w8 // char *ps_string(char *ins, int chset) public static Object ps_string(Object... arg) { UNSUPPORTED("2z1t9y3faapozbla3ue5fy1r3"); // char *ps_string(char *ins, int chset) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8yytudftst76763qgnjebkzhm"); // char *s; UNSUPPORTED("ejkl9z7itgy7zzscudx1yzdk7"); // char *base; UNSUPPORTED("4hzo4dkkcq5f8wru82rpqmp17"); // static agxbuf xb; UNSUPPORTED("723xhlz03y7lwymzvejjrb04"); // static int warned; UNSUPPORTED("1bh3yj957he6yv2dkeg4pzwdk"); // int rc; UNSUPPORTED("cavaompypndyi1f6hl7z9ye12"); // switch (chset) { UNSUPPORTED("dvojp3uwecylbruvszvkskjbd"); // case 0 : UNSUPPORTED("7hfajxzdnwjbtmf22mtovza97"); // base = ins; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("27pm3a0bv1708o8ux4ss8bqqc"); // case 1 : UNSUPPORTED("5p9v7zj5kv7344gooya44jgcy"); // base = utf8ToLatin1 (ins); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("29hi90x8rlo9f7q3mhj5dg71d"); // default : UNSUPPORTED("3iavam6mfccgfsp7391gt9vsc"); // switch (charsetOf (ins)) { UNSUPPORTED("1ljaophh8mbc5fj06dhv6aksx"); // case ASCII : UNSUPPORTED("cmb43luoxsf5hnzalzy32ksai"); // base = ins; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("4ykmujahzvaqa6i24edc4b2v6"); // case LATIN1 : UNSUPPORTED("5w84rks28yw6kxmv2l0zlpjy7"); // base = utf8ToLatin1 (ins); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("5l9jao5dunsm59cttffi5i6ch"); // case NONLATIN : UNSUPPORTED("7w3i31pvmof25luqw5a3u9mbt"); // if (!warned) { UNSUPPORTED("2llaay3iauy5ooo60c1u8w9cd"); // agerr (AGWARN, "UTF-8 input uses non-Latin1 characters which cannot be handled by this PostScript driver\n"); UNSUPPORTED("18z1ryrdclcr3megv9497iy3d"); // warned = 1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("cmb43luoxsf5hnzalzy32ksai"); // base = ins; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("cmb43luoxsf5hnzalzy32ksai"); // base = ins; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2ots84hgp26w0o36krtn5sxgy"); // if (xb.buf == NULL) UNSUPPORTED("d25jylh17nodyfod42udvo34l"); // agxbinit (&xb, 0, NULL); UNSUPPORTED("3a8heyybo9l33vt2jyuah4sbg"); // rc = ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'('))); UNSUPPORTED("2ldg889rgl2rsu9pf2qjc5fi2"); // s = base; UNSUPPORTED("f387esbkeildkayz3s6urngtw"); // while (*s) { UNSUPPORTED("b9orhgtvsuli8mn7x7lgs093v"); // if ((*s == '(') || (*s == ')') || (*s == '\\')) UNSUPPORTED("pcnzeru18grzobxc0w6l7egr"); // rc = ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\\'))); UNSUPPORTED("3753vc4lhmsqbohl9szk717z"); // rc = ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)*s++))); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("djzbkthk4ygy41r5ruh1iu8v"); // ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)')'))); UNSUPPORTED("c1g8fk8duz6f3rxq2rhjvyyij"); // if (base != ins) free (base); UNSUPPORTED("8phdgdnv0mzh2zr358vnxae4m"); // s = (((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf)); UNSUPPORTED("3y6wj3ntgmr1qkdpm7wp1dsch"); // return s; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/common/routespl__c.java000066400000000000000000001615231340005343600230520ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static gen.lib.cgraph.edge__c.aghead; import static gen.lib.cgraph.edge__c.agtail; import static gen.lib.pathplan.route__c.Proutespline; import static gen.lib.pathplan.shortest__c.Pshortestpath; import static gen.lib.pathplan.util__c.make_polyline; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtils.cos; import static smetana.core.JUtils.sin; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.ABS; import static smetana.core.Macro.ALLOC_allocated_ST_Pedge_t; import static smetana.core.Macro.ALLOC_allocated_ST_pointf; import static smetana.core.Macro.ED_edge_type; import static smetana.core.Macro.ED_to_orig; import static smetana.core.Macro.INT_MAX; import static smetana.core.Macro.INT_MIN; import static smetana.core.Macro.MIN; import static smetana.core.Macro.N; import static smetana.core.Macro.NOT; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agedge_s; import h.ST_Ppoly_t; import h.ST_boxf; import h.ST_path; import h.ST_pointf; import smetana.core.Memory; import smetana.core.Z; import smetana.core.__ptr__; public class routespl__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 6fn146yunkq3g30gummlety1l // static int nedges, nboxes //private static int nedges, nboxes; //1 651u86vwr4psbjmrzsbg6zgi5 // static int routeinit //private static int routeinit; //1 bitbif2zv0lxox45wigfzbqcp // static pointf *ps //private static __ptr__ ps; //1 5m31ig8bxuefkdin279ih13kc // static int maxpn //private static int maxpn; //1 4u04uog28vlnmx0azm4y9qvj1 // static Ppoint_t *polypoints //private static __ptr__ polypoints; //1 eoo5tej8soeqa10cqz02mpetw // static int polypointn //private static int polypointn; //1 dr2m01yvkuh5brtywxzvn5tal // static Pedge_t *edges //private static __ptr__ edges; //1 cxjqaauevyqicged5zki42yg7 // static int edgen //private static int edgen; //3 7ebl6qohcfpf1b9ucih5r9qgp // pointf* simpleSplineRoute (pointf tp, pointf hp, Ppoly_t poly, int* n_spl_pts, int polyline) public static ST_pointf.Array simpleSplineRoute(final ST_pointf tp, final ST_pointf hp, final ST_Ppoly_t poly, int[] n_spl_pts, boolean polyline) { // WARNING!! STRUCT return simpleSplineRoute_w_(tp.copy(), hp.copy(), (ST_Ppoly_t) poly.copy(), n_spl_pts, polyline); } private static ST_pointf.Array simpleSplineRoute_w_(final ST_pointf tp, final ST_pointf hp, final ST_Ppoly_t poly, int[] n_spl_pts, boolean polyline) { ENTERING("7ebl6qohcfpf1b9ucih5r9qgp","simpleSplineRoute"); try { final ST_Ppoly_t pl = new ST_Ppoly_t(), spl = new ST_Ppoly_t(); final ST_pointf.Array eps = new ST_pointf.Array( 2); final ST_pointf.Array evs = new ST_pointf.Array( 2); int i; eps.plus(0).setDouble("x", tp.x); eps.plus(0).setDouble("y", tp.y); eps.plus(1).setDouble("x", hp.x); eps.plus(1).setDouble("y", hp.y); if (Pshortestpath(poly, eps, pl) < 0) return null; if (polyline) make_polyline (pl, spl); else { if (poly.pn > Z.z().edgen) { Z.z().edges = ALLOC_allocated_ST_Pedge_t(Z.z().edges, poly.pn); Z.z().edgen = poly.pn; } for (i = 0; i < poly.pn; i++) { Z.z().edges.plus(i).setStruct("a", poly.ps.plus(i).getStruct()); Z.z().edges.plus(i).setStruct("b", poly.ps.plus((i + 1) % poly.pn).getStruct()); } evs.plus(0).setDouble("x", 0); evs.plus(0).setDouble("y", 0); evs.plus(1).setDouble("x", 0); evs.plus(1).setDouble("y", 0); if (Proutespline(Z.z().edges, poly.pn, pl, evs.asPtr(), spl) < 0) return null; } if (mkspacep(spl.pn)) return null; for (i = 0; i < spl.pn; i++) { Z.z().ps.plus(i).setStruct(spl.ps.plus(i).getStruct()); } n_spl_pts[0] = spl.pn; return Z.z().ps; } finally { LEAVING("7ebl6qohcfpf1b9ucih5r9qgp","simpleSplineRoute"); } } //3 bfsrazjf3vkf12stnke48vc8t // int routesplinesinit() public static int routesplinesinit() { ENTERING("bfsrazjf3vkf12stnke48vc8t","routesplinesinit"); try { if (++Z.z().routeinit > 1) return 0; if (N(Z.z().ps = new ST_pointf.Array(300))) { UNSUPPORTED("2qoo3na2ur9oh7hmvt6xv1txd"); // agerr(AGERR, "routesplinesinit: cannot allocate ps\n"); UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; } Z.z().maxpn = 300; Z.z().nedges = 0; Z.z().nboxes = 0; /*if (Verbose) start_timer();*/ return 0; } finally { LEAVING("bfsrazjf3vkf12stnke48vc8t","routesplinesinit"); } } //3 55j3tny5cxemrsvrt3m21jxg8 // void routesplinesterm() public static void routesplinesterm() { ENTERING("55j3tny5cxemrsvrt3m21jxg8","routesplinesterm"); try { if (--Z.z().routeinit > 0) return; Memory.free(Z.z().ps); /*if (Verbose) fprintf(stderr, "routesplines: %d edges, %d boxes %.2f sec\n", nedges, nboxes, elapsed_sec());*/ } finally { LEAVING("55j3tny5cxemrsvrt3m21jxg8","routesplinesterm"); } } //3 cu8ssjizw7ileqe9u7tcclq7k // static void limitBoxes (boxf* boxes, int boxn, pointf *pps, int pn, int delta) public static void limitBoxes(ST_boxf boxes[], int boxn, __ptr__ pps, int pn, int delta) { ENTERING("cu8ssjizw7ileqe9u7tcclq7k","limitBoxes"); try { int bi, si, splinepi; double t; final ST_pointf.Array sp = new ST_pointf.Array( 4); int num_div = delta * boxn; for (splinepi = 0; splinepi + 3 < pn; splinepi += 3) { for (si = 0; si <= num_div; si++) { t = si / (double)num_div; sp.plus(0).getStruct().___(pps.plus(splinepi).getStruct()); sp.plus(1).getStruct().___(pps.plus(splinepi+1).getStruct()); sp.plus(2).getStruct().___(pps.plus(splinepi+2).getStruct()); sp.plus(3).getStruct().___(pps.plus(splinepi+3).getStruct()); sp.plus(0).setDouble("x", sp.get(0).x + t * (sp.get(1).x - sp.get(0).x)); sp.plus(0).setDouble("y", sp.get(0).y + t * (sp.get(1).y - sp.get(0).y)); sp.plus(1).setDouble("x", sp.get(1).x + t * (sp.get(2).x - sp.get(1).x)); sp.plus(1).setDouble("y", sp.get(1).y + t * (sp.get(2).y - sp.get(1).y)); sp.plus(2).setDouble("x", sp.get(2).x + t * (sp.get(3).x - sp.get(2).x)); sp.plus(2).setDouble("y", sp.get(2).y + t * (sp.get(3).y - sp.get(2).y)); sp.plus(0).setDouble("x", sp.get(0).x + t * (sp.get(1).x - sp.get(0).x)); sp.plus(0).setDouble("y", sp.get(0).y + t * (sp.get(1).y - sp.get(0).y)); sp.plus(1).setDouble("x", sp.get(1).x + t * (sp.get(2).x - sp.get(1).x)); sp.plus(1).setDouble("y", sp.get(1).y + t * (sp.get(2).y - sp.get(1).y)); sp.plus(0).setDouble("x", sp.get(0).x + t * (sp.get(1).x - sp.get(0).x)); sp.plus(0).setDouble("y", sp.get(0).y + t * (sp.get(1).y - sp.get(0).y)); for (bi = 0; bi < boxn; bi++) { /* this tested ok on 64bit machines, but on 32bit we need this FUDGE * or graphs/directed/records.gv fails */ if (sp.get(0).y <= boxes[bi].UR.y+.0001 && sp.get(0).y >= boxes[bi].LL.y-.0001) { if (boxes[bi].LL.x > sp.get(0).x) boxes[bi].LL.setDouble("x", sp.get(0).x); if (boxes[bi].UR.x < sp.get(0).x) boxes[bi].UR.setDouble("x", sp.get(0).x); } } } } } finally { LEAVING("cu8ssjizw7ileqe9u7tcclq7k","limitBoxes"); } } //3 3mcnemqisisnqtd4mr72ej76y // static pointf *_routesplines(path * pp, int *npoints, int polyline) public static __ptr__ _routesplines(ST_path pp, int npoints[], int polyline) { ENTERING("3mcnemqisisnqtd4mr72ej76y","_routesplines"); try { final ST_Ppoly_t poly = new ST_Ppoly_t(); final ST_Ppoly_t pl = new ST_Ppoly_t(), spl = new ST_Ppoly_t(); int splinepi; final ST_pointf.Array eps = new ST_pointf.Array( 2); final ST_pointf.Array evs = new ST_pointf.Array( 2); int edgei, prev, next; int pi=0, bi; ST_boxf[] boxes; int boxn; ST_Agedge_s realedge; int flip; int loopcnt, delta = 10; boolean unbounded; Z.z().nedges++; Z.z().nboxes += pp.nbox; for (realedge = (ST_Agedge_s) pp.data.castTo(ST_Agedge_s.class); realedge!=null && ED_edge_type(realedge) != 0; realedge = ED_to_orig(realedge)); if (N(realedge)) { UNSUPPORTED("agerr(AGERR, _in routesplines, cannot find NORMAL edge"); return null; } boxes = pp.boxes; boxn = pp.nbox; if (checkpath(boxn, boxes, pp)!=0) return null; if (boxn * 8 > Z.z().polypointn) { Z.z().polypoints = ALLOC_allocated_ST_pointf(Z.z().polypoints, boxn * 8); Z.z().polypointn = boxn * 8; } if ((boxn > 1) && (((ST_boxf)boxes[0]).LL.y > ((ST_boxf)boxes[1]).LL.y)) { flip = 1; for (bi = 0; bi < boxn; bi++) { double v = ((ST_boxf)boxes[bi]).UR.y; ((ST_boxf)boxes[bi]).UR.y= -1*((ST_boxf)boxes[bi]).LL.y; ((ST_boxf)boxes[bi]).LL.y = -v; } } else flip = 0; if (NEQ(agtail(realedge), aghead(realedge))) { /* I assume that the path goes either down only or up - right - down */ for (bi = 0, pi = 0; bi < boxn; bi++) { next = prev = 0; if (bi > 0) prev = (((ST_boxf)boxes[bi]).LL.y > ((ST_boxf)boxes[bi-1]).LL.y) ? -1 : 1; if (bi < boxn - 1) next = (((ST_boxf)boxes[bi+1]).LL.y > ((ST_boxf)boxes[bi]).LL.y) ? 1 : -1; if (prev != next) { if (next == -1 || prev == 1) { Z.z().polypoints.plus(pi).setDouble("x", ((ST_boxf)boxes[bi]).LL.x); Z.z().polypoints.plus(pi++).setDouble("y", ((ST_boxf)boxes[bi]).UR.y); Z.z().polypoints.plus(pi).setDouble("x", ((ST_boxf)boxes[bi]).LL.x); Z.z().polypoints.plus(pi++).setDouble("y", ((ST_boxf)boxes[bi]).LL.y); } else { Z.z().polypoints.plus(pi).setDouble("x", ((ST_boxf)boxes[bi]).UR.x); Z.z().polypoints.plus(pi++).setDouble("y", ((ST_boxf)boxes[bi]).LL.y); Z.z().polypoints.plus(pi).setDouble("x", ((ST_boxf)boxes[bi]).UR.x); Z.z().polypoints.plus(pi++).setDouble("y", ((ST_boxf)boxes[bi]).UR.y); } } else if (prev == 0) { /* single box */ UNSUPPORTED("2bfai79qe7cec0rljrn56jg2f"); // polypoints[pi].x = boxes[bi].LL.x; UNSUPPORTED("cjppvcr7k9pknjrjugccsky56"); // polypoints[pi++].y = boxes[bi].UR.y; UNSUPPORTED("2bfai79qe7cec0rljrn56jg2f"); // polypoints[pi].x = boxes[bi].LL.x; UNSUPPORTED("99xeozpks5v0iza4sv2occuuq"); // polypoints[pi++].y = boxes[bi].LL.y; } else { if (N(prev == -1 && next == -1)) { UNSUPPORTED("cgpvvfb9phbipyhij0cjh1nmi"); // agerr(AGERR, "in routesplines, illegal values of prev %d and next %d, line %d\n", prev, next, 444); UNSUPPORTED("9idk92zg2ysz316lfwzvvvde6"); // return NULL; } } } for (bi = boxn - 1; bi >= 0; bi--) { next = prev = 0; if (bi < boxn - 1) prev = (((ST_boxf)boxes[bi]).LL.y > ((ST_boxf)boxes[bi+1]).LL.y) ? -1 : 1; if (bi > 0) next = (((ST_boxf)boxes[bi-1]).LL.y > ((ST_boxf)boxes[bi]).LL.y) ? 1 : -1; if (prev != next) { if (next == -1 || prev == 1 ) { Z.z().polypoints.plus(pi).setDouble("x", ((ST_boxf)boxes[bi]).LL.x); Z.z().polypoints.plus(pi++).setDouble("y", ((ST_boxf)boxes[bi]).UR.y); Z.z().polypoints.plus(pi).setDouble("x", ((ST_boxf)boxes[bi]).LL.x); Z.z().polypoints.plus(pi++).setDouble("y", ((ST_boxf)boxes[bi]).LL.y); } else { Z.z().polypoints.plus(pi).setDouble("x", ((ST_boxf)boxes[bi]).UR.x); Z.z().polypoints.plus(pi++).setDouble("y", ((ST_boxf)boxes[bi]).LL.y); Z.z().polypoints.plus(pi).setDouble("x", ((ST_boxf)boxes[bi]).UR.x); Z.z().polypoints.plus(pi++).setDouble("y", ((ST_boxf)boxes[bi]).UR.y); } } else if (prev == 0) { /* single box */ UNSUPPORTED("ya84m81ogarx28l99om39lba"); // polypoints[pi].x = boxes[bi].UR.x; UNSUPPORTED("99xeozpks5v0iza4sv2occuuq"); // polypoints[pi++].y = boxes[bi].LL.y; UNSUPPORTED("ya84m81ogarx28l99om39lba"); // polypoints[pi].x = boxes[bi].UR.x; UNSUPPORTED("cjppvcr7k9pknjrjugccsky56"); // polypoints[pi++].y = boxes[bi].UR.y; } else { if (N(prev == -1 && next == -1)) { UNSUPPORTED("87y5d0ts6xdjyx905bha50f3s"); // /* it went badly, e.g. degenerate box in boxlist */ UNSUPPORTED("1qt7hixteu3pt64wk1sqw352a"); // agerr(AGERR, "in routesplines, illegal values of prev %d and next %d, line %d\n", prev, next, 476); UNSUPPORTED("35untdbpd42pt4c74gjbxqx7q"); // return NULL; /* for correctness sake, it's best to just stop */ } Z.z().polypoints.plus(pi).setDouble("x", ((ST_boxf)boxes[bi]).UR.x); Z.z().polypoints.plus(pi++).setDouble("y", ((ST_boxf)boxes[bi]).LL.y); Z.z().polypoints.plus(pi).setDouble("x", ((ST_boxf)boxes[bi]).UR.x); Z.z().polypoints.plus(pi++).setDouble("y", ((ST_boxf)boxes[bi]).UR.y); Z.z().polypoints.plus(pi).setDouble("x", ((ST_boxf)boxes[bi]).LL.x); Z.z().polypoints.plus(pi++).setDouble("y", ((ST_boxf)boxes[bi]).UR.y); Z.z().polypoints.plus(pi).setDouble("x", ((ST_boxf)boxes[bi]).LL.x); Z.z().polypoints.plus(pi++).setDouble("y", ((ST_boxf)boxes[bi]).LL.y); } } } else { UNSUPPORTED("1izvmtfwbnl5xq4u2x5fdraxp"); // agerr(AGERR, "in routesplines, edge is a loop at %s\n", agnameof(aghead(realedge))); UNSUPPORTED("11hwqop4xebvtcskop4uhpp01"); // return NULL; } if (flip!=0) { int i; for (bi = 0; bi < boxn; bi++) { int v = (int) ((ST_boxf)boxes[bi]).UR.y; ((ST_boxf)boxes[bi]).UR.y = -1*((ST_boxf)boxes[bi]).LL.y; ((ST_boxf)boxes[bi]).LL.y = -v; } for (i = 0; i < pi; i++) Z.z().polypoints.plus(i).setDouble("y", -1 * Z.z().polypoints.get(i).y); } for (bi = 0; bi < boxn; bi++) { ((ST_boxf)boxes[bi]).LL.x = INT_MAX; ((ST_boxf)boxes[bi]).UR.x = INT_MIN; } poly.ps = Z.z().polypoints; poly.pn = pi; eps.plus(0).getStruct().setDouble("x", pp.start.p.x); eps.plus(0).getStruct().setDouble("y", pp.start.p.y); eps.plus(1).getStruct().setDouble("x", pp.end.p.x); eps.plus(1).getStruct().setDouble("y", pp.end.p.y); if (Pshortestpath(poly, eps, pl) < 0) { System.err.println("in routesplines, Pshortestpath failed\n"); return null; } if (polyline!=0) { UNSUPPORTED("48veztc3k9dfw8tqolu7jsktk"); // make_polyline (pl, &spl); } else { if (poly.pn > Z.z().edgen) { Z.z().edges = ALLOC_allocated_ST_Pedge_t(Z.z().edges, poly.pn); Z.z().edgen = poly.pn; } for (edgei = 0; edgei < poly.pn; edgei++) { Z.z().edges.plus(edgei).setStruct("a", Z.z().polypoints.plus(edgei).getStruct()); Z.z().edges.plus(edgei).setStruct("b", Z.z().polypoints.plus((edgei + 1) % poly.pn).getStruct()); } if (pp.start.constrained!=0) { evs.plus(0).getStruct().setDouble("x", cos(pp.start.theta)); evs.plus(0).getStruct().setDouble("y", sin(pp.start.theta)); } else { evs.plus(0).getStruct().setDouble("x", 0); evs.plus(0).getStruct().setDouble("y", 0); } if (pp.end.constrained!=0) { evs.plus(1).getStruct().setDouble("x", -cos(pp.end.theta)); evs.plus(1).getStruct().setDouble("y", -sin(pp.end.theta)); } else { evs.plus(1).getStruct().setDouble("x", 0); evs.plus(1).getStruct().setDouble("y", 0); } if (Proutespline(Z.z().edges, poly.pn, pl, evs.asPtr(), spl) < 0) { UNSUPPORTED("elkeyywrfd4hq75w7toc94rzs"); // agerr(AGERR, "in routesplines, Proutespline failed\n"); UNSUPPORTED("7t3fvwp9cv90qu5bdjdglcgtk"); // return NULL; } } if (mkspacep(spl.pn)) UNSUPPORTED("7x5kpcbvg4va887hky7ufm45y"); // return NULL; /* Bailout if no memory left */ for (bi = 0; bi < boxn; bi++) { boxes[bi].LL.setDouble("x", INT_MAX); boxes[bi].UR.setDouble("x", INT_MIN); } unbounded = NOT(false); for (splinepi = 0; splinepi < spl.pn; splinepi++) { Z.z().ps.plus(splinepi).setStruct(spl.ps.plus(splinepi).getStruct()); } for (loopcnt = 0; unbounded && (loopcnt < 15); loopcnt++) { limitBoxes (boxes, boxn, Z.z().ps, spl.pn, delta); /* The following check is necessary because if a box is not very * high, it is possible that the sampling above might miss it. * Therefore, we make the sample finer until all boxes have * valid values. cf. bug 456. Would making sp[] pointfs help? */ for (bi = 0; bi < boxn; bi++) { /* these fp equality tests are used only to detect if the * values have been changed since initialization - ok */ if ((boxes[bi].LL.x == INT_MAX) || (boxes[bi].UR.x == INT_MIN)) { delta *= 2; /* try again with a finer interval */ if (delta > INT_MAX/boxn) /* in limitBoxes, boxn*delta must fit in an int, so give up */ loopcnt = 15; break; } } if (bi == boxn) unbounded = false; } if (unbounded) { /* Either an extremely short, even degenerate, box, or some failure with the path * planner causing the spline to miss some boxes. In any case, use the shortest path * to bound the boxes. This will probably mean a bad edge, but we avoid an infinite * loop and we can see the bad edge, and even use the showboxes scaffolding. */ final ST_Ppoly_t polyspl = new ST_Ppoly_t(); System.err.println("Unable to reclaim box space in spline routing for edge \"%s\" -> \"%s\". Something is probably seriously wrong.\n"); make_polyline (pl, polyspl); limitBoxes (boxes, boxn, polyspl.ps, polyspl.pn, 10); Memory.free (polyspl.ps); } npoints[0] = spl.pn; return Z.z().ps; } finally { LEAVING("3mcnemqisisnqtd4mr72ej76y","_routesplines"); } } //3 axqoytp2rpr8crajhkuvns6q9 // pointf *routesplines(path * pp, int *npoints) public static ST_pointf.Array routesplines(ST_path pp, int npoints[]) { ENTERING("axqoytp2rpr8crajhkuvns6q9","routesplines"); try { return (ST_pointf.Array) _routesplines (pp, npoints, 0); } finally { LEAVING("axqoytp2rpr8crajhkuvns6q9","routesplines"); } } //3 2v22s41xitwnnsljk9n01nrcy // pointf *routepolylines(path * pp, int *npoints) public static ST_pointf.Array routepolylines(ST_path pp, int npoints[]) { ENTERING("2v22s41xitwnnsljk9n01nrcy","routepolylines"); try { UNSUPPORTED("1kjkc6bl8zpf8zjcwgbyni9p3"); // pointf *routepolylines(path * pp, int *npoints) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6wf7p4npeom96y0l1v39essmx"); // return _routesplines (pp, npoints, 1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("2v22s41xitwnnsljk9n01nrcy","routepolylines"); } } //3 65qv6x7ghwyt6hey5qd8cgizn // static int overlap(int i0, int i1, int j0, int j1) public static int overlap(double i0, double i1, double j0, double j1) {return overlap((int) i0, (int) i1, (int) j0, (int) j1);} public static int overlap(int i0, int i1, int j0, int j1) { ENTERING("65qv6x7ghwyt6hey5qd8cgizn","overlap"); try { /* i'll bet there's an elegant way to do this */ if (i1 <= j0) return 0; if (i0 >= j1) return 0; if ((j0 <= i0) && (i0 <= j1)) return (j1 - i0); if ((j0 <= i1) && (i1 <= j1)) return (i1 - j0); return MIN(i1 - i0, j1 - j0); } finally { LEAVING("65qv6x7ghwyt6hey5qd8cgizn","overlap"); } } //3 dxqjhiid5f58b9gjxp0v3j97b // static int checkpath(int boxn, boxf* boxes, path* thepath) public static int checkpath(int boxn, ST_boxf[] boxes, ST_path thepath) { ENTERING("dxqjhiid5f58b9gjxp0v3j97b","checkpath"); try { ST_boxf ba, bb; int bi, i, errs, l, r, d, u; int xoverlap, yoverlap; /* remove degenerate boxes. */ i = 0; for (bi = 0; bi < boxn; bi++) { if (ABS(((ST_boxf)boxes[bi]).LL.y - ((ST_boxf)boxes[bi]).UR.y) < .01) continue; if (ABS(((ST_boxf)boxes[bi]).LL.x - ((ST_boxf)boxes[bi]).UR.x) < .01) continue; if (i != bi) boxes[i].setStruct(boxes[bi]); i++; } boxn = i; ba = (ST_boxf) boxes[0]; if (ba.LL.x > ba.UR.x || ba.LL.y > ba.UR.y) { UNSUPPORTED("39tznwvf6k5lgj78jp32p0kfl"); // agerr(AGERR, "in checkpath, box 0 has LL coord > UR coord\n"); UNSUPPORTED("evdvb9esh16y8zeoczxhcz7xm"); // printpath(thepath); UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; } for (bi = 0; bi < boxn - 1; bi++) { ba = (ST_boxf) boxes[bi]; bb = (ST_boxf) boxes[bi + 1]; if (bb.LL.x > bb.UR.x || bb.LL.y > bb.UR.y) { UNSUPPORTED("c8oodo0ge4n4dglb28fvf610v"); // agerr(AGERR, "in checkpath, box %d has LL coord > UR coord\n", UNSUPPORTED("929pkk2ob1lh7hfe4scuoo5pn"); // bi + 1); UNSUPPORTED("2m9o6g4nneiul4gt8xb9yb9zi"); // printpath(thepath); UNSUPPORTED("btmwubugs9vkexo4yb7a5nqel"); // return 1; } l = (ba.UR.x < bb.LL.x) ? 1 : 0; r = (ba.LL.x > bb.UR.x) ? 1 : 0; d = (ba.UR.y < bb.LL.y) ? 1 : 0; u = (ba.LL.y > bb.UR.y) ? 1 : 0; errs = l + r + d + u; /*if (errs > 0 && Verbose) { fprintf(stderr, "in checkpath, boxes %d and %d don't touch\n", bi, bi + 1); printpath(thepath); }*/ if (errs > 0) { int xy; if (l == 1) { xy = (int) ba.UR.x; ba.UR.setDouble("x", bb.LL.x); bb.LL.setDouble("x", xy); l = 0; } else if (r == 1) { xy = (int)(ba.LL.x); ba.LL.setDouble("x", bb.UR.x); bb.UR.setDouble("x", xy); r = 0; } else if (d == 1) { xy = (int)(ba.UR.y); ba.UR.setDouble("y", bb.LL.y); bb.LL.setDouble("y", xy); d = 0; } else if (u == 1) UNSUPPORTED("5kcd52bwvbxxs0md0enfs100u"); // xy = ba.LL.y, ba.LL.y = bb.UR.y, bb.UR.y = xy, u = 0; for (i = 0; i < errs - 1; i++) { UNSUPPORTED("as3p2ldwbg3rbgy64oxx5phar"); // if (l == 1) UNSUPPORTED("efz1z5cfywki1k6q6avldku9z"); // xy = (ba.UR.x + bb.LL.x) / 2.0 + 0.5, ba.UR.x = UNSUPPORTED("6dfh7cf1xptapqd1mcqtxjrxa"); // bb.LL.x = xy, l = 0; UNSUPPORTED("ang3qytu77fd5owijwbnmkdav"); // else if (r == 1) UNSUPPORTED("67ehof0qqlk339zgl0sqwfu5r"); // xy = (ba.LL.x + bb.UR.x) / 2.0 + 0.5, ba.LL.x = UNSUPPORTED("llmwvndoq1ne9c62ohtstkwa"); // bb.UR.x = xy, r = 0; UNSUPPORTED("3ce9i9asrqbuog7v1tdurqo6e"); // else if (d == 1) UNSUPPORTED("3mibjrb2jtfextkg9ac5k9spl"); // xy = (ba.UR.y + bb.LL.y) / 2.0 + 0.5, ba.UR.y = UNSUPPORTED("bccpbv2n38c5utkfh7msoc2y"); // bb.LL.y = xy, d = 0; UNSUPPORTED("7302rnmwdji9n7txquk8k36to"); // else if (u == 1) UNSUPPORTED("9oqpoodvpheztihe63p40guof"); // xy = (ba.LL.y + bb.UR.y) / 2.0 + 0.5, ba.LL.y = UNSUPPORTED("2cnb1bdjh6y26f98vonla73qa"); // bb.UR.y = xy, u = 0; } } /* check for overlapping boxes */ xoverlap = overlap(ba.LL.x, ba.UR.x, bb.LL.x, bb.UR.x); yoverlap = overlap(ba.LL.y, ba.UR.y, bb.LL.y, bb.UR.y); if (xoverlap!=0 && yoverlap!=0) { if (xoverlap < yoverlap) { if (ba.UR.x - ba.LL.x > bb.UR.x - bb.LL.x) { /* take space from ba */ UNSUPPORTED("5dqxf3gq05pjtobtnru1g2tuj"); // if (ba.UR.x < bb.UR.x) UNSUPPORTED("8gz6k803qp9zyw9s459cpp039"); // ba.UR.x = bb.LL.x; UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else UNSUPPORTED("5r6ck8hfb1cxywn9go61se9kx"); // ba.LL.x = bb.UR.x; } else { /* take space from bb */ if (ba.UR.x < bb.UR.x) bb.LL.setDouble("x", ba.UR.x); else bb.UR.setDouble("x", ba.LL.x); } } else { /* symmetric for y coords */ if (ba.UR.y - ba.LL.y > bb.UR.y - bb.LL.y) { /* take space from ba */ if (ba.UR.y < bb.UR.y) ba.UR.setDouble("y", bb.LL.y); else ba.LL.setDouble("y", bb.UR.y); } else { /* take space from bb */ if (ba.UR.y < bb.UR.y) bb.LL.setDouble("y", ba.UR.y); else bb.UR.setDouble("y", ba.LL.y); } } } } if (thepath.start.p.x < ((ST_boxf)boxes[0]).LL.x || thepath.start.p.x > ((ST_boxf)boxes[0]).UR.x || thepath.start.p.y < ((ST_boxf)boxes[0]).LL.y || thepath.start.p.y > ((ST_boxf)boxes[0]).UR.y) { /*if (Verbose) { fprintf(stderr, "in checkpath, start port not in first box\n"); printpath(thepath); }*/ if (thepath.start.p.x < ((ST_boxf)boxes[0]).LL.x) thepath.start.p.setDouble("x", ((ST_boxf)boxes[0]).LL.x); if (thepath.start.p.x > ((ST_boxf)boxes[0]).UR.x) thepath.start.p.setDouble("x", ((ST_boxf)boxes[0]).UR.x); if (thepath.start.p.y < ((ST_boxf)boxes[0]).LL.y) thepath.start.p.setDouble("y", ((ST_boxf)boxes[0]).LL.y); if (thepath.start.p.y > ((ST_boxf)boxes[0]).UR.y) thepath.start.p.setDouble("y", ((ST_boxf)boxes[0]).UR.y); } if (thepath.end.p.x < ((ST_boxf)boxes[boxn - 1]).LL.x || thepath.end.p.x > ((ST_boxf)boxes[boxn - 1]).UR.x || thepath.end.p.y < ((ST_boxf)boxes[boxn - 1]).LL.y || thepath.end.p.y > ((ST_boxf)boxes[boxn - 1]).UR.y) { /*if (Verbose) { fprintf(stderr, "in checkpath, end port not in last box\n"); printpath(thepath); }*/ if (thepath.end.p.x < ((ST_boxf)boxes[boxn - 1]).LL.x) thepath.end.p.setDouble("x", ((ST_boxf)boxes[boxn - 1]).LL.x); if (thepath.end.p.x > ((ST_boxf)boxes[boxn - 1]).UR.x) thepath.end.p.setDouble("x", ((ST_boxf)boxes[boxn - 1]).UR.x); if (thepath.end.p.y < ((ST_boxf)boxes[boxn - 1]).LL.y) thepath.end.p.setDouble("y", ((ST_boxf)boxes[boxn - 1]).LL.y); if (thepath.end.p.y > ((ST_boxf)boxes[boxn - 1]).UR.y) thepath.end.p.setDouble("y", ((ST_boxf)boxes[boxn - 1]).UR.y); } return 0; } finally { LEAVING("dxqjhiid5f58b9gjxp0v3j97b","checkpath"); } } //3 de6jvvw786rx88318tuuqywgq // static int mkspacep(int size) public static boolean mkspacep(int size) { ENTERING("de6jvvw786rx88318tuuqywgq","mkspacep"); try { if (size > Z.z().maxpn) { int newmax = Z.z().maxpn + (size / 300 + 1) * 300; Z.z().ps = Z.z().ps.reallocJ(newmax); if (N(Z.z().ps)) { UNSUPPORTED("ds2v91aohji00tc7zmjuc3v6q"); // agerr(AGERR, "cannot re-allocate ps\n"); UNSUPPORTED("btmwubugs9vkexo4yb7a5nqel"); // return 1; } Z.z().maxpn = newmax; } return false; } finally { LEAVING("de6jvvw786rx88318tuuqywgq","mkspacep"); } } //3 eoba7h2vv4nbevb7t3uj8xdxd // static void printpath(path * pp) public static Object printpath(Object... arg) { UNSUPPORTED("baqhg7gu97aw2vlb1lexu7ocs"); // static void printpath(path * pp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8k9loe0uz6grwq8fq5iqfih2c"); // int bi; UNSUPPORTED("hop7xuggqoec7e0p0gpzb5ys"); // fprintf(stderr, "%d boxes:\n", pp->nbox); UNSUPPORTED("fqxwgt6brxm5novm8sey6vp3"); // for (bi = 0; bi < pp->nbox; bi++) UNSUPPORTED("2n85v7ex13a1rhnx63lam2yth"); // fprintf(stderr, "%d (%.5g, %.5g), (%.5g, %.5g)\n", bi, UNSUPPORTED("86zhcjpiy229kbbomcqmj1bvn"); // pp->boxes[bi].LL.x, pp->boxes[bi].LL.y, UNSUPPORTED("dbddokl6i6319f232oqnbecmv"); // pp->boxes[bi].UR.x, pp->boxes[bi].UR.y); UNSUPPORTED("867y6166h7x6yibezm0cb0cf1"); // fprintf(stderr, "start port: (%.5g, %.5g), tangent angle: %.5g, %s\n", UNSUPPORTED("8nze219nhghn1a0uewjfq30xr"); // pp->start.p.x, pp->start.p.y, pp->start.theta, UNSUPPORTED("1apwqgz53812wo2ejjdn8zz3h"); // pp->start.constrained ? "constrained" : "not constrained"); UNSUPPORTED("4i8p7ha6i9bkydbg3i04ssmqj"); // fprintf(stderr, "end port: (%.5g, %.5g), tangent angle: %.5g, %s\n", UNSUPPORTED("32nx4386ouvodf09v0u4emfkv"); // pp->end.p.x, pp->end.p.y, pp->end.theta, UNSUPPORTED("d7cxrqy42haay280fzr1e81ts"); // pp->end.constrained ? "constrained" : "not constrained"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6u7mpvz8gz08jacc16azxm31t // static pointf get_centroid(Agraph_t *g) public static Object get_centroid(Object... arg) { UNSUPPORTED("2zo1gwkn1bj1agy4g8dxcfmh"); // static pointf get_centroid(Agraph_t *g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6reqgncjwgiuo3fb8rkhmtjv1"); // int cnt = 0; UNSUPPORTED("e1s7ys0dbvp12r1vo9cdl7sp0"); // static pointf sum = {0.0, 0.0}; UNSUPPORTED("4nx1l2ustbo0ptupk2ja9ekds"); // static Agraph_t *save; UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("f17csexi07fwmif5pkxj2wgr1"); // sum.x = (GD_bb(g).LL.x + GD_bb(g).UR.x) / 2.0; UNSUPPORTED("8hoglhn0m8txbvp8w9fvo5cwt"); // sum.y = (GD_bb(g).LL.y + GD_bb(g).UR.y) / 2.0; UNSUPPORTED("e8d6re0f7zq6d14zby6lxtm85"); // return sum; UNSUPPORTED("5xw9py1u6p24f7e8fju2hsmw0"); // if (save == g) return sum; UNSUPPORTED("a1cvki7btccn0pv2gpusya4pt"); // save = g; UNSUPPORTED("7wq24g054kmx3aw25vk5ksj4"); // for (n = agfstnode(g); n; n = agnxtnode(g,n)) { UNSUPPORTED("7mgmah70c4cze5ed5zlcjfnpj"); // sum.x += ND_pos(n)[0]; UNSUPPORTED("3pk32i8trbg5r4tjfzi0xepsa"); // sum.y += ND_pos(n)[1]; UNSUPPORTED("77mslev6fngkh87g2jkd6j87j"); // cnt++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ci5ydgm2xpqvgw8qn5sz0317w"); // sum.x = sum.x / cnt; UNSUPPORTED("f1ofwhoh52tmotz2jx74ji4h5"); // sum.y = sum.y / cnt; UNSUPPORTED("e8d6re0f7zq6d14zby6lxtm85"); // return sum; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7l11iqopuq2ovl93rxmwkobas // static void bend(pointf spl[4], pointf centroid) public static Object bend(Object... arg) { UNSUPPORTED("4ftn2rr6n4c36dbi9as8t8g5h"); // static void bend(pointf spl[4], pointf centroid) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1xm6245yjmk93iuvvm93e1rci"); // pointf midpt,a; UNSUPPORTED("6zgogm7cuuy7co8hhompfoo5"); // double r; UNSUPPORTED("9lxjpyaeeeq2agdn7fik6kzhs"); // double dist,dx,dy; UNSUPPORTED("5bkk1q959a76y20xt0228j9d7"); // midpt.x = (spl[0].x + spl[3].x)/2.0; UNSUPPORTED("bfx7hrazv0khewy4e1ejp2kyb"); // midpt.y = (spl[0].y + spl[3].y)/2.0; UNSUPPORTED("9ydjah76t018eukiay40izzko"); // dx = (spl[3].x - spl[0].x); UNSUPPORTED("ap0c81vlb8rsjnpumymlnvzrl"); // dy = (spl[3].y - spl[0].y); UNSUPPORTED("dfs4ufukqaz9pf7ey54fbuaco"); // dist = sqrt(dx*dx + dy*dy); UNSUPPORTED("97su53ievky8nzohnw0en0a6e"); // r = dist/5.0; UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("cltgduzxyw56ktxuoeoqt4bkm"); // double vX = centroid.x - midpt.x; UNSUPPORTED("h4thwscp36mqboiugjkim5um"); // double vY = centroid.y - midpt.y; UNSUPPORTED("5q6wpyh72kf9xggy2oc929uc3"); // double magV = sqrt(vX*vX + vY*vY); UNSUPPORTED("1w5d961mnlte15ap13tdi5sv2"); // a.x = midpt.x - vX / magV * r; /* + would be closest point */ UNSUPPORTED("2oxj7hzixzdciej9f8u7xe49o"); // a.y = midpt.y - vY / magV * r; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("645kbqr5zpbe6vj9z3o2x5yrb"); // /* this can be improved */ UNSUPPORTED("72i64plp6g9odwle7ly7wgn4a"); // spl[1].x = spl[2].x = a.x; UNSUPPORTED("at1u1jcu4ulhd191p0rfc9e8j"); // spl[1].y = spl[2].y = a.y; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2erpr561ggowmq2m9465p5kqd // void makeStraightEdge(graph_t * g, edge_t * e, int et, splineInfo* sinfo) public static Object makeStraightEdge(Object... arg) { UNSUPPORTED("347dderd02mvlozoheqo4ejwo"); // void UNSUPPORTED("89t1p0jilkexnvk5i1vv1arc0"); // makeStraightEdge(graph_t * g, edge_t * e, int et, splineInfo* sinfo) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7pmvaj5a5w3pee9zkh22s4jt5"); // edge_t *e0; UNSUPPORTED("821nfzu5iwd6ayryeggj37hj2"); // edge_t** edges; UNSUPPORTED("19s88cb2xh6yjpqg0ip3ovi08"); // edge_t* elist[20]; UNSUPPORTED("5dd4r3fk1fwybt8tvqt4z4ta3"); // int i, e_cnt; UNSUPPORTED("310og4kvqsrlm4vs26zqw8c8p"); // e_cnt = 1; UNSUPPORTED("63kfcznl8sc62h1pj6k83cjn3"); // e0 = e; UNSUPPORTED("1451mr2njzp5m6mj64k6m36tf"); // while ((e0 = ED_to_virt(e0))) e_cnt++; UNSUPPORTED("1qovtxs3b3fa6ztj4wx1ahkf2"); // if (e_cnt <= 20) UNSUPPORTED("bp3rco5i77vkqs7wua0k7dbfo"); // edges = elist; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("8zwb4z35iwpyfy9d9n4b51yvh"); // edges = (edge_t**)zmalloc((e_cnt)*sizeof(edge_t*)); UNSUPPORTED("63kfcznl8sc62h1pj6k83cjn3"); // e0 = e; UNSUPPORTED("tf4qi3e2hsjxi603z57w6hx6"); // for (i = 0; i < e_cnt; i++) { UNSUPPORTED("106t1hs57atf24mgepcp9wwjw"); // edges[i] = e0; UNSUPPORTED("dfdtts0ddwzo6ffy5m1pso8t6"); // e0 = ED_to_virt(e0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("db2lohkib2plgiw7i90nxgkjk"); // makeStraightEdges (g, edges, e_cnt, et, sinfo); UNSUPPORTED("b1xlizpp11lvumjyajfk6mxky"); // if (e_cnt > 20) free (edges); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5ztzq4z6l8uj7cn0d1ke7n87p // void makeStraightEdges(graph_t * g, edge_t** edges, int e_cnt, int et, splineInfo* sinfo) public static Object makeStraightEdges(Object... arg) { UNSUPPORTED("347dderd02mvlozoheqo4ejwo"); // void UNSUPPORTED("ayvyrhydt6lt2z6uvpxyh2nxn"); // makeStraightEdges(graph_t * g, edge_t** edges, int e_cnt, int et, splineInfo* sinfo) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5u4oz0rrd9yradyuzr6qniald"); // pointf dumb[4]; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("8i0kwb8r6a2sj6nuvcy3bg9rx"); // node_t *head; UNSUPPORTED("b6jt41a0u7si76m5i0lookv4x"); // int curved = (et == (2 << 1)); UNSUPPORTED("2qrm9sibdk45g8miaadnlmf0z"); // pointf perp; UNSUPPORTED("e88o7l9ftcoq7m3q7njvm0hjb"); // pointf del; UNSUPPORTED("7pmvaj5a5w3pee9zkh22s4jt5"); // edge_t *e0; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("39f8qp0sf99n5kz67fe1sjnao"); // int i, j, xstep, dx; UNSUPPORTED("5qf9bfxinlwybt6vckmul8n5c"); // double l_perp; UNSUPPORTED("biqd62eqps6szrtk8p8sci92q"); // pointf dumber[4]; UNSUPPORTED("3ircl7kohy2qt6yrj3lysuhor"); // pointf p, q; UNSUPPORTED("b0ek9vxrdn6l0aponkc0ezxof"); // e = edges[0]; UNSUPPORTED("dul1axf6kjslblufm4omk5k32"); // n = agtail(e); UNSUPPORTED("9vcgvjkna4elv9mw682bcl1ry"); // head = aghead(e); UNSUPPORTED("b7iaxy7swt1knhamnyh2kvzlj"); // p = dumb[1] = dumb[0] = add_pointf(ND_coord(n), ED_tail_port(e).p); UNSUPPORTED("di45fpacl09sotabtbtbrk4bw"); // q = dumb[2] = dumb[3] = add_pointf(ND_coord(head), ED_head_port(e).p); UNSUPPORTED("9yh32i6luwgciwhvrfvt8aw1a"); // if ((e_cnt == 1) || Concentrate) { UNSUPPORTED("coqqvdvknesi3rdbg68qcc6vn"); // if (curved) bend(dumb,get_centroid(g)); UNSUPPORTED("ejd1q887zolcoupzctycvs5cv"); // clip_and_install(e, aghead(e), dumb, 4, sinfo); UNSUPPORTED("11s5bteac4942mtfiiy4qbq5t"); // addEdgeLabels(g, e, p, q); UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("63kfcznl8sc62h1pj6k83cjn3"); // e0 = e; UNSUPPORTED("6qz2idcg1avhf5caqig9ewcxv"); // if (APPROXEQPT(dumb[0], dumb[3], MILLIPOINT)) { UNSUPPORTED("738uip25tpsxuc3qvsye90wm7"); // /* degenerate case */ UNSUPPORTED("bq580fqcdybbomvpm4qmh5jtq"); // dumb[1] = dumb[0]; UNSUPPORTED("8u36zhoh7cpf1dv8ky0ngt667"); // dumb[2] = dumb[3]; UNSUPPORTED("bgjd2ldhnogj885m52k0nxe0d"); // del.x = 0; UNSUPPORTED("b1x914d40c33xvbmrjx82p563"); // del.y = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("3ksfb9uz6ssvxevjyvfdhcx15"); // perp.x = dumb[0].y - dumb[3].y; UNSUPPORTED("5qy02hcm7w3srhbws1saebqfk"); // perp.y = dumb[3].x - dumb[0].x; UNSUPPORTED("dkis85cdygy51zdkxp4m6zrfn"); // l_perp = LEN(perp.x, perp.y); UNSUPPORTED("60ix8gm4odvpl4njysex8efr4"); // xstep = GD_nodesep(g->root); UNSUPPORTED("9lo8r2t8xlvkucmcxj6r7zcjc"); // dx = xstep * (e_cnt - 1) / 2; UNSUPPORTED("29kynt0cc7vrimccs1typen4c"); // dumb[1].x = dumb[0].x + (dx * perp.x) / l_perp; UNSUPPORTED("8ffy5d6eokrgqxbbzlr3oeo7w"); // dumb[1].y = dumb[0].y + (dx * perp.y) / l_perp; UNSUPPORTED("5ss1wkhlrlbzhjmgex5g5td0j"); // dumb[2].x = dumb[3].x + (dx * perp.x) / l_perp; UNSUPPORTED("78hu4vl7uqaa2xjxh966lsl2z"); // dumb[2].y = dumb[3].y + (dx * perp.y) / l_perp; UNSUPPORTED("czezd6edgg6prqa40qn4cjk99"); // del.x = -xstep * perp.x / l_perp; UNSUPPORTED("brlhwaq7o7jlirlmbgsluegqc"); // del.y = -xstep * perp.y / l_perp; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("tf4qi3e2hsjxi603z57w6hx6"); // for (i = 0; i < e_cnt; i++) { UNSUPPORTED("ezgc9yof65sv59h9bc3xaarqc"); // e0 = edges[i]; UNSUPPORTED("cdinc4vpag193dvamw97pjop"); // if (aghead(e0) == head) { UNSUPPORTED("70bzwaan8xb1eymztyzg8db4z"); // p = dumb[0]; UNSUPPORTED("7s7bzu6vkika1vowxe90pn8jl"); // q = dumb[3]; UNSUPPORTED("xt68cvhca5ecivsf28r6480k"); // for (j = 0; j < 4; j++) { UNSUPPORTED("euip77qbbydsz8d5amnoqz2wp"); // dumber[j] = dumb[j]; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("65qac2gqwej8ehvl0kr0azgoc"); // p = dumb[3]; UNSUPPORTED("1p3ys1kne72eu96ymhhd08ki9"); // q = dumb[0]; UNSUPPORTED("xt68cvhca5ecivsf28r6480k"); // for (j = 0; j < 4; j++) { UNSUPPORTED("cl6iic4z87ms6sxw112uwa8iq"); // dumber[3 - j] = dumb[j]; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("duxo2x55p2xtgyt3bec5dikrr"); // if (et == (3 << 1)) { UNSUPPORTED("3cuaxa5hpxf783bmxnedboxcr"); // Ppoint_t pts[4]; UNSUPPORTED("ey5aedx85s5fe7o31ioqdfot3"); // Ppolyline_t spl, line; UNSUPPORTED("8h359s121i98xp9zlr35vrgo9"); // line.pn = 4; UNSUPPORTED("57e37c2h1b5chgu6si6xi0cp4"); // line.ps = pts; UNSUPPORTED("phcktpjx2242lnn14blec2nu"); // for (j=0; j < 4; j++) { UNSUPPORTED("5tjkl4ul3rus6dd6xt7wfhv9a"); // pts[j] = dumber[j]; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("5uszm2xlyusuekyfgopt358b8"); // make_polyline (line, &spl); UNSUPPORTED("4g67nliqr55eodkgwfdxbw87k"); // clip_and_install(e0, aghead(e0), spl.ps, spl.pn, sinfo); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("cs4gj80s0cjsf32zlavo9gg0q"); // clip_and_install(e0, aghead(e0), dumber, 4, sinfo); UNSUPPORTED("9g4169ket42x6bl41jrpu9vvm"); // addEdgeLabels(g, e0, p, q); UNSUPPORTED("8yg135oq3whkc9jbibbmn6v6a"); // dumb[1].x += del.x; UNSUPPORTED("9sw7189ksprjtdn4dlniux8z4"); // dumb[1].y += del.y; UNSUPPORTED("81xmo1my3dst3f72w8v2o3xb6"); // dumb[2].x += del.x; UNSUPPORTED("bba6iln00idzhk4wan9c8n5ja"); // dumb[2].y += del.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/common/shapes__c.java000066400000000000000000010140101340005343600224450ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static gen.lib.cgraph.attr__c.agget; import static gen.lib.cgraph.obj__c.agraphof; import static gen.lib.common.geom__c.ccwrotatepf; import static gen.lib.common.utils__c.late_double; import static gen.lib.common.utils__c.late_int; import static gen.lib.common.utils__c.late_string; import static gen.lib.common.utils__c.mapbool; import static gen.lib.common.utils__c.safefile; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtils.abs; import static smetana.core.JUtils.atan2; import static smetana.core.JUtils.cos; import static smetana.core.JUtils.enumAsInt; import static smetana.core.JUtils.sin; import static smetana.core.JUtils.sqrt; import static smetana.core.JUtils.strcmp; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.GD_flip; import static smetana.core.Macro.GD_rankdir; import static smetana.core.Macro.INSIDE; import static smetana.core.Macro.MAX; import static smetana.core.Macro.M_PI; import static smetana.core.Macro.N; import static smetana.core.Macro.ND_has_port; import static smetana.core.Macro.ND_height; import static smetana.core.Macro.ND_ht; import static smetana.core.Macro.ND_label; import static smetana.core.Macro.ND_lw; import static smetana.core.Macro.ND_rw; import static smetana.core.Macro.ND_shape; import static smetana.core.Macro.ND_shape_info; import static smetana.core.Macro.ND_width; import static smetana.core.Macro.NOT; import static smetana.core.Macro.RADIANS; import static smetana.core.Macro.ROUND; import static smetana.core.Macro.SQR; import static smetana.core.Macro.SQRT2; import static smetana.core.Macro.UNSUPPORTED; import static smetana.core.Macro.fabs; import static smetana.core.Macro.hypot; import h.ST_Agnode_s; import h.ST_Agnodeinfo_t; import h.ST_Agobj_s; import h.ST_Agraphinfo_t; import h.ST_boxf; import h.ST_inside_t; import h.ST_point; import h.ST_pointf; import h.ST_polygon_t; import h.ST_port; import h.ST_shape_desc; import h.shape_kind; import smetana.core.CFunctionImpl; import smetana.core.CString; import smetana.core.Z; import smetana.core.__ptr__; public class shapes__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 8h06z4a8bluhfqji3ysnlr3q8 // static port Center = /*private final static __struct__ Center = JUtils.from(port.class); static { Center.p.setDouble("x", 0); Center.p.setDouble("y", 0); Center.setDouble("theta", -1); Center.setPtr("bp", null); Center.setInt("defined", 0); Center.setInt("constrained", 0); Center.setInt("clip", 1); Center.setInt("dyna", 0); Center.setInt("order", 0); Center.setInt("side", 0); }*/ //1 ankops6rt7vi2sp8uptwl13x8 // static char *point_style[3] = //1 bdp4y4mfwmo49z2gqqtn77uhl // static poly_desc_t star_gen = //1 wr8d5qdzgrixltx1i3jol1p // static polygon_t p_polygon = //1 606ee1uued1p0d2o7h96efu9d // static polygon_t p_ellipse = /*public static final __struct__ p_ellipse = JUtils.from(polygon_t.class); static { p_ellipse.setInt("regular", 0); p_ellipse.setInt("peripheries", 1); p_ellipse.setInt("sides", 1); p_ellipse.setDouble("orientation", 0.); p_ellipse.setDouble("distortion", 0.); p_ellipse.setDouble("skew", 0.); }*/ //1 7tbw5besp7yern6vgsh7q9kop // static polygon_t p_circle = //1 ugo4ltv5o559q27tqn3r5bkl // static polygon_t p_egg = //1 9ftn1ffly0e6ffwzth9q47uz1 // static polygon_t p_triangle = //1 bw9fxu2ppyosdc0fayd10ik29 // static polygon_t p_box = /*public final static __struct__ p_box = JUtils.from(polygon_t.class); static { p_box.setInt("regular", 0); p_box.setInt("peripheries", 1); p_box.setInt("sides", 4); p_box.setDouble("orientation", 0.); p_box.setDouble("distortion", 0.); p_box.setDouble("skew", 0.); }*/ //1 8y2jx4eiuwgzz2taa1yvgkxrr // static polygon_t p_square = //1 cd8ymd9cpth6be42bx9hneg3k // static polygon_t p_plaintext = //1 3rr68w4p4ndvjnd8v8t8kyvof // static polygon_t p_diamond = //1 2vq6zitonpglah4otrj51bc // static polygon_t p_trapezium = //1 1cmprhux7ohd0kvyuccronajx // static polygon_t p_parallelogram = //1 cviu1ws3i3zudpmfyw9qde1g // static polygon_t p_house = //1 a2801adj9tjun8kavpqhec32e // static polygon_t p_pentagon = //1 bqxkc5i7w4qux0yj6fcvk6i3j // static polygon_t p_hexagon = //1 9dfxrmf5irbiyglpnjva9shjs // static polygon_t p_septagon = //1 8dintdmurw1k99hvel0eylkx // static polygon_t p_octagon = //1 u1t73h3kmbe3dl3nesrd3lli // static polygon_t p_note = //1 7rueooxoen3szgjos715fhyug // static polygon_t p_tab = //1 96p5brfwqh960bh90nko57q5y // static polygon_t p_folder = //1 asszwikv8vsd8r82g9g2dpib0 // static polygon_t p_box3d = //1 6svqv9h6e8w1upvle3kvqalpz // static polygon_t p_component = //1 eupkzejle0xh3lxkum31v0cym // static polygon_t p_underline = //1 dhsf0ibx3e26whwyfd0b6vwxe // static polygon_t p_doublecircle = //1 bnqceu0ie276qgntzbxk8rasy // static polygon_t p_invtriangle = //1 b4qh6rkxlk3dhq3za50nz70g9 // static polygon_t p_invtrapezium = //1 6975h7vqnuq4k5wgxu223q48a // static polygon_t p_invhouse = //1 1y504l91pfltem8lf4b9yugmh // static polygon_t p_doubleoctagon = //1 dejwm44vd6au8zngxmnsctb6h // static polygon_t p_tripleoctagon = //1 cm0diez4xczfsq1e49z5xyx9l // static polygon_t p_Mdiamond = //1 apcunukhbaji0umf6h2rajwjk // static polygon_t p_Msquare = //1 4aby821sp86fcw8lihjx1u1t5 // static polygon_t p_Mcircle = //1 8w3de46truvv9a11sqxbzi3gd // static polygon_t p_star = //1 2q69w7roanbt7ldossjvr2zpp // static polygon_t p_promoter = //1 8lsvyuy90dk6sxfcfd1g751u5 // static polygon_t p_cds = //1 73gtceras7h3x5rqur5zh20pm // static polygon_t p_terminator = //1 1ggglfhw5mb7uo3xo8fjy78ly // static polygon_t p_utr = //1 88ze1f92hnc02v5rtzevj6laf // static polygon_t p_insulator = //1 4gnk4h7twwbbkfsm2v2z5kpm3 // static polygon_t p_ribosite = //1 9p4ragp400660i10e7kw35j6h // static polygon_t p_rnastab = //1 cj4q7wai5wonk0e937ggwye7a // static polygon_t p_proteasesite = //1 cyxbjzhf18t5oktxygjnjdzvr // static polygon_t p_proteinstab = //1 9ddzvwdbr4wdohmir5y8a0fvd // static polygon_t p_primersite = //1 9istclblyhg67yp72g9xs9bwg // static polygon_t p_restrictionsite = //1 11kgrzyf2g5uc9sq4sbrd2smb // static polygon_t p_fivepoverhang = //1 6wf3da8bdlf8f8mo2u6czpmh0 // static polygon_t p_threepoverhang = //1 97vug445f04zvds36aoa0xylg // static polygon_t p_noverhang = //1 86ma4kod9amw5w024mnxyhfkj // static polygon_t p_assembly = //1 23k9m2gdw1fj7q7pdlrcsawl2 // static polygon_t p_signature = //1 ab97s73vl8iehclhx49x8wby5 // static polygon_t p_rpromoter = //1 1vm63ixobrd8mt967caec1jb // static polygon_t p_rarrow = //1 7k1qamsg50xfpik4fmzl26vs1 // static polygon_t p_larrow = //1 659vs9ww96a1ojqko4w4ezt71 // static polygon_t p_lpromoter = //1 dkgul6r2xulzqk2twms3pswmy // static shape_functions poly_fns = /*public final static __struct__ poly_fns = JUtils.from(shape_functions.class); static { poly_fns.setPtr("initfn", function(shapes__c.class, "poly_init")); poly_fns.setPtr("freefn", function(shapes__c.class, "poly_free")); poly_fns.setPtr("portfn", function(shapes__c.class, "poly_port")); poly_fns.setPtr("insidefn", function(shapes__c.class, "poly_inside")); poly_fns.setPtr("pboxfn", function(shapes__c.class, "poly_path")); poly_fns.setPtr("codefn", function(shapes__c.class, "poly_gencode")); }*/ //1 10ii4j68l49hzbm38qspv8azn // static shape_functions point_fns = //1 dkmcmdu75stv4q1ti875sba5e // static shape_functions record_fns = //1 4im5kxw9mpwlfxnlet8fn1lbb // static shape_functions epsf_fns = //1 6hffa4ola6av0i6ls8q0b11fp // static shape_functions star_fns = //1 dkylqbkoarh3lf3lwhnbg2k6n // static shape_desc Shapes[] = /*public static shape_desc Shapes[] = { __Shapes__("box", poly_fns.amp(), p_box.amp()), __Shapes__("ellipse", poly_fns.amp(), p_ellipse.amp()), __Shapes__(null, null, null) }; private static shape_desc __Shapes__(String s, shape_functions shape_functions, polygon_t polygon) { shape_desc result = (shape_desc) Memory.malloc(shape_desc.class); result.setPtr("name", s==null?null:new CString(s)); result.setPtr("fns", shape_functions); result.setPtr("polygon", polygon); return result; }*/ //3 a7copj498to9ai2kxtg728mex // static void unrecognized(node_t * n, char *p) public static Object unrecognized(Object... arg) { UNSUPPORTED("b1ov3x4b2q0ypsqw7wt22050l"); // static void unrecognized(node_t * n, char *p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5otcb2ylyazlaj74cmk4zgv4b"); // agerr(AGWARN, "node %s, port %s unrecognized\n", agnameof(n), p); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1nifps8w2xj8fe3s0e934h9oo // static double quant(double val, double q) public static Object quant(Object... arg) { UNSUPPORTED("d05378246jv81jc6hotxpmh7r"); // static double quant(double val, double q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("c1slbwawuf9uwqrj6g1sbwrg8"); // i = val / q; UNSUPPORTED("7erjq82ff3yxvdt20sqrud101"); // if (i * q + .00001 < val) UNSUPPORTED("chd2f5z6rt19lbaye25ej7q6j"); // i++; UNSUPPORTED("8wst82emkqjm2k0x2velpv3yg"); // return i * q; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eb4jyrh981apg1fy13fczexdl // static int same_side(pointf p0, pointf p1, pointf L0, pointf L1) public static boolean same_side(final ST_pointf p0, final ST_pointf p1, final ST_pointf L0, final ST_pointf L1) { // WARNING!! STRUCT return same_side_w_(p0.copy(), p1.copy(), L0.copy(), L1.copy()); } private static boolean same_side_w_(final ST_pointf p0, final ST_pointf p1, final ST_pointf L0, final ST_pointf L1) { ENTERING("eb4jyrh981apg1fy13fczexdl","same_side"); try { boolean s0, s1; double a, b, c; /* a x + b y = c */ a = -(L1.y - L0.y); b = (L1.x - L0.x); c = a * L0.x + b * L0.y; s0 = (a * p0.x + b * p0.y - c >= 0); s1 = (a * p1.x + b * p1.y - c >= 0); return (s0 == s1); } finally { LEAVING("eb4jyrh981apg1fy13fczexdl","same_side"); } } //3 52h7f4vpu1pj6fqh78wme87uk // static char* penColor(GVJ_t * job, node_t * n) public static Object penColor(Object... arg) { UNSUPPORTED("9y7ivrr4l5s7wx7hbbkjpd2fr"); // static UNSUPPORTED("eghunof84ahzb2mfw01ut6dd0"); // char* penColor(GVJ_t * job, node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5zltq70xm6o2q24ddyqe6noyn"); // char *color; UNSUPPORTED("bxrfaqnhsarmdux9xb7mmda3s"); // color = late_nnstring(n, N_color, ""); UNSUPPORTED("2fh160md1qjnnrenoofa70yeb"); // if (!color[0]) UNSUPPORTED("ehe6g5s4foni0psldwx2ikwnq"); // color = "black"; UNSUPPORTED("47mxcz4gh3xivg50vcji1zkle"); // gvrender_set_pencolor(job, color); UNSUPPORTED("alz5uk378ys9cjg2kl4rkoa4b"); // return color; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7nofo7jo7hj6ehl6tswgfwzif // static char *findFillDflt(node_t * n, char *dflt) public static Object findFillDflt(Object... arg) { UNSUPPORTED("9y7ivrr4l5s7wx7hbbkjpd2fr"); // static UNSUPPORTED("1nwxf9hr4zzdjisa91w1o50qu"); // char *findFillDflt(node_t * n, char *dflt) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5zltq70xm6o2q24ddyqe6noyn"); // char *color; UNSUPPORTED("ccgrxng9qnylk5i99hjlnht74"); // color = late_nnstring(n, N_fillcolor, ""); UNSUPPORTED("7c0tonis6b4g7x5vn96sh0eyj"); // if (!color[0]) { UNSUPPORTED("bsd93fqmnbkaqhs33r2qn4gwf"); // /* for backward compatibilty, default fill is same as pen */ UNSUPPORTED("25wuessppk24dv6psp4kvxhr"); // color = late_nnstring(n, N_color, ""); UNSUPPORTED("9bxthpzdy9nuxnf8yj7gaypx6"); // if (!color[0]) { UNSUPPORTED("f32mf5kh8wtwe3dkjadu7hhm8"); // color = dflt; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("alz5uk378ys9cjg2kl4rkoa4b"); // return color; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dkh0fr3loytegfs1lz9qi1sd6 // static char *findFill(node_t * n) public static Object findFill(Object... arg) { UNSUPPORTED("9y7ivrr4l5s7wx7hbbkjpd2fr"); // static UNSUPPORTED("999wldpj7kbc3jf5qrtjs3kac"); // char *findFill(node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2s92vukfnygadoexil3zao2b"); // return (findFillDflt(n, "lightgrey")); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 b6vz4rofh7tr27tzdul6mqinz // char *findAttrColor(void *obj, attrsym_t *colorattr, char *dflt) public static Object findAttrColor(Object... arg) { UNSUPPORTED("5v9kutabxqrex87ezkjge03mz"); // char *findAttrColor(void *obj, attrsym_t *colorattr, char *dflt){ UNSUPPORTED("5zltq70xm6o2q24ddyqe6noyn"); // char *color; UNSUPPORTED("ec2uw9vki5v50hgtkdhn7xx5a"); // if(colorattr != NULL) UNSUPPORTED("3mxnhdjc8yzcnelc8jqfu1vp9"); // color = late_nnstring(obj, colorattr, dflt); UNSUPPORTED("14ipy30gtp782xdiwpi735st"); // else if(dflt != NULL && dflt[0]) UNSUPPORTED("2xj2lztryr9os0vo3pmwf6f6p"); // color = dflt; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("1s8rhhkx6hn7y21eh14g1douw"); // color = "lightgrey"; UNSUPPORTED("alz5uk378ys9cjg2kl4rkoa4b"); // return color; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arypshfdif4tg03g6bv68e74s // static int isBox (node_t* n) public static Object isBox(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("1fh5whcpicn37jal4or4fzmhe"); // isBox (node_t* n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("599v2ggusx2npjbgg129z2mwn"); // polygon_t *p; UNSUPPORTED("euj05ebp04ciftzza0knizzej"); // if ((p = ND_shape(n)->polygon)) { UNSUPPORTED("6brfvvb4tyn70jzd3jn6c1gwo"); // return (p->sides == 4 && (ROUND(p->orientation) % 90) == 0 && p->distortion == 0. && p->skew == 0.); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ddsagt9m8yt7n8h3nk19jnk2p // static int isEllipse(node_t* n) public static Object isEllipse(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("dj5on95sulam3ulc2tw8duoeq"); // isEllipse(node_t* n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("599v2ggusx2npjbgg129z2mwn"); // polygon_t *p; UNSUPPORTED("euj05ebp04ciftzza0knizzej"); // if ((p = ND_shape(n)->polygon)) { UNSUPPORTED("advye1fx4h5jqr6x6lq6qsjnb"); // return (p->sides <= 2); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e6hjh17xf1s408w7nmf95mnvn // static char **checkStyle(node_t * n, int *flagp) public static Object checkStyle(Object... arg) { UNSUPPORTED("ez47sxvuvz2y431fczf0ih52b"); // static char **checkStyle(node_t * n, int *flagp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("byo308l1rmve5rmx8wt32juux"); // char *style; UNSUPPORTED("1m69eum6fcxl62kbxksis88or"); // char **pstyle = 0; UNSUPPORTED("1y4qclfm9xrlqe6oi5k512dih"); // int istyle = 0; UNSUPPORTED("7b0667dpeiekddi69gpywx92t"); // polygon_t *poly; UNSUPPORTED("8pjk3xuss8ew2p7e7t0djo8qp"); // style = late_nnstring(n, N_style, ""); UNSUPPORTED("4ouo3ttcnk1yyzsz5wrt88zw"); // if (style[0]) { UNSUPPORTED("h7xdp8l98vgmu8dkibee5kcm"); // char **pp; UNSUPPORTED("9uleufnyvtzwmq2wbcnmeyp3a"); // char **qp; UNSUPPORTED("1ys4x1uj0hoyf2yuvrmddwh9i"); // char *p; UNSUPPORTED("6akvfrhnmmgier60pl8bkt42r"); // pp = pstyle = parse_style(style); UNSUPPORTED("9vj0v0tutidnb2hxprdosjm39"); // while ((p = *pp)) { UNSUPPORTED("9e8iza5oo9qnprgvfs80p1cmq"); // if ((*(p)==*("filled")&&!strcmp(p,"filled"))) { UNSUPPORTED("5uu1d9grveb0bmsov10mqrtj3"); // istyle |= (1 << 0); UNSUPPORTED("5lcmi10wuwp3fyn36cloc29y3"); // pp++; UNSUPPORTED("3uvy87owpxhpcjijxbeue7ml9"); // } else if ((*(p)==*("rounded")&&!strcmp(p,"rounded"))) { UNSUPPORTED("dtj2r1tvn8fuoefvhmbg7k8es"); // istyle |= (1 << 2); UNSUPPORTED("8dbdrjhappnkp11tqkg67i250"); // qp = pp; /* remove rounded from list passed to renderer */ UNSUPPORTED("21y8hlxutle9votbe86f2hfpl"); // do { UNSUPPORTED("7ca407ksqxmxkuny8m7gr1rzj"); // qp++; UNSUPPORTED("2dnl06ux4flpusn9o6uoauj6f"); // *(qp - 1) = *qp; UNSUPPORTED("1ujv3j8mb7i0c6nzdfgy27w4s"); // } while (*qp); UNSUPPORTED("3c5cnairumxqyot9agywkupmf"); // } else if ((*(p)==*("diagonals")&&!strcmp(p,"diagonals"))) { UNSUPPORTED("esqbhmned54nx3htomtcxqdvl"); // istyle |= (1 << 3); UNSUPPORTED("36pjs10mstioxkt5rmh4iask6"); // qp = pp; /* remove diagonals from list passed to renderer */ UNSUPPORTED("21y8hlxutle9votbe86f2hfpl"); // do { UNSUPPORTED("7ca407ksqxmxkuny8m7gr1rzj"); // qp++; UNSUPPORTED("2dnl06ux4flpusn9o6uoauj6f"); // *(qp - 1) = *qp; UNSUPPORTED("1ujv3j8mb7i0c6nzdfgy27w4s"); // } while (*qp); UNSUPPORTED("st5o1gk88otja1grsb6lfacw"); // } else if ((*(p)==*("invis")&&!strcmp(p,"invis"))) { UNSUPPORTED("9r65ku75by3pt573pvd9je65n"); // istyle |= (1 << 5); UNSUPPORTED("5lcmi10wuwp3fyn36cloc29y3"); // pp++; UNSUPPORTED("e2fhjqum3y3u10hfayo9loxxn"); // } else if ((*(p)==*("radial")&&!strcmp(p,"radial"))) { UNSUPPORTED("9gjvnf8gjbb6f0zv7dyeerzjy"); // istyle |= ((1 << 1)|(1 << 0)); UNSUPPORTED("cumhwwp133cqb8wq8izofb58h"); // qp = pp; /* remove radial from list passed to renderer */ UNSUPPORTED("21y8hlxutle9votbe86f2hfpl"); // do { UNSUPPORTED("7ca407ksqxmxkuny8m7gr1rzj"); // qp++; UNSUPPORTED("2dnl06ux4flpusn9o6uoauj6f"); // *(qp - 1) = *qp; UNSUPPORTED("1ujv3j8mb7i0c6nzdfgy27w4s"); // } while (*qp); UNSUPPORTED("dnu7ns5prehtumzxvv0s4smtc"); // } else if ((*(p)==*("striped")&&!strcmp(p,"striped")) && isBox(n)) { UNSUPPORTED("2u98nt7rt9sd9aapq55s8ew7h"); // istyle |= (1 << 6); UNSUPPORTED("24ciiasyae2z41bjr8zmt7b2o"); // qp = pp; /* remove striped from list passed to renderer */ UNSUPPORTED("21y8hlxutle9votbe86f2hfpl"); // do { UNSUPPORTED("7ca407ksqxmxkuny8m7gr1rzj"); // qp++; UNSUPPORTED("2dnl06ux4flpusn9o6uoauj6f"); // *(qp - 1) = *qp; UNSUPPORTED("1ujv3j8mb7i0c6nzdfgy27w4s"); // } while (*qp); UNSUPPORTED("eqw80tpippiilbiit1pnwqkdk"); // } else if ((*(p)==*("wedged")&&!strcmp(p,"wedged")) && isEllipse(n)) { UNSUPPORTED("bszmjhb5tngdseiirkqdspwzj"); // istyle |= (1 << 9); UNSUPPORTED("11bhw5dod5c1mltace9v23vvq"); // qp = pp; /* remove wedged from list passed to renderer */ UNSUPPORTED("21y8hlxutle9votbe86f2hfpl"); // do { UNSUPPORTED("7ca407ksqxmxkuny8m7gr1rzj"); // qp++; UNSUPPORTED("2dnl06ux4flpusn9o6uoauj6f"); // *(qp - 1) = *qp; UNSUPPORTED("1ujv3j8mb7i0c6nzdfgy27w4s"); // } while (*qp); UNSUPPORTED("afk9bpom7x393euamnvwwkx6b"); // } else UNSUPPORTED("5lcmi10wuwp3fyn36cloc29y3"); // pp++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a951gj8apiferiznswhme5q28"); // if ((poly = ND_shape(n)->polygon)) UNSUPPORTED("enpv6kdyy99zkq0pgqfvhe4c1"); // istyle |= poly->option; UNSUPPORTED("8wc6gkmat3lo0h81wd7xv879k"); // *flagp = istyle; UNSUPPORTED("iuoxnbeo1cwfgz97k92ylegx"); // return pstyle; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cmfha87baduerx07enpoxpl0i // static int stylenode(GVJ_t * job, node_t * n) public static Object stylenode(Object... arg) { UNSUPPORTED("2zooek35a9pjrcqa212ed7d4d"); // static int stylenode(GVJ_t * job, node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1lh27pielrns99pzh9yww5tc3"); // char **pstyle, *s; UNSUPPORTED("at5a8doos9xnvfmdynzdnj22m"); // int istyle; UNSUPPORTED("75w3zx2oz7s1yf7arcxf48heo"); // double penwidth; UNSUPPORTED("45vqmqwfbzihkp69fkdmro84u"); // if ((pstyle = checkStyle(n, &istyle))) UNSUPPORTED("5ewqs6gfz9r9n25gcsbn054ej"); // gvrender_set_style(job, pstyle); UNSUPPORTED("aajxt23i7arb7fnkpedw53kj3"); // if (N_penwidth && ((s = agxget(n, N_penwidth)) && s[0])) { UNSUPPORTED("9ahr3ul831dw5ggnbkxpjttyu"); // penwidth = late_double(n, N_penwidth, 1.0, 0.0); UNSUPPORTED("a85jezrt5nu63vkla8bslhzcx"); // gvrender_set_penwidth(job, penwidth); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8jt5dmpnjjn7vbyh8jm3z92dd"); // return istyle; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 484y5dade0mh0rhmlpq9sbgyj // static void Mcircle_hack(GVJ_t * job, node_t * n) public static Object Mcircle_hack(Object... arg) { UNSUPPORTED("14yetc0y5dql9a1m4hjimwery"); // static void Mcircle_hack(GVJ_t * job, node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4g01jt8p980itgxzog49s8ur3"); // double x, y; UNSUPPORTED("73immmni8bd7nbea87pqqtsss"); // pointf AF[2], p; UNSUPPORTED("91olkqdwuv079mwgafkjm2pvm"); // y = .7500; UNSUPPORTED("1ij13nw7td2w3yobqltvugja4"); // x = .6614; /* x^2 + y^2 = 1.0 */ UNSUPPORTED("idkjly9lhs1takhai4jmwuyq"); // p.y = y * ND_ht(n) / 2.0; UNSUPPORTED("751pbavi8681zqnswp9rwue5o"); // p.x = ND_rw(n) * x; /* assume node is symmetric */ UNSUPPORTED("7mid2xd4xh4xgdhe907o6g6l4"); // AF[0] = add_pointf(p, ND_coord(n)); UNSUPPORTED("a2250pkc00wvt8bx8azxq1ug0"); // AF[1].y = AF[0].y; UNSUPPORTED("cqt3b70row8txs0n26fb4un7u"); // AF[1].x = AF[0].x - 2 * p.x; UNSUPPORTED("9lgjyllrdl3lrvuyrlz3hkakl"); // gvrender_polyline(job, AF, 2); UNSUPPORTED("fim2su3akeazbrjzelz70baa"); // AF[0].y -= 2 * p.y; UNSUPPORTED("a2250pkc00wvt8bx8azxq1ug0"); // AF[1].y = AF[0].y; UNSUPPORTED("9lgjyllrdl3lrvuyrlz3hkakl"); // gvrender_polyline(job, AF, 2); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ei77gihju88eavrphjd4217d0 // void round_corners(GVJ_t * job, pointf * AF, int sides, int style, int filled) public static Object round_corners(Object... arg) { UNSUPPORTED("4zly0db3w4vfht908qlfjvgr1"); // void round_corners(GVJ_t * job, pointf * AF, int sides, int style, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3z10hnxy3lvnkbnaai7c7ccl"); // pointf *B, C[5], *D, p0, p1; UNSUPPORTED("81yo6al7e3nxtf9ekuqa4n6xc"); // double rbconst, d, dx, dy, t; UNSUPPORTED("b9m8kb2lfopred94uilevubat"); // int i, seg, mode, shape; UNSUPPORTED("48n1zwofayobr58hhiz0y5wfp"); // pointf* pts; UNSUPPORTED("erycpwhkizj18xsodfbapugg"); // shape = style & (127 << 24); UNSUPPORTED("17t8enyxf5yj5x4qmggz27rpj"); // if (style & (1 << 3)) UNSUPPORTED("209ali7eb7s6xpcplnxc1n105"); // mode = (1 << 3); UNSUPPORTED("2jjd9xuwi3k89b2qz48p9qiij"); // else if (style & (127 << 24)) UNSUPPORTED("69pqj1vo4pr13r0r02kyk8rtq"); // mode = shape; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("b3q1yyf621vvgphjqrr5ryare"); // mode = (1 << 2); UNSUPPORTED("6ssyjdjxo2ulqor8iwagn9d2f"); // B = (pointf*)zmalloc((4 * sides + 4)*sizeof(pointf)); UNSUPPORTED("9z3er49pc4h2rxja5r9grdo0h"); // i = 0; UNSUPPORTED("8r6c7fd8ovc5djxlr8ewm50r2"); // /* rbconst is distance offset from a corner of the polygon. UNSUPPORTED("2gs01cac7peva58o5tfygbktx"); // * It should be the same for every corner, and also never UNSUPPORTED("7jv69y6bs582woz54uifrosyf"); // * bigger than one-third the length of a side. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("3y9cq08hyl44nlpgdz8bq9x5y"); // rbconst = 12; UNSUPPORTED("a194n3zgdgtwg7jus6dt8zt8m"); // for (seg = 0; seg < sides; seg++) { UNSUPPORTED("8u84gg4ehm9gt01gwlriapp7p"); // p0 = AF[seg]; UNSUPPORTED("jrhdb2qs0vcycqv19gjkoxpb"); // if (seg < sides - 1) UNSUPPORTED("3a621ve4bfuqz53sahxjnie0n"); // p1 = AF[seg + 1]; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("a2k7gegucha0lsv4ojjyg8bry"); // p1 = AF[0]; UNSUPPORTED("5wygoyf2uskp90f77rq77i4sl"); // dx = p1.x - p0.x; UNSUPPORTED("crmaptew4roh76io36shmz912"); // dy = p1.y - p0.y; UNSUPPORTED("4tigxgedxe60aamdjuhhrwsx4"); // d = sqrt(dx * dx + dy * dy); UNSUPPORTED("corgbpn6r0vxd6q04wn8gq4gq"); // rbconst = MIN(rbconst, d / 3.0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a194n3zgdgtwg7jus6dt8zt8m"); // for (seg = 0; seg < sides; seg++) { UNSUPPORTED("8u84gg4ehm9gt01gwlriapp7p"); // p0 = AF[seg]; UNSUPPORTED("jrhdb2qs0vcycqv19gjkoxpb"); // if (seg < sides - 1) UNSUPPORTED("3a621ve4bfuqz53sahxjnie0n"); // p1 = AF[seg + 1]; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("a2k7gegucha0lsv4ojjyg8bry"); // p1 = AF[0]; UNSUPPORTED("5wygoyf2uskp90f77rq77i4sl"); // dx = p1.x - p0.x; UNSUPPORTED("crmaptew4roh76io36shmz912"); // dy = p1.y - p0.y; UNSUPPORTED("4tigxgedxe60aamdjuhhrwsx4"); // d = sqrt(dx * dx + dy * dy); UNSUPPORTED("4ohox9viufh5hz01z2sjq8eo6"); // t = rbconst / d; UNSUPPORTED("7w7drxi1wvf81230kfb4tx9sf"); // if (shape == (4 << 24) || shape == (5 << 24)) UNSUPPORTED("5xzdqgzfi0wjoiatowdjh64gy"); // t /= 3; UNSUPPORTED("a67ot847ab7bmt4df22rcjqjh"); // else if (shape == (1 << 24)) UNSUPPORTED("7crlw5k29pn4silm51hmqn309"); // t /= 2; UNSUPPORTED("tt3u4mg8fwhys49ftrmyhoo8"); // if (mode != (1 << 2)) UNSUPPORTED("8z8165i54px2guqyp4r3iivm"); // B[i++] = p0; UNSUPPORTED("df5svfeo1imlc8qm6azeqkkmh"); // else UNSUPPORTED("1c0c66imkoa2k4geseydtrlks"); // B[i++] = interpolate_pointf(.5 * t, p0, p1); UNSUPPORTED("3tiws3vikebhgs3g79mlh5s0a"); // B[i++] = interpolate_pointf(t, p0, p1); UNSUPPORTED("ck1de7cjc9kz82t8n4b3kaply"); // B[i++] = interpolate_pointf(1.0 - t, p0, p1); UNSUPPORTED("5ecb0sv32aezfln59kwr7n54j"); // if (mode == (1 << 2)) UNSUPPORTED("4yqnq3vzqlqucce76lf2i48sh"); // B[i++] = interpolate_pointf(1.0 - .5 * t, p0, p1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("456xy9zxbdvxkgw63cphz32yv"); // B[i++] = B[0]; UNSUPPORTED("a3zl8b5gohcvf0aamq9zy3r2z"); // B[i++] = B[1]; UNSUPPORTED("1rw55m45llp1oiu1b664bdtt7"); // B[i++] = B[2]; UNSUPPORTED("1n2j212wuyr8t1oi45d91ta7r"); // switch (mode) { UNSUPPORTED("2buge9zhgso34sq694br4vpn6"); // case (1 << 2): UNSUPPORTED("4zyg1qcp15ft55bhiug326st9"); // pts = (pointf*)gmalloc((6 * sides + 2)*sizeof(pointf)); UNSUPPORTED("5or0zebpgtvozlmal8j2q1ymh"); // i = 0; UNSUPPORTED("2b4hmqn28jyawsresopw3imez"); // for (seg = 0; seg < sides; seg++) { UNSUPPORTED("4dwf576bgn14ur203rpzfmvcj"); // pts[i++] = B[4 * seg]; UNSUPPORTED("bal6cvz4s8gwpl3au15cp6gut"); // pts[i++] = B[4 * seg+1]; UNSUPPORTED("bal6cvz4s8gwpl3au15cp6gut"); // pts[i++] = B[4 * seg+1]; UNSUPPORTED("9qw0jg5a0jzxhnoz56auikdah"); // pts[i++] = B[4 * seg+2]; UNSUPPORTED("9qw0jg5a0jzxhnoz56auikdah"); // pts[i++] = B[4 * seg+2]; UNSUPPORTED("7u491erkgkpheh23pmb7ay6tm"); // pts[i++] = B[4 * seg+3]; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("bmzoxzu4zo3s8tlzc1m3x4e1v"); // pts[i++] = pts[0]; UNSUPPORTED("3e5hosajkvxgm8usnlbhxcuir"); // pts[i++] = pts[1]; UNSUPPORTED("93i0re7fzom2m1gwn8dnxcylj"); // gvrender_beziercurve(job, pts+1, i-1, 0, 0, filled); UNSUPPORTED("dgq0qjac3ho7gugxw0mqbv96"); // free (pts); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("14wf8f4gfb2l2ihvry7d2x38l"); // case (1 << 3): UNSUPPORTED("azp5izjs4eyq3uy0ah00hm8n4"); // /* diagonals are weird. rewrite someday. */ UNSUPPORTED("5j9owdiqcj7bt8mcr301dht8q"); // gvrender_polygon(job, AF, sides, filled); UNSUPPORTED("2b4hmqn28jyawsresopw3imez"); // for (seg = 0; seg < sides; seg++) { UNSUPPORTED("9ryfluah120xc0oke5t971wtf"); // C[0] = B[3 * seg + 2]; UNSUPPORTED("cqr6f1xlnm7nng28pnfor5h9b"); // C[1] = B[3 * seg + 4]; UNSUPPORTED("b0gt3f20500y9ckfsqr07bwn9"); // gvrender_polyline(job, C, 2); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("9fjpgho6bfz7z8s29gy8e6uoc"); // case (1 << 24): UNSUPPORTED("8wy6a8izye4sz73njhv8j9znc"); // /* Add the cutoff edge. */ UNSUPPORTED("b5f90htb83l32kamg97jm1sux"); // D = (pointf*)zmalloc((sides + 1)*sizeof(pointf)); UNSUPPORTED("aofwnlg1s6y08lf7550rpgt6b"); // for (seg = 1; seg < sides; seg++) UNSUPPORTED("6sqx87841cn900qusanuebotn"); // D[seg] = AF[seg]; UNSUPPORTED("aoly4odhqt3ydqpni1b56wx0a"); // D[0] = B[3 * (sides - 1) + 4]; UNSUPPORTED("dike7lk77zy9w7gw1blk27kjr"); // D[sides] = B[3 * (sides - 1) + 2]; UNSUPPORTED("6u1z6h8gfy4ofbsa9gidwp2v9"); // gvrender_polygon(job, D, sides + 1, filled); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("eoq3dhyls1a02czm0kv7mk15"); // /* Draw the inner edge. */ UNSUPPORTED("b0pvjrkdu25er5c08tx04ycvn"); // seg = sides - 1; UNSUPPORTED("aojv0k5pq5qdtvzl90n7o2z4a"); // C[0] = B[3 * seg + 2]; UNSUPPORTED("ak39zpyk8ew0qkrfdq4o6vulb"); // C[1] = B[3 * seg + 4]; UNSUPPORTED("zasq52jvz91zaqrusqeppioc"); // C[2].x = C[1].x + (C[0].x - B[3 * seg + 3].x); UNSUPPORTED("183xcjzzdjqiylg3dyj2bm9p0"); // C[2].y = C[1].y + (C[0].y - B[3 * seg + 3].y); UNSUPPORTED("1f9f75c5ajnw72fk4rhidjvk9"); // gvrender_polyline(job, C + 1, 2); UNSUPPORTED("frux7sbbz1c07p68288k7bjt"); // C[1] = C[2]; UNSUPPORTED("borq5nu8vs8newp4f3zf2ti2x"); // gvrender_polyline(job, C, 2); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("10iw0jyewk2q2w6qy33amd83c"); // case (2 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("11hn7suih6n97ek5ack6vv7ni"); // * Adjust the perimeter for the protrusions. UNSUPPORTED("cmrglhtmovtl6mh8dyeurkeed"); // * UNSUPPORTED("2ke5cay4uy9rpguirhm4wa6h"); // * D[3] +--+ D[2] UNSUPPORTED("4zc493k26lywwhtoilkgc1l7x"); // * | | B[1] UNSUPPORTED("2m2wzvksfyug1w1bxq51fnx8t"); // * B[3] + +----------+--+ AF[0]=B[0]=D[0] UNSUPPORTED("5n95z8suw2ujdfytdrngbd1an"); // * | B[2]=D[1] | UNSUPPORTED("bxixf1yy90einvhfmisdbksm8"); // * B[4] + | UNSUPPORTED("5at9s03omerhkkh28ytchzp8p"); // * | | UNSUPPORTED("9hfhbws20bnfssgim1z95d6c"); // * B[5] + | UNSUPPORTED("at59m33r1w0mw5cp7ympbfal6"); // * +----------------+ UNSUPPORTED("cmrglhtmovtl6mh8dyeurkeed"); // * UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("5kvv3jvgrdk38xmgwem87tcf9"); // /* Add the tab edges. */ UNSUPPORTED("70701yzl3gbwgttd66404h5y0"); // D = (pointf*)zmalloc((sides + 2)*sizeof(pointf)); UNSUPPORTED("bf9oppknir8tl1n0mty1c2mou"); // D[0] = AF[0]; UNSUPPORTED("c66e72qch46j50w8wi2ex9igr"); // D[1] = B[2]; UNSUPPORTED("500mpct3i9wgs3px8hsgnd7m"); // D[2].x = B[2].x + (B[3].x - B[4].x) / 3; UNSUPPORTED("4mbi2yyoztsb8r3tezo2a6bdn"); // D[2].y = B[2].y + (B[3].y - B[4].y) / 3; UNSUPPORTED("ciue6jcuvx8w3rhusaybjn0js"); // D[3].x = B[3].x + (B[3].x - B[4].x) / 3; UNSUPPORTED("ewjqnbklefpknisen36ov0eor"); // D[3].y = B[3].y + (B[3].y - B[4].y) / 3; UNSUPPORTED("97qpn7goedd7t1yn8vv7l2wta"); // for (seg = 4; seg < sides + 2; seg++) UNSUPPORTED("37s6t8j0ylr7pgcyrb42nnzru"); // D[seg] = AF[seg - 2]; UNSUPPORTED("d4ps5t7sfp45tctsjawfhtbnx"); // gvrender_polygon(job, D, sides + 2, filled); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("eoq3dhyls1a02czm0kv7mk15"); // /* Draw the inner edge. */ UNSUPPORTED("du4dccw5ec6jy7zfkw1ke8w5o"); // C[0] = B[3]; UNSUPPORTED("66sh6zqifln1cd8fag6neksct"); // C[1] = B[2]; UNSUPPORTED("borq5nu8vs8newp4f3zf2ti2x"); // gvrender_polyline(job, C, 2); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("3ylqzc8858ud3k78im7cnmmcy"); // case (3 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("11hn7suih6n97ek5ack6vv7ni"); // * Adjust the perimeter for the protrusions. UNSUPPORTED("cmrglhtmovtl6mh8dyeurkeed"); // * UNSUPPORTED("8f9cn4lj1t7xhfy5h96toa6z7"); // * D[2] +----+ D[1] UNSUPPORTED("3jbilbyrjvqxazi6ya1u20wl"); // * B[3]= / * D[4] +--+----+ + + AF[0]=B[0]=D[0] UNSUPPORTED("9ef8paf9orf5t71eo10jr5730"); // * | B[2] D[3] B[1]| UNSUPPORTED("bxixf1yy90einvhfmisdbksm8"); // * B[4] + | UNSUPPORTED("5at9s03omerhkkh28ytchzp8p"); // * | | UNSUPPORTED("9hfhbws20bnfssgim1z95d6c"); // * B[5] + | UNSUPPORTED("at59m33r1w0mw5cp7ympbfal6"); // * +----------------+ UNSUPPORTED("cmrglhtmovtl6mh8dyeurkeed"); // * UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("1eenvw2caym3k7merjrt3657j"); // /* Add the folder edges. */ UNSUPPORTED("exmy2ulb6j7va8q6lm6tnworf"); // D = (pointf*)zmalloc((sides + 3)*sizeof(pointf)); UNSUPPORTED("bf9oppknir8tl1n0mty1c2mou"); // D[0] = AF[0]; UNSUPPORTED("dtt4p6jk6p6dp18x3u65bzmpw"); // D[1].x = AF[0].x - (AF[0].x - B[1].x) / 4; UNSUPPORTED("1md1kmylraqzyaczi97hwwslr"); // D[1].y = AF[0].y + (B[3].y - B[4].y) / 3; UNSUPPORTED("9yn6qa7smu43hw0zjjaqtdtud"); // D[2].x = AF[0].x - 2 * (AF[0].x - B[1].x); UNSUPPORTED("dmuv0ci8g28j2wpq47bkjo7p6"); // D[2].y = D[1].y; UNSUPPORTED("3w8e9xzd5au6dbo2ceoce7ecd"); // D[3].x = AF[0].x - 2.25 * (AF[0].x - B[1].x); UNSUPPORTED("2z54uncfysm85pzpofpflla2n"); // D[3].y = B[3].y; UNSUPPORTED("bppsqpbzfnhxthbppwlvtxlmq"); // D[4].x = B[3].x; UNSUPPORTED("blpuc391svsq7x2xbrue0e7q9"); // D[4].y = B[3].y; UNSUPPORTED("53hurg1p6mqqqgokwg5t04k5u"); // for (seg = 4; seg < sides + 3; seg++) UNSUPPORTED("1v8cof9jpvwyuadpsdaqvu9f6"); // D[seg] = AF[seg - 3]; UNSUPPORTED("66hq5hkfg6ixw5enzwwhsontq"); // gvrender_polygon(job, D, sides + 3, filled); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("9zpoxalkfa99z3f69jfqdwd33"); // case (4 << 24): UNSUPPORTED("10wchrvt3c3lld3qfda19dzc2"); // assert(sides == 4); UNSUPPORTED("5jncdktfe0besyw426v5gyk97"); // /* Adjust for the cutoff edges. */ UNSUPPORTED("70701yzl3gbwgttd66404h5y0"); // D = (pointf*)zmalloc((sides + 2)*sizeof(pointf)); UNSUPPORTED("bf9oppknir8tl1n0mty1c2mou"); // D[0] = AF[0]; UNSUPPORTED("c66e72qch46j50w8wi2ex9igr"); // D[1] = B[2]; UNSUPPORTED("34xwb19muwsw7nh47ifxqeinh"); // D[2] = B[4]; UNSUPPORTED("m2dcvmgpwt6s3w1ik1eo8wtz"); // D[3] = AF[2]; UNSUPPORTED("87b41ff5btb6uyil4uwshlxm"); // D[4] = B[8]; UNSUPPORTED("dus787h2fbafocu5jw9x5tvry"); // D[5] = B[10]; UNSUPPORTED("d4ps5t7sfp45tctsjawfhtbnx"); // gvrender_polygon(job, D, sides + 2, filled); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("cbntf28jgu8mfc1hfsmxmxd0a"); // /* Draw the inner vertices. */ UNSUPPORTED("cue3s8g57y8c0yaa1lf26dj0m"); // C[0].x = B[1].x + (B[11].x - B[0].x); UNSUPPORTED("2cmi2wfte2qh9gijl68bakhsb"); // C[0].y = B[1].y + (B[11].y - B[0].y); UNSUPPORTED("dxiovj41sjesdzgvqycs8n69d"); // C[1] = B[4]; UNSUPPORTED("borq5nu8vs8newp4f3zf2ti2x"); // gvrender_polyline(job, C, 2); UNSUPPORTED("9pl28lk4wdwe76r2auimzv3uh"); // C[1] = B[8]; UNSUPPORTED("borq5nu8vs8newp4f3zf2ti2x"); // gvrender_polyline(job, C, 2); UNSUPPORTED("86prrkb6o2eadx8wt21jmkhbv"); // C[1] = B[0]; UNSUPPORTED("borq5nu8vs8newp4f3zf2ti2x"); // gvrender_polyline(job, C, 2); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("5kno8ta0hm2ddpbudyyjtro1m"); // case (5 << 24): UNSUPPORTED("10wchrvt3c3lld3qfda19dzc2"); // assert(sides == 4); UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("11hn7suih6n97ek5ack6vv7ni"); // * Adjust the perimeter for the protrusions. UNSUPPORTED("cmrglhtmovtl6mh8dyeurkeed"); // * UNSUPPORTED("buae5rybq9lw4j80le921um4r"); // * D[1] +----------------+ D[0] UNSUPPORTED("5at9s03omerhkkh28ytchzp8p"); // * | | UNSUPPORTED("czyzy0uakecldzx0ct8ivruuq"); // * 3+---+2 | UNSUPPORTED("2xugwq0paym82tfnux69txz9i"); // * | | UNSUPPORTED("4ol1bofwhi5div9o31p9wjtj4"); // * 4+---+5 | UNSUPPORTED("5at9s03omerhkkh28ytchzp8p"); // * | | UNSUPPORTED("5u2sqowe8zkdk3y4bln5j5zhp"); // * 7+---+6 | UNSUPPORTED("2xugwq0paym82tfnux69txz9i"); // * | | UNSUPPORTED("4oztb9whw0lnxt2i3c0fve4bg"); // * 8+---+9 | UNSUPPORTED("5at9s03omerhkkh28ytchzp8p"); // * | | UNSUPPORTED("awyck47phrgtt6emr4jcnw7v8"); // * 10+----------------+ D[11] UNSUPPORTED("cmrglhtmovtl6mh8dyeurkeed"); // * UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("24ixpw0s6fz9ly7ogkwntlkc5"); // D = (pointf*)zmalloc((sides + 8)*sizeof(pointf)); UNSUPPORTED("bf9oppknir8tl1n0mty1c2mou"); // D[0] = AF[0]; UNSUPPORTED("65vl8eczvd624e78x152zuae8"); // D[1] = AF[1]; UNSUPPORTED("809tuda28xqouetq11u936beb"); // D[2].x = B[3].x + (B[4].x - B[3].x); UNSUPPORTED("cm9zr706ma61pgcr1xawvkeu8"); // D[2].y = B[3].y + (B[4].y - B[3].y); UNSUPPORTED("cwrn6kyomgttqmgbjkzbsfdb6"); // D[3].x = D[2].x + (B[3].x - B[2].x); UNSUPPORTED("2btthvnyzi5zr69hcdxsmzy6b"); // D[3].y = D[2].y + (B[3].y - B[2].y); UNSUPPORTED("j05ovjq3e57jkpjgbgn2a93n"); // D[4].x = D[3].x + (B[4].x - B[3].x); UNSUPPORTED("kp5e1lgz2klpjavxggb5uxtx"); // D[4].y = D[3].y + (B[4].y - B[3].y); UNSUPPORTED("9xz12l85tya02764n9dek9tsj"); // D[5].x = D[4].x + (D[2].x - D[3].x); UNSUPPORTED("3mjb8ks0do270kur1velhlfhg"); // D[5].y = D[4].y + (D[2].y - D[3].y); UNSUPPORTED("amtvzdzubjy4pclq29xzao8nz"); // D[9].x = B[6].x + (B[5].x - B[6].x); UNSUPPORTED("62igzc0qeet9vup11kzlaoi9b"); // D[9].y = B[6].y + (B[5].y - B[6].y); UNSUPPORTED("5ya7ec3f9qo5kmci76122v75u"); // D[8].x = D[9].x + (B[6].x - B[7].x); UNSUPPORTED("eld0yh2bct5ke7mg09giyed8n"); // D[8].y = D[9].y + (B[6].y - B[7].y); UNSUPPORTED("cg32k9flso7918lk33auqxwva"); // D[7].x = D[8].x + (B[5].x - B[6].x); UNSUPPORTED("8dugkdcnkq8sp07se4h7s8cfv"); // D[7].y = D[8].y + (B[5].y - B[6].y); UNSUPPORTED("2e85hrv7fq481gbwdw9hllum1"); // D[6].x = D[7].x + (D[9].x - D[8].x); UNSUPPORTED("7ov0p9nbyd0ax3sgivwszaqv7"); // D[6].y = D[7].y + (D[9].y - D[8].y); UNSUPPORTED("5aoma5n0p035f1aanu4wtjtxs"); // D[10] = AF[2]; UNSUPPORTED("evru57wt3y6nkqeeb7pcra08r"); // D[11] = AF[3]; UNSUPPORTED("ex1blattp3opv6e82reqp2xg3"); // gvrender_polygon(job, D, sides + 8, filled); UNSUPPORTED("2qqdd1xd8qq7chyfugqx34cfn"); // /* Draw the internal vertices. */ UNSUPPORTED("3pw0en5rkazex1cmysfqudqev"); // C[0] = D[2]; UNSUPPORTED("ddq28zei7j5vvk0razqli8xd9"); // C[1].x = D[2].x - (D[3].x - D[2].x); UNSUPPORTED("bahi2ks1geofx4oonmrkc71q3"); // C[1].y = D[2].y - (D[3].y - D[2].y); UNSUPPORTED("1gc8dsojnchx8ehnj224y08tj"); // C[2].x = C[1].x + (D[4].x - D[3].x); UNSUPPORTED("8a1l8vtinne40c8bmzgmpco5d"); // C[2].y = C[1].y + (D[4].y - D[3].y); UNSUPPORTED("ah24wzf48tz9bax9stnbxw3jg"); // C[3] = D[5]; UNSUPPORTED("4vmc7riub70iswxlzm4mg5xlh"); // gvrender_polyline(job, C, 4); UNSUPPORTED("57xyz6r1s5isw5botqrkasfk1"); // C[0] = D[6]; UNSUPPORTED("9e9zf6fuxc8ovfj3jsryqlylv"); // C[1].x = D[6].x - (D[7].x - D[6].x); UNSUPPORTED("bsnau3s4c5hnmmj1shw8ouokg"); // C[1].y = D[6].y - (D[7].y - D[6].y); UNSUPPORTED("ewm5xz38hsb9hh3wxf6j214dp"); // C[2].x = C[1].x + (D[8].x - D[7].x); UNSUPPORTED("bv41aedgjg4w0zc4ccxrl657z"); // C[2].y = C[1].y + (D[8].y - D[7].y); UNSUPPORTED("77p9f8uavqa0bo2uzwrgul8fo"); // C[3] = D[9]; UNSUPPORTED("4vmc7riub70iswxlzm4mg5xlh"); // gvrender_polyline(job, C, 4); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("beokd0nvtuwlde2ahiaxzmwo0"); // case (6 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("ixqwyi3z0ndmfrpmbx8hb747"); // * L-shaped arrow on a center line, scales in the x direction UNSUPPORTED("cmrglhtmovtl6mh8dyeurkeed"); // * UNSUPPORTED("4bfue86t6gftlcgwzff6qshk7"); // * UNSUPPORTED("8udetwc0o6gakybvc61qq6kjd"); // * D[1] | * +----------------+ * | D[0] * | * | / UNSUPPORTED("cp87959b34no4267o38ifrckk"); // * | D[5] / UNSUPPORTED("722lri4xki5u0btwl5flr6qxu"); // * | +-------+ / UNSUPPORTED("8kn1gxbxamlotuexrxky3o76q"); // * | | |/ UNSUPPORTED("dscqqxbpov7i3z8kvqhzn45ew"); // * +--------+ UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("5kvv3jvgrdk38xmgwem87tcf9"); // /* Add the tab edges. */ UNSUPPORTED("dbi6282o67zdvjpioemev8l1g"); // //x_center is AF[1].x + (AF[0].x - AF[1].x)/2 UNSUPPORTED("3kvpch1u0mkkh8mvlzphvxdio"); // //y_center is AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("9f16ni612qewna0ipjhg14bai"); // //the arrow's thickness is (B[2].x-B[3].x)/2 or (B[3].y-B[4].y)/2; UNSUPPORTED("azjvg240odj44iv9ekoxye94d"); // //the thickness is subituted with (AF[0].x - AF[1].x)/8 to make it scalable in the y with label length UNSUPPORTED("8y1urr2asyrlu62q42pgcsmhp"); // D = (pointf*)zmalloc((sides + 5)*sizeof(pointf)); UNSUPPORTED("b70z64iz7ervr0w25bypaar6w"); // D[0].x = AF[1].x + (AF[0].x - AF[1].x)/2 + (AF[0].x - AF[1].x)/8; //x_center + width UNSUPPORTED("cflv5tiys03frg7ni6wrlnf54"); // D[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 + (B[3].y-B[4].y)*3/2; //D[4].y + width UNSUPPORTED("8mk9mjo89wwb2k197bo1oci28"); // D[1].x = AF[1].x + (AF[0].x - AF[1].x)/2 - (AF[0].x - AF[1].x)/4; //x_center - 2*width UNSUPPORTED("377dvf6krrmq87z68ekoyk1nr"); // D[1].y = D[0].y; UNSUPPORTED("cnpipkg905bpnnnnoa0lopvzy"); // D[2].x = D[1].x; UNSUPPORTED("301q7fj403dfv6ubg9vwg4ise"); // D[2].y = AF[2].y + (AF[1].y - AF[2].y)/2; //y_center UNSUPPORTED("3zldfbr9i1rzlmv4z7y0pfsui"); // D[3].x = D[2].x + (B[2].x - B[3].x)/2; //D[2].x + width UNSUPPORTED("1c9pkdgt2yqgbrfhtob6o1anm"); // D[3].y = AF[2].y + (AF[1].y - AF[2].y)/2; //y_center UNSUPPORTED("dm1gyw5qetggvcc8zstksyyg2"); // D[4].x = D[3].x; UNSUPPORTED("5om1l6r4v0k3wqbmirwpiyqba"); // D[4].y = AF[2].y + (AF[1].y - AF[2].y)/2 + (B[3].y-B[4].y); //highest cds point UNSUPPORTED("5452plq9tg8pl7nqgqe17wfok"); // D[5].x = D[0].x; UNSUPPORTED("4nf8s53n53wddx4yf7audzxu1"); // D[5].y = D[4].y; //highest cds point UNSUPPORTED("a6zbxb7jxf9qdy8dvdmo9bql6"); // D[6].x = D[0].x; UNSUPPORTED("5cl1c2plgkvkq7g0rvwvdg7vt"); // D[6].y = D[4].y - (B[3].y-B[4].y)/4; //D[4].y - width/2 UNSUPPORTED("gi12lyfrur4z2lxxndbbbifq"); // D[7].x = D[6].x + (B[2].x - B[3].x); //D[6].x + 2*width UNSUPPORTED("5pkfhqy0ycejkkhrrm5hggks4"); // D[7].y = D[6].y + (B[3].y - B[4].y)/2; //D[6].y + width UNSUPPORTED("cvcvatp3h1huxwxo27xm89hir"); // D[8].x = D[0].x; UNSUPPORTED("61oo13fi0rf1r3bzy45p7mzr"); // D[8].y = D[0].y + (B[3].y - B[4].y)/4;//D[0].y + width/2 UNSUPPORTED("9v8e5z6hrq6fr5p16pg80kc21"); // gvrender_polygon(job, D, sides + 5, filled); UNSUPPORTED("hjs1b12h76k9zk31lumwwf9f"); // /*dsDNA line*/ UNSUPPORTED("dcf6dzx1g3i2ccb6d7iwrzof8"); // C[0].x = AF[1].x; UNSUPPORTED("550o47jm3dqr37h7j0k434zzb"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("5pw7rn49ku3rfnvp5lbqoivb7"); // C[1].x = AF[0].x; UNSUPPORTED("e0hztszh4dg3gbas5k24di6x9"); // C[1].y = AF[2].y + (AF[0].y - AF[3].y)/2; UNSUPPORTED("7vyejosjncamgazhav0j15x5q"); // gvrender_polyline(job, C, 2); UNSUPPORTED("e5j165s4lbb8e75y1ejspv7up"); // free(D); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("3pfp7u39hqhl9b4pzx94kdmtp"); // case (7 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("8colhcg9wmqo1rtyzhmaa4ek6"); // * arrow without the protrusions, scales normally UNSUPPORTED("cmrglhtmovtl6mh8dyeurkeed"); // * UNSUPPORTED("4bfue86t6gftlcgwzff6qshk7"); // * UNSUPPORTED("d9imuj2p14rbbmjs7wvofspna"); // * D[1] = AF[1] UNSUPPORTED("4z7qsayd2i6g803t3ab2q4cnr"); // * +----------------+ * | D[0] * | * | / UNSUPPORTED("csz54pl4jc7c08mjs4ll2ud72"); // * | / UNSUPPORTED("c0psno66sh97gcrf8bvy26xm7"); // * +----------------+/ UNSUPPORTED("8zy5cfbfoig4ao910eycpxx1x"); // * D[3] UNSUPPORTED("79f8fxsn2gta6r8d9x9n38rzy"); // * UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("b5f90htb83l32kamg97jm1sux"); // D = (pointf*)zmalloc((sides + 1)*sizeof(pointf)); UNSUPPORTED("3iplasxynfhfozy7oqwqkceet"); // D[0].x = B[1].x; UNSUPPORTED("d1eg8u95ffvpn8cj0t175qe8"); // D[0].y = B[1].y - (B[3].y - B[4].y)/2; UNSUPPORTED("45vton2uqw835epqg2o0j1qee"); // D[1].x = B[3].x; UNSUPPORTED("2so1ozst5cwd02o33408hxi1n"); // D[1].y = B[3].y - (B[3].y - B[4].y)/2; UNSUPPORTED("2y7ipfj9drc5mfgjluf5y6k6p"); // D[2].x = AF[2].x; UNSUPPORTED("bopqgv9t3o6ppbojdunc5qjfl"); // D[2].y = AF[2].y + (B[3].y - B[4].y)/2; UNSUPPORTED("8xoigox3do4ruwo7d6ew3o7af"); // D[3].x = B[1].x; UNSUPPORTED("94cxjx74gts01u98ngcns0j0o"); // D[3].y = AF[2].y + (B[3].y - B[4].y)/2; UNSUPPORTED("dv68lnnw5js80t8w4vzw3er4z"); // D[4].y = AF[0].y - (AF[0].y - AF[3].y)/2; UNSUPPORTED("b5nri6sa2qx33fqvp8xfgckb0"); // D[4].x = AF[0].x; UNSUPPORTED("6u1z6h8gfy4ofbsa9gidwp2v9"); // gvrender_polygon(job, D, sides + 1, filled); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("3thdjaa2jp4igqqd3un2gwo6r"); // case (8 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("q99ojp3xn0cfe2yzxdzb5y6l"); // * T-shape, does not scale, always in the center UNSUPPORTED("11dzfjbtxkn4alvdn9s9waab8"); // * UNSUPPORTED("dhhao73bupb3qih7po05x8qcs"); // * UNSUPPORTED("6z84agdr458on26oqsta195b2"); // * D[4] UNSUPPORTED("1w6ol3zmeqn5mywt6a4z6qo41"); // * +----------------+ UNSUPPORTED("9onfqvue4pbpmccmodd1mtx7g"); // * | D[3] UNSUPPORTED("c45nqrjd35z7gq6ei63b1c7yg"); // * | | UNSUPPORTED("4de8jijppluyewmllch44bu23"); // * | | UNSUPPORTED("a3ks7z4s5ja7lvrmq3silkmjl"); // * | D[6] D[1] | UNSUPPORTED("31k91o6maa0q4udou617gn5p5"); // * D[5]+---+ +----+ D[2] UNSUPPORTED("dkhq92412a9i5utfrnc2dhnz"); // * | | UNSUPPORTED("4cml58ti5mwtjgtzmwgiw6900"); // * +-------+ D[0] UNSUPPORTED("4gn10s3n3ms2z2jz5zpxmp5ay"); // */ UNSUPPORTED("dbi6282o67zdvjpioemev8l1g"); // //x_center is AF[1].x + (AF[0].x - AF[1].x)/2 UNSUPPORTED("3kvpch1u0mkkh8mvlzphvxdio"); // //y_center is AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("agoljir79z51apt1tmk0f0sc7"); // //width units are (B[2].x-B[3].x)/2 or (B[3].y-B[4].y)/2; UNSUPPORTED("7uqzacf8x5tg89bgh6rziw1s3"); // D = (pointf*)zmalloc((sides + 4)*sizeof(pointf)); UNSUPPORTED("5810col2r6hfkxov4ipmdth4n"); // D[0].x = AF[1].x + (AF[0].x-AF[1].x)/2 + (B[2].x-B[3].x)/4; //x_center + width/2 UNSUPPORTED("db5a23r3dbv1lvqcjuh4j9hwi"); // D[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; //y_center UNSUPPORTED("34tp01hd6y8buifqu81fp7kah"); // D[1].x = D[0].x; UNSUPPORTED("53lzmbxoyk9sss54apowy1jcj"); // D[1].y = D[0].y + (B[3].y-B[4].y)/2; UNSUPPORTED("3lc8br5sy3j31bj2kq0vy78xd"); // D[2].x = D[1].x + (B[2].x-B[3].x)/2; UNSUPPORTED("dmuv0ci8g28j2wpq47bkjo7p6"); // D[2].y = D[1].y; UNSUPPORTED("5ihipbue45drjma9vxlpgy615"); // D[3].x = D[2].x; UNSUPPORTED("21mj1uiiddzjovkjk6zsb88pe"); // D[3].y = D[2].y + (B[3].y-B[4].y)/2; UNSUPPORTED("6xkr5j9ysazz1yh6zkpfshldm"); // D[4].x = AF[1].x + (AF[0].x-AF[1].x)/2 - (B[2].x-B[3].x)*3/4; //D[3].y mirrowed across the center UNSUPPORTED("40nf0bg6glqtx5viwakfdv7dw"); // D[4].y = D[3].y; UNSUPPORTED("4ihzpkh7w4ranwnvy0w5gcgnf"); // D[5].x = D[4].x; UNSUPPORTED("d78lk5o8y51l9z7neypp202ok"); // D[5].y = D[2].y; UNSUPPORTED("bu70m5u8xmzjlg97y4dzx2qvn"); // D[6].x = AF[1].x + (AF[0].x-AF[1].x)/2 - (B[2].x-B[3].x)/4; //D[1].x mirrowed across the center UNSUPPORTED("8y0iwlff2lpkouqnvi8duicdw"); // D[6].y = D[1].y; UNSUPPORTED("1dhue1c5y4ho0ct8ks14zgh2q"); // D[7].x = D[6].x; UNSUPPORTED("bmnuosohj6kpaougdrcg1l2ut"); // D[7].y = D[0].y; UNSUPPORTED("519fp4pixwl2w7d4ssm51lram"); // gvrender_polygon(job, D, sides + 4, filled); UNSUPPORTED("hjs1b12h76k9zk31lumwwf9f"); // /*dsDNA line*/ UNSUPPORTED("dcf6dzx1g3i2ccb6d7iwrzof8"); // C[0].x = AF[1].x; UNSUPPORTED("550o47jm3dqr37h7j0k434zzb"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("5pw7rn49ku3rfnvp5lbqoivb7"); // C[1].x = AF[0].x; UNSUPPORTED("e0hztszh4dg3gbas5k24di6x9"); // C[1].y = AF[2].y + (AF[0].y - AF[3].y)/2; UNSUPPORTED("7vyejosjncamgazhav0j15x5q"); // gvrender_polyline(job, C, 2); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("3s9ef7jzymofqi316ojrcjxzd"); // case (9 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("dhbze4ofczxyy7yamogd6ti3a"); // * half-octagon with line, does not scale, always in center UNSUPPORTED("cmrglhtmovtl6mh8dyeurkeed"); // * UNSUPPORTED("2q9d6wex3idlomfcu4pkk398x"); // * D[3] UNSUPPORTED("4xh336uvfc358ms133bm0s52b"); // * _____ D[2] UNSUPPORTED("bfk0n04f7r4qzjubnfyu2xh1k"); // * / * / \ D[1] UNSUPPORTED("5psrhywjfkorktkmgorilauv5"); // * | | UNSUPPORTED("3lg9sq0fw542uhjrpospx6jy2"); // * ----------- UNSUPPORTED("3hbh5rz6pydqncnacff0j6bck"); // * D[0] UNSUPPORTED("dfamfnhl22etjpal7hadbncq"); // * UNSUPPORTED("18xb6dplfcolp2jrg1kn8kys7"); // * UNSUPPORTED("6b0g1rzk4g1o9c2we59or2tun"); // * UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("dbi6282o67zdvjpioemev8l1g"); // //x_center is AF[1].x + (AF[0].x - AF[1].x)/2 UNSUPPORTED("3kvpch1u0mkkh8mvlzphvxdio"); // //y_center is AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("agoljir79z51apt1tmk0f0sc7"); // //width units are (B[2].x-B[3].x)/2 or (B[3].y-B[4].y)/2; UNSUPPORTED("70701yzl3gbwgttd66404h5y0"); // D = (pointf*)zmalloc((sides + 2)*sizeof(pointf)); UNSUPPORTED("7m6kkbjz3yjj1zf1qc45ktcv7"); // D[0].x = AF[1].x + (AF[0].x-AF[1].x)/2 + (B[2].x-B[3].x)*3/4; //x_center+width UNSUPPORTED("db5a23r3dbv1lvqcjuh4j9hwi"); // D[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; //y_center UNSUPPORTED("34tp01hd6y8buifqu81fp7kah"); // D[1].x = D[0].x; UNSUPPORTED("1r3hx6z8u8r8abljwwm9aeskf"); // D[1].y = D[0].y + (B[3].y-B[4].y)/4; //D[0].y+width/2 UNSUPPORTED("4fcwgyabif5z28bihmxf7x4tb"); // D[2].x = AF[1].x + (AF[0].x-AF[1].x)/2 + (B[2].x-B[3].x)/4; //x_center+width/2 UNSUPPORTED("54amw68beuf1he27cp7569llg"); // D[2].y = D[1].y + (B[3].y-B[4].y)/2; //D[1].y+width UNSUPPORTED("54ovwnsyt9kbwtqf47f7c2ch3"); // D[3].x = AF[1].x + (AF[0].x-AF[1].x)/2 - (B[2].x-B[3].x)/4; //D[2].x mirrowed across the center UNSUPPORTED("esx26fefr0mrz7t4p720sf58a"); // D[3].y = D[2].y; UNSUPPORTED("6rpcfql0js4c3hg279dfw3na0"); // D[4].x = AF[1].x + (AF[0].x-AF[1].x)/2 - (B[2].x-B[3].x)*3/4; UNSUPPORTED("2q1cxgb3rckor7bxppmobumh0"); // D[4].y = D[1].y; UNSUPPORTED("4ihzpkh7w4ranwnvy0w5gcgnf"); // D[5].x = D[4].x; UNSUPPORTED("bgu3mbmk36rgraaak3oxce0r8"); // D[5].y = D[0].y; UNSUPPORTED("d4ps5t7sfp45tctsjawfhtbnx"); // gvrender_polygon(job, D, sides + 2, filled); UNSUPPORTED("hjs1b12h76k9zk31lumwwf9f"); // /*dsDNA line*/ UNSUPPORTED("dcf6dzx1g3i2ccb6d7iwrzof8"); // C[0].x = AF[1].x; UNSUPPORTED("550o47jm3dqr37h7j0k434zzb"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("5pw7rn49ku3rfnvp5lbqoivb7"); // C[1].x = AF[0].x; UNSUPPORTED("e0hztszh4dg3gbas5k24di6x9"); // C[1].y = AF[2].y + (AF[0].y - AF[3].y)/2; UNSUPPORTED("7vyejosjncamgazhav0j15x5q"); // gvrender_polyline(job, C, 2); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("api2h9s3b85sv9rd97y8rgtud"); // case (10 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("28rdr11lzywp8e0rmvk2kob5x"); // * half arrow shape, scales in the x-direction UNSUPPORTED("qqfabopc9ur04mms6juzgp3x"); // * D[1] UNSUPPORTED("e46ybyktily44t0b7fyholuq2"); // * | * | * | * ------------ * | * ------------------\ D[0] UNSUPPORTED("c1eovxh5oerfbxr449dk7o87u"); // * UNSUPPORTED("30zs4hbrokoqtcgihv0hj9b3o"); // * -------------------------------- UNSUPPORTED("dhhao73bupb3qih7po05x8qcs"); // * UNSUPPORTED("4gn10s3n3ms2z2jz5zpxmp5ay"); // */ UNSUPPORTED("31z12vlharu09ldqvmirdvp2n"); // //x_center is AF[1].x + (AF[0].x - AF[1].x)/2; UNSUPPORTED("3kvpch1u0mkkh8mvlzphvxdio"); // //y_center is AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("agoljir79z51apt1tmk0f0sc7"); // //width units are (B[2].x-B[3].x)/2 or (B[3].y-B[4].y)/2; UNSUPPORTED("azjvg240odj44iv9ekoxye94d"); // //the thickness is subituted with (AF[0].x - AF[1].x)/8 to make it scalable in the y with label length UNSUPPORTED("b5f90htb83l32kamg97jm1sux"); // D = (pointf*)zmalloc((sides + 1)*sizeof(pointf)); UNSUPPORTED("7f72fcloe1t7qscdonrjz8qii"); // D[0].x = AF[1].x + (AF[0].x - AF[1].x)/2 + (B[2].x-B[3].x);//x_center + width*2 UNSUPPORTED("aojkb4cjtphbwmuxkdt5y13al"); // D[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 + (B[3].y-B[4].y)/4;//y_center + 1/2 width UNSUPPORTED("6esajn79a3aj38f6eb3xf9wfj"); // D[1].x = D[0].x - (B[2].x-B[3].x); //x_center UNSUPPORTED("9t3k5f7xx5vksm96d80h9fxwx"); // D[1].y = D[0].y + (B[3].y-B[4].y); UNSUPPORTED("cnpipkg905bpnnnnoa0lopvzy"); // D[2].x = D[1].x; UNSUPPORTED("1ewf0yhdjldw3pxdsfgzwkuuq"); // D[2].y = D[0].y + (B[3].y-B[4].y)/2; UNSUPPORTED("ch7qqmpmawmffg66esm43wmvl"); // D[3].x = AF[1].x + (AF[0].x - AF[1].x)/2 - (AF[0].x - AF[1].x)/4;//x_center - 2*(scalable width) UNSUPPORTED("esx26fefr0mrz7t4p720sf58a"); // D[3].y = D[2].y; UNSUPPORTED("dm1gyw5qetggvcc8zstksyyg2"); // D[4].x = D[3].x; UNSUPPORTED("1fs3e43f2oljbqgl2gtjqo4xn"); // D[4].y = D[0].y; UNSUPPORTED("6u1z6h8gfy4ofbsa9gidwp2v9"); // gvrender_polygon(job, D, sides + 1, filled); UNSUPPORTED("hjs1b12h76k9zk31lumwwf9f"); // /*dsDNA line*/ UNSUPPORTED("dcf6dzx1g3i2ccb6d7iwrzof8"); // C[0].x = AF[1].x; UNSUPPORTED("550o47jm3dqr37h7j0k434zzb"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("5pw7rn49ku3rfnvp5lbqoivb7"); // C[1].x = AF[0].x; UNSUPPORTED("e0hztszh4dg3gbas5k24di6x9"); // C[1].y = AF[2].y + (AF[0].y - AF[3].y)/2; UNSUPPORTED("7vyejosjncamgazhav0j15x5q"); // gvrender_polyline(job, C, 2); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("d3qtw2cyrswp62e4psl3ww6qy"); // case (11 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("asi2pc1274ap2839mbipmof4"); // * zigzag shape, scales in the x-direction (only the middle section) UNSUPPORTED("11dzfjbtxkn4alvdn9s9waab8"); // * UNSUPPORTED("6ng5df4tnn838bpcedbdkwgik"); // * UNSUPPORTED("ebmsq3svyy5vfr02vuesdb7om"); // * ----D[2] UNSUPPORTED("474tiy3ppnarbx3tem6pex5wl"); // * | |________ D[0] UNSUPPORTED("br8aj42mw70mad09j8u79ty50"); // * | |____ UNSUPPORTED("435gbgj841wxffxgc43eficn0"); // * ---------- | UNSUPPORTED("72xs5i64zgn8illkas18bwl77"); // * D[4] --- D[7] UNSUPPORTED("c1eovxh5oerfbxr449dk7o87u"); // * UNSUPPORTED("7ltzne5zulu744fj39ucj4ohf"); // * UNSUPPORTED("dhhao73bupb3qih7po05x8qcs"); // * UNSUPPORTED("4gn10s3n3ms2z2jz5zpxmp5ay"); // */ UNSUPPORTED("31z12vlharu09ldqvmirdvp2n"); // //x_center is AF[1].x + (AF[0].x - AF[1].x)/2; UNSUPPORTED("3kvpch1u0mkkh8mvlzphvxdio"); // //y_center is AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("agoljir79z51apt1tmk0f0sc7"); // //width units are (B[2].x-B[3].x)/2 or (B[3].y-B[4].y)/2; UNSUPPORTED("azjvg240odj44iv9ekoxye94d"); // //the thickness is subituted with (AF[0].x - AF[1].x)/8 to make it scalable in the y with label length UNSUPPORTED("7uqzacf8x5tg89bgh6rziw1s3"); // D = (pointf*)zmalloc((sides + 4)*sizeof(pointf)); UNSUPPORTED("8puozbi1qbdhenklno39sad43"); // D[0].x = AF[1].x + (AF[0].x - AF[1].x)/2 + (AF[0].x - AF[1].x)/8 + (B[2].x-B[3].x)/2;//x_center + scalable_width + width UNSUPPORTED("aojkb4cjtphbwmuxkdt5y13al"); // D[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 + (B[3].y-B[4].y)/4;//y_center + 1/2 width UNSUPPORTED("d4aju7h8k010npgrrxffdkebj"); // D[1].x = AF[1].x + (AF[0].x - AF[1].x)/2 - (AF[0].x - AF[1].x)/8; //x_center - width UNSUPPORTED("377dvf6krrmq87z68ekoyk1nr"); // D[1].y = D[0].y; UNSUPPORTED("cnpipkg905bpnnnnoa0lopvzy"); // D[2].x = D[1].x; UNSUPPORTED("crefk31pbp2yilanj44au7qbe"); // D[2].y = D[1].y + (B[3].y-B[4].y)/2; UNSUPPORTED("1gxksvxg269nccy3ki80smka3"); // D[3].x = D[2].x - (B[2].x-B[3].x)/2; //D[2].x - width UNSUPPORTED("esx26fefr0mrz7t4p720sf58a"); // D[3].y = D[2].y; UNSUPPORTED("dm1gyw5qetggvcc8zstksyyg2"); // D[4].x = D[3].x; UNSUPPORTED("7lfc7py2ka8mdt2ptx9nm6vrb"); // D[4].y = AF[2].y + (AF[1].y - AF[2].y)/2 - (B[3].y-B[4].y)/4; //y_center - 1/2(width) UNSUPPORTED("2jcyrcu5t9kbekchzlvw8g996"); // D[5].x = D[0].x - (B[2].x-B[3].x)/2; UNSUPPORTED("9h546osr54mx5910v00kmvmo3"); // D[5].y = D[4].y; UNSUPPORTED("a2qj96305wxo9gce1tujcuecz"); // D[6].x = D[5].x; UNSUPPORTED("4orb58bnb2ascibwd7xd0y4hf"); // D[6].y = D[5].y - (B[3].y-B[4].y)/2; UNSUPPORTED("5hppmiblaazms70xhasaspb22"); // D[7].x = D[0].x; UNSUPPORTED("afqmp4euhvvfkjpszw9u76l4r"); // D[7].y = D[6].y; UNSUPPORTED("519fp4pixwl2w7d4ssm51lram"); // gvrender_polygon(job, D, sides + 4, filled); UNSUPPORTED("2r3im7kh170rpplkwcoi8l6jp"); // /*dsDNA line left half*/ UNSUPPORTED("dcf6dzx1g3i2ccb6d7iwrzof8"); // C[0].x = AF[1].x; UNSUPPORTED("550o47jm3dqr37h7j0k434zzb"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("7eokez2yp2825neik2f0yb69s"); // C[1].x = D[4].x; UNSUPPORTED("e0hztszh4dg3gbas5k24di6x9"); // C[1].y = AF[2].y + (AF[0].y - AF[3].y)/2; UNSUPPORTED("borq5nu8vs8newp4f3zf2ti2x"); // gvrender_polyline(job, C, 2); UNSUPPORTED("eum17d4kc12w09ka3gn4xnjkl"); // /*dsDNA line right half*/ UNSUPPORTED("3mga7r2ky1w3m12hajx82ljg6"); // C[0].x = D[7].x; UNSUPPORTED("550o47jm3dqr37h7j0k434zzb"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("5pw7rn49ku3rfnvp5lbqoivb7"); // C[1].x = AF[0].x; UNSUPPORTED("e0hztszh4dg3gbas5k24di6x9"); // C[1].y = AF[2].y + (AF[0].y - AF[3].y)/2; UNSUPPORTED("bpepkqrqcoslkcywz6fwjoemb"); // gvrender_polyline(job, C, 2); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("303w43enaucmyhixkc1xhs652"); // break; UNSUPPORTED("8xtw70fmxvc3slz5c6ct4iqq"); // case (12 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("bynfyyael4om2fd0roolnhg11"); // * does not scale, on the left side UNSUPPORTED("11dzfjbtxkn4alvdn9s9waab8"); // * UNSUPPORTED("9jluf518ja9nhvnco2qeyyukh"); // * D[3]------D[2] UNSUPPORTED("796ehiftmwg66mguye5i6gdl9"); // * | | UNSUPPORTED("anbjdqkop5jdxo0pqszbmsil0"); // * D[0]------D[1] UNSUPPORTED("3b7cclindb323xc5dyldebt79"); // * ----- ------------ UNSUPPORTED("ekoc25w3kdsjlqotz5zserik"); // * | | UNSUPPORTED("d246t2abb3qcdptpl7t388cet"); // * D[0]--D[1] UNSUPPORTED("c1eovxh5oerfbxr449dk7o87u"); // * UNSUPPORTED("7ltzne5zulu744fj39ucj4ohf"); // * UNSUPPORTED("dhhao73bupb3qih7po05x8qcs"); // * UNSUPPORTED("4gn10s3n3ms2z2jz5zpxmp5ay"); // */ UNSUPPORTED("31z12vlharu09ldqvmirdvp2n"); // //x_center is AF[1].x + (AF[0].x - AF[1].x)/2; UNSUPPORTED("3kvpch1u0mkkh8mvlzphvxdio"); // //y_center is AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("agoljir79z51apt1tmk0f0sc7"); // //width units are (B[2].x-B[3].x)/2 or (B[3].y-B[4].y)/2; UNSUPPORTED("azjvg240odj44iv9ekoxye94d"); // //the thickness is subituted with (AF[0].x - AF[1].x)/8 to make it scalable in the y with label length UNSUPPORTED("dk2ovejnwrhnobz5s8tu0j10r"); // D = (pointf*)zmalloc((sides)*sizeof(pointf)); UNSUPPORTED("o7xplnda870crsqrrtxoeovw"); // D[0].x = AF[1].x;//the very left edge UNSUPPORTED("97g2igromxtixmscljv7c9wu6"); // D[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 + (B[3].y-B[4].y)/8;//y_center + 1/4 width UNSUPPORTED("5vjhczya0wmraeexdugfakfz8"); // D[1].x = D[0].x + 2*(B[2].x-B[3].x); UNSUPPORTED("377dvf6krrmq87z68ekoyk1nr"); // D[1].y = D[0].y; UNSUPPORTED("cnpipkg905bpnnnnoa0lopvzy"); // D[2].x = D[1].x; UNSUPPORTED("crefk31pbp2yilanj44au7qbe"); // D[2].y = D[1].y + (B[3].y-B[4].y)/2; UNSUPPORTED("78e3c23lx1btcjbe2srm6rcal"); // D[3].x = D[0].x; UNSUPPORTED("esx26fefr0mrz7t4p720sf58a"); // D[3].y = D[2].y; UNSUPPORTED("d68sdlvrto6k9daq3v4bffw5y"); // gvrender_polygon(job, D, sides, filled); UNSUPPORTED("ekpqju1yk89s6h95eac20r1gq"); // /*second, lower shape*/ UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("dk2ovejnwrhnobz5s8tu0j10r"); // D = (pointf*)zmalloc((sides)*sizeof(pointf)); UNSUPPORTED("bbttbv2k8ll2jqajk92f8cjw5"); // D[0].x = AF[1].x + (B[2].x-B[3].x); UNSUPPORTED("8t3rx5v8pl369i9s1bav2htbd"); // D[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 - (B[3].y-B[4].y)*5/8; //y_center - 5/4 width UNSUPPORTED("9pkvrpz0i5eo220nag6ovrbfn"); // D[1].x = D[0].x + (B[2].x-B[3].x); UNSUPPORTED("377dvf6krrmq87z68ekoyk1nr"); // D[1].y = D[0].y; UNSUPPORTED("cnpipkg905bpnnnnoa0lopvzy"); // D[2].x = D[1].x; UNSUPPORTED("crefk31pbp2yilanj44au7qbe"); // D[2].y = D[1].y + (B[3].y-B[4].y)/2; UNSUPPORTED("78e3c23lx1btcjbe2srm6rcal"); // D[3].x = D[0].x; UNSUPPORTED("esx26fefr0mrz7t4p720sf58a"); // D[3].y = D[2].y; UNSUPPORTED("d68sdlvrto6k9daq3v4bffw5y"); // gvrender_polygon(job, D, sides, filled); UNSUPPORTED("eum17d4kc12w09ka3gn4xnjkl"); // /*dsDNA line right half*/ UNSUPPORTED("8uxhxokvb62d8vqgpxrqqprm7"); // C[0].x = D[1].x; UNSUPPORTED("550o47jm3dqr37h7j0k434zzb"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("5pw7rn49ku3rfnvp5lbqoivb7"); // C[1].x = AF[0].x; UNSUPPORTED("e0hztszh4dg3gbas5k24di6x9"); // C[1].y = AF[2].y + (AF[0].y - AF[3].y)/2; UNSUPPORTED("bpepkqrqcoslkcywz6fwjoemb"); // gvrender_polyline(job, C, 2); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("303w43enaucmyhixkc1xhs652"); // break; UNSUPPORTED("5jt28oeq5aqdeuwsfmezn51lt"); // case (13 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("b68kolhfp5nwayr9aru8m8e5c"); // * does not scale, on the right side UNSUPPORTED("11dzfjbtxkn4alvdn9s9waab8"); // * UNSUPPORTED("b3es50hturnmkxnq7e5ol9ain"); // * D[2]------D[1] UNSUPPORTED("f3ui2tnmq3tyd5y0zaxgalibr"); // * | | UNSUPPORTED("8da12absy3kplnjgp306ow2r1"); // *----------D[3]------D[0] UNSUPPORTED("8al119ctyx2l5odyoc6w4up0r"); // * ----- D[1] UNSUPPORTED("ec20mvh529jwauxvcvvcv9hjb"); // * | | UNSUPPORTED("d0q7vfsuc2e3fts98jrfkk3on"); // * D[3]--D[0] UNSUPPORTED("c1eovxh5oerfbxr449dk7o87u"); // * UNSUPPORTED("7ltzne5zulu744fj39ucj4ohf"); // * UNSUPPORTED("dhhao73bupb3qih7po05x8qcs"); // * UNSUPPORTED("4gn10s3n3ms2z2jz5zpxmp5ay"); // */ UNSUPPORTED("31z12vlharu09ldqvmirdvp2n"); // //x_center is AF[1].x + (AF[0].x - AF[1].x)/2; UNSUPPORTED("3kvpch1u0mkkh8mvlzphvxdio"); // //y_center is AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("agoljir79z51apt1tmk0f0sc7"); // //width units are (B[2].x-B[3].x)/2 or (B[3].y-B[4].y)/2; UNSUPPORTED("azjvg240odj44iv9ekoxye94d"); // //the thickness is subituted with (AF[0].x - AF[1].x)/8 to make it scalable in the y with label length UNSUPPORTED("dk2ovejnwrhnobz5s8tu0j10r"); // D = (pointf*)zmalloc((sides)*sizeof(pointf)); UNSUPPORTED("7a5jojmk4vack2tnjyo1dnv5c"); // D[0].x = AF[0].x;//the very right edge UNSUPPORTED("97g2igromxtixmscljv7c9wu6"); // D[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 + (B[3].y-B[4].y)/8;//y_center + 1/4 width UNSUPPORTED("34tp01hd6y8buifqu81fp7kah"); // D[1].x = D[0].x; UNSUPPORTED("53lzmbxoyk9sss54apowy1jcj"); // D[1].y = D[0].y + (B[3].y-B[4].y)/2; UNSUPPORTED("5ggtybq4huk2l27co2brcnn7a"); // D[2].x = D[1].x - 2*(B[3].y-B[4].y); UNSUPPORTED("dmuv0ci8g28j2wpq47bkjo7p6"); // D[2].y = D[1].y; UNSUPPORTED("5ihipbue45drjma9vxlpgy615"); // D[3].x = D[2].x; UNSUPPORTED("b9duody7fe2aysvdbb7u2vz0h"); // D[3].y = D[0].y; UNSUPPORTED("d68sdlvrto6k9daq3v4bffw5y"); // gvrender_polygon(job, D, sides, filled); UNSUPPORTED("ekpqju1yk89s6h95eac20r1gq"); // /*second, lower shape*/ UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("dk2ovejnwrhnobz5s8tu0j10r"); // D = (pointf*)zmalloc((sides)*sizeof(pointf)); UNSUPPORTED("1koli020v5df0l9ozg6qbxov9"); // D[0].x = AF[0].x - (B[2].x-B[3].x); UNSUPPORTED("8t3rx5v8pl369i9s1bav2htbd"); // D[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 - (B[3].y-B[4].y)*5/8; //y_center - 5/4 width UNSUPPORTED("34tp01hd6y8buifqu81fp7kah"); // D[1].x = D[0].x; UNSUPPORTED("53lzmbxoyk9sss54apowy1jcj"); // D[1].y = D[0].y + (B[3].y-B[4].y)/2; UNSUPPORTED("1tvqu076kbr7qcxd1pporcrlw"); // D[2].x = D[1].x - (B[3].y-B[4].y); UNSUPPORTED("dmuv0ci8g28j2wpq47bkjo7p6"); // D[2].y = D[1].y; UNSUPPORTED("5ihipbue45drjma9vxlpgy615"); // D[3].x = D[2].x; UNSUPPORTED("b9duody7fe2aysvdbb7u2vz0h"); // D[3].y = D[0].y; UNSUPPORTED("d68sdlvrto6k9daq3v4bffw5y"); // gvrender_polygon(job, D, sides, filled); UNSUPPORTED("2r3im7kh170rpplkwcoi8l6jp"); // /*dsDNA line left half*/ UNSUPPORTED("dcf6dzx1g3i2ccb6d7iwrzof8"); // C[0].x = AF[1].x; UNSUPPORTED("550o47jm3dqr37h7j0k434zzb"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("ogtpwtelm2m435skybbigshn"); // C[1].x = D[3].x; UNSUPPORTED("e0hztszh4dg3gbas5k24di6x9"); // C[1].y = AF[2].y + (AF[0].y - AF[3].y)/2; UNSUPPORTED("bpepkqrqcoslkcywz6fwjoemb"); // gvrender_polyline(job, C, 2); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("303w43enaucmyhixkc1xhs652"); // break; UNSUPPORTED("b00adjh71tebnwktqy2c7qen"); // case (14 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("167ktpr6jgq2ir87knm58dnxw"); // * does not scale UNSUPPORTED("11dzfjbtxkn4alvdn9s9waab8"); // * UNSUPPORTED("3llrhwcbgncbf9dwdut8nbop8"); // * D[3]------D[2] D[3]------D[2] UNSUPPORTED("3bkrw2bi9jt34caj90fh17xk"); // * | | | | UNSUPPORTED("e8rezojipvcbc7wl7lkb5gtwm"); // * ---D[0]------D[1] D[0]------D[1]---- UNSUPPORTED("3llrhwcbgncbf9dwdut8nbop8"); // * D[3]------D[2] D[3]------D[2] UNSUPPORTED("dsr5jaoof7rw4c3tkgfx86yor"); // * | | | | UNSUPPORTED("73xc7e0yi8z88q6x4x9s8f50a"); // * D[0]------D[1] D[0]------D[1] UNSUPPORTED("53z8rhlvldkx4ydcoaqfnm4tk"); // * UNSUPPORTED("c1eovxh5oerfbxr449dk7o87u"); // * UNSUPPORTED("7ltzne5zulu744fj39ucj4ohf"); // * UNSUPPORTED("dhhao73bupb3qih7po05x8qcs"); // * UNSUPPORTED("4gn10s3n3ms2z2jz5zpxmp5ay"); // */ UNSUPPORTED("31z12vlharu09ldqvmirdvp2n"); // //x_center is AF[1].x + (AF[0].x - AF[1].x)/2; UNSUPPORTED("3kvpch1u0mkkh8mvlzphvxdio"); // //y_center is AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("agoljir79z51apt1tmk0f0sc7"); // //width units are (B[2].x-B[3].x)/2 or (B[3].y-B[4].y)/2; UNSUPPORTED("azjvg240odj44iv9ekoxye94d"); // //the thickness is subituted with (AF[0].x - AF[1].x)/8 to make it scalable in the y with label length UNSUPPORTED("caiifq15qssrojo1lp5kd761t"); // /*upper left rectangle*/ UNSUPPORTED("dk2ovejnwrhnobz5s8tu0j10r"); // D = (pointf*)zmalloc((sides)*sizeof(pointf)); UNSUPPORTED("f2j5si3mjcrfchan7ja10w14r"); // D[0].x = AF[1].x + (AF[0].x - AF[1].x)/2 - (B[2].x-B[3].x)*9/8; //x_center - 2*width - 1/4*width UNSUPPORTED("97g2igromxtixmscljv7c9wu6"); // D[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 + (B[3].y-B[4].y)/8;//y_center + 1/4 width UNSUPPORTED("9pkvrpz0i5eo220nag6ovrbfn"); // D[1].x = D[0].x + (B[2].x-B[3].x); UNSUPPORTED("377dvf6krrmq87z68ekoyk1nr"); // D[1].y = D[0].y; UNSUPPORTED("cnpipkg905bpnnnnoa0lopvzy"); // D[2].x = D[1].x; UNSUPPORTED("crefk31pbp2yilanj44au7qbe"); // D[2].y = D[1].y + (B[3].y-B[4].y)/2; UNSUPPORTED("78e3c23lx1btcjbe2srm6rcal"); // D[3].x = D[0].x; UNSUPPORTED("esx26fefr0mrz7t4p720sf58a"); // D[3].y = D[2].y; UNSUPPORTED("d68sdlvrto6k9daq3v4bffw5y"); // gvrender_polygon(job, D, sides, filled); UNSUPPORTED("c8aakjie0dovvmj2y1cv9pqvi"); // /*lower, left rectangle*/ UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("dk2ovejnwrhnobz5s8tu0j10r"); // D = (pointf*)zmalloc((sides)*sizeof(pointf)); UNSUPPORTED("f2j5si3mjcrfchan7ja10w14r"); // D[0].x = AF[1].x + (AF[0].x - AF[1].x)/2 - (B[2].x-B[3].x)*9/8; //x_center - 2*width - 1/4*width UNSUPPORTED("12qbz2yet5sxyqb1w92s4ndn6"); // D[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 - (B[3].y-B[4].y)*5/8;//y_center - width - 1/4 width UNSUPPORTED("9pkvrpz0i5eo220nag6ovrbfn"); // D[1].x = D[0].x + (B[2].x-B[3].x); UNSUPPORTED("377dvf6krrmq87z68ekoyk1nr"); // D[1].y = D[0].y; UNSUPPORTED("cnpipkg905bpnnnnoa0lopvzy"); // D[2].x = D[1].x; UNSUPPORTED("crefk31pbp2yilanj44au7qbe"); // D[2].y = D[1].y + (B[3].y-B[4].y)/2; UNSUPPORTED("78e3c23lx1btcjbe2srm6rcal"); // D[3].x = D[0].x; UNSUPPORTED("esx26fefr0mrz7t4p720sf58a"); // D[3].y = D[2].y; UNSUPPORTED("d68sdlvrto6k9daq3v4bffw5y"); // gvrender_polygon(job, D, sides, filled); UNSUPPORTED("5zdu7hjxl21oye4glrh3qki87"); // /*lower, right rectangle*/ UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("dk2ovejnwrhnobz5s8tu0j10r"); // D = (pointf*)zmalloc((sides)*sizeof(pointf)); UNSUPPORTED("jnnrld5fecpgw2spcpy1owlt"); // D[0].x = AF[1].x + (AF[0].x - AF[1].x)/2 + (B[2].x-B[3].x)/8; //x_center + 1/4*width UNSUPPORTED("12qbz2yet5sxyqb1w92s4ndn6"); // D[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 - (B[3].y-B[4].y)*5/8;//y_center - width - 1/4 width UNSUPPORTED("9pkvrpz0i5eo220nag6ovrbfn"); // D[1].x = D[0].x + (B[2].x-B[3].x); UNSUPPORTED("377dvf6krrmq87z68ekoyk1nr"); // D[1].y = D[0].y; UNSUPPORTED("cnpipkg905bpnnnnoa0lopvzy"); // D[2].x = D[1].x; UNSUPPORTED("crefk31pbp2yilanj44au7qbe"); // D[2].y = D[1].y + (B[3].y-B[4].y)/2; UNSUPPORTED("78e3c23lx1btcjbe2srm6rcal"); // D[3].x = D[0].x; UNSUPPORTED("esx26fefr0mrz7t4p720sf58a"); // D[3].y = D[2].y; UNSUPPORTED("d68sdlvrto6k9daq3v4bffw5y"); // gvrender_polygon(job, D, sides, filled); UNSUPPORTED("d6ndnv9bfbxsy039deiideukm"); // /*upper, right rectangle*/ UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("dk2ovejnwrhnobz5s8tu0j10r"); // D = (pointf*)zmalloc((sides)*sizeof(pointf)); UNSUPPORTED("jnnrld5fecpgw2spcpy1owlt"); // D[0].x = AF[1].x + (AF[0].x - AF[1].x)/2 + (B[2].x-B[3].x)/8; //x_center + 1/4*width UNSUPPORTED("8u02sf2xpgku2gvq8y3cyvv3"); // D[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 + (B[3].y-B[4].y)/8;//y_center - width - 1/4 width UNSUPPORTED("9pkvrpz0i5eo220nag6ovrbfn"); // D[1].x = D[0].x + (B[2].x-B[3].x); UNSUPPORTED("377dvf6krrmq87z68ekoyk1nr"); // D[1].y = D[0].y; UNSUPPORTED("cnpipkg905bpnnnnoa0lopvzy"); // D[2].x = D[1].x; UNSUPPORTED("crefk31pbp2yilanj44au7qbe"); // D[2].y = D[1].y + (B[3].y-B[4].y)/2; UNSUPPORTED("78e3c23lx1btcjbe2srm6rcal"); // D[3].x = D[0].x; UNSUPPORTED("esx26fefr0mrz7t4p720sf58a"); // D[3].y = D[2].y; UNSUPPORTED("d68sdlvrto6k9daq3v4bffw5y"); // gvrender_polygon(job, D, sides, filled); UNSUPPORTED("eum17d4kc12w09ka3gn4xnjkl"); // /*dsDNA line right half*/ UNSUPPORTED("8uxhxokvb62d8vqgpxrqqprm7"); // C[0].x = D[1].x; UNSUPPORTED("550o47jm3dqr37h7j0k434zzb"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("5pw7rn49ku3rfnvp5lbqoivb7"); // C[1].x = AF[0].x; UNSUPPORTED("e0hztszh4dg3gbas5k24di6x9"); // C[1].y = AF[2].y + (AF[0].y - AF[3].y)/2; UNSUPPORTED("borq5nu8vs8newp4f3zf2ti2x"); // gvrender_polyline(job, C, 2); UNSUPPORTED("2r3im7kh170rpplkwcoi8l6jp"); // /*dsDNA line left half*/ UNSUPPORTED("5slbe4qz5t6sovatfjm8ccmcs"); // C[0].x = AF[1].x + (AF[0].x - AF[1].x)/2 - (B[2].x-B[3].x)*9/8; //D[0].x of of the left rectangles UNSUPPORTED("550o47jm3dqr37h7j0k434zzb"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("der143k1nuqx7trw59k0efgrl"); // C[1].x = AF[1].x; UNSUPPORTED("e0hztszh4dg3gbas5k24di6x9"); // C[1].y = AF[2].y + (AF[0].y - AF[3].y)/2; UNSUPPORTED("bpepkqrqcoslkcywz6fwjoemb"); // gvrender_polyline(job, C, 2); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("303w43enaucmyhixkc1xhs652"); // break; UNSUPPORTED("14ei614r723mcxpmqhkpr8ijk"); // case (15 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("167ktpr6jgq2ir87knm58dnxw"); // * does not scale UNSUPPORTED("11dzfjbtxkn4alvdn9s9waab8"); // * UNSUPPORTED("4j349xa0inyf0oh36zva5zr7l"); // * D[3]----------D[2] UNSUPPORTED("7b4dzyad9f7brkvbovf9r6hqw"); // * | | UNSUPPORTED("79i3zed3ho3ky8mkm7skk5hwz"); // * D[0]----------D[1] UNSUPPORTED("alv06nc1uxctts8p1qmc51lbk"); // * ---- --------- UNSUPPORTED("4j349xa0inyf0oh36zva5zr7l"); // * D[3]----------D[2] UNSUPPORTED("7b4dzyad9f7brkvbovf9r6hqw"); // * | | UNSUPPORTED("79i3zed3ho3ky8mkm7skk5hwz"); // * D[0]----------D[1] UNSUPPORTED("dhhao73bupb3qih7po05x8qcs"); // * UNSUPPORTED("4gn10s3n3ms2z2jz5zpxmp5ay"); // */ UNSUPPORTED("31z12vlharu09ldqvmirdvp2n"); // //x_center is AF[1].x + (AF[0].x - AF[1].x)/2; UNSUPPORTED("3kvpch1u0mkkh8mvlzphvxdio"); // //y_center is AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("agoljir79z51apt1tmk0f0sc7"); // //width units are (B[2].x-B[3].x)/2 or (B[3].y-B[4].y)/2; UNSUPPORTED("azjvg240odj44iv9ekoxye94d"); // //the thickness is subituted with (AF[0].x - AF[1].x)/8 to make it scalable in the y with label length UNSUPPORTED("dk2ovejnwrhnobz5s8tu0j10r"); // D = (pointf*)zmalloc((sides)*sizeof(pointf)); UNSUPPORTED("awwgll9ed6viac317lvwpn71d"); // D[0].x = AF[1].x + (AF[0].x - AF[1].x)/2 - (B[2].x-B[3].x); //x_center - 2*width UNSUPPORTED("97g2igromxtixmscljv7c9wu6"); // D[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 + (B[3].y-B[4].y)/8;//y_center + 1/4 width UNSUPPORTED("5vjhczya0wmraeexdugfakfz8"); // D[1].x = D[0].x + 2*(B[2].x-B[3].x); UNSUPPORTED("377dvf6krrmq87z68ekoyk1nr"); // D[1].y = D[0].y; UNSUPPORTED("cnpipkg905bpnnnnoa0lopvzy"); // D[2].x = D[1].x; UNSUPPORTED("crefk31pbp2yilanj44au7qbe"); // D[2].y = D[1].y + (B[3].y-B[4].y)/2; UNSUPPORTED("78e3c23lx1btcjbe2srm6rcal"); // D[3].x = D[0].x; UNSUPPORTED("esx26fefr0mrz7t4p720sf58a"); // D[3].y = D[2].y; UNSUPPORTED("d68sdlvrto6k9daq3v4bffw5y"); // gvrender_polygon(job, D, sides, filled); UNSUPPORTED("ekpqju1yk89s6h95eac20r1gq"); // /*second, lower shape*/ UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("dk2ovejnwrhnobz5s8tu0j10r"); // D = (pointf*)zmalloc((sides)*sizeof(pointf)); UNSUPPORTED("awwgll9ed6viac317lvwpn71d"); // D[0].x = AF[1].x + (AF[0].x - AF[1].x)/2 - (B[2].x-B[3].x); //x_center - 2*width UNSUPPORTED("12qbz2yet5sxyqb1w92s4ndn6"); // D[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 - (B[3].y-B[4].y)*5/8;//y_center - width - 1/4 width UNSUPPORTED("5vjhczya0wmraeexdugfakfz8"); // D[1].x = D[0].x + 2*(B[2].x-B[3].x); UNSUPPORTED("377dvf6krrmq87z68ekoyk1nr"); // D[1].y = D[0].y; UNSUPPORTED("cnpipkg905bpnnnnoa0lopvzy"); // D[2].x = D[1].x; UNSUPPORTED("crefk31pbp2yilanj44au7qbe"); // D[2].y = D[1].y + (B[3].y-B[4].y)/2; UNSUPPORTED("78e3c23lx1btcjbe2srm6rcal"); // D[3].x = D[0].x; UNSUPPORTED("esx26fefr0mrz7t4p720sf58a"); // D[3].y = D[2].y; UNSUPPORTED("d68sdlvrto6k9daq3v4bffw5y"); // gvrender_polygon(job, D, sides, filled); UNSUPPORTED("eum17d4kc12w09ka3gn4xnjkl"); // /*dsDNA line right half*/ UNSUPPORTED("8uxhxokvb62d8vqgpxrqqprm7"); // C[0].x = D[1].x; UNSUPPORTED("550o47jm3dqr37h7j0k434zzb"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("5pw7rn49ku3rfnvp5lbqoivb7"); // C[1].x = AF[0].x; UNSUPPORTED("e0hztszh4dg3gbas5k24di6x9"); // C[1].y = AF[2].y + (AF[0].y - AF[3].y)/2; UNSUPPORTED("borq5nu8vs8newp4f3zf2ti2x"); // gvrender_polyline(job, C, 2); UNSUPPORTED("2r3im7kh170rpplkwcoi8l6jp"); // /*dsDNA line left half*/ UNSUPPORTED("dcf6dzx1g3i2ccb6d7iwrzof8"); // C[0].x = AF[1].x; UNSUPPORTED("550o47jm3dqr37h7j0k434zzb"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("dvcsbjrm41adw6focml1eh8zc"); // C[1].x = D[0].x; UNSUPPORTED("e0hztszh4dg3gbas5k24di6x9"); // C[1].y = AF[2].y + (AF[0].y - AF[3].y)/2; UNSUPPORTED("borq5nu8vs8newp4f3zf2ti2x"); // gvrender_polyline(job, C, 2); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("303w43enaucmyhixkc1xhs652"); // break; UNSUPPORTED("48w5mwwikj3xri88x1ws7mspe"); // case (16 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("7ltzne5zulu744fj39ucj4ohf"); // * UNSUPPORTED("79o67pgmuajgw0oy68fg9bbvd"); // * UNSUPPORTED("h0rc5xn5b50bnx2xer2z5stp"); // * +--------------+ UNSUPPORTED("ex2ghpokf7935zc3r3j6788pu"); // * | | UNSUPPORTED("25narjhny8esxdam3pqsc62n1"); // * |x | UNSUPPORTED("h0cdk6heuz85qgmbro6tzuqz"); // * |_____________ | UNSUPPORTED("h0rc5xn5b50bnx2xer2z5stp"); // * +--------------+ UNSUPPORTED("4gn10s3n3ms2z2jz5zpxmp5ay"); // */ UNSUPPORTED("31z12vlharu09ldqvmirdvp2n"); // //x_center is AF[1].x + (AF[0].x - AF[1].x)/2; UNSUPPORTED("3kvpch1u0mkkh8mvlzphvxdio"); // //y_center is AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("agoljir79z51apt1tmk0f0sc7"); // //width units are (B[2].x-B[3].x)/2 or (B[3].y-B[4].y)/2; UNSUPPORTED("azjvg240odj44iv9ekoxye94d"); // //the thickness is subituted with (AF[0].x - AF[1].x)/8 to make it scalable in the y with label length UNSUPPORTED("dk2ovejnwrhnobz5s8tu0j10r"); // D = (pointf*)zmalloc((sides)*sizeof(pointf)); UNSUPPORTED("8bi8jgvnnbgjoe0rtiovk3kka"); // D[0].x = AF[0].x; UNSUPPORTED("d1eg8u95ffvpn8cj0t175qe8"); // D[0].y = B[1].y - (B[3].y - B[4].y)/2; UNSUPPORTED("45vton2uqw835epqg2o0j1qee"); // D[1].x = B[3].x; UNSUPPORTED("2so1ozst5cwd02o33408hxi1n"); // D[1].y = B[3].y - (B[3].y - B[4].y)/2; UNSUPPORTED("2y7ipfj9drc5mfgjluf5y6k6p"); // D[2].x = AF[2].x; UNSUPPORTED("bopqgv9t3o6ppbojdunc5qjfl"); // D[2].y = AF[2].y + (B[3].y - B[4].y)/2; UNSUPPORTED("7h94vcqfqaq3o7bcei0wollyt"); // D[3].x = AF[0].x; UNSUPPORTED("94cxjx74gts01u98ngcns0j0o"); // D[3].y = AF[2].y + (B[3].y - B[4].y)/2; UNSUPPORTED("d68sdlvrto6k9daq3v4bffw5y"); // gvrender_polygon(job, D, sides, filled); UNSUPPORTED("etbsuecrxy2aywu5r3ylnasws"); // /* "\" of the X*/ UNSUPPORTED("dn2kymbyi2rzk23hu0fvmtheo"); // C[0].x = AF[1].x + (B[2].x-B[3].x)/4; UNSUPPORTED("19k6gzn1ryigjdj1df6gv5pif"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 + (B[3].y-B[4].y)/8; //y_center + 1/4 width UNSUPPORTED("a0w8w98rrt5pm4y0l5qdfxkow"); // C[1].x = C[0].x + (B[2].x-B[3].x)/4;//C[0].x + width/2 UNSUPPORTED("d2o4uwqoui3s0bmux80abbqmd"); // C[1].y = C[0].y - (B[3].y-B[4].y)/4;//C[0].y - width/2 UNSUPPORTED("borq5nu8vs8newp4f3zf2ti2x"); // gvrender_polyline(job, C, 2); UNSUPPORTED("4ysg2usfft6m36ffns83iwtmd"); // /*"/" of the X*/ UNSUPPORTED("dn2kymbyi2rzk23hu0fvmtheo"); // C[0].x = AF[1].x + (B[2].x-B[3].x)/4; UNSUPPORTED("6pzw020qiqzzlzrh4wycp229t"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 - (B[3].y-B[4].y)/8; //y_center - 1/4 width UNSUPPORTED("a0w8w98rrt5pm4y0l5qdfxkow"); // C[1].x = C[0].x + (B[2].x-B[3].x)/4;//C[0].x + width/2 UNSUPPORTED("66ksrj9hxsvy0vw9c9ocnihdo"); // C[1].y = C[0].y + (B[3].y-B[4].y)/4;//C[0].y + width/2 UNSUPPORTED("3fkc6rtflns56swh4at4mk3m5"); // gvrender_polyline(job, C, 2); UNSUPPORTED("ak4ihrj8sm9s5bbs7ifbiiqgz"); // /*bottom line*/ UNSUPPORTED("dn2kymbyi2rzk23hu0fvmtheo"); // C[0].x = AF[1].x + (B[2].x-B[3].x)/4; UNSUPPORTED("4u65ge9q81w5f8vq91hnk25j0"); // C[0].y = AF[2].y + (B[3].y-B[4].y)*3/4; UNSUPPORTED("3hxysqi93h8rxowvw7regc5gd"); // C[1].x = AF[0].x - (B[2].x-B[3].x)/4; UNSUPPORTED("142esq47csev8pt9cyj31tqm1"); // C[1].y = C[0].y; UNSUPPORTED("borq5nu8vs8newp4f3zf2ti2x"); // gvrender_polyline(job, C, 2); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("303w43enaucmyhixkc1xhs652"); // break; UNSUPPORTED("7vbkukru4dk2jdofrvin4riun"); // case (17 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("cn7c2ju32wqc45avu1irffys"); // * double square UNSUPPORTED("cmrglhtmovtl6mh8dyeurkeed"); // * UNSUPPORTED("athofuzkxb9foobkjvbgruits"); // * +-----+ UNSUPPORTED("btl3kzf1m40fjx35r7s13dak8"); // *--| ___ |--- UNSUPPORTED("3bewsg8hd510shli6vxd282t3"); // * | |_| | UNSUPPORTED("athofuzkxb9foobkjvbgruits"); // * +-----+ UNSUPPORTED("6b0g1rzk4g1o9c2we59or2tun"); // * UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("dbi6282o67zdvjpioemev8l1g"); // //x_center is AF[1].x + (AF[0].x - AF[1].x)/2 UNSUPPORTED("3kvpch1u0mkkh8mvlzphvxdio"); // //y_center is AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("agoljir79z51apt1tmk0f0sc7"); // //width units are (B[2].x-B[3].x)/2 or (B[3].y-B[4].y)/2; UNSUPPORTED("dk2ovejnwrhnobz5s8tu0j10r"); // D = (pointf*)zmalloc((sides)*sizeof(pointf)); UNSUPPORTED("cwgeibey8unr1moojtfgv2q7x"); // D[0].x = AF[1].x + (AF[0].x - AF[1].x)/2 + (B[2].x-B[3].x)/2; //x_center+width UNSUPPORTED("5q4z1vahwevjgs3lngw7t3ejs"); // D[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 + (B[2].x-B[3].x)/2; //y_center UNSUPPORTED("34tp01hd6y8buifqu81fp7kah"); // D[1].x = D[0].x; UNSUPPORTED("hdzi6ghb3chmpb4kat6cn5o5"); // D[1].y = AF[2].y + (AF[1].y - AF[2].y)/2 - (B[2].x-B[3].x)/2; //D[0].y- width UNSUPPORTED("c8u2dyot9xat0mx55arvw7g0y"); // D[2].x = AF[1].x + (AF[0].x - AF[1].x)/2 - (B[2].x-B[3].x)/2; //x_center-width UNSUPPORTED("dmuv0ci8g28j2wpq47bkjo7p6"); // D[2].y = D[1].y; UNSUPPORTED("5ihipbue45drjma9vxlpgy615"); // D[3].x = D[2].x; UNSUPPORTED("b9duody7fe2aysvdbb7u2vz0h"); // D[3].y = D[0].y; UNSUPPORTED("d68sdlvrto6k9daq3v4bffw5y"); // gvrender_polygon(job, D, sides, filled); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("alinyx8nih1q4xkxk0zr6ks0g"); // /*outer square line*/ UNSUPPORTED("esoqwn3fruttfk0xaif261aqh"); // C[0].x = AF[1].x + (AF[0].x - AF[1].x)/2 + (B[2].x-B[3].x)*3/4; //x_center+1.5*width UNSUPPORTED("bne0arbunp5lxwkzz28ssqsek"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 + (B[2].x-B[3].x)*3/4; //y_center UNSUPPORTED("ec2n0yx6hife8hckl0aiamvcw"); // C[1].x = C[0].x; UNSUPPORTED("9up5g41z0f2g93bts1dsx63o4"); // C[1].y = AF[2].y + (AF[1].y - AF[2].y)/2 - (B[2].x-B[3].x)*3/4; //y_center- 1.5*width UNSUPPORTED("439vzjsgoxct3lgumvqsuq0s1"); // C[2].x = AF[1].x + (AF[0].x - AF[1].x)/2 - (B[2].x-B[3].x)*3/4; //x_center-1.5*width UNSUPPORTED("76tt8cgoymi6trgixufzzkaf0"); // C[2].y = C[1].y; UNSUPPORTED("6tyxrag4xqp6g766cux9cx264"); // C[3].x = C[2].x; UNSUPPORTED("4ho7h0h9c2lk1inv8t3opclga"); // C[3].y = C[0].y; UNSUPPORTED("300ab5adr2vnr421lamy5ct24"); // C[4] = C[0]; UNSUPPORTED("41173djchd1fq40lkht8mrq1m"); // gvrender_polyline(job, C, 5); UNSUPPORTED("eum17d4kc12w09ka3gn4xnjkl"); // /*dsDNA line right half*/ UNSUPPORTED("8wls9in1sb16jer08b5ssunvn"); // C[0].x = AF[1].x + (AF[0].x - AF[1].x)/2 + (B[2].x-B[3].x)*3/4; UNSUPPORTED("550o47jm3dqr37h7j0k434zzb"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("5pw7rn49ku3rfnvp5lbqoivb7"); // C[1].x = AF[0].x; UNSUPPORTED("e0hztszh4dg3gbas5k24di6x9"); // C[1].y = AF[2].y + (AF[0].y - AF[3].y)/2; UNSUPPORTED("borq5nu8vs8newp4f3zf2ti2x"); // gvrender_polyline(job, C, 2); UNSUPPORTED("2r3im7kh170rpplkwcoi8l6jp"); // /*dsDNA line left half*/ UNSUPPORTED("dcf6dzx1g3i2ccb6d7iwrzof8"); // C[0].x = AF[1].x; UNSUPPORTED("550o47jm3dqr37h7j0k434zzb"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("8hqchqf2s017c644hehhcaxlo"); // C[1].x = AF[1].x + (AF[0].x - AF[1].x)/2 - (B[2].x-B[3].x)*3/4; UNSUPPORTED("e0hztszh4dg3gbas5k24di6x9"); // C[1].y = AF[2].y + (AF[0].y - AF[3].y)/2; UNSUPPORTED("borq5nu8vs8newp4f3zf2ti2x"); // gvrender_polyline(job, C, 2); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("55yooxu10kqgg7dajhsezqkfq"); // case (18 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("46e0z9y77phnj064p0tf5bf94"); // * X with a dashed line on the bottom UNSUPPORTED("rj2e0ukg50e63tpjapabomkh"); // * UNSUPPORTED("cmrglhtmovtl6mh8dyeurkeed"); // * UNSUPPORTED("dlcnxc753jrol481tmux9lswq"); // * X UNSUPPORTED("81manefx32xoejcl5dhw4vc4s"); // * | UNSUPPORTED("cz2kcexrt76ppdvw9mtzwl6l6"); // * ------------ UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("dbi6282o67zdvjpioemev8l1g"); // //x_center is AF[1].x + (AF[0].x - AF[1].x)/2 UNSUPPORTED("3kvpch1u0mkkh8mvlzphvxdio"); // //y_center is AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("agoljir79z51apt1tmk0f0sc7"); // //width units are (B[2].x-B[3].x)/2 or (B[3].y-B[4].y)/2; UNSUPPORTED("29c55ze4t4mczxh3x1veeu005"); // D = (pointf*)zmalloc((sides + 12)*sizeof(pointf)); //12-sided x UNSUPPORTED("bfjnm29zjvd3n7do4y87yuimk"); // D[0].x = AF[1].x + (AF[0].x-AF[1].x)/2 + (B[2].x-B[3].x)/4; //x_center+widtht/2 , lower right corner of the x UNSUPPORTED("6fadfx3cd7603xzoiam5zyl67"); // D[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 + (B[3].y-B[4].y)/2; //y_center + width UNSUPPORTED("34tp01hd6y8buifqu81fp7kah"); // D[1].x = D[0].x; UNSUPPORTED("4v3l9q24gxtxrar8btl47zoow"); // D[1].y = D[0].y + (B[3].y-B[4].y)/8; //D[0].y +width/4 UNSUPPORTED("6rgdcvz0zwjdie9l63ipu46l4"); // D[2].x = D[0].x - (B[2].x-B[3].x)/8; //D[0].x- width/4 //right nook of the x UNSUPPORTED("ex033y5oj49zuzra10asffkia"); // D[2].y = D[1].y + (B[3].y-B[4].y)/8; //D[0].y+width/2 or D[1].y+width/4 UNSUPPORTED("78e3c23lx1btcjbe2srm6rcal"); // D[3].x = D[0].x; UNSUPPORTED("1t32ie8e7he01k3ty0s11cjff"); // D[3].y = D[2].y + (B[3].y-B[4].y)/8; //D[2].y + width/4 UNSUPPORTED("bzw7esfwo40sfa8iehrj4pyr8"); // D[4].x = D[0].x; UNSUPPORTED("12jatkjezhxoyrcbj7qw0kzrn"); // D[4].y = D[3].y + (B[3].y-B[4].y)/8; //top right corner of the x UNSUPPORTED("e9ohdk7a5hiy6qw6kdxic8ih0"); // D[5].x = D[2].x; UNSUPPORTED("9h546osr54mx5910v00kmvmo3"); // D[5].y = D[4].y; UNSUPPORTED("926tc948ppa1dj5yf7ltaex6"); // D[6].x = AF[1].x + (AF[0].x - AF[1].x)/2; //x_center UNSUPPORTED("4na1446f7z8re7jmm7p0szkgh"); // D[6].y = D[3].y; //top nook UNSUPPORTED("2iw65hw9js3r2zpvqu9k4s5f3"); // D[7].x = D[6].x - (B[2].x-B[3].x)/8; //D[5] mirrowed across y UNSUPPORTED("cdcewcs3o64fkxoeknvdtdd6h"); // D[7].y = D[5].y; UNSUPPORTED("4gh2f7t5fi2gir99lnocdxmp0"); // D[8].x = D[7].x - (B[2].x-B[3].x)/8;//top left corner UNSUPPORTED("agbg6evpctdfnyu3qhrm0w5ej"); // D[8].y = D[7].y; UNSUPPORTED("ah5kglnqaow2xvlpo51wluq5y"); // D[9].x = D[8].x; UNSUPPORTED("7eul86jxr4ht4r5bn3fgfljdq"); // D[9].y = D[3].y; UNSUPPORTED("dvxukn20gcceywf45rsdlgwjk"); // D[10].x = D[8].x + (B[2].x-B[3].x)/8; UNSUPPORTED("ealz2oalp4aksi0zz739qke65"); // D[10].y = D[2].y; UNSUPPORTED("5pyd0cxb8ujx2mcsu0n68e5xt"); // D[11].x = D[8].x; UNSUPPORTED("7yttvltea377p6nfz3hviflv7"); // D[11].y = D[1].y; UNSUPPORTED("ed3f8qa9fqvj7h3ir97ic1dlc"); // D[12].x = D[8].x; UNSUPPORTED("dg27h65j67kiidrf7m8vrmssw"); // D[12].y = D[0].y; UNSUPPORTED("88b0xpldaxzgp2ib4r60x41bf"); // D[13].x = D[10].x; UNSUPPORTED("ancic9a9poikrwxxwm0350zyt"); // D[13].y = D[12].y; UNSUPPORTED("8to7w6h0h7szl9z3sky187uk"); // D[14].x = D[6].x; //bottom nook UNSUPPORTED("4f8lav87663g2osgtdmm67fax"); // D[14].y = D[1].y; UNSUPPORTED("4srifebhh66qjppjrk5fgx7my"); // D[15].x = D[2].x; UNSUPPORTED("aojyz5q7eulsrjo7xi4v61pas"); // D[15].y = D[0].y; UNSUPPORTED("eec4an2ita1w8buwmp3e0y9ri"); // gvrender_polygon(job, D, sides + 12, filled); UNSUPPORTED("ezhguv4sszgbsjctxn3dkls1d"); // //2-part dash line UNSUPPORTED("6c9mdcqeputx4llge5t3ro9r8"); // /*line below the x, bottom dash*/ UNSUPPORTED("1qnbpwnfgz995h9ijphe5qq4g"); // C[0].x = D[14].x; //x_center UNSUPPORTED("1xkx02f07j9c7v00hsy0c15je"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; //y_center UNSUPPORTED("ec2n0yx6hife8hckl0aiamvcw"); // C[1].x = C[0].x; UNSUPPORTED("deqh8fifsu2we0oawe0cc0oa6"); // C[1].y = C[0].y + (B[3].y-B[4].y)/8; //y_center + 1/4*width UNSUPPORTED("borq5nu8vs8newp4f3zf2ti2x"); // gvrender_polyline(job, C, 2); UNSUPPORTED("3x5sj9iyejrerw6luuq6elt8u"); // /*line below the x, top dash*/ UNSUPPORTED("1qnbpwnfgz995h9ijphe5qq4g"); // C[0].x = D[14].x; //x_center UNSUPPORTED("2ggw25mqydk24dag1i69ct4yg"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 + (B[3].y-B[4].y)/4; UNSUPPORTED("ec2n0yx6hife8hckl0aiamvcw"); // C[1].x = C[0].x; UNSUPPORTED("e0n5uvucrlja6280zegwvnw5l"); // C[1].y = C[0].y + (B[3].y-B[4].y)/8; UNSUPPORTED("borq5nu8vs8newp4f3zf2ti2x"); // gvrender_polyline(job, C, 2); UNSUPPORTED("hjs1b12h76k9zk31lumwwf9f"); // /*dsDNA line*/ UNSUPPORTED("dcf6dzx1g3i2ccb6d7iwrzof8"); // C[0].x = AF[1].x; UNSUPPORTED("550o47jm3dqr37h7j0k434zzb"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("5pw7rn49ku3rfnvp5lbqoivb7"); // C[1].x = AF[0].x; UNSUPPORTED("e0hztszh4dg3gbas5k24di6x9"); // C[1].y = AF[2].y + (AF[0].y - AF[3].y)/2; UNSUPPORTED("7vyejosjncamgazhav0j15x5q"); // gvrender_polyline(job, C, 2); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("de8hrmjzk9llxqf5n9hseeur"); // case (19 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("67e50jeeiwiw2yyny8x835sxw"); // * hexagon with a dashed line on the bottom UNSUPPORTED("rj2e0ukg50e63tpjapabomkh"); // * UNSUPPORTED("cmrglhtmovtl6mh8dyeurkeed"); // * UNSUPPORTED("d10jdrlg1miyun96p57ha1zcq"); // * O UNSUPPORTED("81manefx32xoejcl5dhw4vc4s"); // * | UNSUPPORTED("cz2kcexrt76ppdvw9mtzwl6l6"); // * ------------ UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("dbi6282o67zdvjpioemev8l1g"); // //x_center is AF[1].x + (AF[0].x - AF[1].x)/2 UNSUPPORTED("3kvpch1u0mkkh8mvlzphvxdio"); // //y_center is AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("agoljir79z51apt1tmk0f0sc7"); // //width units are (B[2].x-B[3].x)/2 or (B[3].y-B[4].y)/2; UNSUPPORTED("bce0986uths99en9ujtallv74"); // D = (pointf*)zmalloc((sides + 4)*sizeof(pointf)); //12-sided x UNSUPPORTED("1r0dyice1nwwjxx60euskvs22"); // D[0].x = AF[1].x + (AF[0].x-AF[1].x)/2 + (B[2].x-B[3].x)/8; //x_center+widtht/8 , lower right corner of the hexagon UNSUPPORTED("6fadfx3cd7603xzoiam5zyl67"); // D[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 + (B[3].y-B[4].y)/2; //y_center + width UNSUPPORTED("7vtpwdfs55eauxhtxly0fq9yo"); // D[1].x = D[0].x + (B[2].x-B[3].x)/8; UNSUPPORTED("4v3l9q24gxtxrar8btl47zoow"); // D[1].y = D[0].y + (B[3].y-B[4].y)/8; //D[0].y +width/4 UNSUPPORTED("80iff0mad95x21gnzwaa6r2du"); // D[2].x = D[1].x; //D[0].x- width/4 UNSUPPORTED("e85qlsqp5ec0c39ukmurh01le"); // D[2].y = D[1].y + (B[3].y-B[4].y)/4; //D[1].y+width/2 UNSUPPORTED("78e3c23lx1btcjbe2srm6rcal"); // D[3].x = D[0].x; UNSUPPORTED("1t32ie8e7he01k3ty0s11cjff"); // D[3].y = D[2].y + (B[3].y-B[4].y)/8; //D[2].y + width/4 UNSUPPORTED("8so3hvsavyaik1857ci06i28n"); // D[4].x = D[3].x - (B[2].x-B[3].x)/4; UNSUPPORTED("eplzuryql5ru5fo39zx6qq098"); // D[4].y = D[3].y; //top of the hexagon UNSUPPORTED("85tgwpkocchmr8656hsvvujbk"); // D[5].x = D[4].x - (B[2].x-B[3].x)/8; UNSUPPORTED("d78lk5o8y51l9z7neypp202ok"); // D[5].y = D[2].y; UNSUPPORTED("a2qj96305wxo9gce1tujcuecz"); // D[6].x = D[5].x; UNSUPPORTED("au3tvlkozqb147n50te46l8da"); // D[6].y = D[1].y; //left side UNSUPPORTED("45h8dltyrq4aavcyjz923uke9"); // D[7].x = D[4].x; UNSUPPORTED("3toyc6445kpow5ul101muzie7"); // D[7].y = D[0].y; //bottom UNSUPPORTED("519fp4pixwl2w7d4ssm51lram"); // gvrender_polygon(job, D, sides + 4, filled); UNSUPPORTED("ezhguv4sszgbsjctxn3dkls1d"); // //2-part dash line UNSUPPORTED("6c9mdcqeputx4llge5t3ro9r8"); // /*line below the x, bottom dash*/ UNSUPPORTED("4fj9vuy8q45y638ge1ixleprj"); // C[0].x = AF[1].x + (AF[0].x - AF[1].x)/2; //x_center UNSUPPORTED("1xkx02f07j9c7v00hsy0c15je"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; //y_center UNSUPPORTED("ec2n0yx6hife8hckl0aiamvcw"); // C[1].x = C[0].x; UNSUPPORTED("deqh8fifsu2we0oawe0cc0oa6"); // C[1].y = C[0].y + (B[3].y-B[4].y)/8; //y_center + 1/4*width UNSUPPORTED("borq5nu8vs8newp4f3zf2ti2x"); // gvrender_polyline(job, C, 2); UNSUPPORTED("3x5sj9iyejrerw6luuq6elt8u"); // /*line below the x, top dash*/ UNSUPPORTED("4fj9vuy8q45y638ge1ixleprj"); // C[0].x = AF[1].x + (AF[0].x - AF[1].x)/2; //x_center UNSUPPORTED("2ggw25mqydk24dag1i69ct4yg"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 + (B[3].y-B[4].y)/4; UNSUPPORTED("ec2n0yx6hife8hckl0aiamvcw"); // C[1].x = C[0].x; UNSUPPORTED("e0n5uvucrlja6280zegwvnw5l"); // C[1].y = C[0].y + (B[3].y-B[4].y)/8; UNSUPPORTED("borq5nu8vs8newp4f3zf2ti2x"); // gvrender_polyline(job, C, 2); UNSUPPORTED("hjs1b12h76k9zk31lumwwf9f"); // /*dsDNA line*/ UNSUPPORTED("dcf6dzx1g3i2ccb6d7iwrzof8"); // C[0].x = AF[1].x; UNSUPPORTED("550o47jm3dqr37h7j0k434zzb"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("5pw7rn49ku3rfnvp5lbqoivb7"); // C[1].x = AF[0].x; UNSUPPORTED("e0hztszh4dg3gbas5k24di6x9"); // C[1].y = AF[2].y + (AF[0].y - AF[3].y)/2; UNSUPPORTED("7vyejosjncamgazhav0j15x5q"); // gvrender_polyline(job, C, 2); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("eezw6z44jruvicwzff6onzjsf"); // case (20 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("4oo44mzmfh78pq3lzqwtmsfz4"); // * X with a solid line on the bottom UNSUPPORTED("rj2e0ukg50e63tpjapabomkh"); // * UNSUPPORTED("cmrglhtmovtl6mh8dyeurkeed"); // * UNSUPPORTED("dlcnxc753jrol481tmux9lswq"); // * X UNSUPPORTED("81manefx32xoejcl5dhw4vc4s"); // * | UNSUPPORTED("cz2kcexrt76ppdvw9mtzwl6l6"); // * ------------ UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("dbi6282o67zdvjpioemev8l1g"); // //x_center is AF[1].x + (AF[0].x - AF[1].x)/2 UNSUPPORTED("3kvpch1u0mkkh8mvlzphvxdio"); // //y_center is AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("agoljir79z51apt1tmk0f0sc7"); // //width units are (B[2].x-B[3].x)/2 or (B[3].y-B[4].y)/2; UNSUPPORTED("29c55ze4t4mczxh3x1veeu005"); // D = (pointf*)zmalloc((sides + 12)*sizeof(pointf)); //12-sided x UNSUPPORTED("bfjnm29zjvd3n7do4y87yuimk"); // D[0].x = AF[1].x + (AF[0].x-AF[1].x)/2 + (B[2].x-B[3].x)/4; //x_center+widtht/2 , lower right corner of the x UNSUPPORTED("6fadfx3cd7603xzoiam5zyl67"); // D[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 + (B[3].y-B[4].y)/2; //y_center + width UNSUPPORTED("34tp01hd6y8buifqu81fp7kah"); // D[1].x = D[0].x; UNSUPPORTED("4v3l9q24gxtxrar8btl47zoow"); // D[1].y = D[0].y + (B[3].y-B[4].y)/8; //D[0].y +width/4 UNSUPPORTED("6rgdcvz0zwjdie9l63ipu46l4"); // D[2].x = D[0].x - (B[2].x-B[3].x)/8; //D[0].x- width/4 //right nook of the x UNSUPPORTED("ex033y5oj49zuzra10asffkia"); // D[2].y = D[1].y + (B[3].y-B[4].y)/8; //D[0].y+width/2 or D[1].y+width/4 UNSUPPORTED("78e3c23lx1btcjbe2srm6rcal"); // D[3].x = D[0].x; UNSUPPORTED("1t32ie8e7he01k3ty0s11cjff"); // D[3].y = D[2].y + (B[3].y-B[4].y)/8; //D[2].y + width/4 UNSUPPORTED("bzw7esfwo40sfa8iehrj4pyr8"); // D[4].x = D[0].x; UNSUPPORTED("12jatkjezhxoyrcbj7qw0kzrn"); // D[4].y = D[3].y + (B[3].y-B[4].y)/8; //top right corner of the x UNSUPPORTED("e9ohdk7a5hiy6qw6kdxic8ih0"); // D[5].x = D[2].x; UNSUPPORTED("9h546osr54mx5910v00kmvmo3"); // D[5].y = D[4].y; UNSUPPORTED("926tc948ppa1dj5yf7ltaex6"); // D[6].x = AF[1].x + (AF[0].x - AF[1].x)/2; //x_center UNSUPPORTED("4na1446f7z8re7jmm7p0szkgh"); // D[6].y = D[3].y; //top nook UNSUPPORTED("2iw65hw9js3r2zpvqu9k4s5f3"); // D[7].x = D[6].x - (B[2].x-B[3].x)/8; //D[5] mirrowed across y UNSUPPORTED("cdcewcs3o64fkxoeknvdtdd6h"); // D[7].y = D[5].y; UNSUPPORTED("4gh2f7t5fi2gir99lnocdxmp0"); // D[8].x = D[7].x - (B[2].x-B[3].x)/8;//top left corner UNSUPPORTED("agbg6evpctdfnyu3qhrm0w5ej"); // D[8].y = D[7].y; UNSUPPORTED("ah5kglnqaow2xvlpo51wluq5y"); // D[9].x = D[8].x; UNSUPPORTED("7eul86jxr4ht4r5bn3fgfljdq"); // D[9].y = D[3].y; UNSUPPORTED("dvxukn20gcceywf45rsdlgwjk"); // D[10].x = D[8].x + (B[2].x-B[3].x)/8; UNSUPPORTED("ealz2oalp4aksi0zz739qke65"); // D[10].y = D[2].y; UNSUPPORTED("5pyd0cxb8ujx2mcsu0n68e5xt"); // D[11].x = D[8].x; UNSUPPORTED("7yttvltea377p6nfz3hviflv7"); // D[11].y = D[1].y; UNSUPPORTED("ed3f8qa9fqvj7h3ir97ic1dlc"); // D[12].x = D[8].x; UNSUPPORTED("dg27h65j67kiidrf7m8vrmssw"); // D[12].y = D[0].y; UNSUPPORTED("88b0xpldaxzgp2ib4r60x41bf"); // D[13].x = D[10].x; UNSUPPORTED("ancic9a9poikrwxxwm0350zyt"); // D[13].y = D[12].y; UNSUPPORTED("8to7w6h0h7szl9z3sky187uk"); // D[14].x = D[6].x; //bottom nook UNSUPPORTED("4f8lav87663g2osgtdmm67fax"); // D[14].y = D[1].y; UNSUPPORTED("4srifebhh66qjppjrk5fgx7my"); // D[15].x = D[2].x; UNSUPPORTED("aojyz5q7eulsrjo7xi4v61pas"); // D[15].y = D[0].y; UNSUPPORTED("eec4an2ita1w8buwmp3e0y9ri"); // gvrender_polygon(job, D, sides + 12, filled); UNSUPPORTED("5hl7s3qlipucjwhwahk282sx8"); // /*line below the x*/ UNSUPPORTED("d55sgple6c28z0c52aycup5at"); // C[0] = D[14]; UNSUPPORTED("ec2n0yx6hife8hckl0aiamvcw"); // C[1].x = C[0].x; UNSUPPORTED("4a3l5xe9qdenhns41qoiytki5"); // C[1].y = AF[2].y + (AF[1].y - AF[2].y)/2; //y_center UNSUPPORTED("borq5nu8vs8newp4f3zf2ti2x"); // gvrender_polyline(job, C, 2); UNSUPPORTED("hjs1b12h76k9zk31lumwwf9f"); // /*dsDNA line*/ UNSUPPORTED("dcf6dzx1g3i2ccb6d7iwrzof8"); // C[0].x = AF[1].x; UNSUPPORTED("550o47jm3dqr37h7j0k434zzb"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("5pw7rn49ku3rfnvp5lbqoivb7"); // C[1].x = AF[0].x; UNSUPPORTED("e0hztszh4dg3gbas5k24di6x9"); // C[1].y = AF[2].y + (AF[0].y - AF[3].y)/2; UNSUPPORTED("7vyejosjncamgazhav0j15x5q"); // gvrender_polyline(job, C, 2); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("7ea60jessa65lyhvl39qnzgmi"); // case (21 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("67e50jeeiwiw2yyny8x835sxw"); // * hexagon with a dashed line on the bottom UNSUPPORTED("rj2e0ukg50e63tpjapabomkh"); // * UNSUPPORTED("cmrglhtmovtl6mh8dyeurkeed"); // * UNSUPPORTED("d10jdrlg1miyun96p57ha1zcq"); // * O UNSUPPORTED("81manefx32xoejcl5dhw4vc4s"); // * | UNSUPPORTED("cz2kcexrt76ppdvw9mtzwl6l6"); // * ------------ UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("dbi6282o67zdvjpioemev8l1g"); // //x_center is AF[1].x + (AF[0].x - AF[1].x)/2 UNSUPPORTED("3kvpch1u0mkkh8mvlzphvxdio"); // //y_center is AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("agoljir79z51apt1tmk0f0sc7"); // //width units are (B[2].x-B[3].x)/2 or (B[3].y-B[4].y)/2; UNSUPPORTED("bce0986uths99en9ujtallv74"); // D = (pointf*)zmalloc((sides + 4)*sizeof(pointf)); //12-sided x UNSUPPORTED("1r0dyice1nwwjxx60euskvs22"); // D[0].x = AF[1].x + (AF[0].x-AF[1].x)/2 + (B[2].x-B[3].x)/8; //x_center+widtht/8 , lower right corner of the hexagon UNSUPPORTED("6fadfx3cd7603xzoiam5zyl67"); // D[0].y = AF[2].y + (AF[1].y - AF[2].y)/2 + (B[3].y-B[4].y)/2; //y_center + width UNSUPPORTED("7vtpwdfs55eauxhtxly0fq9yo"); // D[1].x = D[0].x + (B[2].x-B[3].x)/8; UNSUPPORTED("4v3l9q24gxtxrar8btl47zoow"); // D[1].y = D[0].y + (B[3].y-B[4].y)/8; //D[0].y +width/4 UNSUPPORTED("80iff0mad95x21gnzwaa6r2du"); // D[2].x = D[1].x; //D[0].x- width/4 UNSUPPORTED("e85qlsqp5ec0c39ukmurh01le"); // D[2].y = D[1].y + (B[3].y-B[4].y)/4; //D[1].y+width/2 UNSUPPORTED("78e3c23lx1btcjbe2srm6rcal"); // D[3].x = D[0].x; UNSUPPORTED("1t32ie8e7he01k3ty0s11cjff"); // D[3].y = D[2].y + (B[3].y-B[4].y)/8; //D[2].y + width/4 UNSUPPORTED("8so3hvsavyaik1857ci06i28n"); // D[4].x = D[3].x - (B[2].x-B[3].x)/4; UNSUPPORTED("eplzuryql5ru5fo39zx6qq098"); // D[4].y = D[3].y; //top of the hexagon UNSUPPORTED("85tgwpkocchmr8656hsvvujbk"); // D[5].x = D[4].x - (B[2].x-B[3].x)/8; UNSUPPORTED("d78lk5o8y51l9z7neypp202ok"); // D[5].y = D[2].y; UNSUPPORTED("a2qj96305wxo9gce1tujcuecz"); // D[6].x = D[5].x; UNSUPPORTED("au3tvlkozqb147n50te46l8da"); // D[6].y = D[1].y; //left side UNSUPPORTED("45h8dltyrq4aavcyjz923uke9"); // D[7].x = D[4].x; UNSUPPORTED("3toyc6445kpow5ul101muzie7"); // D[7].y = D[0].y; //bottom UNSUPPORTED("519fp4pixwl2w7d4ssm51lram"); // gvrender_polygon(job, D, sides + 4, filled); UNSUPPORTED("5hl7s3qlipucjwhwahk282sx8"); // /*line below the x*/ UNSUPPORTED("axr0pn9n2azga1eiee2sfhf90"); // C[0].x = AF[1].x + (AF[0].x - AF[1].x)/2; UNSUPPORTED("cyy862hp2el6mhfkug2y3f1ca"); // C[0].y = D[0].y; UNSUPPORTED("ec2n0yx6hife8hckl0aiamvcw"); // C[1].x = C[0].x; UNSUPPORTED("4a3l5xe9qdenhns41qoiytki5"); // C[1].y = AF[2].y + (AF[1].y - AF[2].y)/2; //y_center UNSUPPORTED("borq5nu8vs8newp4f3zf2ti2x"); // gvrender_polyline(job, C, 2); UNSUPPORTED("hjs1b12h76k9zk31lumwwf9f"); // /*dsDNA line*/ UNSUPPORTED("dcf6dzx1g3i2ccb6d7iwrzof8"); // C[0].x = AF[1].x; UNSUPPORTED("550o47jm3dqr37h7j0k434zzb"); // C[0].y = AF[2].y + (AF[1].y - AF[2].y)/2; UNSUPPORTED("5pw7rn49ku3rfnvp5lbqoivb7"); // C[1].x = AF[0].x; UNSUPPORTED("e0hztszh4dg3gbas5k24di6x9"); // C[1].y = AF[2].y + (AF[0].y - AF[3].y)/2; UNSUPPORTED("7vyejosjncamgazhav0j15x5q"); // gvrender_polyline(job, C, 2); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("414355qtxrrdrp88lqmu8xuq8"); // break; UNSUPPORTED("i1a2vh2der7lv63hy4pg74j2"); // case (22 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("11hn7suih6n97ek5ack6vv7ni"); // * Adjust the perimeter for the protrusions. UNSUPPORTED("cmrglhtmovtl6mh8dyeurkeed"); // * UNSUPPORTED("4bfue86t6gftlcgwzff6qshk7"); // * UNSUPPORTED("2hxqoj7zl8r8xv6e4z6djhz03"); // * D[1] = AF[1] | * +----------------+ * | D[0] * | * | / UNSUPPORTED("43leeaho94cuu8h6ufftsvw4m"); // * | / UNSUPPORTED("722lri4xki5u0btwl5flr6qxu"); // * | +-------+ / UNSUPPORTED("8kn1gxbxamlotuexrxky3o76q"); // * | | |/ UNSUPPORTED("dscqqxbpov7i3z8kvqhzn45ew"); // * +--------+ UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("5kvv3jvgrdk38xmgwem87tcf9"); // /* Add the tab edges. */ UNSUPPORTED("6t4waazc6b2bir3lb3a09si65"); // D = (pointf*)zmalloc((sides + 5)*sizeof(pointf)); /*5 new points*/ UNSUPPORTED("c6x47uv986ws1wlxw5sjqn6n0"); // D[0].x = B[1].x - (B[2].x - B[3].x)/2; UNSUPPORTED("d1eg8u95ffvpn8cj0t175qe8"); // D[0].y = B[1].y - (B[3].y - B[4].y)/2; UNSUPPORTED("45vton2uqw835epqg2o0j1qee"); // D[1].x = B[3].x; UNSUPPORTED("2so1ozst5cwd02o33408hxi1n"); // D[1].y = B[3].y - (B[3].y - B[4].y)/2; UNSUPPORTED("2y7ipfj9drc5mfgjluf5y6k6p"); // D[2].x = AF[2].x; UNSUPPORTED("bul5ue4x9puypr5rmyrlxz24r"); // D[2].y = AF[2].y; UNSUPPORTED("7p7sbu9cltsgpiplr8l952qz1"); // D[3].x = B[2].x + (B[2].x - B[3].x)/2; UNSUPPORTED("5bb26b07x6ootbr2j1wrams3"); // D[3].y = AF[2].y; UNSUPPORTED("b8bego41qu7w8qkom46we6jth"); // D[4].x = B[2].x + (B[2].x - B[3].x)/2; UNSUPPORTED("6mxx226hjtdwefdnjzy5zlzs5"); // D[4].y = AF[2].y + (B[3].y - B[4].y)/2; UNSUPPORTED("ekx1o9xcvdl245i9hyyocg56v"); // D[5].x = B[1].x - (B[2].x - B[3].x)/2; UNSUPPORTED("d282nefakffro2sjsbh4yuptv"); // D[5].y = AF[2].y + (B[3].y - B[4].y)/2; UNSUPPORTED("55sv0um7zomjrn48wiyob6gxo"); // D[6].x = B[1].x - (B[2].x - B[3].x)/2; UNSUPPORTED("9ubgi9tlkqj3h0i4575ls3ev0"); // D[6].y = AF[3].y; UNSUPPORTED("eg7fjcwjh1jq1riv8kcy7dei0"); // D[7].y = AF[0].y - (AF[0].y - AF[3].y)/2; /*triangle point */ UNSUPPORTED("dwd8nqni0j130xliflvrlc5ty"); // D[7].x = AF[0].x; /*triangle point */ UNSUPPORTED("8pqi0dq2ugizqvkq5c093agrm"); // D[8].y = AF[0].y; UNSUPPORTED("1vws7hcvciczirrj9548bn4f2"); // D[8].x = B[1].x - (B[2].x - B[3].x)/2; UNSUPPORTED("9v8e5z6hrq6fr5p16pg80kc21"); // gvrender_polygon(job, D, sides + 5, filled); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("6bkffeiw7fqij7bq5hs7k51hl"); // case (23 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("11hn7suih6n97ek5ack6vv7ni"); // * Adjust the perimeter for the protrusions. UNSUPPORTED("cmrglhtmovtl6mh8dyeurkeed"); // * UNSUPPORTED("4bfue86t6gftlcgwzff6qshk7"); // * UNSUPPORTED("1kf6abx7iat1puo0g8swxlr2j"); // * D[1] = AF[1] | * +----------------+ * | D[0] * | * | / UNSUPPORTED("43leeaho94cuu8h6ufftsvw4m"); // * | / UNSUPPORTED("apyndmlwtw3z8vzadqn20r8hu"); // * +----------------+ / UNSUPPORTED("4teonqvrubwrmkqajn3x92uqz"); // * |/ UNSUPPORTED("79f8fxsn2gta6r8d9x9n38rzy"); // * UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("5kvv3jvgrdk38xmgwem87tcf9"); // /* Add the tab edges. */ UNSUPPORTED("9capq7a8vc2wzqyavbvsqo0js"); // D = (pointf*)zmalloc((sides + 3)*sizeof(pointf)); /*3 new points*/ UNSUPPORTED("c6x47uv986ws1wlxw5sjqn6n0"); // D[0].x = B[1].x - (B[2].x - B[3].x)/2; UNSUPPORTED("d1eg8u95ffvpn8cj0t175qe8"); // D[0].y = B[1].y - (B[3].y - B[4].y)/2; UNSUPPORTED("45vton2uqw835epqg2o0j1qee"); // D[1].x = B[3].x; UNSUPPORTED("2so1ozst5cwd02o33408hxi1n"); // D[1].y = B[3].y - (B[3].y - B[4].y)/2; UNSUPPORTED("2y7ipfj9drc5mfgjluf5y6k6p"); // D[2].x = AF[2].x; UNSUPPORTED("bopqgv9t3o6ppbojdunc5qjfl"); // D[2].y = AF[2].y + (B[3].y - B[4].y)/2; UNSUPPORTED("1q0xgxya7e8fzpb1l2p14fk7g"); // D[3].x = B[1].x - (B[2].x - B[3].x)/2; UNSUPPORTED("94cxjx74gts01u98ngcns0j0o"); // D[3].y = AF[2].y + (B[3].y - B[4].y)/2; UNSUPPORTED("21elcwekxeowj7i0450kbasb4"); // D[4].x = B[1].x - (B[2].x - B[3].x)/2; UNSUPPORTED("8eiljnxcc6es7v531vw3p943t"); // D[4].y = AF[3].y; UNSUPPORTED("av1198agtncjj9dsyfskbhrt"); // D[5].y = AF[0].y - (AF[0].y - AF[3].y)/2;/*triangle point*/ UNSUPPORTED("evuqotctuiu9zd74xdrh07pft"); // D[5].x = AF[0].x; /*triangle point */ UNSUPPORTED("96e1uuucniuu6eztjwb5aua2b"); // D[6].y = AF[0].y; UNSUPPORTED("55sv0um7zomjrn48wiyob6gxo"); // D[6].x = B[1].x - (B[2].x - B[3].x)/2; UNSUPPORTED("66hq5hkfg6ixw5enzwwhsontq"); // gvrender_polygon(job, D, sides + 3, filled); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("bi7entdk2ummrdev9ic5z88zh"); // case (24 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("11hn7suih6n97ek5ack6vv7ni"); // * Adjust the perimeter for the protrusions. UNSUPPORTED("cmrglhtmovtl6mh8dyeurkeed"); // * UNSUPPORTED("4bfue86t6gftlcgwzff6qshk7"); // * UNSUPPORTED("2vf6dvre5x62f4afex2v3wssm"); // * /| UNSUPPORTED("7at1abf1biy3h7owo91fj09sq"); // * / +----------------+ UNSUPPORTED("758ct1qslb1outqo15t8qplkx"); // * / | UNSUPPORTED("8a7qsgirg007q526nvsyh566t"); // * \ | UNSUPPORTED("asz6zd87dnrnppnilt2vmd742"); // * \ +----------------+ UNSUPPORTED("2kg8z59q8qzdxgf73c76yxsbr"); // * \| UNSUPPORTED("79f8fxsn2gta6r8d9x9n38rzy"); // * UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("5kvv3jvgrdk38xmgwem87tcf9"); // /* Add the tab edges. */ UNSUPPORTED("9capq7a8vc2wzqyavbvsqo0js"); // D = (pointf*)zmalloc((sides + 3)*sizeof(pointf)); /*3 new points*/ UNSUPPORTED("8bi8jgvnnbgjoe0rtiovk3kka"); // D[0].x = AF[0].x; UNSUPPORTED("3nnpsf5gr04nj80fm603hxrew"); // D[0].y = AF[0].y - (B[3].y-B[4].y)/2; UNSUPPORTED("equct6fawt1qt33fcaa2vbx6d"); // D[1].x = B[2].x + (B[2].x - B[3].x)/2; UNSUPPORTED("5je1a4102rsjz8djkg50vxsld"); // D[1].y = AF[0].y - (B[3].y-B[4].y)/2;/*D[0].y*/ UNSUPPORTED("604g9voy0i4aesl8z4qkl3yua"); // D[2].x = B[2].x + (B[2].x - B[3].x)/2;/*D[1].x*/ UNSUPPORTED("1ivg7d69vao0ni5v39q7i7ibq"); // D[2].y = B[2].y; UNSUPPORTED("2fmhbcdtkklozhbyqm15zba5v"); // D[3].x = AF[1].x; /*triangle point*/ UNSUPPORTED("eqycx49fc5p5s83bled63dukr"); // D[3].y = AF[1].y - (AF[1].y - AF[2].y)/2; /*triangle point*/ UNSUPPORTED("c8m3lk83ymc1l1swiupvjucow"); // D[4].x = B[2].x + (B[2].x - B[3].x)/2;/*D[1].x*/ UNSUPPORTED("5gvqnechiy5h1orxyla8m94qt"); // D[4].y = AF[2].y; UNSUPPORTED("bx6z8nzgcgr5pc8q8l8tqs1su"); // D[5].y = AF[2].y + (B[3].y-B[4].y)/2; UNSUPPORTED("f4icccql1zjta9sdefq8pvulw"); // D[5].x = B[2].x + (B[2].x - B[3].x)/2;/*D[1].x*/ UNSUPPORTED("29rdh1i6t6ac606dh48ug09fe"); // D[6].y = AF[3].y + (B[3].y - B[4].y)/2; UNSUPPORTED("d1t9t9l13vuttc72cjjt70czg"); // D[6].x = AF[0].x;/*D[0]*/ UNSUPPORTED("66hq5hkfg6ixw5enzwwhsontq"); // gvrender_polygon(job, D, sides + 3, filled); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("9uxvjt1cntxds9hia35xi2zrn"); // case (25 << 24): UNSUPPORTED("59hm5rqv13343impaqd8bjv9p"); // /* UNSUPPORTED("11hn7suih6n97ek5ack6vv7ni"); // * Adjust the perimeter for the protrusions. UNSUPPORTED("cmrglhtmovtl6mh8dyeurkeed"); // * UNSUPPORTED("4bfue86t6gftlcgwzff6qshk7"); // * UNSUPPORTED("2vf6dvre5x62f4afex2v3wssm"); // * /| UNSUPPORTED("7at1abf1biy3h7owo91fj09sq"); // * / +----------------+ UNSUPPORTED("di3oj6qvy7yx7ce8epceo9gcl"); // * / D[0] UNSUPPORTED("7qliw4diraiwyyzmhk2fkvkbg"); // * / | UNSUPPORTED("eexvhoejrrctvbe726qrvjb8s"); // * \ | UNSUPPORTED("8a7qsgirg007q526nvsyh566t"); // * \ | UNSUPPORTED("n2k5o28c2p32kiem5mklm8ba"); // * \ +--------+ + UNSUPPORTED("2uh322uvvif8yj3w2dy2rb7na"); // * \| | | UNSUPPORTED("6eycfkuag7hal8zbmntmzcu9e"); // * +-------+ UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("5kvv3jvgrdk38xmgwem87tcf9"); // /* Add the tab edges. */ UNSUPPORTED("421a2mdhv0gef0ua8a8hrh1gr"); // D = (pointf*)zmalloc((sides + 5)*sizeof(pointf)); /*3 new points*/ UNSUPPORTED("8bi8jgvnnbgjoe0rtiovk3kka"); // D[0].x = AF[0].x; UNSUPPORTED("3nnpsf5gr04nj80fm603hxrew"); // D[0].y = AF[0].y - (B[3].y-B[4].y)/2; UNSUPPORTED("equct6fawt1qt33fcaa2vbx6d"); // D[1].x = B[2].x + (B[2].x - B[3].x)/2; UNSUPPORTED("5je1a4102rsjz8djkg50vxsld"); // D[1].y = AF[0].y - (B[3].y-B[4].y)/2;/*D[0].y*/ UNSUPPORTED("604g9voy0i4aesl8z4qkl3yua"); // D[2].x = B[2].x + (B[2].x - B[3].x)/2;/*D[1].x*/ UNSUPPORTED("1ivg7d69vao0ni5v39q7i7ibq"); // D[2].y = B[2].y; UNSUPPORTED("2fmhbcdtkklozhbyqm15zba5v"); // D[3].x = AF[1].x; /*triangle point*/ UNSUPPORTED("eqycx49fc5p5s83bled63dukr"); // D[3].y = AF[1].y - (AF[1].y - AF[2].y)/2; /*triangle point*/ UNSUPPORTED("c8m3lk83ymc1l1swiupvjucow"); // D[4].x = B[2].x + (B[2].x - B[3].x)/2;/*D[1].x*/ UNSUPPORTED("5gvqnechiy5h1orxyla8m94qt"); // D[4].y = AF[2].y; UNSUPPORTED("bx6z8nzgcgr5pc8q8l8tqs1su"); // D[5].y = AF[2].y + (B[3].y-B[4].y)/2; UNSUPPORTED("f4icccql1zjta9sdefq8pvulw"); // D[5].x = B[2].x + (B[2].x - B[3].x)/2;/*D[1].x*/ UNSUPPORTED("29rdh1i6t6ac606dh48ug09fe"); // D[6].y = AF[3].y + (B[3].y - B[4].y)/2; UNSUPPORTED("55sv0um7zomjrn48wiyob6gxo"); // D[6].x = B[1].x - (B[2].x - B[3].x)/2; UNSUPPORTED("46jv04wtkylcmc9s9pv56lr3c"); // D[7].x = B[1].x - (B[2].x - B[3].x)/2;/*D[6].x*/ UNSUPPORTED("7588ab6v6tp8x8bpjy3d79jex"); // D[7].y = AF[3].y; UNSUPPORTED("3jown0xzpispkq8oomn10deyz"); // D[8].x = AF[3].x; UNSUPPORTED("39c46sl6j7nxvcb2pae8rs398"); // D[8].y = AF[3].y; UNSUPPORTED("9v8e5z6hrq6fr5p16pg80kc21"); // gvrender_polygon(job, D, sides + 5, filled); UNSUPPORTED("cgk7heai5pdojykyc6x6f5pzz"); // free(D); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9yor276xqtqe07q4gsz71t5o4"); // free(B); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 acyez4b7guim63q8crmnyi18 // static double userSize(node_t * n) public static Object userSize(Object... arg) { UNSUPPORTED("8yl20lmgb1f7rteptp4jmmd4w"); // static double userSize(node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cldfniz1yu2rzamoi5a3tri2q"); // double w, h; UNSUPPORTED("7nla3nwmcqssau6gicpyolcww"); // w = late_double(n, N_width, 0.0, 0.01); UNSUPPORTED("14rygobuxmhem0qjemmp7zwup"); // h = late_double(n, N_height, 0.0, 0.02); UNSUPPORTED("92gsjf70pdi57i20e9rszpm1o"); // return (ROUND((MAX(w, h))*72)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5gahokttzv65lspm84ao1le37 // shape_kind shapeOf(node_t * n) public static int shapeOf(ST_Agnode_s n) { ENTERING("5gahokttzv65lspm84ao1le37","shapeOf"); try { ST_shape_desc sh = (ST_shape_desc) ND_shape(n); CFunctionImpl ifn; //void (*ifn) (node_t *); if (N(sh)) return enumAsInt(shape_kind.class, "SH_UNSET"); ifn = (CFunctionImpl) ND_shape(n).fns.initfn; if (ifn.getName().equals("poly_init")) return enumAsInt(shape_kind.class, "SH_POLY"); UNSUPPORTED("251a710sgr57bnrs3uh7ppfpi"); // else if (ifn == record_init) UNSUPPORTED("uubga3e6j1jsmn61hfok2zwk"); // return SH_RECORD; UNSUPPORTED("cpzx2lwu889clk2f1d0k4c9jd"); // else if (ifn == point_init) UNSUPPORTED("f4x4vap21dff1trk1lrzzb8u5"); // return SH_POINT; UNSUPPORTED("alkskrmw3fjn82qi1t2kyi6uh"); // else if (ifn == epsf_init) UNSUPPORTED("5hp3oli47xj0s4fk7yj1dairi"); // return SH_EPSF; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("7if5cqgy6h2m78kwe6gagv7p"); // return SH_UNSET; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("5gahokttzv65lspm84ao1le37","shapeOf"); } } //3 e8riwo21j5t1g1tewsbo39z48 // boolean isPolygon(node_t * n) public static Object isPolygon(Object... arg) { UNSUPPORTED("6tth154tjxb21b1rr8m3w5lbj"); // boolean isPolygon(node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9uh2xgxrn4veetmkfkbe9iq7y"); // return (ND_shape(n) && (ND_shape(n)->fns->initfn == poly_init)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a11xv6duihbr3d6gkgo2ye2j5 // static void poly_init(node_t * n) public static void poly_init(ST_Agnode_s n) { ENTERING("a11xv6duihbr3d6gkgo2ye2j5","poly_init"); try { final ST_pointf dimen = new ST_pointf(), min_bb = new ST_pointf(), bb = new ST_pointf(); final ST_point imagesize = new ST_point(); final ST_pointf P = new ST_pointf(), Q = new ST_pointf(), R = new ST_pointf(); ST_pointf.Array vertices = null; CString p, sfile, fxd; double temp, alpha, beta, gamma; double orientation, distortion, skew; double sectorangle, sidelength, skewdist, gdistortion, gskew; double angle, sinx, cosx, xmax=0, ymax=0, scalex, scaley; double width=0, height=0, marginx, marginy, spacex; boolean regular; int peripheries, sides; boolean isBox; int i, j, outp; ST_polygon_t poly = new ST_polygon_t(); regular = ND_shape(n).polygon.regular!=0; peripheries = ND_shape(n).polygon.peripheries; sides = ND_shape(n).polygon.sides; orientation = ND_shape(n).polygon.orientation; skew = ND_shape(n).polygon.skew; distortion = ND_shape(n).polygon.distortion; regular |= mapbool(agget(n, new CString("regular"))); /* all calculations in floating point POINTS */ /* make x and y dimensions equal if node is regular * If the user has specified either width or height, use the max. * Else use minimum default value. * If node is not regular, use the current width and height. */ if (regular) { UNSUPPORTED("637wuscax8bj094m73fwq3n00"); // double sz = userSize(n); UNSUPPORTED("6wtpde1bxbwd70jz3vuemuvqe"); // if (sz > 0.0) UNSUPPORTED("c4cn28kuy1f86y4d8rbxy1a4g"); // width = height = sz; UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("mafr2nmpj8xgeranqldzxhtb"); // width = (((Agnodeinfo_t*)(((Agobj_t*)(n))->data))->width); UNSUPPORTED("l2a1m5p66005ftc6gdbosugj"); // height = (((Agnodeinfo_t*)(((Agobj_t*)(n))->data))->height); UNSUPPORTED("61qxt5l8ums7d9os9ungn3rao"); // width = height = ((((((width)<(height)?(width):(height)))*72>=0)?(int)((((width)<(height)?(width):(height)))*72 + .5):(int)((((width)<(height)?(width):(height)))*72 - .5))); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } } else { width = (ROUND((ND_width(n))*72)); height = (ROUND((ND_height(n))*72)); } peripheries = late_int(n, Z.z().N_peripheries, peripheries, 0); orientation += late_double(n, Z.z().N_orientation, 0.0, -360.0); if (sides == 0) { /* not for builtins */ UNSUPPORTED("dd178b113cb8130tl6q70lcp3"); // skew = late_double(n, N_skew, 0.0, -100.0); UNSUPPORTED("cp83hdn3dp0a7rp9bauc3bgki"); // sides = late_int(n, N_sides, 4, 0); UNSUPPORTED("abmuc3vqirf3i48480fj0k14g"); // distortion = late_double(n, N_distortion, 0.0, -100.0); } /* get label dimensions */ dimen.___(ND_label(n).dimen); /* minimal whitespace around label */ if (ROUND(abs(dimen.x))!=0 || ROUND(abs(dimen.y))!=0) { /* padding */ if ((p = agget(n, new CString("margin")))!=null) { UNSUPPORTED("4dlqwm3pklzgz2e777dm56n03"); // marginx = marginy = 0; UNSUPPORTED("r186dwelv54pq63p2yo4czig"); // i = sscanf(p, "%lf,%lf", &marginx, &marginy); UNSUPPORTED("bjp5a2wbzhormf75ov5fumqto"); // if (marginx < 0) UNSUPPORTED("3tsws28ifjzq7ju8xs3ye4x18"); // marginx = 0; UNSUPPORTED("7gfecwqgqof787z8u1mgh7qoj"); // if (marginy < 0) UNSUPPORTED("1xpqznf0i4ljd2b5j81ipsvtg"); // marginy = 0; UNSUPPORTED("1lcx62wzgnn34tk5li0sgoqwm"); // if (i > 0) { UNSUPPORTED("dau1s6m0w92gp7bvqz3f63wnp"); // dimen.x += 2 * ((((marginx)*72>=0)?(int)((marginx)*72 + .5):(int)((marginx)*72 - .5))); UNSUPPORTED("79iqlz01of88ftxysvivw2hgw"); // if (i > 1) UNSUPPORTED("6opppos2hcjet4cn76130ykba"); // dimen.y += 2 * ((((marginy)*72>=0)?(int)((marginy)*72 + .5):(int)((marginy)*72 - .5))); UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("8bwwxn4jop0urcsfnygjofg9s"); // dimen.y += 2 * ((((marginx)*72>=0)?(int)((marginx)*72 + .5):(int)((marginx)*72 - .5))); UNSUPPORTED("afk9bpom7x393euamnvwwkx6b"); // } else UNSUPPORTED("87bdwkkwbzyswxnepdd9bj8mb"); // {((dimen).x += 4*4); ((dimen).y += 2*4);}; } else { ((ST_pointf) dimen).x = dimen.x + 4*4; ((ST_pointf) dimen).y = dimen.y + 2*4; }; } spacex = dimen.x - ND_label(n).dimen.x; /* quantization */ if ((temp = ((ST_Agraphinfo_t)agraphof(n).castTo_ST_Agobj_s().data.castTo(ST_Agraphinfo_t.class)).drawing.quantum) > 0.0) { UNSUPPORTED("3nqb0s5rkwj3igt71vooj8asd"); // temp = ((((temp)*72>=0)?(int)((temp)*72 + .5):(int)((temp)*72 - .5))); UNSUPPORTED("5fxtqwy8liyvnx1yvsou5hb4o"); // dimen.x = quant(dimen.x, temp); UNSUPPORTED("et885f1jcqpske6ip856arouv"); // dimen.y = quant(dimen.y, temp); } imagesize.setInt("x", 0); imagesize.setInt("y", 0); if (ND_shape(n).usershape) { /* custom requires a shapefile * not custom is an adaptable user shape such as a postscript * function. */ UNSUPPORTED("7jbvoylyb27di8f54ufxj4mbk"); // if ((*((((Agnodeinfo_t*)(((Agobj_t*)(n))->data))->shape)->name)==*("custom")&&!strcmp((((Agnodeinfo_t*)(((Agobj_t*)(n))->data))->shape)->name,"custom"))) { UNSUPPORTED("cnfv2ayyl46ohdl5p4pc75swz"); // sfile = agget(n, "shapefile"); UNSUPPORTED("6llro6gigojo2r8oo6c4k320o"); // imagesize = gvusershape_size(agraphof(n), sfile); UNSUPPORTED("3ngt3ika8ppq3m9vbgf2q5lu1"); // if ((imagesize.x == -1) && (imagesize.y == -1)) { UNSUPPORTED("5l8jenkv77ax02t47zzxyv1k0"); // agerr(AGWARN, UNSUPPORTED("7hgyav5bbs1v4kts1oocozork"); // "No or improper shapefile=\"%s\" for node \"%s\"\n", UNSUPPORTED("34s5a4xy12nydt3idmis4np67"); // (sfile ? sfile : ""), agnameof(n)); UNSUPPORTED("apwtbaz0akr5pg5p6uwcroaan"); // imagesize.x = imagesize.y = 0; UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("4xiqgw4br039sl4r32gg5jv6k"); // (((Agraphinfo_t*)(((Agobj_t*)(agraphof(n)))->data))->has_images) = (!(0)); UNSUPPORTED("3nl4wsbxuqlad4tcg8vmg99rx"); // imagesize.x += 2; /* some fixed padding */ UNSUPPORTED("da00oaavfp6fwqwgshhrodz2r"); // imagesize.y += 2; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } } else if ((sfile = agget(n, new CString("image")))!=null && (sfile.charAt(0) != '\0')) { UNSUPPORTED("76t38i30025xohbzg8w9z4pn9"); // imagesize = gvusershape_size(agraphof(n), sfile); UNSUPPORTED("b8spvmvtuxcciaejq8j1xhu5s"); // if ((imagesize.x == -1) && (imagesize.y == -1)) { UNSUPPORTED("cw5grwj6gbj94jcztvnp2ooyj"); // agerr(AGWARN, UNSUPPORTED("68jdsrao22ymfpb8e1rdezyez"); // "No or improper image=\"%s\" for node \"%s\"\n", UNSUPPORTED("5lmxoq1rboqrxrchjf5ubg6w5"); // (sfile ? sfile : ""), agnameof(n)); UNSUPPORTED("7wmzbnczyvj4oocepujtghrka"); // imagesize.x = imagesize.y = 0; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("71mfu0uflnm85dbt8g2oxs9rd"); // (((Agraphinfo_t*)(((Agobj_t*)(agraphof(n)))->data))->has_images) = (!(0)); UNSUPPORTED("286u48muwmjkomlzqufoqm5cw"); // imagesize.x += 2; /* some fixed padding */ UNSUPPORTED("1x57knvrmlciu7odfroo3paso"); // imagesize.y += 2; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } } /* initialize node bb to labelsize */ ((ST_pointf) bb).x = ((dimen.x)>(imagesize.x)?(dimen.x):(imagesize.x)); ((ST_pointf) bb).y = ((dimen.y)>(imagesize.y)?(dimen.y):(imagesize.y)); /* I don't know how to distort or skew ellipses in postscript */ /* Convert request to a polygon with a large number of sides */ if ((sides <= 2) && ((distortion != 0.) || (skew != 0.))) { sides = 120; } /* extra sizing depends on if label is centered vertically */ p = agget(n, new CString("labelloc")); if (p!=null && (p.charAt(0) == 't' || p.charAt(0) == 'b')) n.castTo_ST_Agobj_s().data.castTo_ST_Agnodeinfo_t().label.setInt("valign", p.charAt(0)); else n.castTo_ST_Agobj_s().data.castTo_ST_Agnodeinfo_t().label.setInt("valign", 'c'); isBox = (sides == 4 && (((orientation>=0)?(int)(orientation + .5):(int)(orientation - .5)) % 90) == 0 && distortion == 0. && skew == 0.); if (isBox) { /* for regular boxes the fit should be exact */ } else if (((ST_Agnodeinfo_t)n.castTo_ST_Agobj_s().data.castTo(ST_Agnodeinfo_t.class)).shape.polygon.vertices!=null) { UNSUPPORTED("4adqsyjwqwzs50ggjp57ok6u7"); // poly_desc_t* pd = (poly_desc_t*)(((Agnodeinfo_t*)(((Agobj_t*)(n))->data))->shape)->polygon->vertices; UNSUPPORTED("1fjwgzo5xkijo98ycmzhal8yv"); // bb = pd->size_gen(bb); } else { /* for all other shapes, compute a smallest ellipse * containing bb centered on the origin, and then pad for that. * We assume the ellipse is defined by a scaling up of bb. */ temp = bb.y * 1.41421356237309504880; if (height > temp && (((ST_Agnodeinfo_t)n.castTo_ST_Agobj_s().data.castTo(ST_Agnodeinfo_t.class)).label.valign == 'c')) { /* if there is height to spare * and the label is centered vertically * then just pad x in proportion to the spare height */ bb.setDouble("x", bb.x * sqrt(1. / (1. - ((bb.y / height) * (bb.y / height))))); } else { bb.setDouble("x", bb.x * 1.41421356237309504880); bb.setDouble("y", temp); } if (sides > 2) { temp = cos(3.14159265358979323846 / sides); bb.setDouble("x", bb.x / temp); bb.setDouble("y", bb.y / temp); /* FIXME - for odd-sided polygons, e.g. triangles, there would be a better fit with some vertical adjustment of the shape */ } } /* at this point, bb is the minimum size of node that can hold the label */ min_bb.___(bb); /* increase node size to width/height if needed */ fxd = late_string(n, Z.z().N_fixed, new CString("false")); if ((fxd.charAt(0) == 's') && (N(strcmp(fxd,new CString("shape"))))) { bb.setDouble("x", width); bb.setDouble("y", height); poly.setInt("option", poly.option | (1 << 11)); } else if (mapbool(fxd)) { /* check only label, as images we can scale to fit */ if ((width < (((ST_Agnodeinfo_t)n.castTo_ST_Agobj_s().data.castTo(ST_Agnodeinfo_t.class)).label.dimen.x) || (height < (((ST_Agnodeinfo_t)n.castTo_ST_Agobj_s().data.castTo(ST_Agnodeinfo_t.class)).label.dimen.y)))) System.err.println( "node '%s', graph '%s' size too small for label\n"); //agnameof(n), agnameof(agraphof(n))); bb.setDouble("x", width); bb.setDouble("y", height); } else { width = MAX(width, bb.x); ((ST_pointf) bb).x = width; height = MAX(height, bb.y); ((ST_pointf) bb).y = height; } /* If regular, make dimensions the same. * Need this to guarantee final node size is regular. */ if (regular) { width = MAX(bb.x, bb.y); height = width; ((ST_pointf) bb).x = width; ((ST_pointf) bb).y = width; } /* Compute space available for label. Provides the justification borders */ if (N(mapbool(late_string(n, Z.z().N_nojustify, new CString("false"))))) { if (isBox) { ((ST_pointf) ND_label(n).space).x = MAX(dimen.x,bb.x) - spacex; } else if (dimen.y < bb.y) { temp = bb.x * sqrt(1.0 - SQR(dimen.y) / SQR(bb.y)); ND_label(n).space.setDouble("x", MAX(dimen.x,temp) - spacex); } else ND_label(n).space.setDouble("x", dimen.x - spacex); } else { ND_label(n).space.setDouble("x", dimen.x - spacex); } if ((poly.option & (1 << 11)) == 0) { temp = bb.y - min_bb.y; if (dimen.y < imagesize.y) temp += imagesize.y - dimen.y; ((ST_pointf) ND_label(n).space).y = dimen.y + temp; } outp = peripheries; if (peripheries < 1) outp = 1; if (sides < 3) { /* ellipses */ sides = 2; vertices = new ST_pointf.Array(outp * sides); P.setDouble("x", bb.x / 2.); P.setDouble("y", bb.y / 2.); vertices.setDouble("x", -P.x); vertices.setDouble("y", -P.y); vertices.plus(1).setDouble("x", P.x); vertices.plus(1).setDouble("y", P.y); if (peripheries > 1) { UNSUPPORTED("4ofenmfgj7cgyf624qmugcx77"); // for (j = 1, i = 2; j < peripheries; j++) { UNSUPPORTED("458w3r6n3nidn2j2b154phpzt"); // P.x += 4; UNSUPPORTED("24bcrwtjsfswpmtwxnadf0cn1"); // P.y += 4; UNSUPPORTED("byrwdiqkace7e10l3pibk54wg"); // vertices[i].x = -P.x; UNSUPPORTED("bicdgzzy9pdopb03hn9l48yns"); // vertices[i].y = -P.y; UNSUPPORTED("en9fjm2thtauyxn9t7v4j2xgl"); // i++; UNSUPPORTED("2pejlnamuvmi1m7339vzctpnb"); // vertices[i].x = P.x; UNSUPPORTED("dy64x78vvm5nufbuxsn0bi8ng"); // vertices[i].y = P.y; UNSUPPORTED("en9fjm2thtauyxn9t7v4j2xgl"); // i++; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6g6b8zsanvqyc953c4jh1j7iy"); // bb.x = 2. * P.x; UNSUPPORTED("b5z0hw4dacenv33xsaex70g8d"); // bb.y = 2. * P.y; } } else { /* * FIXME - this code is wrong - it doesn't work for concave boundaries. * (e.g. "folder" or "promoter") * I don't think it even needs sectorangle, or knowledge of skewed shapes. * (Concepts that only work for convex regular (modulo skew/distort) polygons.) * * I think it only needs to know inside v. outside (by always drawing * boundaries clockwise, say), and the two adjacent segments. * * It needs to find the point where the two lines, parallel to * the current segments, and outside by GAP distance, intersect. */ vertices = new ST_pointf.Array(outp * sides); if (((ST_polygon_t)ND_shape(n).polygon).vertices!=null) { UNSUPPORTED("3ghle84ieryaenfnlbzrfv7bw"); // poly_desc_t* pd = (poly_desc_t*)(((Agnodeinfo_t*)(((Agobj_t*)(n))->data))->shape)->polygon->vertices; UNSUPPORTED("227lpcg9dt83m2bm8yshb4djf"); // pd->vertex_gen (vertices, &bb); UNSUPPORTED("cc3jvnwvbhjhro4adeet363yd"); // xmax = bb.x/2; UNSUPPORTED("39rdmp8vl9muqtv7xs1xwtrwk"); // ymax = bb.y/2; } else { sectorangle = 2. * M_PI / sides; sidelength = sin(sectorangle / 2.); skewdist = hypot(fabs(distortion) + fabs(skew), 1.); gdistortion = distortion * SQRT2 / cos(sectorangle / 2.); gskew = skew / 2.; angle = (sectorangle - M_PI) / 2.; sinx = sin(angle); cosx = cos(angle); ((ST_pointf) R).x = .5 * cosx; ((ST_pointf) R).y = .5 * sinx; xmax = ymax = 0.; angle += (M_PI - sectorangle) / 2.; for (i = 0; i < sides; i++) { /*next regular vertex */ angle += sectorangle; sinx = sin(angle); cosx = cos(angle); ((ST_pointf) R).x = R.x + sidelength * cosx; ((ST_pointf) R).y = R.y + sidelength * sinx; /*distort and skew */ ((ST_pointf) P).x = R.x * (skewdist + R.y * gdistortion) + R.y * gskew; ((ST_pointf) P).y = R.y; /*orient P.x,P.y */ alpha = RADIANS(orientation) + atan2(P.y, P.x); sinx = sin(alpha); cosx = cos(alpha); ((ST_pointf) P).y = hypot(P.x, P.y); ((ST_pointf) P).x = P.y; ((ST_pointf) P).x = P.x * cosx; ((ST_pointf) P).y = P.y * sinx; /*scale for label */ ((ST_pointf) P).x = P.x * bb.x; ((ST_pointf) P).y = P.y * bb.y; /*find max for bounding box */ xmax = MAX(fabs(P.x), xmax); ymax = MAX(fabs(P.y), ymax); /* store result in array of points */ vertices.plus(i).setStruct(P); if (isBox) { /* enforce exact symmetry of box */ vertices.get(1).x = -P.x; vertices.get(1).y = P.y; vertices.get(2).x = -P.x; vertices.get(2).y = -P.y; vertices.get(3).x = P.x; vertices.get(3).y = -P.y; break; } } } /* apply minimum dimensions */ xmax *= 2.; ymax *= 2.; ((ST_pointf) bb).x = MAX(width, xmax); ((ST_pointf) bb).y = MAX(height, ymax); scalex = bb.x / xmax; scaley = bb.y / ymax; for (i = 0; i < sides; i++) { P.____(vertices.plus(i)); ((ST_pointf) P).x = P.x * scalex; ((ST_pointf) P).y = P.y * scaley; vertices.plus(i).setStruct(P); } if (peripheries > 1) { UNSUPPORTED("3x6t3unoi91ezbh3iz168cm2t"); // Q = vertices[(sides - 1)]; UNSUPPORTED("8cm8js7jdmpakzujw3wo4h6jk"); // R = vertices[0]; UNSUPPORTED("5zpv8twf25wr8n71ql3lh8ku2"); // beta = atan2(R.y - Q.y, R.x - Q.x); UNSUPPORTED("9mlrumbikcvketd18jx1ox7k7"); // for (i = 0; i < sides; i++) { UNSUPPORTED("gkm8nb6f6ispdzj0ausiv1fe"); // /*for each vertex find the bisector */ UNSUPPORTED("8tp61rvblb9bmqfwgyknlk906"); // P = Q; UNSUPPORTED("1ls3xc8rwvn3763c32mx1wzsd"); // Q = R; UNSUPPORTED("1zrelve2mvbnzah086dkomf6k"); // R = vertices[(i + 1) % sides]; UNSUPPORTED("bgx8ee996r89memnp0ea0b80m"); // alpha = beta; UNSUPPORTED("5p9jzpcd51evtwqyugnwk50vf"); // beta = atan2(R.y - Q.y, R.x - Q.x); UNSUPPORTED("dwskcoivmu9pc5kth75x0ersl"); // gamma = (alpha + 3.14159265358979323846 - beta) / 2.; UNSUPPORTED("cmm5tvlcafe2aso9bkk3kl7of"); // /*find distance along bisector to */ UNSUPPORTED("bebwurfm1a1h1bywf9kf5ueug"); // /*intersection of next periphery */ UNSUPPORTED("1mtgr15b978d0tdunbpj2pkdp"); // temp = 4 / sin(gamma); UNSUPPORTED("28mxt6c4230xruf63s6u415y9"); // /*convert this distance to x and y */ UNSUPPORTED("1fxw0fz2b6iq6p6qy58mx9mwu"); // *&sinx = sin((alpha - gamma)); *&cosx = cos((alpha - gamma)); UNSUPPORTED("8j7vx250v0icumolzos2p5qa8"); // sinx *= temp; UNSUPPORTED("35ed1mrpnziq164g6cg4stt5w"); // cosx *= temp; UNSUPPORTED("eu3ptwi3s2200v4253yk1x69t"); // /*save the vertices of all the */ UNSUPPORTED("7lc5jxgzj6z4lq7sd9y2b6vex"); // /*peripheries at this base vertex */ UNSUPPORTED("86nzalouete6viryy967d5g9u"); // for (j = 1; j < peripheries; j++) { UNSUPPORTED("dautpj9jyj2qwa8jpujdh3436"); // Q.x += cosx; UNSUPPORTED("7p6tl6s20kdual1ysfoxl8wku"); // Q.y += sinx; UNSUPPORTED("1yw9xq85ss81cogn9jrg24ojc"); // vertices[i + j * sides] = Q; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("9mlrumbikcvketd18jx1ox7k7"); // for (i = 0; i < sides; i++) { UNSUPPORTED("aa5s79go4kwos2as72rcsdrxf"); // P = vertices[i + (peripheries - 1) * sides]; UNSUPPORTED("7ee9ageu4efyramsg9jn6klpb"); // bb.x = ((2. * fabs(P.x))>(bb.x)?(2. * fabs(P.x)):(bb.x)); UNSUPPORTED("lklvdmn7xiqbxhpgdeufcvjj"); // bb.y = ((2. * fabs(P.y))>(bb.y)?(2. * fabs(P.y)):(bb.y)); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } } } poly.setInt("regular", regular?1:0); poly.setInt("peripheries", peripheries); poly.setInt("sides", sides); poly.setDouble("orientation", orientation); poly.setDouble("skew", skew); poly.setDouble("distortion", distortion); poly.vertices = vertices; if ((poly.option & (1 << 11))!=0) { /* set width and height to reflect label and shape */ UNSUPPORTED("7kk8oru3b3copylmq3gssx6qx"); // (((Agnodeinfo_t*)(((Agobj_t*)(n))->data))->width) = ((((dimen.x)>(bb.x)?(dimen.x):(bb.x)))/(double)72); UNSUPPORTED("8oouzms2x039fhfcfxm7yc4su"); // (((Agnodeinfo_t*)(((Agobj_t*)(n))->data))->height) = ((((dimen.y)>(bb.y)?(dimen.y):(bb.y)))/(double)72); } else { n.castTo_ST_Agobj_s().data.castTo(ST_Agnodeinfo_t.class).setDouble("width", ((bb.x)/(double)72)); n.castTo_ST_Agobj_s().data.castTo(ST_Agnodeinfo_t.class).setDouble("height", ((bb.y)/(double)72)); } n.castTo_ST_Agobj_s().data.castTo(ST_Agnodeinfo_t.class).setPtr("shape_info", poly); } finally { LEAVING("a11xv6duihbr3d6gkgo2ye2j5","poly_init"); } } //3 63sj12avbdw6e27zf3sedls1r // static void poly_free(node_t * n) public static Object poly_free(Object... arg) { UNSUPPORTED("cfl0ro4734avs9rtdlar7nbg8"); // static void poly_free(node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5ha1ng0rlvg0kiui0qhgme4nb"); // polygon_t *p = ND_shape_info(n); UNSUPPORTED("3cvmixd2u1g2d9l03kuxyyxxw"); // if (p) { UNSUPPORTED("3cjbelr7499ch9kn6lbjaz7l7"); // free(p->vertices); UNSUPPORTED("cy5x5dma0v4hiepir7lrfuo17"); // free(p); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //static Agnode_s lastn; /* last node argument */ //static polygon_t poly; //static int last, outp, sides; //static final ST_pointf O = new ST_pointf(); /* point (0,0) */ //static pointf vertex; //static double xsize, ysize, scalex, scaley, box_URx, box_URy; //3 570t4xovyyfqipaikkf63crmk //static boolean poly_inside(inside_t * inside_context, pointf p) public static boolean poly_inside(ST_inside_t inside_context, ST_pointf p) { // WARNING!! STRUCT return poly_inside_w_(inside_context, p.copy()); } private static boolean poly_inside_w_(ST_inside_t inside_context, final ST_pointf p) { ENTERING("570t4xovyyfqipaikkf63crmk","poly_inside"); try { int i, i1, j; boolean s; final ST_pointf P = new ST_pointf(), Q = new ST_pointf(), R = new ST_pointf(); ST_boxf bp = inside_context.s_bp; ST_Agnode_s n = inside_context.s_n; P.___(ccwrotatepf(p, 90 * GD_rankdir(agraphof(n)))); /* Quick test if port rectangle is target */ if (bp!=null) { final ST_boxf bbox = new ST_boxf(); bbox.___(bp.getStruct()); return INSIDE(P, bbox); } if (NEQ(n, Z.z().lastn)) { double n_width = 0, n_height = 0; Z.z().poly = (ST_polygon_t) ND_shape_info(n); Z.z().vertex = Z.z().poly.vertices; Z.z().sides = Z.z().poly.sides; if ((Z.z().poly.option & (1 << 11))!=0) { UNSUPPORTED("18yw1scg4sol8bhyf1vedj9kn"); // boxf bb = polyBB(poly); UNSUPPORTED("7rz7vxyxao0efec2nvd6g19m1"); // n_width = bb.UR.x - bb.LL.x; UNSUPPORTED("4h0k2wroz3xqx1ljokdbaqaad"); // n_height = bb.UR.y - bb.LL.y; UNSUPPORTED("dgykcjw02yoka8uz5b7jdc2ct"); // /* get point and node size adjusted for rankdir=LR */ UNSUPPORTED("75jifr4aucrxp2hvnsrcfunej"); // if (GD_flip(agraphof(n))) { UNSUPPORTED("e53876tm7q1oasuu013njtgx"); // ysize = n_width; UNSUPPORTED("7wnmmcv8dfzi1bdwml4vcxf0w"); // xsize = n_height; UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("10ux82vu0kynxilmf6ak7x70q"); // xsize = n_width; UNSUPPORTED("5xao1mdiugxzaq03na34mbl5w"); // ysize = n_height; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } } else { /* get point and node size adjusted for rankdir=LR */ if (GD_flip(agraphof(n))!=0) { UNSUPPORTED("dapvd4c0ggliaqcj08jvao221"); // ysize = ND_lw(n) + ND_rw(n); UNSUPPORTED("8t3g4d9acruono62leh5a8hxh"); // xsize = ND_ht(n); } else { Z.z().xsize = ND_lw(n) + ND_rw(n); Z.z().ysize = ND_ht(n); } n_width = (ROUND((ND_width(n))*72)); n_height = (ROUND((ND_height(n))*72)); } /* scale */ if (Z.z().xsize == 0.0) Z.z().xsize = 1.0; if (Z.z().ysize == 0.0) Z.z().ysize = 1.0; Z.z().scalex = n_width / Z.z().xsize; Z.z().scaley = n_height / Z.z().ysize; Z.z().box_URx = n_width / 2.0; Z.z().box_URy = n_height / 2.0; /* index to outer-periphery */ Z.z().outp = (Z.z().poly.peripheries - 1) * Z.z().sides; if (Z.z().outp < 0) Z.z().outp = 0; Z.z().lastn = (ST_Agnode_s) n; } /* scale */ P.setDouble("x", P.x * Z.z().scalex); P.setDouble("y", P.y * Z.z().scaley); /* inside bounding box? */ if ((fabs(P.x) > Z.z().box_URx) || (fabs(P.y) > Z.z().box_URy)) return false; /* ellipses */ if (Z.z().sides <= 2) return (hypot(P.x / Z.z().box_URx, P.y / Z.z().box_URy) < 1.); /* use fast test in case we are converging on a segment */ i = Z.z().last % Z.z().sides; /* in case last left over from larger polygon */ i1 = (i + 1) % Z.z().sides; Q.___(Z.z().vertex.plus(i + Z.z().outp).getStruct()); R.___(Z.z().vertex.plus(i1 + Z.z().outp).getStruct()); if (N(same_side(P, (ST_pointf)Z.z().O, Q, R))) /* false if outside the segment's face */ return false; /* else inside the segment face... */ if ((s = same_side(P, Q, R, (ST_pointf)Z.z().O)) && (same_side(P, R, (ST_pointf)Z.z().O, Q))) /* true if between the segment's sides */ return NOT(0); /* else maybe in another segment */ for (j = 1; j < Z.z().sides; j++) { /* iterate over remaining segments */ if (s) { /* clockwise */ i = i1; i1 = (i + 1) % Z.z().sides; } else { /* counter clockwise */ i1 = i; i = (i + Z.z().sides - 1) % Z.z().sides; } if (N(same_side(P, (ST_pointf)Z.z().O, (ST_pointf)Z.z().vertex.plus(i + Z.z().outp).getStruct(), (ST_pointf)Z.z().vertex.plus(i1 + Z.z().outp).getStruct()))) { /* false if outside any other segment's face */ Z.z().last = i; return false; } } /* inside all segments' faces */ Z.z().last = i; /* in case next edge is to same side */ return NOT(0); } finally { LEAVING("570t4xovyyfqipaikkf63crmk","poly_inside"); } } //3 5mmuhvq40xadw0g9mzlauyztq // static int poly_path(node_t * n, port * p, int side, boxf rv[], int *kptr) public static int poly_path(ST_Agnode_s n, ST_port p, int side, Object rv, Object kptr) { ENTERING("5mmuhvq40xadw0g9mzlauyztq","poly_path"); try { side = 0; if (ND_label(n).html && ND_has_port(n)) { UNSUPPORTED("67g7bthntnw8syb6zd03ueg84"); // side = html_path(n, p, side, rv, kptr); } return side; } finally { LEAVING("5mmuhvq40xadw0g9mzlauyztq","poly_path"); } } //3 857i3hwbu9mbq4nwur2q7e7er // static int invflip_side(int side, int rankdir) public static Object invflip_side(Object... arg) { UNSUPPORTED("acksa1hz632l0v9ucpm5gmqzk"); // static int invflip_side(int side, int rankdir) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7gnjhunyvxphjgrfh8byey4ch"); // switch (rankdir) { UNSUPPORTED("70xjc0sbkjvexfar5luzibcgf"); // case 0: UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("4u5xz2u3urj13y0aw30fdyup5"); // case 2: UNSUPPORTED("o4wjkq58uh9dgs94m2vxettc"); // switch (side) { UNSUPPORTED("a0zo28ne6fq7qm9hko3jwrsie"); // case (1<<2): UNSUPPORTED("asl0z4i3qt99vpfphpr7hpk5"); // side = (1<<0); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("5uxczmgv9jelovrky9lyqmqxn"); // case (1<<0): UNSUPPORTED("aj9jgzaslnfuc2iy41yo6577i"); // side = (1<<2); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("d0gk15gzj4wz8nv54zbr285hm"); // case 1: UNSUPPORTED("o4wjkq58uh9dgs94m2vxettc"); // switch (side) { UNSUPPORTED("a0zo28ne6fq7qm9hko3jwrsie"); // case (1<<2): UNSUPPORTED("csyxlzh6yvg14dkwm5h0q8l4e"); // side = (1<<1); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("5uxczmgv9jelovrky9lyqmqxn"); // case (1<<0): UNSUPPORTED("6ob9sb98jfamphtvv99f9nny7"); // side = (1<<3); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("3vvicpwbia6xzcxsn2qnkbzq8"); // case (1<<3): UNSUPPORTED("aj9jgzaslnfuc2iy41yo6577i"); // side = (1<<2); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("ad90yo3mu0ffjurb9egult4pi"); // case (1<<1): UNSUPPORTED("asl0z4i3qt99vpfphpr7hpk5"); // side = (1<<0); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("33l7a58zp8vj6fuliwdkk2nkn"); // case 3: UNSUPPORTED("o4wjkq58uh9dgs94m2vxettc"); // switch (side) { UNSUPPORTED("a0zo28ne6fq7qm9hko3jwrsie"); // case (1<<2): UNSUPPORTED("csyxlzh6yvg14dkwm5h0q8l4e"); // side = (1<<1); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("5uxczmgv9jelovrky9lyqmqxn"); // case (1<<0): UNSUPPORTED("6ob9sb98jfamphtvv99f9nny7"); // side = (1<<3); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("3vvicpwbia6xzcxsn2qnkbzq8"); // case (1<<3): UNSUPPORTED("asl0z4i3qt99vpfphpr7hpk5"); // side = (1<<0); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("ad90yo3mu0ffjurb9egult4pi"); // case (1<<1): UNSUPPORTED("aj9jgzaslnfuc2iy41yo6577i"); // side = (1<<2); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2nk83e61yc1xqh0sxx13m5l1j"); // return side; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 72pzdmirzds0yer4ks1ooxvic // static double invflip_angle(double angle, int rankdir) public static Object invflip_angle(Object... arg) { UNSUPPORTED("1klgft1h7fhevbm1j1guzv58"); // static double invflip_angle(double angle, int rankdir) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7gnjhunyvxphjgrfh8byey4ch"); // switch (rankdir) { UNSUPPORTED("70xjc0sbkjvexfar5luzibcgf"); // case 0: UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("4u5xz2u3urj13y0aw30fdyup5"); // case 2: UNSUPPORTED("e7qgsf2gzf7fv8r5lpdfqp2gp"); // angle *= -1; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("d0gk15gzj4wz8nv54zbr285hm"); // case 1: UNSUPPORTED("b5wrpw5rvhjh7999v3sqqlbo3"); // angle -= M_PI * 0.5; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("33l7a58zp8vj6fuliwdkk2nkn"); // case 3: UNSUPPORTED("536aocvem6ko7h9t50pllxla0"); // if (angle == M_PI) UNSUPPORTED("kxow9q31jmisg5yv60fj9z3g"); // angle = -0.5 * M_PI; UNSUPPORTED("3hy3z7oxc494l61va60rwh9k3"); // else if (angle == M_PI * 0.75) UNSUPPORTED("76t0zkyxc3q2wnpcajih9mf65"); // angle = -0.25 * M_PI; UNSUPPORTED("bd02ns5pweyapa70g9ozio3m4"); // else if (angle == M_PI * 0.5) UNSUPPORTED("a0pp5xd6lligtfp0riunw38t3"); // angle = 0; UNSUPPORTED("8cqf9j5edmb4u2xnd8lkahkht"); // /* clang complains about self assignment of double UNSUPPORTED("205i7xisgiaz1vhn9p93tsw5a"); // else if (angle == M_PI * 0.25) UNSUPPORTED("76g7hlyzy67q9n7p5l89y4gxw"); // angle = angle; UNSUPPORTED("e5xwyhh2l2jm6g9w2ofnktaf6"); // */ UNSUPPORTED("8pqjflzypl5wbdev1h4r6ee0e"); // else if (angle == 0) UNSUPPORTED("3uy8u4gjki2ksohuj3gn6ewkj"); // angle = M_PI * 0.5; UNSUPPORTED("bqlwd51jj33yedz7tuck5hukd"); // else if (angle == M_PI * -0.25) UNSUPPORTED("3s431nqj2tfm95djdmjfjig6h"); // angle = M_PI * 0.75; UNSUPPORTED("tl121swu8uuow1dlzumo1pyi"); // else if (angle == M_PI * -0.5) UNSUPPORTED("aa92obzwij392if7nnjch6dtz"); // angle = M_PI; UNSUPPORTED("8cqf9j5edmb4u2xnd8lkahkht"); // /* clang complains about self assignment of double UNSUPPORTED("2waz5md3krpirny5m7gagynkc"); // else if (angle == M_PI * -0.75) UNSUPPORTED("76g7hlyzy67q9n7p5l89y4gxw"); // angle = angle; UNSUPPORTED("e5xwyhh2l2jm6g9w2ofnktaf6"); // */ UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("62ygf2gmqakbkjtv70bqh5q3i"); // return angle; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 54t5x4hsq6ie4hn83dix0fi3g // static pointf compassPoint(inside_t * ictxt, double y, double x) public static Object compassPoint(Object... arg) { UNSUPPORTED("1owp098dshhw9x2d86x61ho3n"); // static pointf compassPoint(inside_t * ictxt, double y, double x) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5jw267n0iigspndf3p51uuoyt"); // pointf curve[4]; /* bezier control points for a straight line */ UNSUPPORTED("2ol68djy9gbphj8kdfml5q1ej"); // node_t *n = ictxt->s.n; UNSUPPORTED("f121hhzfkpb97hn84g46lhxdh"); // graph_t* g = agraphof(n); UNSUPPORTED("347leky6wh51yiydoij5od0h2"); // int rd = GD_rankdir(g); UNSUPPORTED("2bghyit203pd6xw2ihhenzyn8"); // pointf p; UNSUPPORTED("saqn1396zzjkeo01vp1tskia"); // p.x = x; UNSUPPORTED("5jdhcgi82gtmvn690v78zmkpe"); // p.y = y; UNSUPPORTED("2imvfuepadgxdlfwq3qmsatju"); // if (rd) UNSUPPORTED("8gcpvoawmbrjuiq80lglpl2bn"); // p = cwrotatepf(p, 90 * rd); UNSUPPORTED("b4ktwkbs8awubvwfgfeqzhlx0"); // curve[0].x = curve[0].y = 0; UNSUPPORTED("dcqc3vt7dwuvg73lixbbwd3dj"); // curve[1] = curve[0]; UNSUPPORTED("ahj7ruzql6g6cm5nvomizsgcz"); // curve[3] = curve[2] = p; UNSUPPORTED("6wkk7v0v7iyai22oyhq16dcno"); // bezier_clip(ictxt, ND_shape(n)->fns->insidefn, curve, 1); UNSUPPORTED("2imvfuepadgxdlfwq3qmsatju"); // if (rd) UNSUPPORTED("ip6d55dog3nmeksqauqb1fyo"); // curve[0] = ccwrotatepf(curve[0], 90 * rd); UNSUPPORTED("7jlv4v811jdfr56u2h3wdxxbm"); // return curve[0]; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4oj0c3dwqqjei7u5u2ik9yyw1 // static int compassPort(node_t * n, boxf * bp, port * pp, char *compass, int sides, inside_t * ictxt) public static Object compassPort(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("axo7c40w8kmff5juyfulc507z"); // compassPort(node_t * n, boxf * bp, port * pp, char *compass, int sides, UNSUPPORTED("8wsp6kb4b5k1nk99rjf8cd50s"); // inside_t * ictxt) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("4t6cefa2mlqz8cen3hr5w5o2"); // pointf p, ctr; UNSUPPORTED("en7ch189nkys76f42mlo1s5zz"); // int rv = 0; UNSUPPORTED("39lrh4yp65e7bz2yxmw4eykrf"); // double theta = 0.0; UNSUPPORTED("1whpo0vj6bc0o4y50ozcd6pib"); // boolean constrain = 0; UNSUPPORTED("39rwowaomcdh9hhpbv5vzxqtg"); // boolean dyna = 0; UNSUPPORTED("ekt4uw7awxhup7bp69cd0de32"); // int side = 0; UNSUPPORTED("26uc2ctav83esiworswb0yyqw"); // boolean clip = NOT(0); UNSUPPORTED("8p9hhcu69i2810srbetaxiscj"); // boolean defined; UNSUPPORTED("dw42q4y6we417p9qhmaei6d3f"); // double maxv; /* sufficiently large value outside of range of node */ UNSUPPORTED("8ix20ei8mhm5e1r57koylhxmw"); // if (bp) { UNSUPPORTED("ddqw44b5basd7iv78obd8twlq"); // b = *bp; UNSUPPORTED("bdd8asje3pa2bu5sxtn1lp6vh"); // p = pointfof((b.LL.x + b.UR.x) / 2, (b.LL.y + b.UR.y) / 2); UNSUPPORTED("ap5anvaqlfe3mcudjsohthesw"); // defined = NOT(0); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("dza301uiuu792cezaz0eoyzsr"); // p.x = p.y = 0.; UNSUPPORTED("ek9a7u2yx8w4r9x5k7somxuup"); // if (GD_flip(agraphof(n))) { UNSUPPORTED("e21k9f24vr25zdbgo37m5er48"); // b.UR.x = ND_ht(n) / 2.; UNSUPPORTED("1i4y4dgrig36gh0dq2jn8kde"); // b.LL.x = -b.UR.x; UNSUPPORTED("7luuqd8n7bpffoa8v27jp7tn3"); // b.UR.y = ND_lw(n); UNSUPPORTED("922vazdrkwhoxxy4yw5axu6i7"); // b.LL.y = -b.UR.y; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("dma0yc0pj8g9efl81ud62uh2x"); // b.UR.y = ND_ht(n) / 2.; UNSUPPORTED("922vazdrkwhoxxy4yw5axu6i7"); // b.LL.y = -b.UR.y; UNSUPPORTED("59beisnsabbp6eavnuxrqch2d"); // b.UR.x = ND_lw(n); UNSUPPORTED("1i4y4dgrig36gh0dq2jn8kde"); // b.LL.x = -b.UR.x; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1e1jhd4j2f4wri70ymrc2k0pg"); // defined = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("w2aiqm3p7bifxbzx4tx4mipl"); // maxv = MAX(b.UR.x,b.UR.y); UNSUPPORTED("b8awq55ll3vhs3fjdyqay8kms"); // maxv *= 4.0; UNSUPPORTED("cm85kba38i3sc3kntnc0a8070"); // ctr = p; UNSUPPORTED("e7z3qfzj5jj1f70il8lep0oyu"); // if (compass && *compass) { UNSUPPORTED("72tyr9kgl0hmhdft6u5nwswi3"); // switch (*compass++) { UNSUPPORTED("2fzjr952o6hmcz3ad5arl2n8d"); // case 'e': UNSUPPORTED("caapivv2sv3cdu0rt3fnciovd"); // if (*compass) UNSUPPORTED("en0rarvkx5srsxnlqpf6ja1us"); // rv = 1; UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("3s6xpfbxpp44ou5loxsjfgzqp"); // if (ictxt) UNSUPPORTED("8whok6jl4olniblvibxhrbbre"); // p = compassPoint(ictxt, ctr.y, maxv); UNSUPPORTED("c0op0grmjt3kp22s10twqy66r"); // else UNSUPPORTED("5f4jye7znkk6hbv6lv0l9l0hs"); // p.x = b.UR.x; UNSUPPORTED("8u0aqa3sxpk302o1oqxok6u47"); // theta = 0.0; UNSUPPORTED("8cz8xetupjr38r0y1sfojc387"); // constrain = NOT(0); UNSUPPORTED("bfouf47misaa32ulv25melpbm"); // defined = NOT(0); UNSUPPORTED("9ni9ftlf9oep71byodeubp1sr"); // clip = 0; UNSUPPORTED("4sdfaevi5d5qk596bdiw1t1t5"); // side = sides & (1<<1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("b4quboi30n0afnbpgm9chdttx"); // case 's': UNSUPPORTED("c2y7pxvutf20cxm0z3nfgoc3k"); // p.y = b.LL.y; UNSUPPORTED("b4ce4svfzxg7z2fd1fquu4qmu"); // constrain = NOT(0); UNSUPPORTED("c3sati4oun39vfql5zx4ru6z"); // clip = 0; UNSUPPORTED("bzgzeuh7ihvw4c4eysc3dgpzd"); // switch (*compass) { UNSUPPORTED("6qkxsufvygbc44eq3d6xorgsx"); // case '\0': UNSUPPORTED("9ca4neaxnf1dd0hyuuubj4egq"); // theta = -M_PI * 0.5; UNSUPPORTED("bfouf47misaa32ulv25melpbm"); // defined = NOT(0); UNSUPPORTED("3s6xpfbxpp44ou5loxsjfgzqp"); // if (ictxt) UNSUPPORTED("2iohu3tvlkzx2emq04ycxkhta"); // p = compassPoint(ictxt, -maxv, ctr.x); UNSUPPORTED("c0op0grmjt3kp22s10twqy66r"); // else UNSUPPORTED("3ly2ywet0m7qfki5yj2nz9t87"); // p.x = ctr.x; UNSUPPORTED("yc8wdhrrn5mzbqwxidxp3i2y"); // side = sides & (1<<0); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("mnoev43mr2cyh3zj9yiupqzy"); // case 'e': UNSUPPORTED("avfplp4wadl774qo2yrqn2btg"); // theta = -M_PI * 0.25; UNSUPPORTED("bfouf47misaa32ulv25melpbm"); // defined = NOT(0); UNSUPPORTED("e1jqt6v7gkr0w7anohkdvwzuz"); // if (ictxt) UNSUPPORTED("4qnqhz6577yhq6u9919ve4tjb"); // p = compassPoint(ictxt, -maxv, maxv); UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("5f4jye7znkk6hbv6lv0l9l0hs"); // p.x = b.UR.x; UNSUPPORTED("b0weojc8y88qjfkoujifnu9ag"); // side = sides & ((1<<0) | (1<<1)); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("xzkwmazk8r4ms7xbr46l9xyq"); // case 'w': UNSUPPORTED("a6j042vifpt4pgkwczny2dy24"); // theta = -M_PI * 0.75; UNSUPPORTED("bfouf47misaa32ulv25melpbm"); // defined = NOT(0); UNSUPPORTED("e1jqt6v7gkr0w7anohkdvwzuz"); // if (ictxt) UNSUPPORTED("c0hdr34iyaygjxcr6a65hns2g"); // p = compassPoint(ictxt, -maxv, -maxv); UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("e2vcgqbz5sfyjwfyadlmm3s7n"); // p.x = b.LL.x; UNSUPPORTED("9yg4wc52hqtj6s3orou0nnbq4"); // side = sides & ((1<<0) | (1<<3)); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("bt2g0yhsy3c7keqyftf3c98ut"); // default: UNSUPPORTED("c8if0ggdrakzyxyn4fwlc8z2j"); // p.y = ctr.y; UNSUPPORTED("30qndpdx39k6rmlgid0k16w53"); // constrain = 0; UNSUPPORTED("2uxoapmd0p84jvg4utlai18nj"); // clip = NOT(0); UNSUPPORTED("en0rarvkx5srsxnlqpf6ja1us"); // rv = 1; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("6f2jab2h8wmbwxojrav1mbs6l"); // case 'w': UNSUPPORTED("caapivv2sv3cdu0rt3fnciovd"); // if (*compass) UNSUPPORTED("en0rarvkx5srsxnlqpf6ja1us"); // rv = 1; UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("3s6xpfbxpp44ou5loxsjfgzqp"); // if (ictxt) UNSUPPORTED("dkdxl90pni5x4m9rsi9l4fkml"); // p = compassPoint(ictxt, ctr.y, -maxv); UNSUPPORTED("c0op0grmjt3kp22s10twqy66r"); // else UNSUPPORTED("e2vcgqbz5sfyjwfyadlmm3s7n"); // p.x = b.LL.x; UNSUPPORTED("4dcpup1eqdwbtlebzv22j3izb"); // theta = M_PI; UNSUPPORTED("8cz8xetupjr38r0y1sfojc387"); // constrain = NOT(0); UNSUPPORTED("bfouf47misaa32ulv25melpbm"); // defined = NOT(0); UNSUPPORTED("9ni9ftlf9oep71byodeubp1sr"); // clip = 0; UNSUPPORTED("3vss3xpo7q52fe0nwev7hyiyj"); // side = sides & (1<<3); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("f187wptsr73liavtlyoyfovp3"); // case 'n': UNSUPPORTED("7gucyzlkpil4bfg1hpst17k3d"); // p.y = b.UR.y; UNSUPPORTED("b4ce4svfzxg7z2fd1fquu4qmu"); // constrain = NOT(0); UNSUPPORTED("c3sati4oun39vfql5zx4ru6z"); // clip = 0; UNSUPPORTED("bzgzeuh7ihvw4c4eysc3dgpzd"); // switch (*compass) { UNSUPPORTED("6qkxsufvygbc44eq3d6xorgsx"); // case '\0': UNSUPPORTED("bfouf47misaa32ulv25melpbm"); // defined = NOT(0); UNSUPPORTED("5w6ijz1qm65stfcc659o09osm"); // theta = M_PI * 0.5; UNSUPPORTED("3s6xpfbxpp44ou5loxsjfgzqp"); // if (ictxt) UNSUPPORTED("6l60lhko2eg8jry5mf4wpknho"); // p = compassPoint(ictxt, maxv, ctr.x); UNSUPPORTED("c0op0grmjt3kp22s10twqy66r"); // else UNSUPPORTED("3ly2ywet0m7qfki5yj2nz9t87"); // p.x = ctr.x; UNSUPPORTED("8cnew4tzzej0j68sucbir8orn"); // side = sides & (1<<2); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("mnoev43mr2cyh3zj9yiupqzy"); // case 'e': UNSUPPORTED("bfouf47misaa32ulv25melpbm"); // defined = NOT(0); UNSUPPORTED("dpfvfzmxj8yxv0s9b2jrvy1dt"); // theta = M_PI * 0.25; UNSUPPORTED("e1jqt6v7gkr0w7anohkdvwzuz"); // if (ictxt) UNSUPPORTED("eaiok8sr9qt2m9t35bj1n33vk"); // p = compassPoint(ictxt, maxv, maxv); UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("5f4jye7znkk6hbv6lv0l9l0hs"); // p.x = b.UR.x; UNSUPPORTED("7eo9yj1faco0zq3n56ljnckjl"); // side = sides & ((1<<2) | (1<<1)); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("xzkwmazk8r4ms7xbr46l9xyq"); // case 'w': UNSUPPORTED("bfouf47misaa32ulv25melpbm"); // defined = NOT(0); UNSUPPORTED("b4rydjq1y842ljagzj3esvilf"); // theta = M_PI * 0.75; UNSUPPORTED("e1jqt6v7gkr0w7anohkdvwzuz"); // if (ictxt) UNSUPPORTED("aftpsq12rdaiypy81n10uki6g"); // p = compassPoint(ictxt, maxv, -maxv); UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("e2vcgqbz5sfyjwfyadlmm3s7n"); // p.x = b.LL.x; UNSUPPORTED("46gsms8looi57wty5vza2s5el"); // side = sides & ((1<<2) | (1<<3)); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("bt2g0yhsy3c7keqyftf3c98ut"); // default: UNSUPPORTED("c8if0ggdrakzyxyn4fwlc8z2j"); // p.y = ctr.y; UNSUPPORTED("30qndpdx39k6rmlgid0k16w53"); // constrain = 0; UNSUPPORTED("2uxoapmd0p84jvg4utlai18nj"); // clip = NOT(0); UNSUPPORTED("en0rarvkx5srsxnlqpf6ja1us"); // rv = 1; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("8yhowesoplp2da595z8jyojxi"); // case '_': UNSUPPORTED("f5fa3usseyo7pci5g560azmea"); // dyna = NOT(0); UNSUPPORTED("czfzlng8hat0mzzbxb59g5eix"); // side = sides; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("f3lyz2cejs6yn5fyckhn7ba1"); // case 'c': UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("eldwzm3uyfs9zu1roub5a2uqi"); // rv = 1; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3y0o9dwc6l3w452ce3a06atj4"); // p = cwrotatepf(p, 90 * GD_rankdir(agraphof(n))); UNSUPPORTED("bg899fz3cixwumeyw39ytk9ky"); // if (dyna) UNSUPPORTED("c3yy1egy8x5xhv1n80wf30bsp"); // pp->side = side; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("fbhfdhcz7hf8d057jq31086q"); // pp->side = invflip_side(side, GD_rankdir(agraphof(n))); UNSUPPORTED("cx3gmg51rc8so3a5bx6cltryq"); // pp->bp = bp; UNSUPPORTED("epsoufavu8hg3cbvo2ejmmrx0"); // PF2P(p, pp->p); UNSUPPORTED("ami97j8il2yf1ggrixwlm2sga"); // pp->theta = invflip_angle(theta, GD_rankdir(agraphof(n))); UNSUPPORTED("12w9ecxxght79o36ovi8zwdz5"); // if ((p.x == 0) && (p.y == 0)) UNSUPPORTED("ckgevzxmtfz2xxsz34wg7zura"); // pp->order = 256 / 2; UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("eq22ufb5r5rfpsjxc3gie6aon"); // /* compute angle with 0 at north pole, increasing CCW */ UNSUPPORTED("aqoi5i20orce7l827lbn5rpfs"); // double angle = atan2(p.y, p.x) + 1.5 * M_PI; UNSUPPORTED("dfb9u6ghdbpwnspizdx8mrdz3"); // if (angle >= 2 * M_PI) UNSUPPORTED("jxrmr2dbqvl6zf1pboxh2hbn"); // angle -= 2 * M_PI; UNSUPPORTED("7wk803jipbaan1qcm89gw97t0"); // pp->order = (int) ((256 * angle) / (2 * M_PI)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("956p2hx4hma7on3bk77kr5mjg"); // pp->constrained = constrain; UNSUPPORTED("docrlijfgalt2ubkbd5x1aj0g"); // pp->defined = defined; UNSUPPORTED("bmz5fuwc9jp1t2yghe0gppn11"); // pp->clip = clip; UNSUPPORTED("2vslebofw1l11qjpgy2bu0q0g"); // pp->dyna = dyna; UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5k2b9gfpwm2tj3zmzniuz9azt // static port poly_port(node_t * n, char *portname, char *compass) public static ST_port poly_port(ST_Agnode_s n, CString portname, CString compass) { // WARNING!! STRUCT return poly_port_w_(n, portname, compass).copy(); } private static ST_port poly_port_w_(ST_Agnode_s n, CString portname, CString compass) { ENTERING("5k2b9gfpwm2tj3zmzniuz9azt","poly_port"); try { final ST_port rv= new ST_port(); ST_boxf bp; int sides; /* bitmap of which sides the port lies along */ if (portname.charAt(0) == '\0') return Z.z().Center.copy(); UNSUPPORTED("cm99rhftfe8nq2suzac5fwbgp"); // if (compass == NULL) UNSUPPORTED("238a13tlawcw3bixwliz859y5"); // compass = "_"; UNSUPPORTED("ci2ge3idao9rokpvacvcspaxl"); // sides = (1<<0) | (1<<1) | (1<<2) | (1<<3); UNSUPPORTED("p7u7ou2qrodeed98v2l4kt16"); // if (((((Agnodeinfo_t*)(((Agobj_t*)(n))->data))->label)->html) && (bp = html_port(n, portname, &sides))) { UNSUPPORTED("dl6n43wu7irkeiaxb6wed3388"); // if (compassPort(n, bp, &rv, compass, sides, NULL)) { UNSUPPORTED("cw5grwj6gbj94jcztvnp2ooyj"); // agerr(AGWARN, UNSUPPORTED("en2xpqtprfng8gmc77dzq7klv"); // "node %s, port %s, unrecognized compass point '%s' - ignored\n", UNSUPPORTED("cmo03yl2q1wgn0c1r45y1ay5e"); // agnameof(n), portname, compass); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("dthh3e4ncmo6w9ycaz15zau5"); // inside_t *ictxtp; UNSUPPORTED("2txee0yz6un4eoxopikuvmodk"); // inside_t ictxt; UNSUPPORTED("ffnmnsqi4jd54ewadswjs4c3"); // if (((((Agnodeinfo_t*)(((Agobj_t*)(n))->data))->shape)->polygon == &p_box)) UNSUPPORTED("caeppa7hx6uy3mtmkxxe509c9"); // ictxtp = NULL; UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("17pbmb7rfq2rdapm13ww6pefz"); // ictxt.s.n = n; UNSUPPORTED("etss3zom716xdeasxnytjb8db"); // ictxt.s.bp = NULL; UNSUPPORTED("89cj6b362bd80f627mp67yjh0"); // ictxtp = &ictxt; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5dzg4u1k50dmwpfqatxykvula"); // if (compassPort(n, NULL, &rv, portname, sides, ictxtp)) UNSUPPORTED("9xmgpfnye0xzd72aptv8i0cgl"); // unrecognized(n, portname); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("5k2b9gfpwm2tj3zmzniuz9azt","poly_port"); } } //3 1tks71z165dy9pzfshnjejpx3 // static void poly_gencode(GVJ_t * job, node_t * n) public static Object poly_gencode(Object... arg) { UNSUPPORTED("p0x21cs921921juch0sv0bun"); // static void poly_gencode(GVJ_t * job, node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("7b0667dpeiekddi69gpywx92t"); // polygon_t *poly; UNSUPPORTED("behzd4x7hwrpj60ld9ydd6ldw"); // double xsize, ysize; UNSUPPORTED("avlmoeaaigyvssingomxrvja4"); // int i, j, peripheries, sides, style; UNSUPPORTED("1r39xvspssd187ru2ru0hw25i"); // pointf P, *vertices; UNSUPPORTED("behdcj4jfqh2lxeud7bvr9dxx"); // static pointf *AF; UNSUPPORTED("922k2c5xjbw7vuw4vfhavkll9"); // static int A_size; UNSUPPORTED("e26zsspincyfi747lhus7h41b"); // boolean filled; UNSUPPORTED("343gvjl2hbvjb2nrrtcqqetep"); // boolean usershape_p; UNSUPPORTED("55zxkmqgt42k3bgw1g1del41"); // boolean pfilled; /* true if fill not handled by user shape */ UNSUPPORTED("b80uijjl4g1zjdox5s5vdh8s5"); // char *color, *name; UNSUPPORTED("6ciz320nm1jdjxir808cycx3t"); // int doMap = (obj->url || obj->explicit_tooltip); UNSUPPORTED("7421ua6zgvtho3nwdlh9ypytf"); // char* fillcolor=NULL; UNSUPPORTED("39txqf5jgyh1q10jekeaemag6"); // char* pencolor=NULL; UNSUPPORTED("bhtcyodd9jiazat6sqhp9pm4x"); // char* clrs[2]; UNSUPPORTED("7pfkga2nn8ltabo2ycvjgma6o"); // if (doMap && !(job->flags & (1<<2))) UNSUPPORTED("6e7g66eeo7n8h8mq556pt3xxy"); // gvrender_begin_anchor(job, UNSUPPORTED("8g7o4dsbwgp9ggtiktgt2m41t"); // obj->url, obj->tooltip, obj->target, UNSUPPORTED("c8tk2e711ojwsnar0y39a73cf"); // obj->id); UNSUPPORTED("e8a863hfpkzgw2w09pemrprir"); // poly = (polygon_t *) ND_shape_info(n); UNSUPPORTED("44eync2gzhkt36aljp0pdxlws"); // vertices = poly->vertices; UNSUPPORTED("bt0ymhl3qyi2wkx6awwozl8pm"); // sides = poly->sides; UNSUPPORTED("axi5xtmkixooa3vai8uysr8y1"); // peripheries = poly->peripheries; UNSUPPORTED("3yzb2exxpwntmjik61bia8qin"); // if (A_size < sides) { UNSUPPORTED("6czsf4ed6c2x6qn10dz9vvpc2"); // A_size = sides + 5; UNSUPPORTED("4fxnv89xcha2g2jkqjznbfhtl"); // AF = ALLOC(A_size, AF, pointf); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("65psnpx1lm1txgz684nsf5fy0"); // /* nominal label position in the center of the node */ UNSUPPORTED("1bslo0pyyucx0zmdzt12sei6d"); // ND_label(n)->pos = ND_coord(n); UNSUPPORTED("8pq7sdzx1tcm5jiy7gk6k14ru"); // xsize = (ND_lw(n) + ND_rw(n)) / (ROUND((ND_width(n))*72)); UNSUPPORTED("ebgzy2lbfiijt1acuci7zobbz"); // ysize = ND_ht(n) / (ROUND((ND_height(n))*72)); UNSUPPORTED("6yjfupcwvts03fbmr493ea2ja"); // style = stylenode(job, n); UNSUPPORTED("92hvfvrwzs8dy1vdgk97mu8rm"); // clrs[0] = NULL; UNSUPPORTED("e5t9x8qxknm67g2irjuq09m0n"); // if (ND_gui_state(n) & (1<<0)) { UNSUPPORTED("bmfnw21ksvzdvbf1k6jhpy482"); // pencolor = late_nnstring(n, N_activepencolor, "#808080"); UNSUPPORTED("4m6zwbkh86axvr0iupq8yqbj"); // gvrender_set_pencolor(job, pencolor); UNSUPPORTED("cmymz070zao66wyx1s7tv8pha"); // color = UNSUPPORTED("3kou17p4mmlejrgnb4ubal4y0"); // late_nnstring(n, N_activefillcolor, "#fcfcfc"); UNSUPPORTED("8jkw84z9v2sgxja8neagg70yn"); // gvrender_set_fillcolor(job, color); UNSUPPORTED("wgi1jlomdsgec9gfae0fj8md"); // filled = 1; UNSUPPORTED("9ihvjyvhnzzz36yb9vxt7ds0x"); // } else if (ND_gui_state(n) & (1<<1)) { UNSUPPORTED("aak3ib1vf3cr00erxujx1x1a2"); // pencolor = UNSUPPORTED("1cimazkiwwo2m0abp23m3fnme"); // late_nnstring(n, N_selectedpencolor, "#303030"); UNSUPPORTED("4m6zwbkh86axvr0iupq8yqbj"); // gvrender_set_pencolor(job, pencolor); UNSUPPORTED("cmymz070zao66wyx1s7tv8pha"); // color = UNSUPPORTED("28yl28qxl17kdj778ikor38xk"); // late_nnstring(n, N_selectedfillcolor, UNSUPPORTED("47h1lk49r1o0z3cv330dq6dx"); // "#e8e8e8"); UNSUPPORTED("8jkw84z9v2sgxja8neagg70yn"); // gvrender_set_fillcolor(job, color); UNSUPPORTED("wgi1jlomdsgec9gfae0fj8md"); // filled = 1; UNSUPPORTED("1yfjih723r7l1aal6cgysntu9"); // } else if (ND_gui_state(n) & (1<<3)) { UNSUPPORTED("aak3ib1vf3cr00erxujx1x1a2"); // pencolor = UNSUPPORTED("7ksdqin8o1wm9jzsj3vquwpn4"); // late_nnstring(n, N_deletedpencolor, "#e0e0e0"); UNSUPPORTED("4m6zwbkh86axvr0iupq8yqbj"); // gvrender_set_pencolor(job, pencolor); UNSUPPORTED("cmymz070zao66wyx1s7tv8pha"); // color = UNSUPPORTED("bt3kkty4bxox77ydiwjgsxvdl"); // late_nnstring(n, N_deletedfillcolor, "#f0f0f0"); UNSUPPORTED("8jkw84z9v2sgxja8neagg70yn"); // gvrender_set_fillcolor(job, color); UNSUPPORTED("wgi1jlomdsgec9gfae0fj8md"); // filled = 1; UNSUPPORTED("8zwfuofs5l5a6z3f4rvlihyw2"); // } else if (ND_gui_state(n) & (1<<2)) { UNSUPPORTED("aak3ib1vf3cr00erxujx1x1a2"); // pencolor = UNSUPPORTED("ctvdbytqgb1rzge7ij5ocomx9"); // late_nnstring(n, N_visitedpencolor, "#101010"); UNSUPPORTED("4m6zwbkh86axvr0iupq8yqbj"); // gvrender_set_pencolor(job, pencolor); UNSUPPORTED("cmymz070zao66wyx1s7tv8pha"); // color = UNSUPPORTED("2ffts5ygp2gvce89s4zmac21o"); // late_nnstring(n, N_visitedfillcolor, "#f8f8f8"); UNSUPPORTED("8jkw84z9v2sgxja8neagg70yn"); // gvrender_set_fillcolor(job, color); UNSUPPORTED("wgi1jlomdsgec9gfae0fj8md"); // filled = 1; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("71lsnu3rvb8q4qjlg8ekkueb8"); // if (style & (1 << 0)) { UNSUPPORTED("1ldzvmymblz8y4a6idvyxoj5t"); // float frac; UNSUPPORTED("e039lb3amkbtia1p5xid53g8f"); // fillcolor = findFill (n); UNSUPPORTED("5dnga3gh00f4sv4fk1n2iqdgu"); // if (findStopColor (fillcolor, clrs, &frac)) { UNSUPPORTED("12wjuz2zq45txyp39hhco78xu"); // gvrender_set_fillcolor(job, clrs[0]); UNSUPPORTED("5o23oun5dlazsaicyjj530pp"); // if (clrs[1]) UNSUPPORTED("ct9w73vq2t9wsony60rgp0vuv"); // gvrender_set_gradient_vals(job,clrs[1],late_int(n,N_gradientangle,0,0), frac); UNSUPPORTED("5v31mz0fdr0su096gqov41vyn"); // else UNSUPPORTED("5hcjieyymox6ih0mqxtesfkai"); // gvrender_set_gradient_vals(job,"black",late_int(n,N_gradientangle,0,0), frac); UNSUPPORTED("cu80xxb02iidme5bgb4b9q03o"); // if (style & (1 << 1)) UNSUPPORTED("5jf506rwz9snq4d6ozpjvg3yg"); // filled = 3; UNSUPPORTED("7rknc7r0egcn3cw68mrvgow3v"); // else UNSUPPORTED("7bikp52v1ey2yil3rybx6nris"); // filled = 2; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("es2lu1zhy5wdeml1v1kmrcix3"); // gvrender_set_fillcolor(job, fillcolor); UNSUPPORTED("6w06em6l23suofe15du0wq9hb"); // filled = 1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cbyq6e4yotsw91ihtsbpqk9n"); // else if (style & ((1 << 6)|(1 << 9))) { UNSUPPORTED("e039lb3amkbtia1p5xid53g8f"); // fillcolor = findFill (n); UNSUPPORTED("b39ijeotj91epdulx0zfawqg7"); // /* gvrender_set_fillcolor(job, fillcolor); */ UNSUPPORTED("5op945vn3c1cyxwov5p8rj33t"); // filled = NOT(0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("6hyckgrxm2nsg8cw4hffomldu"); // filled = 0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("7v8vwyf8talmtwk6o9fv16cu7"); // pencolor = penColor(job, n); /* emit pen color */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dzz4jp9gamcvlyn9e3vzfb9m5"); // pfilled = !ND_shape(n)->usershape || (*(ND_shape(n)->name)==*("custom")&&!strcmp(ND_shape(n)->name,"custom")); UNSUPPORTED("867znru6ot29tjqobp8dlbw6z"); // /* if no boundary but filled, set boundary color to transparent */ UNSUPPORTED("42p7y58vqzgaceefog269961h"); // if ((peripheries == 0) && filled && pfilled) { UNSUPPORTED("15ha366z6aj0vmrwy4kws0mqd"); // peripheries = 1; UNSUPPORTED("9h0jwzscq5xyee6v8y9a84z5z"); // gvrender_set_pencolor(job, "transparent"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b5y5lqlrrc44k9t418m98208o"); // /* draw peripheries first */ UNSUPPORTED("3ldxhnwdjmonz5bmmr7t8i5v6"); // for (j = 0; j < peripheries; j++) { UNSUPPORTED("bnlcutimilujroygrsjpbamec"); // for (i = 0; i < sides; i++) { UNSUPPORTED("6jkqzav2wqsdxuy5nalny0l8v"); // P = vertices[i + j * sides]; UNSUPPORTED("7cdu1dtqyaubntomiasv9qnoj"); // AF[i].x = P.x * xsize + ND_coord(n).x; UNSUPPORTED("e40xvnbar4dmi82ewqw5laa59"); // AF[i].y = P.y * ysize + ND_coord(n).y; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9dpfyah7h8cjesbm1tagc3qr2"); // if (sides <= 2) { UNSUPPORTED("4iafj5ab7zhphfv75axr98xpm"); // if ((style & (1 << 9)) && (j == 0) && (strchr(fillcolor,':'))) { UNSUPPORTED("brwfdh2hmhcwxahcpjocmax54"); // int rv = wedgedEllipse (job, AF, fillcolor); UNSUPPORTED("4195dkkxygfup9x2hevx5t0kt"); // if (rv > 1) UNSUPPORTED("6d80sdeoci13p59wizsvnilpd"); // agerr (AGPREV, "in node %s\n", agnameof(n)); UNSUPPORTED("3zx9cyeiqls2js359g1ja8px8"); // filled = 0; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("dzwn73f4njl5hkp0qrnncl2ff"); // gvrender_ellipse(job, AF, sides, filled); UNSUPPORTED("chb5tdwhi8a8xmy8ftheo6824"); // if (style & (1 << 3)) { UNSUPPORTED("efwhq15vj62j7hdj6evx064cg"); // Mcircle_hack(job, n); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("aci5r7yyn8mzrv3exe7znstcn"); // } else if (style & (1 << 6)) { UNSUPPORTED("dgwuupvm0kjmgthk4ugim8woz"); // if (j == 0) { UNSUPPORTED("3x4ndf7fx76diabv9nfllk0b5"); // int rv = stripedBox (job, AF, fillcolor, 1); UNSUPPORTED("4195dkkxygfup9x2hevx5t0kt"); // if (rv > 1) UNSUPPORTED("6d80sdeoci13p59wizsvnilpd"); // agerr (AGPREV, "in node %s\n", agnameof(n)); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("717qv74rlec63ys8natmmpak9"); // gvrender_polygon(job, AF, sides, 0); UNSUPPORTED("5ueys9z3ukkzz7o4fr6z8tuk0"); // } else if (style & (1 << 10)) { UNSUPPORTED("8ozii45lu97yd30cta30grmf8"); // gvrender_set_pencolor(job, "transparent"); UNSUPPORTED("oe3tziy2rg7shg7dan61ilfq"); // gvrender_polygon(job, AF, sides, filled); UNSUPPORTED("9cgcmdbt8qdrnqnvs86u9cd53"); // gvrender_set_pencolor(job, pencolor); UNSUPPORTED("fft8g5x7554aunjp9t27mqx6"); // gvrender_polyline(job, AF+2, 2); UNSUPPORTED("8t4w6b2lracu2ee6rqqm6r915"); // } else if (((style) & ((1 << 2) | (1 << 3) | (127 << 24)))) { UNSUPPORTED("858fovk41ca06eamq91gjw7tm"); // round_corners(job, AF, sides, style, filled); UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("oe3tziy2rg7shg7dan61ilfq"); // gvrender_polygon(job, AF, sides, filled); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1peuavyjb0rqm2z4fzpf2afzm"); // /* fill innermost periphery only */ UNSUPPORTED("arpfq2ay8oyluwsz8s1wp6tp4"); // filled = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("76vwep8b6qm5azc0fy66d98rw"); // usershape_p = 0; UNSUPPORTED("8fhwzyrc8mh95ap0b1g7e9nbq"); // if (ND_shape(n)->usershape) { UNSUPPORTED("2v9mlb5rtcmwqpcth7w27clk5"); // name = ND_shape(n)->name; UNSUPPORTED("ad1u0yih0rcookfy0x1lsev4d"); // if ((*(name)==*("custom")&&!strcmp(name,"custom"))) { UNSUPPORTED("7eg6kesbmod5ryqil85qa0nhh"); // if ((name = agget(n, "shapefile")) && name[0]) UNSUPPORTED("avdrph3m5jvu0m9cldtioxy3f"); // usershape_p = NOT(0); UNSUPPORTED("6to1esmb8qfrhzgtr7jdqleja"); // } else UNSUPPORTED("cmpu4v9yae7spgt5x9vvwycqu"); // usershape_p = NOT(0); UNSUPPORTED("5i5g01dslsnkth7in6u6rbi99"); // } else if ((name = agget(n, "image")) && name[0]) { UNSUPPORTED("e220s4b8iyyeqjgxmlg5pcdrj"); // usershape_p = NOT(0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3btjgija7cfs4jgzrv91fjwpt"); // if (usershape_p) { UNSUPPORTED("9usktstdf8lawthhtrs6s58pm"); // /* get coords of innermost periphery */ UNSUPPORTED("bnlcutimilujroygrsjpbamec"); // for (i = 0; i < sides; i++) { UNSUPPORTED("5dznk69haxedww8ugav5ykrld"); // P = vertices[i]; UNSUPPORTED("7cdu1dtqyaubntomiasv9qnoj"); // AF[i].x = P.x * xsize + ND_coord(n).x; UNSUPPORTED("e40xvnbar4dmi82ewqw5laa59"); // AF[i].y = P.y * ysize + ND_coord(n).y; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1xu7you106p030clm45rzsrgc"); // /* lay down fill first */ UNSUPPORTED("3sznkjp2q6eryoqsuxyw523pa"); // if (filled && pfilled) { UNSUPPORTED("dur5g2omz2d8j499p5rr99e0g"); // if (sides <= 2) { UNSUPPORTED("ezipi4mltlppyq0tetpgbb2rn"); // if ((style & (1 << 9)) && (j == 0) && (strchr(fillcolor,':'))) { UNSUPPORTED("an9w62svq9d61trsclgublxs4"); // int rv = wedgedEllipse (job, AF, fillcolor); UNSUPPORTED("4njt8ngwdhm5t0qj38vd4vx26"); // if (rv > 1) UNSUPPORTED("dimjpscq5rjb3aaiz8l8gia45"); // agerr (AGPREV, "in node %s\n", agnameof(n)); UNSUPPORTED("14k7t5gy5xvy3m6y4lllccbyz"); // filled = 0; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("4ey5tpwqvnf3eih51z1ar6wgg"); // gvrender_ellipse(job, AF, sides, filled); UNSUPPORTED("7eygavzyy3od5lurlb1kyvq4q"); // if (style & (1 << 3)) { UNSUPPORTED("53tsr41edfe2tdmq1vs4qmoh6"); // Mcircle_hack(job, n); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("79b2w9yvj1qj97vqjuf6ff9w0"); // } else if (style & (1 << 6)) { UNSUPPORTED("3x4ndf7fx76diabv9nfllk0b5"); // int rv = stripedBox (job, AF, fillcolor, 1); UNSUPPORTED("4195dkkxygfup9x2hevx5t0kt"); // if (rv > 1) UNSUPPORTED("6d80sdeoci13p59wizsvnilpd"); // agerr (AGPREV, "in node %s\n", agnameof(n)); UNSUPPORTED("ctx2lp124btfhy4z6030o2gs"); // gvrender_polygon(job, AF, sides, 0); UNSUPPORTED("89clftmmkfws4k288i4jas2yb"); // } else if (style & ((1 << 2) | (1 << 3))) { UNSUPPORTED("dk9vlsyutilnikpal5kjamo5x"); // round_corners(job, AF, sides, style, filled); UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("azv3esl3n2c27ol5b9dgx7yrz"); // gvrender_polygon(job, AF, sides, filled); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8bp2tc15gonvz3x38es3dcmqm"); // gvrender_usershape(job, name, AF, sides, filled, UNSUPPORTED("4ob0y29flbn0mu1b6or1pikm"); // late_string(n, N_imagescale, "false")); UNSUPPORTED("cyozk4ozoaaqkwqvcr0wuavfb"); // filled = 0; /* with user shapes, we have done the fill if needed */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("59de9ohjmjuxis5h2yvc2zjnx"); // free (clrs[0]); UNSUPPORTED("8r8t0lgzzpigm1odig9a9yg1c"); // emit_label(job, EMIT_NLABEL, ND_label(n)); UNSUPPORTED("amrlpbo0f5svfvv7e9lzhfzj9"); // if (doMap) { UNSUPPORTED("4drs7w0v5mk7ys9aylmo5lnq8"); // if (job->flags & (1<<2)) UNSUPPORTED("12436nj34of615tb94t3cw2h0"); // gvrender_begin_anchor(job, UNSUPPORTED("2rwb38hipr5rxkwxfdzzwkdmy"); // obj->url, obj->tooltip, obj->target, UNSUPPORTED("4x188hxybttaubn1tt4tf710k"); // obj->id); UNSUPPORTED("e3o6yrnsv8lko5fql4f8a9gly"); // gvrender_end_anchor(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4jw571mqhnyucuj7xrwi1h9o5 // static void point_init(node_t * n) public static Object point_init(Object... arg) { UNSUPPORTED("9teib8zo1wrsipfc5j66cuyuy"); // static void point_init(node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5r323abe0z0jo5p5exij6a98a"); // polygon_t *poly = (polygon_t*)zmalloc(sizeof(polygon_t)); UNSUPPORTED("6s51isafyf01shjhyf1xybd0g"); // int sides, outp, peripheries = ND_shape(n)->polygon->peripheries; UNSUPPORTED("483po9irjcq4khru9r63df3hc"); // double sz; UNSUPPORTED("1r39xvspssd187ru2ru0hw25i"); // pointf P, *vertices; UNSUPPORTED("dzpsknrwv8qkqq20hjnjpjn68"); // int i, j; UNSUPPORTED("cldfniz1yu2rzamoi5a3tri2q"); // double w, h; UNSUPPORTED("2k44yvy3ib1xjsbz4aoziggm6"); // /* set width and height, and make them equal UNSUPPORTED("2cp3uyfw5ix1x35noly2mr8xl"); // * if user has set weight or height, use it. UNSUPPORTED("bnvp9gvvkfk14zw1xx1fol30y"); // * if both are set, use smallest. UNSUPPORTED("e7wh555e1kr9ygs6v77uuxuek"); // * if neither, use default UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("shqz46obs8iqqm2ty42thbuz"); // w = late_double(n, N_width, MAXDOUBLE, 0.0); UNSUPPORTED("4j74z7hdszhifo9kh4hh1wofy"); // h = late_double(n, N_height, MAXDOUBLE, 0.0); UNSUPPORTED("8fn9glr373p3sq9l96u8rshi5"); // w = MIN(w, h); UNSUPPORTED("ebrgob1ni20nxqse89rw5hipv"); // if ((w == MAXDOUBLE) && (h == MAXDOUBLE)) /* neither defined */ UNSUPPORTED("ax36ksj200y93pvt2rjxvnupc"); // ND_width(n) = ND_height(n) = 0.05; UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("42uohvzx3qdjcdkup3wcj6s6x"); // w = MIN(w, h); UNSUPPORTED("1km16exp8dsurkq6pd730gw3v"); // /* If w == 0, use it; otherwise, make w no less than MIN_POINT due UNSUPPORTED("3ilg8ohbfo44z8h3fnuc0560h"); // * to the restrictions mentioned above. UNSUPPORTED("3vesx4cskuo1q42jvwmoum2xs"); // */ UNSUPPORTED("7lyxf0b1aikm6fzbqhbr8k9oa"); // if (w > 0.0) UNSUPPORTED("dsnyzjlf33z6dnm3ptthdw0y3"); // w = MAX(w,0.0003); UNSUPPORTED("2fz0g7sw4drprgpggwdns197i"); // ND_width(n) = ND_height(n) = w; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("57ect78x8mvtomzg0tyodv7g"); // sz = ND_width(n) * 72; UNSUPPORTED("6s2rmv5dvc38plrfxn2iknbec"); // peripheries = late_int(n, N_peripheries, peripheries, 0); UNSUPPORTED("d8z7y5n3mm6modrbwu1y08k80"); // if (peripheries < 1) UNSUPPORTED("5j2roihkrnhpbzz7w0qxrt1tb"); // outp = 1; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("dt4js26tpr1dccw0n8attbsqv"); // outp = peripheries; UNSUPPORTED("8o3qj0u55iaq7q7uz9bp2btmt"); // sides = 2; UNSUPPORTED("e6zmcz1u6vh44zg5bdfazji16"); // vertices = (pointf*)zmalloc((outp * sides)*sizeof(pointf)); UNSUPPORTED("wog9mbijcqexxahwely1klv"); // P.y = P.x = sz / 2.; UNSUPPORTED("401agb4oue2c5jj69la268pcx"); // vertices[0].x = -P.x; UNSUPPORTED("877hteaqk6t4p1f5at5526w7s"); // vertices[0].y = -P.y; UNSUPPORTED("cjcbbgirujkoa3jg96de4tn4n"); // vertices[1] = P; UNSUPPORTED("e3yma9eluyvh0pqkjh60cdtds"); // if (peripheries > 1) { UNSUPPORTED("9opkd1w4nqz4bwppgnj4nh97x"); // for (j = 1, i = 2; j < peripheries; j++) { UNSUPPORTED("460zn3qymugfa5w8867gevz9q"); // P.x += 4; UNSUPPORTED("esxff06psrm7h7ol9ohlnzcpi"); // P.y += 4; UNSUPPORTED("6iwi6enjzo7fz7swxeospzgor"); // vertices[i].x = -P.x; UNSUPPORTED("7s0s5pcvrfbi2igyjxkzrm6q3"); // vertices[i].y = -P.y; UNSUPPORTED("1lo0ackow66iudrq1gb15y3ry"); // i++; UNSUPPORTED("d1mf936qm1rffrj0h5t3x94ng"); // vertices[i].x = P.x; UNSUPPORTED("eagc6fu5xvv54q8ct60z25dnr"); // vertices[i].y = P.y; UNSUPPORTED("1lo0ackow66iudrq1gb15y3ry"); // i++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2gqt5o1ww7zscvmqs2er3asq5"); // sz = 2. * P.x; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dcm4c8vrwq4xjdw6mnk7jh45a"); // poly->regular = 1; UNSUPPORTED("27nmn21035p035qyz0wzee98a"); // poly->peripheries = peripheries; UNSUPPORTED("auxb6kzl2meihrn96iopky8b2"); // poly->sides = 2; UNSUPPORTED("38u6c2cd5dc1o1vmpzv5kfhok"); // poly->orientation = 0; UNSUPPORTED("1rjh9t0o5cpm795hqnsjkz026"); // poly->skew = 0; UNSUPPORTED("2196taxexoskznznmkkvqvfws"); // poly->distortion = 0; UNSUPPORTED("5lucyy48dtz44fkdhcjrphkjz"); // poly->vertices = vertices; UNSUPPORTED("16k7ddcfff7zeto50vvf4pn7e"); // ND_height(n) = ND_width(n) = ((sz)/(double)72); UNSUPPORTED("43hsn9iilhppt0qo3od9c7rnq"); // ND_shape_info(n) = (void *) poly; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 34yxvhscic4iigcqveaac58ue // static boolean point_inside(inside_t * inside_context, pointf p) public static Object point_inside(Object... arg) { UNSUPPORTED("96ogc5j6ek5rdyjpr6kp1yocz"); // static boolean point_inside(inside_t * inside_context, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4ogz1m3q9xn7z7hiecjp98bmt"); // static node_t *lastn; /* last node argument */ UNSUPPORTED("5l35lijc0ciwjv4q6hr6uiiwb"); // static double radius; UNSUPPORTED("7lh87lvufqsd73q9difg0omei"); // pointf P; UNSUPPORTED("d8oppi8gt9b4eaonkdgb7a54l"); // node_t *n = inside_context->s.n; UNSUPPORTED("823iiqtx9pt0gijqrohrd3zx7"); // P = ccwrotatepf(p, 90 * GD_rankdir(agraphof(n))); UNSUPPORTED("8rl2cn4oxr94675yld5eohkie"); // if (n != lastn) { UNSUPPORTED("b3vl4n360t74xga3kf8kpy77j"); // int outp; UNSUPPORTED("ekuhffxeyunmrbugeqeo525ww"); // polygon_t *poly = (polygon_t *) ND_shape_info(n); UNSUPPORTED("d41xba93s17axh19qsbhg0x8a"); // /* index to outer-periphery */ UNSUPPORTED("8qv90di846fa1tngzoa71d029"); // outp = 2 * (poly->peripheries - 1); UNSUPPORTED("47l17pa0edzmfnlr8ysqs0qh4"); // if (outp < 0) UNSUPPORTED("jyf75douzxhfzxfyrq3kes6e"); // outp = 0; UNSUPPORTED("4dly7702wk6tpv9taxmfj31og"); // radius = poly->vertices[outp + 1].x; UNSUPPORTED("dz5401vppes7iz7b0c6pzkge6"); // lastn = n; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c0dgd06mnotxt3zonxv8qfpsv"); // /* inside bounding box? */ UNSUPPORTED("56idyrf96f39b4a9qfa4aaoar"); // if ((fabs(P.x) > radius) || (fabs(P.y) > radius)) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("1nxamo9gj6oech5spo5v5a16q"); // return (hypot(P.x, P.y) <= radius); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9nmafjnpqf5021bgj7xic6bcv // static void point_gencode(GVJ_t * job, node_t * n) public static Object point_gencode(Object... arg) { UNSUPPORTED("c8zl3q8hj4ggg44eavpqwpcz6"); // static void point_gencode(GVJ_t * job, node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("7b0667dpeiekddi69gpywx92t"); // polygon_t *poly; UNSUPPORTED("6smidc9cn5hmnzglv2o3ha87a"); // int i, j, sides, peripheries, style; UNSUPPORTED("1r39xvspssd187ru2ru0hw25i"); // pointf P, *vertices; UNSUPPORTED("behdcj4jfqh2lxeud7bvr9dxx"); // static pointf *AF; UNSUPPORTED("922k2c5xjbw7vuw4vfhavkll9"); // static int A_size; UNSUPPORTED("e26zsspincyfi747lhus7h41b"); // boolean filled; UNSUPPORTED("5zltq70xm6o2q24ddyqe6noyn"); // char *color; UNSUPPORTED("6ciz320nm1jdjxir808cycx3t"); // int doMap = (obj->url || obj->explicit_tooltip); UNSUPPORTED("7pfkga2nn8ltabo2ycvjgma6o"); // if (doMap && !(job->flags & (1<<2))) UNSUPPORTED("6e7g66eeo7n8h8mq556pt3xxy"); // gvrender_begin_anchor(job, UNSUPPORTED("8g7o4dsbwgp9ggtiktgt2m41t"); // obj->url, obj->tooltip, obj->target, UNSUPPORTED("c8tk2e711ojwsnar0y39a73cf"); // obj->id); UNSUPPORTED("e8a863hfpkzgw2w09pemrprir"); // poly = (polygon_t *) ND_shape_info(n); UNSUPPORTED("44eync2gzhkt36aljp0pdxlws"); // vertices = poly->vertices; UNSUPPORTED("bt0ymhl3qyi2wkx6awwozl8pm"); // sides = poly->sides; UNSUPPORTED("axi5xtmkixooa3vai8uysr8y1"); // peripheries = poly->peripheries; UNSUPPORTED("3yzb2exxpwntmjik61bia8qin"); // if (A_size < sides) { UNSUPPORTED("cbz0nkwec20m1ib1g01fqvu61"); // A_size = sides + 2; UNSUPPORTED("4fxnv89xcha2g2jkqjznbfhtl"); // AF = ALLOC(A_size, AF, pointf); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ba3rlm9loi447hvq9xargrfj5"); // checkStyle(n, &style); UNSUPPORTED("c9p9i9kp0tu95s7r5pe6r726t"); // if (style & (1 << 5)) UNSUPPORTED("3t8beazmvyshgjao810hjqmie"); // gvrender_set_style(job, point_style); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("74zb1tnkmdx8ynmv7c1olqg7e"); // gvrender_set_style(job, &point_style[1]); UNSUPPORTED("e5t9x8qxknm67g2irjuq09m0n"); // if (ND_gui_state(n) & (1<<0)) { UNSUPPORTED("494wbiv03tk48fokerl16r6f4"); // color = late_nnstring(n, N_activepencolor, "#808080"); UNSUPPORTED("9e08s11lexyxn6kite8m0sfty"); // gvrender_set_pencolor(job, color); UNSUPPORTED("cmymz070zao66wyx1s7tv8pha"); // color = UNSUPPORTED("3kou17p4mmlejrgnb4ubal4y0"); // late_nnstring(n, N_activefillcolor, "#fcfcfc"); UNSUPPORTED("8jkw84z9v2sgxja8neagg70yn"); // gvrender_set_fillcolor(job, color); UNSUPPORTED("9ihvjyvhnzzz36yb9vxt7ds0x"); // } else if (ND_gui_state(n) & (1<<1)) { UNSUPPORTED("cmymz070zao66wyx1s7tv8pha"); // color = UNSUPPORTED("1cimazkiwwo2m0abp23m3fnme"); // late_nnstring(n, N_selectedpencolor, "#303030"); UNSUPPORTED("9e08s11lexyxn6kite8m0sfty"); // gvrender_set_pencolor(job, color); UNSUPPORTED("cmymz070zao66wyx1s7tv8pha"); // color = UNSUPPORTED("28yl28qxl17kdj778ikor38xk"); // late_nnstring(n, N_selectedfillcolor, UNSUPPORTED("47h1lk49r1o0z3cv330dq6dx"); // "#e8e8e8"); UNSUPPORTED("8jkw84z9v2sgxja8neagg70yn"); // gvrender_set_fillcolor(job, color); UNSUPPORTED("1yfjih723r7l1aal6cgysntu9"); // } else if (ND_gui_state(n) & (1<<3)) { UNSUPPORTED("cmymz070zao66wyx1s7tv8pha"); // color = UNSUPPORTED("7ksdqin8o1wm9jzsj3vquwpn4"); // late_nnstring(n, N_deletedpencolor, "#e0e0e0"); UNSUPPORTED("9e08s11lexyxn6kite8m0sfty"); // gvrender_set_pencolor(job, color); UNSUPPORTED("cmymz070zao66wyx1s7tv8pha"); // color = UNSUPPORTED("bt3kkty4bxox77ydiwjgsxvdl"); // late_nnstring(n, N_deletedfillcolor, "#f0f0f0"); UNSUPPORTED("8jkw84z9v2sgxja8neagg70yn"); // gvrender_set_fillcolor(job, color); UNSUPPORTED("8zwfuofs5l5a6z3f4rvlihyw2"); // } else if (ND_gui_state(n) & (1<<2)) { UNSUPPORTED("cmymz070zao66wyx1s7tv8pha"); // color = UNSUPPORTED("ctvdbytqgb1rzge7ij5ocomx9"); // late_nnstring(n, N_visitedpencolor, "#101010"); UNSUPPORTED("9e08s11lexyxn6kite8m0sfty"); // gvrender_set_pencolor(job, color); UNSUPPORTED("cmymz070zao66wyx1s7tv8pha"); // color = UNSUPPORTED("2ffts5ygp2gvce89s4zmac21o"); // late_nnstring(n, N_visitedfillcolor, "#f8f8f8"); UNSUPPORTED("8jkw84z9v2sgxja8neagg70yn"); // gvrender_set_fillcolor(job, color); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("cf8q4vce1jpdyg0g44am343kh"); // color = findFillDflt(n, "black"); UNSUPPORTED("552c4dm43883t0wtf5hl0yvwe"); // gvrender_set_fillcolor(job, color); /* emit fill color */ UNSUPPORTED("ep2kgzcflmdfwwmtohgbczks7"); // penColor(job, n); /* emit pen color */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2gwieuk9tzvsileijzb0m497g"); // filled = NOT(0); UNSUPPORTED("1pz5kftjxxzi9lv9u3y1o6rn0"); // /* if no boundary but filled, set boundary color to fill color */ UNSUPPORTED("5mlpxufq3yx495mi8tzel72un"); // if (peripheries == 0) { UNSUPPORTED("15ha366z6aj0vmrwy4kws0mqd"); // peripheries = 1; UNSUPPORTED("2kvd4jaqat0g550t2krwhucr2"); // if (color[0]) UNSUPPORTED("2v5mkqa2bpb5gkm53lbc3a8do"); // gvrender_set_pencolor(job, color); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3ldxhnwdjmonz5bmmr7t8i5v6"); // for (j = 0; j < peripheries; j++) { UNSUPPORTED("bnlcutimilujroygrsjpbamec"); // for (i = 0; i < sides; i++) { UNSUPPORTED("6jkqzav2wqsdxuy5nalny0l8v"); // P = vertices[i + j * sides]; UNSUPPORTED("e8tnxali1kzd83o1vue986ipj"); // AF[i].x = P.x + ND_coord(n).x; UNSUPPORTED("6v07wdm0qkwc0lx20mi2w7w7h"); // AF[i].y = P.y + ND_coord(n).y; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("debstz8tichfsgcen5fgx33pj"); // gvrender_ellipse(job, AF, sides, filled); UNSUPPORTED("1peuavyjb0rqm2z4fzpf2afzm"); // /* fill innermost periphery only */ UNSUPPORTED("arpfq2ay8oyluwsz8s1wp6tp4"); // filled = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("amrlpbo0f5svfvv7e9lzhfzj9"); // if (doMap) { UNSUPPORTED("4drs7w0v5mk7ys9aylmo5lnq8"); // if (job->flags & (1<<2)) UNSUPPORTED("12436nj34of615tb94t3cw2h0"); // gvrender_begin_anchor(job, UNSUPPORTED("2rwb38hipr5rxkwxfdzzwkdmy"); // obj->url, obj->tooltip, obj->target, UNSUPPORTED("4x188hxybttaubn1tt4tf710k"); // obj->id); UNSUPPORTED("e3o6yrnsv8lko5fql4f8a9gly"); // gvrender_end_anchor(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 7tslf55o9g8v48j97pdsyich9 // static char *reclblp //3 1dflsvfaih0mcg1gg4n23v1rg // static void free_field(field_t * f) public static Object free_field(Object... arg) { UNSUPPORTED("1w8vqjgpmm3wzxdg86sst9sna"); // static void free_field(field_t * f) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("7zbyipqbl6t75m71to6vrvnmq"); // for (i = 0; i < f->n_flds; i++) { UNSUPPORTED("44t6o1rhsqwprcg98j3zgbzvz"); // free_field(f->fld[i]); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8mpeuez5fwrg7hufhlnvpzpk6"); // free(f->id); UNSUPPORTED("9mo450myxof5j4jin03aqpb9n"); // free_label(f->lp); UNSUPPORTED("6onriqqkoxktq7iqg9iiuw1zo"); // free(f->fld); UNSUPPORTED("a4v6veu7h0jl3a2wwlxwpdsuw"); // free(f); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e9v6g9o3uouhdvy68a5uiisw9 // static field_t *parse_error(field_t * rv, char *port) public static Object parse_error(Object... arg) { UNSUPPORTED("9bgvna5r61dzeu3tfs4uvakqi"); // static field_t *parse_error(field_t * rv, char *port) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4i2f9fbl6g816tgzjosnh9uxp"); // free_field(rv); UNSUPPORTED("d6w5xfrx6ivjrjr01evg54l4o"); // if (port) UNSUPPORTED("11a5y4khavkjgq5ubj4dyaa5p"); // free(port); UNSUPPORTED("o68dp934ebg4cplebgc5hv4v"); // return NULL; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7zxlp1fmrq3zt4fprrtesdbg3 // static field_t *parse_reclbl(node_t * n, int LR, int flag, char *text) public static Object parse_reclbl(Object... arg) { UNSUPPORTED("9v20mrghfq60f2qgsfdn1xxdw"); // static field_t *parse_reclbl(node_t * n, int LR, int flag, char *text) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7ws2qs7cm9wlnskmpn5zahpwz"); // field_t *fp, *rv = (field_t*)zmalloc(sizeof(field_t)); UNSUPPORTED("ebck8ts2eioqv6lvicwad9mj8"); // char *tsp, *psp=NULL, *hstsp, *hspsp=NULL, *sp; UNSUPPORTED("1tf7pz3w8sq5wk926zvu829ep"); // char *tmpport = NULL; UNSUPPORTED("e7a8l4oon3q1mu7hlgf4clu1b"); // int maxf, cnt, mode, wflag, ishardspace, fi; UNSUPPORTED("3jmp83p22dny4oi3sy4awqg1d"); // textlabel_t *lbl = ND_label(n); UNSUPPORTED("9igz1d93visyobl4po13vtvkx"); // fp = NULL; UNSUPPORTED("2amh1z5unfmpprayylcu5gr96"); // for (maxf = 1, cnt = 0, sp = reclblp; *sp; sp++) { UNSUPPORTED("awjvysmspiqruxxa3ttkp4hto"); // if (*sp == '\\') { UNSUPPORTED("c6ujjd37nlex68cg5oii0ds8q"); // sp++; UNSUPPORTED("22vdzj6ye8zw196h8o51k5ol3"); // if (*sp UNSUPPORTED("84ppu6pbdmw18lsn0ryv4v2si"); // && (*sp == '{' || *sp == '}' || *sp == '|' || *sp == '\\')) UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dacur0fb8e1qtm4h9105hx3rs"); // if (*sp == '{') UNSUPPORTED("7hl03wjg5yryhvbe4ar0i0b8g"); // cnt++; UNSUPPORTED("yro6chknoj2gs3h8b14wg99v"); // else if (*sp == '}') UNSUPPORTED("4vzj6cjceqbghqhehc5ucl97m"); // cnt--; UNSUPPORTED("e69f7pkphb1u2seq6xkr4kaho"); // else if (*sp == '|' && cnt == 0) UNSUPPORTED("8t45h7yg233z39lxb621fptcg"); // maxf++; UNSUPPORTED("2edcod5le4rwdf79wg0b9o14q"); // if (cnt < 0) UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4ris3hlhijr2gnuhvu238vyni"); // rv->fld = (field_t **)zmalloc((maxf)*sizeof(field_t *)); UNSUPPORTED("avl5mval8jm4w6du3hw9sxc1e"); // rv->LR = LR; UNSUPPORTED("565ypt38g1szuouqlmu74ejq9"); // mode = 0; UNSUPPORTED("8ub4c1i56h9jmytputkewow9k"); // fi = 0; UNSUPPORTED("85ilec7k1i6sdrpb5u8ncfru7"); // hstsp = tsp = text; UNSUPPORTED("1x6ue04deldh5y980p3gm7er1"); // wflag = NOT(0); UNSUPPORTED("58z9686vengy8z9jzrj1jxa13"); // ishardspace = 0; UNSUPPORTED("4edx4759azcbmezyrc5h0tmw"); // while (wflag) { UNSUPPORTED("23je92fa88f4sesva9mh3fk5k"); // if ((*reclblp < ' ') && *reclblp) { /* Ignore non-0 control characters */ UNSUPPORTED("8m8ph0munfeo3anrkr9n5c0o8"); // reclblp++; UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cxp5sujfti7s3yzy5w1hqq6xz"); // switch (*reclblp) { UNSUPPORTED("cfap8yeec19z0ucbudqen8t02"); // case '<': UNSUPPORTED("bb8zo5knwust0d4cwoa87msmw"); // if (mode & (4 | 2)) UNSUPPORTED("7zw1csy7lc9a9gq1nhizs470m"); // return parse_error(rv, tmpport); UNSUPPORTED("2lft1znt6um5sewf4ta8eigdi"); // if (lbl->html) UNSUPPORTED("75bwqdnezjvhazmryfatc4819"); // goto dotext; UNSUPPORTED("5z8248k3ca5miryedahc2wb60"); // mode |= (2 | 16); UNSUPPORTED("8m8ph0munfeo3anrkr9n5c0o8"); // reclblp++; UNSUPPORTED("d1omi22iukq2z2ih6p6w2zy5q"); // hspsp = psp = text; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("5suo7424ml3937pmao1lly7tj"); // case '>': UNSUPPORTED("2lft1znt6um5sewf4ta8eigdi"); // if (lbl->html) UNSUPPORTED("75bwqdnezjvhazmryfatc4819"); // goto dotext; UNSUPPORTED("e7t4hd1jo3rbmnlsnt7tbyso7"); // if (!(mode & 16)) UNSUPPORTED("7zw1csy7lc9a9gq1nhizs470m"); // return parse_error(rv, tmpport); UNSUPPORTED("5mkkaq04kcnssm3nv93a82w58"); // if (psp > text + 1 && psp - 1 != hspsp && *(psp - 1) == ' ') UNSUPPORTED("7v2hf4x5nsnlq1l025dplo0vo"); // psp--; UNSUPPORTED("8qt2jpqdy5xvffbwdbwoz25od"); // *psp = '\000'; UNSUPPORTED("jt6w0csqwc7g51zgiaulvv1y"); // tmpport = strdup(text); UNSUPPORTED("v0n557cij70vu46xrnalpnkf"); // mode &= ~16; UNSUPPORTED("8m8ph0munfeo3anrkr9n5c0o8"); // reclblp++; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("e1d1tlv81emdkqrj3h7vwega1"); // case '{': UNSUPPORTED("8m8ph0munfeo3anrkr9n5c0o8"); // reclblp++; UNSUPPORTED("171fk0fom3xhcmehn269b68k0"); // if (mode != 0 || !*reclblp) UNSUPPORTED("7zw1csy7lc9a9gq1nhizs470m"); // return parse_error(rv, tmpport); UNSUPPORTED("4f6lpwau75tu63tu957laxmhg"); // mode = 4; UNSUPPORTED("4uchlyreqn6xrcbdv514yikv5"); // if (!(rv->fld[fi++] = parse_reclbl(n, NOT(LR), 0, text))) UNSUPPORTED("7zw1csy7lc9a9gq1nhizs470m"); // return parse_error(rv, tmpport); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("5yyz13ef8dtnlysqshj0o345v"); // case '}': UNSUPPORTED("2miq185bwgdi03xsbuf2yo7jg"); // case '|': UNSUPPORTED("dnmucnqmv1b1788zqbo1ra28z"); // case '\000': UNSUPPORTED("9hqo6gl1ko0z6pxo2slbietya"); // if ((!*reclblp && !flag) || (mode & 16)) UNSUPPORTED("7zw1csy7lc9a9gq1nhizs470m"); // return parse_error(rv, tmpport); UNSUPPORTED("190gti87w167l9bzbbuqdaao4"); // if (!(mode & 4)) UNSUPPORTED("l9mhl6lmaxqj7lr1vpp59qcx"); // fp = rv->fld[fi++] = (field_t*)zmalloc(sizeof(field_t)); UNSUPPORTED("6vtiuvpbccho5bvog9tbt6zt7"); // if (tmpport) { UNSUPPORTED("vx76i8n34hlrd473lur8wdmg"); // fp->id = tmpport; UNSUPPORTED("f4uqf89q045ls6scq11ld6jzl"); // tmpport = NULL; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6ogkowbov04jvech8rbmf5h71"); // if (!(mode & (1 | 4))) UNSUPPORTED("eiatbbffa47bl558pxd0v9w1g"); // mode |= 1, *tsp++ = ' '; UNSUPPORTED("3r0hwquezbtg597n0ud6pg0v2"); // if (mode & 1) { UNSUPPORTED("eciju51pa83rngg58rdfhhwlh"); // if (tsp > text + 1 && UNSUPPORTED("144ggmb5thn6bqdp5qsh5q542"); // tsp - 1 != hstsp && *(tsp - 1) == ' ') UNSUPPORTED("4rman9clm35ayjpnaekp2pa4c"); // tsp--; UNSUPPORTED("abhck6fmj383j2xczaz9n0hyc"); // *tsp = '\000'; UNSUPPORTED("b6zzmy9m0a71wiwkokxbmshtj"); // fp->lp = UNSUPPORTED("281g7dyja9pt1j00mw40mvk8h"); // make_label((void *) n, strdup(text), UNSUPPORTED("dwtk6llg07gqdeogzt9phcutg"); // (lbl->html ? (1 << 1) : (0 << 1)), UNSUPPORTED("4c25jiasa72rqemdd9q0fkqfr"); // lbl->fontsize, lbl->fontname, UNSUPPORTED("esi7yfxq7b1t44gjijlfmefkx"); // lbl->fontcolor); UNSUPPORTED("13033k8vmyxsz6v6ehqkz1pjy"); // fp->LR = NOT(0); UNSUPPORTED("3wxuyqcnsxu1lolpwdvh532ta"); // hstsp = tsp = text; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("49kjrnlxdycco3jlkx7a6uhfe"); // if (*reclblp) { UNSUPPORTED("bxo1ji3i5yxlcsgif616qyf9y"); // if (*reclblp == '}') { UNSUPPORTED("dcc90zmv0256yuz6jtriktl8s"); // reclblp++; UNSUPPORTED("emd51x6hgxuinh9oga7wnkrqk"); // rv->n_flds = fi; UNSUPPORTED("7nukzdmlh4mklsedpm903o4cj"); // return rv; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("7dcvo4gc0ng3ctuwhrcjfrb41"); // mode = 0; UNSUPPORTED("be6gxzbdtfezsd8u46xrj6xw4"); // reclblp++; UNSUPPORTED("afk9bpom7x393euamnvwwkx6b"); // } else UNSUPPORTED("5iumhr0xqqhxv0zr03nxwhm7o"); // wflag = 0; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("a4kmq96jzs4d007vvibjcu25v"); // case '\\': UNSUPPORTED("3vnixbvvmty9ydvf0l1929gle"); // if (*(reclblp + 1)) { UNSUPPORTED("bjtxv6n9c9aqzdkik1c6cqbvy"); // if (((*(reclblp + 1)) == '{' || (*(reclblp + 1)) == '}' || (*(reclblp + 1)) == '|' || (*(reclblp + 1)) == '<' || (*(reclblp + 1)) == '>')) UNSUPPORTED("dcc90zmv0256yuz6jtriktl8s"); // reclblp++; UNSUPPORTED("c8cxvsbs7ae3wdjeflwbk3z6u"); // else if ((*(reclblp + 1) == ' ') && !lbl->html) UNSUPPORTED("djkriuw8khnsxfne1jal3yysz"); // ishardspace = NOT(0), reclblp++; UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else { UNSUPPORTED("2qwaphvt2yekkogtyqq0omhut"); // *tsp++ = '\\'; UNSUPPORTED("63p7706g22u4h7m9yealimr3g"); // mode |= (8 | 1); UNSUPPORTED("dcc90zmv0256yuz6jtriktl8s"); // reclblp++; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("dg5yg97t3vto8m73vvwj8jnb2"); // /* falling through ... */ UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("2d4vmvpowhgj7h9539m0qrxsy"); // dotext: UNSUPPORTED("5jto4v3wquxhnfa1ubq7jhn9e"); // if ((mode & 4) && *reclblp != ' ') UNSUPPORTED("7zw1csy7lc9a9gq1nhizs470m"); // return parse_error(rv, tmpport); UNSUPPORTED("f5g7ycr0n6dxs6l70ws5qbyha"); // if (!(mode & (8 | 16)) && *reclblp != ' ') UNSUPPORTED("49k9f66mkv4qjn84gy5oo6mfz"); // mode |= (8 | 1); UNSUPPORTED("4ehnscdbdyu6b96qrct40t547"); // if (mode & 8) { UNSUPPORTED("eoigvu52glsps928r04np5k12"); // if (! UNSUPPORTED("9zalai2d852m4eoy15f6bpxgu"); // (*reclblp == ' ' && !ishardspace && *(tsp - 1) == ' ' UNSUPPORTED("ahr3j94flu719g0gxu2i46zwn"); // && !lbl->html)) UNSUPPORTED("c8qpd7i4393s9xlwk5waq8sk3"); // *tsp++ = *reclblp; UNSUPPORTED("c2bifaubj01ag8b39d60p9cbk"); // if (ishardspace) UNSUPPORTED("atuokfvkmomvi6gvwvpbxggoz"); // hstsp = tsp - 1; UNSUPPORTED("blopjrsgbbips57lefdw6bg8b"); // } else if (mode & 16) { UNSUPPORTED("1eoe6a3jwmhnj7vdpgz9q6vsn"); // if (!(*reclblp == ' ' && !ishardspace && UNSUPPORTED("7i865uqx5v3rutzyppio4oztc"); // (psp == text || *(psp - 1) == ' '))) UNSUPPORTED("ccywxarqbhmcmnh8re3pv8j45"); // *psp++ = *reclblp; UNSUPPORTED("c2bifaubj01ag8b39d60p9cbk"); // if (ishardspace) UNSUPPORTED("5u5h7cb6egued2g1q7w8yhb1n"); // hspsp = psp - 1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("8m8ph0munfeo3anrkr9n5c0o8"); // reclblp++; UNSUPPORTED("eikj8pnam53jenwbu8enjrw4r"); // while (*reclblp & 128) UNSUPPORTED("86nc3qdu6nuyt7u67d0kblb9w"); // *tsp++ = *reclblp++; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("csdg0jacrzxz21ls0053286t"); // rv->n_flds = fi; UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dwk0rh74bwfd7mky5hg9t1epj // static pointf size_reclbl(node_t * n, field_t * f) public static Object size_reclbl(Object... arg) { UNSUPPORTED("406fn16lbi8yxgg92lsuaglae"); // static pointf size_reclbl(node_t * n, field_t * f) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("aexhdud6z2wbwwi73yppp0ynl"); // char *p; UNSUPPORTED("mt3ya9zh07mi1ttjb64zhd7m"); // double marginx, marginy; UNSUPPORTED("6ub135100vcy57x6o36uz14be"); // pointf d, d0; UNSUPPORTED("bgjjpl6jaaa122twwwd0vif6x"); // pointf dimen; UNSUPPORTED("cofpjibrqirnx1jqt3qoptoa8"); // if (f->lp) { UNSUPPORTED("96sfr72s46epnfb44t03vqqu2"); // dimen = f->lp->dimen; UNSUPPORTED("bqi7vwb2jmnrrqcdzo1mntnvb"); // /* minimal whitespace around label */ UNSUPPORTED("dhtf2vwrnsx779x9mday279x5"); // if ((dimen.x > 0.0) || (dimen.y > 0.0)) { UNSUPPORTED("2yzf5uec82v14ygrfjcq6ktxp"); // /* padding */ UNSUPPORTED("b8i1qxc1gtg61p1c1szkj2osr"); // if ((p = agget(n, "margin"))) { UNSUPPORTED("bfyy3iw4z9ebf4m89x69tn1eb"); // i = sscanf(p, "%lf,%lf", &marginx, &marginy); UNSUPPORTED("ebo7omz8ev8wu69ub10b4o890"); // if (i > 0) { UNSUPPORTED("efcgckeemzkbxh32pc2qcdv0d"); // dimen.x += 2 * (ROUND((marginx)*72)); UNSUPPORTED("c755n9x3n7022hjjg8hanklib"); // if (i > 1) UNSUPPORTED("2az12nq89f7txcsfmqdj8tly1"); // dimen.y += 2 * (ROUND((marginy)*72)); UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else UNSUPPORTED("2az12nq89f7txcsfmqdj8tly1"); // dimen.y += 2 * (ROUND((marginy)*72)); UNSUPPORTED("738mi6h8ef0itznt34ngxe25o"); // } else UNSUPPORTED("b12tl2a8tebl71ewuz3jms9jv"); // {((dimen).x += 4*4); ((dimen).y += 2*4);}; UNSUPPORTED("afk9bpom7x393euamnvwwkx6b"); // } else UNSUPPORTED("87bdwkkwbzyswxnepdd9bj8mb"); // {((dimen).x += 4*4); ((dimen).y += 2*4);}; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2ig0j65v03nhlp8gta21y7upj"); // d = dimen; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("3h1vugg28z5an28yxqksy73a1"); // d.x = d.y = 0; UNSUPPORTED("9cjjlq42o712cit9tby1b7l6a"); // for (i = 0; i < f->n_flds; i++) { UNSUPPORTED("1dovx3mi47z2lap7bct0utmvv"); // d0 = size_reclbl(n, f->fld[i]); UNSUPPORTED("xwrnxfxcwmxuxvjpfw1sb7lt"); // if (f->LR) { UNSUPPORTED("2s4lr8xqoy2s4fcc3dy43z546"); // d.x += d0.x; UNSUPPORTED("da9p29dgwktuisirb2i22mw4p"); // d.y = MAX(d.y, d0.y); UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("eey7x226uokoejjsvtccwizqn"); // d.y += d0.y; UNSUPPORTED("cvznbvji1rgs4g8avqaznhmtl"); // d.x = MAX(d.x, d0.x); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("58mlt8qk1oe73v2mcc1mgl8k1"); // f->size = d; UNSUPPORTED("3r3o80n61nmy2jv0ezi9xg2xp"); // return d; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 blo8etwhtlcsld8ox0vryznfw // static void resize_reclbl(field_t * f, pointf sz, int nojustify_p) public static Object resize_reclbl(Object... arg) { UNSUPPORTED("aye44rj1356dmxgwk9gx7pwh2"); // static void resize_reclbl(field_t * f, pointf sz, int nojustify_p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("71jvj7ehg7fq26a2s80qyw5pl"); // int i, amt; UNSUPPORTED("9rbb4p3tnymgkgm61ids5opx5"); // double inc; UNSUPPORTED("4vbedk7s9t1o5o9sll2mj3m4d"); // pointf d; UNSUPPORTED("azi9wyi9dsgwzm61ggr9st546"); // pointf newsz; UNSUPPORTED("1zy316mu1h3i1dwl59s1v5gtd"); // field_t *sf; UNSUPPORTED("4od0ewvxs3wubgnizxmaw95m6"); // /* adjust field */ UNSUPPORTED("2sbunv882wuaeiivap21n2bqb"); // d.x = sz.x - f->size.x; UNSUPPORTED("57mh8iamjlos1vfnth2m4qmgb"); // d.y = sz.y - f->size.y; UNSUPPORTED("b6m22nmidg72njh0uo1z8sndv"); // f->size = sz; UNSUPPORTED("9agycbghiz3e1xpj2702hn30z"); // /* adjust text area */ UNSUPPORTED("c5jen7s7dn54yuakfb7yncb47"); // if (f->lp && !nojustify_p) { UNSUPPORTED("65j1bcx86bkt4yhiu9enb30sv"); // f->lp->space.x += d.x; UNSUPPORTED("2hh4ho34pe678h62y8yhzq6ek"); // f->lp->space.y += d.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("esogsiw5n6l1sk5umv7ky4yi"); // /* adjust children */ UNSUPPORTED("9mofgi5b5ggg6ugo378omtt93"); // if (f->n_flds) { UNSUPPORTED("99h71dz46rnni7lfrxm1wzs87"); // if (f->LR) UNSUPPORTED("3idlilzzcmmfphl3ogxoi0gz"); // inc = d.x / f->n_flds; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("gsh4tsmu1upaadj6oebffxe4"); // inc = d.y / f->n_flds; UNSUPPORTED("9cjjlq42o712cit9tby1b7l6a"); // for (i = 0; i < f->n_flds; i++) { UNSUPPORTED("abiqjigzcxzn37q0cla73adcd"); // sf = f->fld[i]; UNSUPPORTED("cnehjao25jc5jjv5vfumb0qmk"); // amt = ((int) ((i + 1) * inc)) - ((int) (i * inc)); UNSUPPORTED("e5eeg49by0lz43uois7f6e5xt"); // if (f->LR) UNSUPPORTED("bhtvr8j5ek5tt7xm6c9z7hu5r"); // newsz = pointfof(sf->size.x + amt, sz.y); UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("cajand0txpij2kirrkxtjn1ps"); // newsz = pointfof(sz.x, sf->size.y + amt); UNSUPPORTED("aq6om414jdhfaf5204q5mmln4"); // resize_reclbl(sf, newsz, nojustify_p); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ds4v2i9xw0hm4y53ggbt8z2yk // static void pos_reclbl(field_t * f, pointf ul, int sides) public static Object pos_reclbl(Object... arg) { UNSUPPORTED("57l93w5nat2i71wn6e82nj4x9"); // static void pos_reclbl(field_t * f, pointf ul, int sides) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2f3a6lf3ce1tznglhu95xoda0"); // int i, last, mask; UNSUPPORTED("74djpee6zz6hk95hdvulbbjkb"); // f->sides = sides; UNSUPPORTED("2mtubjx0wssvmgcmhx716lypo"); // f->b.LL = pointfof(ul.x, ul.y - f->size.y); UNSUPPORTED("26ciar9flz0wc6r1zk7krxrg1"); // f->b.UR = pointfof(ul.x + f->size.x, ul.y); UNSUPPORTED("6f9cc8k5z3tih73jcgvyqzdy5"); // last = f->n_flds - 1; UNSUPPORTED("d5c2y0xbpfqkrfiwsb6b2q6qr"); // for (i = 0; i <= last; i++) { UNSUPPORTED("6s6izyatmponzopy22eomuw6h"); // if (sides) { UNSUPPORTED("xwrnxfxcwmxuxvjpfw1sb7lt"); // if (f->LR) { UNSUPPORTED("by48lavhlctvmymlkz9qkjvi0"); // if (i == 0) { UNSUPPORTED("4r4jabt98z99ira0e4bpyyktj"); // if (i == last) UNSUPPORTED("rvq6ubzk0rezd88243ailv84"); // mask = (1<<2) | (1<<0) | (1<<1) | (1<<3); UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else UNSUPPORTED("6tzvg9fxvr7v7qt2yh73xn94n"); // mask = (1<<2) | (1<<0) | (1<<3); UNSUPPORTED("9xksdopde69ktgm9z90l55he9"); // } else if (i == last) UNSUPPORTED("eas1815ent5z97kozcm2qwglp"); // mask = (1<<2) | (1<<0) | (1<<1); UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("evm1s2keksyeukfcgn64wt7k6"); // mask = (1<<2) | (1<<0); UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("by48lavhlctvmymlkz9qkjvi0"); // if (i == 0) { UNSUPPORTED("4r4jabt98z99ira0e4bpyyktj"); // if (i == last) UNSUPPORTED("rvq6ubzk0rezd88243ailv84"); // mask = (1<<2) | (1<<0) | (1<<1) | (1<<3); UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else UNSUPPORTED("2wutifbakw4oqtj4lrjidlytt"); // mask = (1<<2) | (1<<1) | (1<<3); UNSUPPORTED("9xksdopde69ktgm9z90l55he9"); // } else if (i == last) UNSUPPORTED("84g4in93npbh6zty66dclzf8a"); // mask = (1<<3) | (1<<0) | (1<<1); UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("ojlsh8buk0hgqhg1p1o1ogxy"); // mask = (1<<3) | (1<<1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6to1esmb8qfrhzgtr7jdqleja"); // } else UNSUPPORTED("cbvih14pp0igaj8ytp83216z6"); // mask = 0; UNSUPPORTED("c310n6zcvshjtf3nn15m858xd"); // pos_reclbl(f->fld[i], ul, sides & mask); UNSUPPORTED("99h71dz46rnni7lfrxm1wzs87"); // if (f->LR) UNSUPPORTED("6o8kbyjjm2bi8zipsgi5lr8ww"); // ul.x = ul.x + f->fld[i]->size.x; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("90vovw2s5lzb6up513xqh9u43"); // ul.y = ul.y - f->fld[i]->size.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 h2lcuthzwljbcjwdeidw1jiv // static void record_init(node_t * n) public static Object record_init(Object... arg) { UNSUPPORTED("8bn5tg52zfoyvwdnvqbw04l70"); // static void record_init(node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("86oi3nfc6x87w7aj799p0ypzn"); // field_t *info; UNSUPPORTED("6rttlsij6gno16sto3oqsqa40"); // pointf ul, sz; UNSUPPORTED("9fmah1vlmqynhowqu4v9q2zu0"); // int flip, len; UNSUPPORTED("4ly7xwlmpjgyokyzpns8fjvi0"); // char *textbuf; /* temp buffer for storing labels */ UNSUPPORTED("1klslcqyc6484ub7o51jznyqf"); // int sides = (1<<0) | (1<<1) | (1<<2) | (1<<3); UNSUPPORTED("6jo9tl9gx62fi9j5u1nn0dfzw"); // /* Always use rankdir to determine how records are laid out */ UNSUPPORTED("ez37gg27m14oqygf9tny4whd9"); // flip = NOT(GD_realflip(agraphof(n))); UNSUPPORTED("831ssvyd2gs7q5d7r83p0tckc"); // reclblp = ND_label(n)->text; UNSUPPORTED("b61x6z42kkk6b66dyi8rykpvw"); // len = strlen(reclblp); UNSUPPORTED("17kft1nompfgymd2cpz9p06we"); // /* For some forgotten reason, an empty label is parsed into a space, so UNSUPPORTED("13t238hjobkason0chns2coag"); // * we need at least two bytes in textbuf. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("6k99spqggna26l34pfzpjeotk"); // len = MAX(len, 1); UNSUPPORTED("ey612n2e72vl1gbnw3arjznb5"); // textbuf = (char*)zmalloc((len + 1)*sizeof(char)); UNSUPPORTED("7uzna6j5b36j6wvueakqwtauo"); // if (!(info = parse_reclbl(n, flip, NOT(0), textbuf))) { UNSUPPORTED("7iezaksu9hyxhmv3r4cp4o529"); // agerr(AGERR, "bad label format %s\n", ND_label(n)->text); UNSUPPORTED("8f1id7rqm71svssnxbjo0uwcu"); // reclblp = "\\N"; UNSUPPORTED("2wv3zfqhq53941rwk4vu9p9th"); // info = parse_reclbl(n, flip, NOT(0), textbuf); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9upwq9jn3fup3nwwae3y0vv0q"); // free(textbuf); UNSUPPORTED("31sxwdtqr63gtnpp86jz8pdac"); // size_reclbl(n, info); UNSUPPORTED("434l8ab1hff80o0xz22d91u00"); // sz.x = (ROUND((ND_width(n))*72)); UNSUPPORTED("7qr0k3gmk24mj6toqadcqky22"); // sz.y = (ROUND((ND_height(n))*72)); UNSUPPORTED("6qf3p8rzhkupjmocuje9q4p2q"); // if (mapbool(late_string(n, N_fixed, "false"))) { UNSUPPORTED("8iu51xbtntpdf5sc00g91djym"); // if ((sz.x < info->size.x) || (sz.y < info->size.y)) { UNSUPPORTED("4vs5u30jzsrn6fpjd327xjf7r"); // /* should check that the record really won't fit, e.g., there may be no text. UNSUPPORTED("7k6yytek9nu1ihxix2880667g"); // agerr(AGWARN, "node '%s' size may be too small\n", agnameof(n)); UNSUPPORTED("bnetqzovnscxile7ao44kc0qd"); // */ UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("9vx9i9jopcbh8v928ih57vgj7"); // sz.x = MAX(info->size.x, sz.x); UNSUPPORTED("evseq8gqlm6aqw269kwgi57xh"); // sz.y = MAX(info->size.y, sz.y); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c0urxnxgjlnro89b6209kl0zf"); // resize_reclbl(info, sz, mapbool(late_string(n, N_nojustify, "false"))); UNSUPPORTED("2qhtglqv4czw1wzgy8h9w4o3v"); // ul = pointfof(-sz.x / 2., sz.y / 2.); /* FIXME - is this still true: suspected to introduce ronding error - see Kluge below */ UNSUPPORTED("816kf840erjhpdg9bin63xyig"); // pos_reclbl(info, ul, sides); UNSUPPORTED("7rjoo40zh2fd13jllh0j2n1w1"); // ND_width(n) = ((info->size.x)/(double)72); UNSUPPORTED("x5gpmbn3zd3hac5yz2s7trtx"); // ND_height(n) = ((info->size.y + 1)/(double)72); /* Kluge!! +1 to fix rounding diff between layout and rendering UNSUPPORTED("edky8r362p1bpruc2jcs2hyft"); // otherwise we can get -1 coords in output */ UNSUPPORTED("40bol1suut41tvh0xudcyhgpi"); // ND_shape_info(n) = (void *) info; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1lq2tksbz3nzqw9c3xqfs4ymf // static void record_free(node_t * n) public static Object record_free(Object... arg) { UNSUPPORTED("8anx9p03jsmcuhguyzf7q6qe3"); // static void record_free(node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("aiplewsp8j9h5b1bokpivfnqv"); // field_t *p = ND_shape_info(n); UNSUPPORTED("cn1q1h4lwj1gctn9nim9hdhpt"); // free_field(p); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a005gfg4ujp2d29bpdrtowla0 // static field_t *map_rec_port(field_t * f, char *str) public static Object map_rec_port(Object... arg) { UNSUPPORTED("7m0itp0yyimj2qrw4m7gkucwe"); // static field_t *map_rec_port(field_t * f, char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8vkza1jahjxmu3aujqqwejvh4"); // field_t *rv; UNSUPPORTED("bg1s70jnrhf3ei0qo60unqlly"); // int sub; UNSUPPORTED("2wb1wig5yijs1gwl6gsqsfypb"); // if (f->id && ((*(f->id)==*(str)&&!strcmp(f->id,str)))) UNSUPPORTED("c6qw5ghrclqer15nnzk3dcf9o"); // rv = f; UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("52b2tnzwipbuygdvyeyxg1lij"); // rv = NULL; UNSUPPORTED("2z6jes522cxoquqcehqxkfezp"); // for (sub = 0; sub < f->n_flds; sub++) UNSUPPORTED("2nwfsthm8r2bsdqcq3cs6mwi7"); // if ((rv = map_rec_port(f->fld[sub], str))) UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 chsi0jlfodruvkjj5dlrv5ur3 // static port record_port(node_t * n, char *portname, char *compass) public static Object record_port(Object... arg) { UNSUPPORTED("108iil8l4qbk7n5zy99yzuhna"); // static port record_port(node_t * n, char *portname, char *compass) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("30fmp9xlabtd67je318axlfiy"); // field_t *f; UNSUPPORTED("9nozntsyybg1oi5e3jpibarmk"); // field_t *subf; UNSUPPORTED("9ricxd1wv1am78xxjvd40ki5e"); // port rv; UNSUPPORTED("dezxih515uk47gnmutkm1zuno"); // int sides; /* bitmap of which sides the port lies along */ UNSUPPORTED("8531pl39rpqki88wilp72dh12"); // if (portname[0] == '\0') UNSUPPORTED("ct95magnbje1vlax6sewfa40f"); // return Center; UNSUPPORTED("ci2ge3idao9rokpvacvcspaxl"); // sides = (1<<0) | (1<<1) | (1<<2) | (1<<3); UNSUPPORTED("cm99rhftfe8nq2suzac5fwbgp"); // if (compass == NULL) UNSUPPORTED("238a13tlawcw3bixwliz859y5"); // compass = "_"; UNSUPPORTED("9xovezi85vdgw8han4h0wr87s"); // f = (field_t *) ND_shape_info(n); UNSUPPORTED("9ihnypp6vu95to95ydtnntq0l"); // if ((subf = map_rec_port(f, portname))) { UNSUPPORTED("6fvm5el2zlrng001datkwt7cc"); // if (compassPort(n, &subf->b, &rv, compass, subf->sides, NULL)) { UNSUPPORTED("cw5grwj6gbj94jcztvnp2ooyj"); // agerr(AGWARN, UNSUPPORTED("en2xpqtprfng8gmc77dzq7klv"); // "node %s, port %s, unrecognized compass point '%s' - ignored\n", UNSUPPORTED("cmo03yl2q1wgn0c1r45y1ay5e"); // agnameof(n), portname, compass); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3pocnlftms62i7fn2yjeglilc"); // } else if (compassPort(n, &f->b, &rv, portname, sides, NULL)) { UNSUPPORTED("98h27uayj9wzp3psyqb5feymg"); // unrecognized(n, portname); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1f7b6eq3csywqv96raw75jqxr // static boolean record_inside(inside_t * inside_context, pointf p) public static Object record_inside(Object... arg) { UNSUPPORTED("86kzi0ldxu2wp8jrcz52g23br"); // static boolean record_inside(inside_t * inside_context, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("awt4go86uiz8hw73uxp1kk1pd"); // field_t *fld0; UNSUPPORTED("4rtja2mn137n7wcxryrmo12ko"); // boxf *bp = inside_context->s.bp; UNSUPPORTED("d8oppi8gt9b4eaonkdgb7a54l"); // node_t *n = inside_context->s.n; UNSUPPORTED("dhrqm3z9pldopj98epb4nfoi4"); // boxf bbox; UNSUPPORTED("5a3hmefcpaol32pvsn6wgwi4p"); // /* convert point to node coordinate system */ UNSUPPORTED("7htr4npyn53khcc3o9gi9eew4"); // p = ccwrotatepf(p, 90 * GD_rankdir(agraphof(n))); UNSUPPORTED("57ly3awriopiy2hf7v62cw7ny"); // if (bp == NULL) { UNSUPPORTED("6f802g721m0ev4mztwuama272"); // fld0 = (field_t *) ND_shape_info(n); UNSUPPORTED("blfb7lv2fmwy1z0sax8wmxz17"); // bbox = fld0->b; UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("2punkrny8rmrqvqgluved9xjm"); // bbox = *bp; UNSUPPORTED("ca4t2zns3zehe95rbrig7evej"); // return INSIDE(p, bbox); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3p54k8x2kyueort8kj41qvkty // static int record_path(node_t * n, port * prt, int side, boxf rv[], int *kptr) public static Object record_path(Object... arg) { UNSUPPORTED("98cjokh407kmiyj3ne6z8tugr"); // static int record_path(node_t * n, port * prt, int side, boxf rv[], UNSUPPORTED("5j2zss62xcus5zenfk516rmmp"); // int *kptr) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bxj1nynia6lfoufq42q6fbw81"); // int i, ls, rs; UNSUPPORTED("2bghyit203pd6xw2ihhenzyn8"); // pointf p; UNSUPPORTED("86oi3nfc6x87w7aj799p0ypzn"); // field_t *info; UNSUPPORTED("41x42ivkcydor03dmtntfcr2c"); // if (!prt->defined) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("2q24y4tztoqnjrae3pyz4xos1"); // p = prt->p; UNSUPPORTED("qqnxp10edgu1p0nyl4uq7t2m"); // info = (field_t *) ND_shape_info(n); UNSUPPORTED("2ocjia9onk38jkynynvvsx6wy"); // for (i = 0; i < info->n_flds; i++) { UNSUPPORTED("6hin33h1bfc9sf9lszjmqgyev"); // if (!GD_flip(agraphof(n))) { UNSUPPORTED("72j4jh7zoqcwbpm47gdgozled"); // ls = info->fld[i]->b.LL.x; UNSUPPORTED("86sxinhjfgtxnim78cjm8ptup"); // rs = info->fld[i]->b.UR.x; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("dm9w81fxfdqc5bhtaimpbisvl"); // ls = info->fld[i]->b.LL.y; UNSUPPORTED("3sqtp996aa7m19wv9gwkrvav1"); // rs = info->fld[i]->b.UR.y; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cc82ixosqyaz38wkysyxdbus1"); // if (BETWEEN(ls, p.x, rs)) { UNSUPPORTED("cmdehzhkvreoa7ge2cf6l81ux"); // /* FIXME: I don't understand this code */ UNSUPPORTED("75jifr4aucrxp2hvnsrcfunej"); // if (GD_flip(agraphof(n))) { UNSUPPORTED("8p9z8b0nypgkzi1b3k7sx0fyz"); // rv[0] = flip_rec_boxf(info->fld[i]->b, ND_coord(n)); UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("b2c88nitm58fxzi8rh5vergvc"); // rv[0].LL.x = ND_coord(n).x + ls; UNSUPPORTED("4ivcuhn3xc40qws7sdw4ai8s5"); // rv[0].LL.y = ND_coord(n).y - (ND_ht(n) / 2); UNSUPPORTED("39yu1w8ymm77xe0plqbb1tlsu"); // rv[0].UR.x = ND_coord(n).x + rs; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("78963top1lc1j91gvr130yzlg"); // rv[0].UR.y = ND_coord(n).y + (ND_ht(n) / 2); UNSUPPORTED("9jd15eqfyfmga3uhuzmoiobm4"); // *kptr = 1; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2nk83e61yc1xqh0sxx13m5l1j"); // return side; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 exqpf0bds3z9eae52fqnqdv4f // static void gen_fields(GVJ_t * job, node_t * n, field_t * f) public static Object gen_fields(Object... arg) { UNSUPPORTED("alxnwxfpkfjmexy2v4wj8txsk"); // static void gen_fields(GVJ_t * job, node_t * n, field_t * f) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("676ly5o6s7hfka2a7xkzfm02t"); // pointf AF[2], coord; UNSUPPORTED("cofpjibrqirnx1jqt3qoptoa8"); // if (f->lp) { UNSUPPORTED("ecjyk9xlxeub85r4qs7onmaab"); // f->lp->pos = add_pointf(mid_pointf(f->b.LL, f->b.UR), ND_coord(n)); UNSUPPORTED("ayphvetcwpb3thkz5bz5xrpdy"); // emit_label(job, EMIT_NLABEL, f->lp); UNSUPPORTED("7wlqawgs50g2g4tdmjv67qq9a"); // penColor(job, n); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("80cw1alior8ng7fmhmcmpy9ql"); // coord = ND_coord(n); UNSUPPORTED("7zbyipqbl6t75m71to6vrvnmq"); // for (i = 0; i < f->n_flds; i++) { UNSUPPORTED("72y5kehzju60vd6wi6h7d6r0v"); // if (i > 0) { UNSUPPORTED("xwrnxfxcwmxuxvjpfw1sb7lt"); // if (f->LR) { UNSUPPORTED("31wcrtlrn4wvlomxri9wdvmtj"); // AF[0] = f->fld[i]->b.LL; UNSUPPORTED("27hrv59ztxl0a8b8gttmk2ikp"); // AF[1].x = AF[0].x; UNSUPPORTED("1gqm7vpecmn340v1a2mskym8t"); // AF[1].y = f->fld[i]->b.UR.y; UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("e1tqrqwt7bk5snpfcayjcbyzx"); // AF[1] = f->fld[i]->b.UR; UNSUPPORTED("9r6qdvxkhroix64em71xgwldt"); // AF[0].x = f->fld[i]->b.LL.x; UNSUPPORTED("vymaq435j4bsfggfjzzfiugk"); // AF[0].y = AF[1].y; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("9n3sn3rtnfiq76vd0067xvph3"); // AF[0] = add_pointf(AF[0], coord); UNSUPPORTED("1g9pox6kvg6c5nwlvug1i3dav"); // AF[1] = add_pointf(AF[1], coord); UNSUPPORTED("9nhrbbkzn6ygl91paz8e19asp"); // gvrender_polyline(job, AF, 2); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("56fhzogzd9i3iuh44c2jkxoaa"); // gen_fields(job, n, f->fld[i]); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3bum3y2gmowozskwp7e492wm7 // static void record_gencode(GVJ_t * job, node_t * n) public static Object record_gencode(Object... arg) { UNSUPPORTED("cpq4ylwlb0lwi7ibim51gndor"); // static void record_gencode(GVJ_t * job, node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("bzz7vodjegzgwxp8jzgkq3uti"); // boxf BF; UNSUPPORTED("en6q26cyrg17g6yd6el73b3ns"); // pointf AF[4]; UNSUPPORTED("b89hspuulkkzgmrj59tfy2fus"); // int style; UNSUPPORTED("30fmp9xlabtd67je318axlfiy"); // field_t *f; UNSUPPORTED("6ciz320nm1jdjxir808cycx3t"); // int doMap = (obj->url || obj->explicit_tooltip); UNSUPPORTED("3ml0gugucwlbwt5mbcdlymm8b"); // int filled; UNSUPPORTED("bhtcyodd9jiazat6sqhp9pm4x"); // char* clrs[2]; UNSUPPORTED("9xovezi85vdgw8han4h0wr87s"); // f = (field_t *) ND_shape_info(n); UNSUPPORTED("arohpr2hcj50a0nm6wiegz75n"); // BF = f->b; UNSUPPORTED("9dwww64wl2oaucxyyhoa2u5op"); // BF.LL.x += ND_coord(n).x; UNSUPPORTED("eqak8167f3whj617r6180val"); // BF.LL.y += ND_coord(n).y; UNSUPPORTED("3u5f15d4i1cs3igvot9majw8n"); // BF.UR.x += ND_coord(n).x; UNSUPPORTED("18gannqx4rafy1juoif3uog1p"); // BF.UR.y += ND_coord(n).y; UNSUPPORTED("7pfkga2nn8ltabo2ycvjgma6o"); // if (doMap && !(job->flags & (1<<2))) UNSUPPORTED("6e7g66eeo7n8h8mq556pt3xxy"); // gvrender_begin_anchor(job, UNSUPPORTED("8g7o4dsbwgp9ggtiktgt2m41t"); // obj->url, obj->tooltip, obj->target, UNSUPPORTED("c8tk2e711ojwsnar0y39a73cf"); // obj->id); UNSUPPORTED("6yjfupcwvts03fbmr493ea2ja"); // style = stylenode(job, n); UNSUPPORTED("5qxdje5wxqq1c9786htlyohkx"); // penColor(job, n); UNSUPPORTED("92hvfvrwzs8dy1vdgk97mu8rm"); // clrs[0] = NULL; UNSUPPORTED("a0xb2wsthoxt62j0aks4aht13"); // if (style & (1 << 0)) { UNSUPPORTED("64vz86w7mg90duu37ik1bcm8m"); // char* fillcolor = findFill (n); UNSUPPORTED("4xv0cmpfa4sol0pqmfumr0rnm"); // float frac; UNSUPPORTED("dily1m3rwbo5mniq7aneh3qhu"); // if (findStopColor (fillcolor, clrs, &frac)) { UNSUPPORTED("5m1l4f0yk2x1r9n00p7xoarhk"); // gvrender_set_fillcolor(job, clrs[0]); UNSUPPORTED("850qgpdnne96gxnh244hf2rh2"); // if (clrs[1]) UNSUPPORTED("m1ck996y4kjzra9yxa5gif68"); // gvrender_set_gradient_vals(job,clrs[1],late_int(n,N_gradientangle,0,0), frac); UNSUPPORTED("f3qa0cv737ikcre1vpqlkukio"); // else UNSUPPORTED("72n9vguy2n416qggkz5tpz279"); // gvrender_set_gradient_vals(job,"black",late_int(n,N_gradientangle,0,0), frac); UNSUPPORTED("5dn7m0lqq174sxj9ezr6p8anp"); // if (style & (1 << 1)) UNSUPPORTED("s4xfcz4il9k9jw0w0dh9lzpj"); // filled = 3; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("1ijl60mqfpjns1tss115yw4zp"); // filled = 2; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("7ek7aftv8z293izx886r01oqm"); // filled = 1; UNSUPPORTED("pufcu1p86jfo891eaibok4yb"); // gvrender_set_fillcolor(job, fillcolor); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("53gluhbrz2oi6qw7sff0fb0hj"); // else filled = 0; UNSUPPORTED("a80jadmfy336hxiquc1baf16m"); // if ((*(ND_shape(n)->name)==*("Mrecord")&&!strcmp(ND_shape(n)->name,"Mrecord"))) UNSUPPORTED("6iazzglp38g7uxmnloiwk5ilq"); // style |= (1 << 2); UNSUPPORTED("gn97uo130dzjs4b5bnhnvlsq"); // if (((style) & ((1 << 2) | (1 << 3) | (127 << 24)))) { UNSUPPORTED("5rrbml0v0bc8c6x2ddgjh75p1"); // AF[0] = BF.LL; UNSUPPORTED("8ctty3poiybj8vyrg3fy6s4ju"); // AF[2] = BF.UR; UNSUPPORTED("bqdx8e632ko1pofmr5b91xpmh"); // AF[1].x = AF[2].x; UNSUPPORTED("7gb7yo735gfv67doxjnyl8av7"); // AF[1].y = AF[0].y; UNSUPPORTED("7w69hwqpw5l9f1rsaolr1ytmx"); // AF[3].x = AF[0].x; UNSUPPORTED("cg5ir4ssc1l9d4x56swq1rw0k"); // AF[3].y = AF[2].y; UNSUPPORTED("7gm0bhmoegfvu3uf7hnwfae67"); // round_corners(job, AF, 4, style, filled); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("5sf771cxqfrvdu2vzl3t1687e"); // gvrender_box(job, BF, filled); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9rksrkk1y26l0lgodpusjgg6r"); // gen_fields(job, n, f); UNSUPPORTED("ovdkxg0m1si7d9k8lawdnq"); // if (clrs[0]) free (clrs[0]); UNSUPPORTED("amrlpbo0f5svfvv7e9lzhfzj9"); // if (doMap) { UNSUPPORTED("4drs7w0v5mk7ys9aylmo5lnq8"); // if (job->flags & (1<<2)) UNSUPPORTED("12436nj34of615tb94t3cw2h0"); // gvrender_begin_anchor(job, UNSUPPORTED("2rwb38hipr5rxkwxfdzzwkdmy"); // obj->url, obj->tooltip, obj->target, UNSUPPORTED("4x188hxybttaubn1tt4tf710k"); // obj->id); UNSUPPORTED("e3o6yrnsv8lko5fql4f8a9gly"); // gvrender_end_anchor(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 7unoy39g6rhro6he8kci7oh4n // static shape_desc **UserShape //1 94927xsjiykujshql95ma97vb // static int N_UserShape //3 35sn43hohjmtc7uvkjrx6u7jt // shape_desc *find_user_shape(const char *name) public static Object find_user_shape(Object... arg) { UNSUPPORTED("dn82ttgu4gvl5nnzl8cu29o63"); // shape_desc *find_user_shape(const char *name) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("757gomzjey403egq882hclnn0"); // if (UserShape) { UNSUPPORTED("30x6ygp0c6pjoq410g7sbl3lv"); // for (i = 0; i < N_UserShape; i++) { UNSUPPORTED("3ka0imewegdrxvt7cdk37mqgj"); // if ((*(UserShape[i]->name)==*(name)&&!strcmp(UserShape[i]->name,name))) UNSUPPORTED("5eh2ibmiqg7qx9z5fvoxfnfyo"); // return UserShape[i]; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("o68dp934ebg4cplebgc5hv4v"); // return NULL; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2eqlcx6fsiu46csoml6irvkib // static shape_desc *user_shape(char *name) public static Object user_shape(Object... arg) { UNSUPPORTED("7omo61zea17p3tb29vnkd0g5k"); // static shape_desc *user_shape(char *name) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("7vbdsnuzb5k7dx9t6iq98bqvu"); // shape_desc *p; UNSUPPORTED("1cmwlrf177nfgj5tr0chf53vd"); // if ((p = find_user_shape(name))) UNSUPPORTED("68kasxgknec72r19lohbk6n3q"); // return p; UNSUPPORTED("61jp6r0u1tz0ytbo0pkbtibih"); // i = N_UserShape++; UNSUPPORTED("8m5c0jxj3trkdqlzd49ch4393"); // UserShape = ALLOC(N_UserShape, UserShape, shape_desc *); UNSUPPORTED("2ho6cxrgsfg5i9qgyksouth00"); // p = UserShape[i] = (shape_desc*)zmalloc(sizeof(shape_desc)); UNSUPPORTED("9mrvf7ijsvjzugxe3889n26wy"); // *p = Shapes[0]; UNSUPPORTED("do2hwp4zw8tlp7jj180uisyrb"); // p->name = strdup(name); UNSUPPORTED("2x9tm5f2pfgyebmuac8jgc2j9"); // if (Lib == NULL && !(*(name)==*("custom")&&!strcmp(name,"custom"))) { UNSUPPORTED("dmfmug44jzfjuimu3j7e9meux"); // agerr(AGWARN, "using %s for unknown shape %s\n", Shapes[0].name, UNSUPPORTED("54012lqhgsbg1obhzpdwdl35o"); // p->name); UNSUPPORTED("e7dpsukvk4pid9w6icote4v1b"); // p->usershape = 0; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("di2ydnxklvyghg80rycxyto6o"); // p->usershape = NOT(0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("91xduilalb406jjyw2g1i07th"); // return p; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bmt148wdf0a7gslm7hmp043jy // shape_desc *bind_shape(char *name, node_t * np) public static ST_shape_desc bind_shape(CString name, ST_Agnode_s np) { ENTERING("bmt148wdf0a7gslm7hmp043jy","bind_shape"); try { ST_shape_desc rv = null; CString str; str = safefile(agget(np, new CString("shapefile"))); /* If shapefile is defined and not epsf, set shape = custom */ if (str!=null && UNSUPPORTED("!(*(name)==*(\"epsf\")&&!strcmp(name,\"epsf\"))")!=null) name = new CString("custom"); if (N(name.charAt(0)=='c' && N(strcmp(name,new CString("custom"))))) { for (ST_shape_desc ptr : Z.z().Shapes) { if ((N(strcmp(ptr.name,name)))) { rv = ptr; break; } } } if (rv == null) UNSUPPORTED("7funuix8h6nhe6fqrjsec3kvk"); // rv = user_shape(name); return rv; } finally { LEAVING("bmt148wdf0a7gslm7hmp043jy","bind_shape"); } } //3 9n2zfdpzi6zgvnhcb3kz7nw1u // static boolean epsf_inside(inside_t * inside_context, pointf p) public static Object epsf_inside(Object... arg) { UNSUPPORTED("cq9kgtgzrb9sazy7y2fpt859x"); // static boolean epsf_inside(inside_t * inside_context, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7lh87lvufqsd73q9difg0omei"); // pointf P; UNSUPPORTED("9ikeydfq03qx7m09iencqsk36"); // double x2; UNSUPPORTED("d8oppi8gt9b4eaonkdgb7a54l"); // node_t *n = inside_context->s.n; UNSUPPORTED("823iiqtx9pt0gijqrohrd3zx7"); // P = ccwrotatepf(p, 90 * GD_rankdir(agraphof(n))); UNSUPPORTED("6uktb6bwhvglg7v3nygillmqx"); // x2 = ND_ht(n) / 2; UNSUPPORTED("3gki5ta81e51de9h4b5nvmoij"); // return ((P.y >= -x2) && (P.y <= x2) && (P.x >= -ND_lw(n)) UNSUPPORTED("3bzok6rkdjzamkk155dcqc8n2"); // && (P.x <= ND_rw(n))); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6xv85fky6n2v03mt0dbvpz05e // static void epsf_gencode(GVJ_t * job, node_t * n) public static Object epsf_gencode(Object... arg) { UNSUPPORTED("4mtkoc5bwv0wkraw1xv9ptjlo"); // static void epsf_gencode(GVJ_t * job, node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("31b47kcwg6z2ds4cugdfq5hft"); // epsf_t *desc; UNSUPPORTED("6ciz320nm1jdjxir808cycx3t"); // int doMap = (obj->url || obj->explicit_tooltip); UNSUPPORTED("7wygkmvhwjn2l2fmpw5bj1o6g"); // desc = (epsf_t *) (ND_shape_info(n)); UNSUPPORTED("c98tv4jn3ode5so0mefrwcut7"); // if (!desc) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("7pfkga2nn8ltabo2ycvjgma6o"); // if (doMap && !(job->flags & (1<<2))) UNSUPPORTED("6e7g66eeo7n8h8mq556pt3xxy"); // gvrender_begin_anchor(job, UNSUPPORTED("8g7o4dsbwgp9ggtiktgt2m41t"); // obj->url, obj->tooltip, obj->target, UNSUPPORTED("c8tk2e711ojwsnar0y39a73cf"); // obj->id); UNSUPPORTED("4i1fd7rw5klkjsnyehf6v44a3"); // if (desc) UNSUPPORTED("8yueq6sa0qe98f00ykgedfrzl"); // fprintf(job->output_file, UNSUPPORTED("aqf73hied952lsirjjyf0hfr4"); // "%.5g %.5g translate newpath user_shape_%d\n", UNSUPPORTED("afxenk7cqa80e074cox3d04n5"); // ND_coord(n).x + desc->offset.x, UNSUPPORTED("57mec07ttst0x3aspieywssni"); // ND_coord(n).y + desc->offset.y, desc->macro_id); UNSUPPORTED("1bslo0pyyucx0zmdzt12sei6d"); // ND_label(n)->pos = ND_coord(n); UNSUPPORTED("8r8t0lgzzpigm1odig9a9yg1c"); // emit_label(job, EMIT_NLABEL, ND_label(n)); UNSUPPORTED("amrlpbo0f5svfvv7e9lzhfzj9"); // if (doMap) { UNSUPPORTED("4drs7w0v5mk7ys9aylmo5lnq8"); // if (job->flags & (1<<2)) UNSUPPORTED("12436nj34of615tb94t3cw2h0"); // gvrender_begin_anchor(job, UNSUPPORTED("2rwb38hipr5rxkwxfdzzwkdmy"); // obj->url, obj->tooltip, obj->target, UNSUPPORTED("4x188hxybttaubn1tt4tf710k"); // obj->id); UNSUPPORTED("e3o6yrnsv8lko5fql4f8a9gly"); // gvrender_end_anchor(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d0jsei60yky7c36q8bja8q58d // static pointf star_size (pointf sz0) public static Object star_size(Object... arg) { UNSUPPORTED("6bl2ntfn97yev6qvlwplor61o"); // static pointf star_size (pointf sz0) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3zlnn621zia9mss7z1ay24myc"); // pointf sz; UNSUPPORTED("5u7lf36burm76yokjuxgcd4tn"); // double r0, r, rx, ry; UNSUPPORTED("9ya7hg30u0pmebfvhy4ba5kfp"); // rx = sz0.x/(2*cos((M_PI/10.0))); UNSUPPORTED("y09869s34d94qtdcsuuz4mjy"); // ry = sz0.y/(sin((M_PI/10.0)) + sin((3*(M_PI/10.0)))); UNSUPPORTED("1qn336ppz1ubj5d9vmolmwhfa"); // r0 = MAX(rx,ry); UNSUPPORTED("99spig8n4dowh045zi2u054cf"); // r = (r0*sin((2*(2*(M_PI/10.0))))*cos((2*(M_PI/10.0))))/(cos((M_PI/10.0))*cos((2*(2*(M_PI/10.0))))); UNSUPPORTED("3h9e5okkzg8gzypvpzok96ikc"); // sz.x = 2*r*cos((M_PI/10.0)); UNSUPPORTED("19ba70prhdthsxh7ukqn07tw9"); // sz.y = r*(1 + sin((3*(M_PI/10.0)))); UNSUPPORTED("ban3s2canux7qwxava1n2e4v2"); // return sz; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a7r80ro5nb15ttgfpqwayycmf // static void star_vertices (pointf* vertices, pointf* bb) public static Object star_vertices(Object... arg) { UNSUPPORTED("8p40gvc5ocryzfeoybiuc0tzd"); // static void star_vertices (pointf* vertices, pointf* bb) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("6ebg0h9irk3pcisrj710o7d79"); // pointf sz = *bb; UNSUPPORTED("daheewjo1ertfvnwnfdg2fcxr"); // double offset, a, aspect = (1 + sin((3*(M_PI/10.0))))/(2*cos((M_PI/10.0))); UNSUPPORTED("6ir3jujwrh6dpiqug6p2v3ttj"); // double r, r0, theta = (M_PI/10.0); UNSUPPORTED("3dcxsdbybxzvk7jsod9d2ubvm"); // /* Scale up width or height to required aspect ratio */ UNSUPPORTED("o422759cptua4yuo9guk3367"); // a = sz.y/sz.x; UNSUPPORTED("4czf228z5owjh6ew3vh3ugvdv"); // if (a > aspect) { UNSUPPORTED("97gq966jokpf07dc3wv6hgk45"); // sz.x = sz.y/aspect; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7dnql7ghevwkt7vxe0s4wndha"); // else if (a < aspect) { UNSUPPORTED("aeoxa8vdht2x8kc1xojdwlz3j"); // sz.y = sz.x*aspect; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a8zuo1xnr4jnza3araqzl5q43"); // /* for given sz, get radius */ UNSUPPORTED("5j3gmpqii05zcp2ncicxs2si"); // r = sz.x/(2*cos((M_PI/10.0))); UNSUPPORTED("214oro38cddbf9fk06d0m6duf"); // r0 = (r*cos((M_PI/10.0))*cos((2*(2*(M_PI/10.0)))))/(sin((2*(2*(M_PI/10.0))))*cos((2*(M_PI/10.0)))); UNSUPPORTED("4rot7vm0whb5r2oo8ne4pn1j4"); // /* offset is the y shift of circle center from bb center */ UNSUPPORTED("aa1u9d9ckbucmn1eyvyyijwkf"); // offset = (r*(1 - sin((3*(M_PI/10.0)))))/2; UNSUPPORTED("5zsqst1ddsdoai9yogpi1mnfl"); // for (i = 0; i < 10; i += 2) { UNSUPPORTED("dy5yk8kfoxfn3h4wby7vyciqz"); // vertices[i].x = r*cos(theta); UNSUPPORTED("a3uapptgvfngiztwa4vm4pbuu"); // vertices[i].y = r*sin(theta) - offset; UNSUPPORTED("7z0zntmu5ddcj6evxm9imjmv8"); // theta += (2*(M_PI/10.0)); UNSUPPORTED("da5vtvcsngi7wqtllzq8l190t"); // vertices[i+1].x = r0*cos(theta); UNSUPPORTED("9zr96c70zwnim4wjqf6zn7p68"); // vertices[i+1].y = r0*sin(theta) - offset; UNSUPPORTED("7z0zntmu5ddcj6evxm9imjmv8"); // theta += (2*(M_PI/10.0)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("58zowxx0q5742vxn8iad1i1xe"); // *bb = sz; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5sbhhjvptmhgl2v2zc12aemgv // static boolean star_inside(inside_t * inside_context, pointf p) public static Object star_inside(Object... arg) { UNSUPPORTED("2s46vczrfqrysl35qtk55j8dq"); // static boolean star_inside(inside_t * inside_context, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4ogz1m3q9xn7z7hiecjp98bmt"); // static node_t *lastn; /* last node argument */ UNSUPPORTED("ehzu6nig1i3kg2wnd7f7k9j5n"); // static polygon_t *poly; UNSUPPORTED("cy02ifkuodmjjlsu0kxnyjpoh"); // static int outp, sides; UNSUPPORTED("53wr032f7cpvhrjze3ml553bu"); // static pointf *vertex; UNSUPPORTED("c173x9hgi0epjtbq9crz665t6"); // static pointf O; /* point (0,0) */ UNSUPPORTED("4rtja2mn137n7wcxryrmo12ko"); // boxf *bp = inside_context->s.bp; UNSUPPORTED("d8oppi8gt9b4eaonkdgb7a54l"); // node_t *n = inside_context->s.n; UNSUPPORTED("eu67sekaddiid7bjwclyd9lpq"); // pointf P, Q, R; UNSUPPORTED("dk1ablxthh1rqusv958glmv1k"); // int i, outcnt; UNSUPPORTED("823iiqtx9pt0gijqrohrd3zx7"); // P = ccwrotatepf(p, 90 * GD_rankdir(agraphof(n))); UNSUPPORTED("9nc5qvx5xechvyre5wvhjqpjk"); // /* Quick test if port rectangle is target */ UNSUPPORTED("8ix20ei8mhm5e1r57koylhxmw"); // if (bp) { UNSUPPORTED("48wucupbjgeu51wy1djengl4f"); // boxf bbox = *bp; UNSUPPORTED("b87pzpk1bdd2rzscbmza3pxyu"); // return INSIDE(P, bbox); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8rl2cn4oxr94675yld5eohkie"); // if (n != lastn) { UNSUPPORTED("a7zf42vgzubszo05gyqjhr4bb"); // poly = (polygon_t *) ND_shape_info(n); UNSUPPORTED("2y1ov1roe3ma4wlkdj2w8r3sg"); // vertex = poly->vertices; UNSUPPORTED("98ormfm5j66dmbja3sdsx38az"); // sides = poly->sides; UNSUPPORTED("d41xba93s17axh19qsbhg0x8a"); // /* index to outer-periphery */ UNSUPPORTED("bmmroksk9aecg8ik0z1sxpzie"); // outp = (poly->peripheries - 1) * sides; UNSUPPORTED("47l17pa0edzmfnlr8ysqs0qh4"); // if (outp < 0) UNSUPPORTED("jyf75douzxhfzxfyrq3kes6e"); // outp = 0; UNSUPPORTED("dz5401vppes7iz7b0c6pzkge6"); // lastn = n; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4zcxdh0y0cit31t1myzksbyc"); // outcnt = 0; UNSUPPORTED("bs8ipj0v83bijiw6u6kpz14s1"); // for (i = 0; i < sides; i += 2) { UNSUPPORTED("cmwbnui44mpmy3kjz18pxp1cd"); // Q = vertex[i + outp]; UNSUPPORTED("4oudcajkxkcstsh2bvjaheadi"); // R = vertex[((i+4) % sides) + outp]; UNSUPPORTED("b4anc6i6r4xczgkhjcjudktb"); // if (!(same_side(P, O, Q, R))) { UNSUPPORTED("b291xvw4hm8vcmlaoxcl8dj94"); // outcnt++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3mpbcjrh8r4u6u2twxvyqx9v9"); // if (outcnt == 2) { UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8fwlqtemsmckleh6946lyd8mw"); // return NOT(0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 7nso0aprwwsa0je3az7h9nlue // static char *side_port[] = //3 8hx6dn19tost35djnvvnzh92y // static point cvtPt(pointf p, int rankdir) public static Object cvtPt(Object... arg) { UNSUPPORTED("eid0v5e8f2edm1ehyq1d0zgow"); // static point cvtPt(pointf p, int rankdir) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6nl26joj7b7zxkfry5bt8z27d"); // pointf q = { 0, 0 }; UNSUPPORTED("6em4lvgp5tqcu7z93czp75mqr"); // point Q; UNSUPPORTED("7gnjhunyvxphjgrfh8byey4ch"); // switch (rankdir) { UNSUPPORTED("70xjc0sbkjvexfar5luzibcgf"); // case 0: UNSUPPORTED("a3bxar1i984lfbgqyiie54sqq"); // q = p; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("4u5xz2u3urj13y0aw30fdyup5"); // case 2: UNSUPPORTED("drh1t5heo8w8z199n0vydnon7"); // q.x = p.x; UNSUPPORTED("1sp6xbp6wduyl3r6q3ki03lj"); // q.y = -p.y; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("d0gk15gzj4wz8nv54zbr285hm"); // case 1: UNSUPPORTED("aqxuqmimmi2id7ukk2b64x1in"); // q.y = p.x; UNSUPPORTED("djyedvti0u3rb22lyp3mp7i8n"); // q.x = -p.y; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("33l7a58zp8vj6fuliwdkk2nkn"); // case 3: UNSUPPORTED("aqxuqmimmi2id7ukk2b64x1in"); // q.y = p.x; UNSUPPORTED("7d33c84ojx2qc6awisfs88pf5"); // q.x = p.y; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5da6w8o8qgq5rx9tk3asaefvi"); // PF2P(q, Q); UNSUPPORTED("11g52me0fwkpxm5crnv4uqfgr"); // return Q; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cmt4wr13jgcd9ihg14t972aam // static char *closestSide(node_t * n, node_t * other, port * oldport) public static Object closestSide(Object... arg) { UNSUPPORTED("7nx8rmo64f0qpalnfdir13szh"); // static char *closestSide(node_t * n, node_t * other, port * oldport) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("6yudcsapgh1wsfc2gfszyhv9j"); // int rkd = GD_rankdir(agraphof(n)->root); UNSUPPORTED("7f1eg16y5dgh2o3bgeyia19n3"); // point p = { 0, 0 }; UNSUPPORTED("dc41k2vc95rcs2d9fsi2z8wem"); // point pt = cvtPt(ND_coord(n), rkd); UNSUPPORTED("bk9nxen9ygr1a03ygu4cdx4rj"); // point opt = cvtPt(ND_coord(other), rkd); UNSUPPORTED("4oio8elmu3g3k7i9rcsme7msk"); // int sides = oldport->side; UNSUPPORTED("2lc32htm5f42afmf30kcuxspa"); // char *rv = NULL; UNSUPPORTED("5myu0a4ngtwkfxidkfff5h3ci"); // int i, d, mind = 0; UNSUPPORTED("42bedbxabt6b225h992k8rfpa"); // if ((sides == 0) || (sides == ((1<<2) | (1<<0) | (1<<3) | (1<<1)))) UNSUPPORTED("85378rh1rr2g6iscv3ocyh4ky"); // return rv; /* use center */ UNSUPPORTED("9qqot69wqtq8rkizbwz0f4vu"); // if (oldport->bp) { UNSUPPORTED("ckp5i3rvsjcc5f9xk025kpv81"); // b = *oldport->bp; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("ek9a7u2yx8w4r9x5k7somxuup"); // if (GD_flip(agraphof(n))) { UNSUPPORTED("5m0qxjiybs5ei0xyt8rztghk5"); // b.UR.x = ND_ht(n) / 2; UNSUPPORTED("1i4y4dgrig36gh0dq2jn8kde"); // b.LL.x = -b.UR.x; UNSUPPORTED("7luuqd8n7bpffoa8v27jp7tn3"); // b.UR.y = ND_lw(n); UNSUPPORTED("922vazdrkwhoxxy4yw5axu6i7"); // b.LL.y = -b.UR.y; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("2kqd0a7y22hequs0ypjfw2ltw"); // b.UR.y = ND_ht(n) / 2; UNSUPPORTED("922vazdrkwhoxxy4yw5axu6i7"); // b.LL.y = -b.UR.y; UNSUPPORTED("59beisnsabbp6eavnuxrqch2d"); // b.UR.x = ND_lw(n); UNSUPPORTED("1i4y4dgrig36gh0dq2jn8kde"); // b.LL.x = -b.UR.x; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a2n8aqfq0cqpx8elstmfn9oq6"); // for (i = 0; i < 4; i++) { UNSUPPORTED("bs33qxg9liuq4cqnxgjcpo2pp"); // if ((sides & (1 << i)) == 0) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("9bo1itj979wxduxtvlcn8uetb"); // switch (i) { UNSUPPORTED("46lzlkypfilrge90rkaiveuyb"); // case 0: UNSUPPORTED("c2y7pxvutf20cxm0z3nfgoc3k"); // p.y = b.LL.y; UNSUPPORTED("2vekwappcfvbfvrjvig9oqlmp"); // p.x = (b.LL.x + b.UR.x) / 2; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("2o83im06dulx11wjpy469gkoa"); // case 1: UNSUPPORTED("6ertkjhcjyaq08zsm3g294l4b"); // p.x = b.UR.x; UNSUPPORTED("3jxafko9fvkftv1vxjstl9gr5"); // p.y = (b.LL.y + b.UR.y) / 2; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("b8vgbvwzllfs4lrqmmqyr1spk"); // case 2: UNSUPPORTED("7gucyzlkpil4bfg1hpst17k3d"); // p.y = b.UR.y; UNSUPPORTED("2vekwappcfvbfvrjvig9oqlmp"); // p.x = (b.LL.x + b.UR.x) / 2; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1640m8as34e90xhvvtl877cmo"); // case 3: UNSUPPORTED("3hd28hpejkfur36krdelc2enk"); // p.x = b.LL.x; UNSUPPORTED("3jxafko9fvkftv1vxjstl9gr5"); // p.y = (b.LL.y + b.UR.y) / 2; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("7lafbtu79v445pj4z8m4brkmm"); // p.x += pt.x; UNSUPPORTED("ef9oyp0p6aqlpy8atlw8pjnj2"); // p.y += pt.y; UNSUPPORTED("q27stk74ksja0hoiobb8mpfg"); // d = DIST2(p, opt); UNSUPPORTED("77inwlax2kjikvjehyh67g2v1"); // if (!rv || (d < mind)) { UNSUPPORTED("e4k01qtlw2t5jf3hpn1bmxivu"); // mind = d; UNSUPPORTED("cghq7r095a9g9ix9m1bfx0niw"); // rv = side_port[i]; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ckbg1dyu9jzx7g0c9dbriez7r // port resolvePort(node_t * n, node_t * other, port * oldport) public static ST_port resolvePort(ST_Agnode_s n, ST_Agnode_s other, ST_port oldport) { // WARNING!! STRUCT return resolvePort_w_(n, other, oldport).copy(); } private static ST_port resolvePort_w_(ST_Agnode_s n, ST_Agnode_s other, ST_port oldport) { ENTERING("ckbg1dyu9jzx7g0c9dbriez7r","resolvePort"); try { UNSUPPORTED("1aa44pvk8su341rug2x5h5h9o"); // port resolvePort(node_t * n, node_t * other, port * oldport) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9ricxd1wv1am78xxjvd40ki5e"); // port rv; UNSUPPORTED("jdbaecwphvo5avabk6l4xiy3"); // char *compass = closestSide(n, other, oldport); UNSUPPORTED("afwu4bhodfj1avn0vvvmp2j5n"); // /* transfer name pointer; all other necessary fields will be regenerated */ UNSUPPORTED("102hdormt85y9xfjr5sy321jr"); // rv.name = oldport->name; UNSUPPORTED("f4v5e5pyzu6udom6g40aku41y"); // compassPort(n, oldport->bp, &rv, compass, oldport->side, NULL); UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("ckbg1dyu9jzx7g0c9dbriez7r","resolvePort"); } } //3 9ttd9vkih0mogy1ps3khfjum6 // void resolvePorts(edge_t * e) public static Object resolvePorts(Object... arg) { UNSUPPORTED("ceen1bdr2y10gl9g3stj9dq13"); // void resolvePorts(edge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1avf6c49h37pc64khn45b3zla"); // if (ED_tail_port(e).dyna) UNSUPPORTED("bjgkohc8n22pf9yf5anfmfjdl"); // ED_tail_port(e) = UNSUPPORTED("c5phu7zavynmooq4ykt058d6t"); // resolvePort(agtail(e), aghead(e), &ED_tail_port(e)); UNSUPPORTED("56ff4qr7o1xsl73k68f4kjmd1"); // if (ED_head_port(e).dyna) UNSUPPORTED("d4aylrk5xwagx7so633xn35ug"); // ED_head_port(e) = UNSUPPORTED("ctvcevp7oejtitu1hunh3yj02"); // resolvePort(aghead(e), agtail(e), &ED_head_port(e)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/common/splines__c.java000066400000000000000000002636031340005343600226540ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static gen.lib.cgraph.edge__c.aghead; import static gen.lib.cgraph.edge__c.agtail; import static gen.lib.cgraph.obj__c.agraphof; import static gen.lib.common.arrows__c.arrowEndClip; import static gen.lib.common.arrows__c.arrowStartClip; import static gen.lib.common.arrows__c.arrow_flags; import static gen.lib.common.emit__c.update_bb_bz; import static gen.lib.common.shapes__c.resolvePort; import static gen.lib.common.utils__c.Bezier; import static gen.lib.common.utils__c.dotneato_closest; import static smetana.core.JUtils.EQ; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.ABS; import static smetana.core.Macro.ALLOC_ST_bezier; import static smetana.core.Macro.APPROXEQPT; import static smetana.core.Macro.ED_edge_type; import static smetana.core.Macro.ED_head_port; import static smetana.core.Macro.ED_label; import static smetana.core.Macro.ED_spl; import static smetana.core.Macro.ED_tail_port; import static smetana.core.Macro.ED_to_orig; import static smetana.core.Macro.GD_bb; import static smetana.core.Macro.GD_flags; import static smetana.core.Macro.GD_flip; import static smetana.core.Macro.MAX; import static smetana.core.Macro.MILLIPOINT; import static smetana.core.Macro.MIN; import static smetana.core.Macro.N; import static smetana.core.Macro.ND_coord; import static smetana.core.Macro.ND_node_type; import static smetana.core.Macro.ND_order; import static smetana.core.Macro.ND_rank; import static smetana.core.Macro.ND_rw; import static smetana.core.Macro.ND_shape; import static smetana.core.Macro.NOT; import static smetana.core.Macro.NOTI; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agedge_s; import h.ST_Agnode_s; import h.ST_Agraph_s; import h.ST_bezier; import h.ST_boxf; import h.ST_inside_t; import h.ST_path; import h.ST_pathend_t; import h.ST_pointf; import h.ST_splineInfo; import h.ST_splines; import h.ST_textlabel_t; import smetana.core.CFunction; import smetana.core.MutableDouble; import smetana.core.__ptr__; public class splines__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6izm0fbkejw7odmiw4zaw1ycp // static void arrow_clip(edge_t * fe, node_t * hn, pointf * ps, int *startp, int *endp, bezier * spl, splineInfo * info) public static void arrow_clip(ST_Agedge_s fe, ST_Agnode_s hn, ST_pointf.Array ps, int startp[], int endp[], ST_bezier spl, ST_splineInfo info) { ENTERING("6izm0fbkejw7odmiw4zaw1ycp","arrow_clip"); try { ST_Agedge_s e; int i; boolean j; int sflag[] = new int[]{0}; int eflag[] = new int[]{0}; for (e = fe; ED_to_orig(e)!=null; e = ED_to_orig(e)); if (info.ignoreSwap) j = false; else j = (Boolean) info.swapEnds.exe(e); arrow_flags(e, sflag, eflag); if ((Boolean) info.splineMerge.exe(hn)) eflag[0] = 0; if ((Boolean) info.splineMerge.exe(agtail(fe))) sflag[0] = 0; /* swap the two ends */ if (j) { i = sflag[0]; sflag[0] = eflag[0]; eflag[0] = i; } if (info.isOrtho) { UNSUPPORTED("7a3lmojyfh13d6shkviuogx2c"); // if (eflag || sflag) UNSUPPORTED("dzbrwr2ulubtjkbd8j2o4yyov"); // arrowOrthoClip(e, ps, *startp, *endp, spl, sflag, eflag); } else { if (sflag[0]!=0) startp[0] = arrowStartClip(e, ps, startp[0], endp[0], spl, sflag[0]); if (eflag[0]!=0) endp[0] = arrowEndClip(e, ps, startp[0], endp[0], spl, eflag[0]); } } finally { LEAVING("6izm0fbkejw7odmiw4zaw1ycp","arrow_clip"); } } //3 q4t1ywnk3wm1vyh5seoj7xye // void bezier_clip(inside_t * inside_context, boolean(*inside) (inside_t * inside_context, pointf p), pointf * sp, boolean left_inside) public static void bezier_clip(__ptr__ inside_context, __ptr__ inside, ST_pointf.Array sp, boolean left_inside) { ENTERING("q4t1ywnk3wm1vyh5seoj7xye","bezier_clip"); try { final ST_pointf.Array seg = new ST_pointf.Array( 4); final ST_pointf.Array best = new ST_pointf.Array( 4); final ST_pointf pt = new ST_pointf(), opt = new ST_pointf(); __ptr__ left, right; final MutableDouble low = new MutableDouble(0), high = new MutableDouble(0); double t; MutableDouble idir, odir; boolean found; int i; if (left_inside) { left = null; right = seg.asPtr(); pt.___(sp.plus(0).getStruct()); idir = low; odir = high; } else { left = seg.asPtr(); right = null; pt.___(sp.plus(3).getStruct()); idir = high; odir = low; } found = false; low.setValue(0.0); high.setValue(1.0); do { opt.___(pt); t = (high.getValue() + low.getValue()) / 2.0; pt.___(Bezier(sp, 3, t, left, right)); if ((Boolean) ((CFunction)inside).exe(inside_context, pt)) { idir.setValue(t); } else { for (i = 0; i < 4; i++) best.plus(i).setStruct(seg.plus(i).getStruct()); found = NOT(false); odir.setValue(t); } } while (ABS(opt.x - pt.x) > .5 || ABS(opt.y - pt.y) > .5); if (found) for (i = 0; i < 4; i++) sp.plus(i).setStruct(best.plus(i).getStruct()); else for (i = 0; i < 4; i++) sp.plus(i).setStruct(seg.plus(i).getStruct()); } finally { LEAVING("q4t1ywnk3wm1vyh5seoj7xye","bezier_clip"); } } //3 1fjkj1ydhtlf13pqj5r041orq // static void shape_clip0(inside_t * inside_context, node_t * n, pointf curve[4], boolean left_inside) public static void shape_clip0(__ptr__ inside_context, ST_Agnode_s n, ST_pointf.Array curve, boolean left_inside) { ENTERING("1fjkj1ydhtlf13pqj5r041orq","shape_clip0"); try { int i; double save_real_size; final ST_pointf.Array c = new ST_pointf.Array( 4); save_real_size = ND_rw(n); for (i = 0; i < 4; i++) { c.plus(i).setDouble("x", curve.get(i).x - ND_coord(n).x); c.plus(i).setDouble("y", curve.get(i).y - ND_coord(n).y); } bezier_clip(inside_context, ND_shape(n).fns.insidefn, c, left_inside); for (i = 0; i < 4; i++) { curve.plus(i).setDouble("x", c.get(i).x + ND_coord(n).x); curve.plus(i).setDouble("y", c.get(i).y + ND_coord(n).y); } ND_rw(n, save_real_size); } finally { LEAVING("1fjkj1ydhtlf13pqj5r041orq","shape_clip0"); } } //3 5m4auahepda0ug3e1o05gm0kf // void shape_clip(node_t * n, pointf curve[4]) public static Object shape_clip(Object... arg) { UNSUPPORTED("14nvh1wyusdizrbkaqswyz6a3"); // void shape_clip(node_t * n, pointf curve[4]) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9htbadryixdqglsfxbj66m3na"); // double save_real_size; UNSUPPORTED("9hp0vh92flvlgoaxmzp4h6uaq"); // boolean left_inside; UNSUPPORTED("a3jcleu2wok75rpalgfjt6tte"); // pointf c; UNSUPPORTED("114lbsab8twbq15luo36j31q2"); // inside_t inside_context; UNSUPPORTED("eua5l3utehs8yu615w4iusufv"); // if (ND_shape(n) == NULL || ND_shape(n)->fns->insidefn == NULL) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("a8yyudcgedtaoi8ey9sje90ph"); // inside_context.s.n = n; UNSUPPORTED("3y9eccm2tmdyx34ew24hitfqq"); // inside_context.s.bp = NULL; UNSUPPORTED("27aelctxo5teujbhkeu9x73hp"); // save_real_size = ND_rw(n); UNSUPPORTED("21zlezol1pqversb7b7rso1hl"); // c.x = curve[0].x - ND_coord(n).x; UNSUPPORTED("dxn2z9gn2x96x83fwcba9bdme"); // c.y = curve[0].y - ND_coord(n).y; UNSUPPORTED("5o23jq82y9dhpry5f9u9umk5d"); // left_inside = ND_shape(n)->fns->insidefn(&inside_context, c); UNSUPPORTED("9q38fqg00ynddr6952dvaz6n3"); // ND_rw(n) = save_real_size; UNSUPPORTED("w5x58kft1tdd1d2ae83yfrej"); // shape_clip0(&inside_context, n, curve, left_inside); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bdirexg1qdtophlh0ofjvsmj7 // bezier *new_spline(edge_t * e, int sz) public static ST_bezier new_spline(ST_Agedge_s e, int sz) { ENTERING("bdirexg1qdtophlh0ofjvsmj7","new_spline"); try { ST_bezier rv; while (ED_edge_type(e) != 0) e = ED_to_orig(e); if (ED_spl(e) == null) ED_spl(e, new ST_splines()); ED_spl(e).list = ALLOC_ST_bezier(ED_spl(e).size + 1, ED_spl(e).list); rv = (ST_bezier) ED_spl(e).list.plus(ED_spl(e).size).getPtr(); ED_spl(e).setInt("size", ED_spl(e).size+1); rv.list = new ST_pointf.Array(sz); rv.setInt("size", sz); rv.setInt("sflag", 0); rv.setInt("eflag", 0); rv.sp.setDouble("x", 0); rv.sp.setDouble("y", 0); rv.ep.setDouble("x", 0); rv.ep.setDouble("y", 0); return rv; } finally { LEAVING("bdirexg1qdtophlh0ofjvsmj7","new_spline"); } } //3 duednxyuvf6xrff752uuv620f // void clip_and_install(edge_t * fe, node_t * hn, pointf * ps, int pn, splineInfo * info) public static void clip_and_install(ST_Agedge_s fe, ST_Agnode_s hn, ST_pointf.Array ps, int pn, ST_splineInfo info) { ENTERING("duednxyuvf6xrff752uuv620f","clip_and_install"); try { final ST_pointf p2 = new ST_pointf(); ST_bezier newspl; ST_Agnode_s tn; int start[] = new int[] {0}; int end[] = new int[] {0}; int i, clipTail=0, clipHead=0; ST_Agraph_s g; ST_Agedge_s orig; ST_boxf tbox=null, hbox=null; final ST_inside_t inside_context = new ST_inside_t(); tn = agtail(fe); g = agraphof(tn); newspl = new_spline(fe, pn); for (orig = fe; ED_edge_type(orig) != 0; orig = ED_to_orig(orig)); /* may be a reversed flat edge */ if (N(info.ignoreSwap) && (ND_rank(tn) == ND_rank(hn)) && (ND_order(tn) > ND_order(hn))) { ST_Agnode_s tmp; tmp = hn; hn = tn; tn = tmp; } if (EQ(tn, agtail(orig))) { clipTail = ED_tail_port(orig).clip; clipHead = ED_head_port(orig).clip; tbox = (ST_boxf) ED_tail_port(orig).bp; hbox = (ST_boxf) ED_head_port(orig).bp; } else { /* fe and orig are reversed */ clipTail = ED_head_port(orig).clip; clipHead = ED_tail_port(orig).clip; hbox = (ST_boxf) ED_tail_port(orig).bp; tbox = (ST_boxf) ED_head_port(orig).bp; } /* spline may be interior to node */ if(clipHead!=0 && ND_shape(tn)!=null && ND_shape(tn).fns.insidefn!=null) { inside_context.setPtr("s.n", tn); inside_context.setPtr("s.bp", tbox); for (start[0] = 0; start[0] < pn - 4; start[0] += 3) { p2.setDouble("x", ps.get(start[0] + 3).x - ND_coord(tn).x); p2.setDouble("y", ps.get(start[0] + 3).y - ND_coord(tn).y); if (((Boolean)ND_shape(tn).fns.insidefn.exe(inside_context, p2)) == false) break; } shape_clip0(inside_context, tn, ps.plus(start[0]), NOT(false)); } else start[0] = 0; if(clipHead!=0 && ND_shape(hn)!=null && ND_shape(hn).fns.insidefn!=null) { inside_context.setPtr("s.n", hn); inside_context.setPtr("s.bp", hbox); for (end[0] = pn - 4; end[0] > 0; end[0] -= 3) { p2.setDouble("x", ps.get(end[0]).x - ND_coord(hn).x); p2.setDouble("y", ps.get(end[0]).y - ND_coord(hn).y); if (((Boolean)ND_shape(hn).fns.insidefn.exe(inside_context, p2)) == false) break; } shape_clip0(inside_context, hn, ps.plus(end[0]), false); } else end[0] = pn - 4; for (; start[0] < pn - 4; start[0] += 3) if (N(APPROXEQPT(ps.plus(start[0]).getPtr(), ps.plus(start[0] + 3).getPtr(), MILLIPOINT))) break; for (; end[0] > 0; end[0] -= 3) if (N(APPROXEQPT(ps.plus(end[0]).getPtr(), ps.plus(end[0] + 3).getPtr(), MILLIPOINT))) break; arrow_clip(fe, hn, ps, start, end, newspl, info); for (i = start[0]; i < end[0] + 4; ) { final ST_pointf.Array cp = new ST_pointf.Array( 4); newspl.list.get(i - start[0]).setStruct(ps.plus(i).getStruct()); cp.plus(0).setStruct(ps.plus(i).getStruct()); i++; if ( i >= end[0] + 4) break; newspl.list.get(i - start[0]).setStruct(ps.plus(i).getStruct()); cp.plus(1).setStruct(ps.plus(i).getStruct()); i++; newspl.list.get(i - start[0]).setStruct(ps.plus(i).getStruct()); cp.plus(2).setStruct(ps.plus(i).getStruct()); i++; cp.plus(3).setStruct(ps.plus(i).getStruct()); update_bb_bz(GD_bb(g), cp); } newspl.setInt("size", end[0] - start[0] + 4); } finally { LEAVING("duednxyuvf6xrff752uuv620f","clip_and_install"); } } //3 25ndy15kghfrogsv0b0o0xkgv // static double conc_slope(node_t* n) public static double conc_slope(ST_Agnode_s n) { ENTERING("25ndy15kghfrogsv0b0o0xkgv","conc_slope"); try { UNSUPPORTED("e388y3vtrp8f6spgh9q4wx37w"); // static double UNSUPPORTED("4yxpid2dxvb387487trn1umlw"); // conc_slope(node_t* n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9669xuley9dxylr00ex9kbzg7"); // double s_in, s_out, m_in, m_out; UNSUPPORTED("wfd0ht8utdwwqctf47l4dtrz"); // int cnt_in, cnt_out; UNSUPPORTED("2bghyit203pd6xw2ihhenzyn8"); // pointf p; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("apjf2mf9d7qj0eo9o2x5yli2e"); // s_in = s_out = 0.0; UNSUPPORTED("7mc6shwmvz25mz9inwj97lqk6"); // for (cnt_in = 0; (e = ND_in(n).list[cnt_in]); cnt_in++) UNSUPPORTED("cb1h5cx7oxhtdkm5l0k6qrx2z"); // s_in += ND_coord(agtail(e)).x; UNSUPPORTED("hjfqfqmtdqdrp9z80ebrpthm"); // for (cnt_out = 0; (e = ND_out(n).list[cnt_out]); cnt_out++) UNSUPPORTED("2iidrr9ljv8ap9s2g6gj3q1o3"); // s_out += ND_coord(aghead(e)).x; UNSUPPORTED("2yeio9xc9oorju7qqnhilwujx"); // p.x = ND_coord(n).x - (s_in / cnt_in); UNSUPPORTED("87jzl9isj7w9kgyr05inw33s5"); // p.y = ND_coord(n).y - ND_coord(agtail(ND_in(n).list[0])).y; UNSUPPORTED("6y2pc9af2xxdqajbpykvca9eg"); // m_in = atan2(p.y, p.x); UNSUPPORTED("ruwz5svpk33ucfgs4wx0xolm"); // p.x = (s_out / cnt_out) - ND_coord(n).x; UNSUPPORTED("8vif8c37lbo7ww4vwfrcxgpmr"); // p.y = ND_coord(aghead(ND_out(n).list[0])).y - ND_coord(n).y; UNSUPPORTED("ez8z3gbteryfhktbqkwmzhhzs"); // m_out = atan2(p.y, p.x); UNSUPPORTED("ej1ftaglexa47x955elb88yh2"); // return ((m_in + m_out) / 2.0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("25ndy15kghfrogsv0b0o0xkgv","conc_slope"); } } //3 egq4f4tmy1dhyj6jpj92r7xhu // void add_box(path * P, boxf b) public static void add_box(ST_path P, final ST_boxf b) { // WARNING!! STRUCT add_box_w_(P, b.copy()); } private static void add_box_w_(ST_path P, final ST_boxf b) { ENTERING("egq4f4tmy1dhyj6jpj92r7xhu","add_box"); try { if (b.LL.x < b.UR.x && b.LL.y < b.UR.y) { P.boxes[P.nbox].setStruct(b); P.nbox = P.nbox+1; } } finally { LEAVING("egq4f4tmy1dhyj6jpj92r7xhu","add_box"); } } //3 7pc43ifcw5g56449d101qf590 // void beginpath(path * P, edge_t * e, int et, pathend_t * endp, boolean merge) public static void beginpath(ST_path P, ST_Agedge_s e, int et, ST_pathend_t endp, boolean merge) { ENTERING("7pc43ifcw5g56449d101qf590","beginpath"); try { int side, mask; ST_Agnode_s n; CFunction pboxfn; n = agtail(e); if (ED_tail_port(e).dyna!=0) ED_tail_port(e, resolvePort(agtail(e), aghead(e), ED_tail_port(e))); if (ND_shape(n)!=null) pboxfn = (CFunction) ND_shape(n).fns.pboxfn; else pboxfn = null; P.start.setStruct("p", add_pointf(ND_coord(n), (ST_pointf) ED_tail_port(e).p)); if (merge) { /*P->start.theta = - M_PI / 2; */ P.start.setDouble("theta", conc_slope(agtail(e))); P.start.constrained= NOTI(false); } else { if (ED_tail_port(e).constrained!=0) { P.start.setDouble("theta", ED_tail_port(e).theta); P.start.constrained= NOTI(false); } else P.start.constrained= 0; } P.nbox = 0; P.setPtr("data", e); endp.setStruct("np", P.start.p); if ((et == 1) && (ND_node_type(n) == 0) && ((side = ED_tail_port(e).side)!=0)) { UNSUPPORTED("a7lrhlfwr0y475aqjk6abhb3b"); // edge_t* orig; UNSUPPORTED("ew7nyfe712nsiphifeztwxfop"); // boxf b0, b = endp->nb; UNSUPPORTED("ait3wtnnvt134z2k87lvhq4ek"); // if (side & (1<<2)) { UNSUPPORTED("1r4lctdj9z1ivlz3uqpcj1yzf"); // endp->sidemask = (1<<2); UNSUPPORTED("arq09sf82lsjuxwfkesprcrcv"); // if (P->start.p.x < ND_coord(n).x) { /* go left */ UNSUPPORTED("bj4z8gwgs6j5fax8k6l3u6mv3"); // b0.LL.x = b.LL.x - 1; UNSUPPORTED("54rmdm0xwy361tjs4aj6cv401"); // /* b0.LL.y = ND_coord(n).y + HT2(n); */ UNSUPPORTED("11ax5pxz4q2uh0nzsrs1qs7ck"); // b0.LL.y = P->start.p.y; UNSUPPORTED("5xsapgq04e1hslq2835500q6k"); // b0.UR.x = b.UR.x; UNSUPPORTED("9ro8mx52kgsoogvlgfubgn4p0"); // b0.UR.y = ND_coord(n).y + (ND_ht(n)/2) + GD_ranksep(agraphof(n))/2; UNSUPPORTED("6p2nw1nh0qwn5ro3dltmd6w6c"); // b.UR.x = ND_coord(n).x - ND_lw(n) - (2-2); UNSUPPORTED("czvxm3loj0won7ye2b3xrfbv4"); // b.UR.y = b0.LL.y; UNSUPPORTED("1f4u492auf4ku7ik170e86iy3"); // b.LL.y = ND_coord(n).y - (ND_ht(n)/2); UNSUPPORTED("w9wsmby4dawn9npux1jrd9gl"); // b.LL.x -= 1; UNSUPPORTED("2f8usay82b128dq0sk4aqzw3h"); // endp->boxes[0] = b0; UNSUPPORTED("2diqdwueoy5oizl5kmbz6uyi8"); // endp->boxes[1] = b; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("7sk0msbospwpwupzwpu8v87qt"); // b0.LL.x = b.LL.x; UNSUPPORTED("11ax5pxz4q2uh0nzsrs1qs7ck"); // b0.LL.y = P->start.p.y; UNSUPPORTED("54rmdm0xwy361tjs4aj6cv401"); // /* b0.LL.y = ND_coord(n).y + HT2(n); */ UNSUPPORTED("4e5ydpfmxn1wuhnp78arn3f9x"); // b0.UR.x = b.UR.x+1; UNSUPPORTED("9ro8mx52kgsoogvlgfubgn4p0"); // b0.UR.y = ND_coord(n).y + (ND_ht(n)/2) + GD_ranksep(agraphof(n))/2; UNSUPPORTED("3f26r03ydc7aq52vcqpgxawgy"); // b.LL.x = ND_coord(n).x + ND_rw(n) + (2-2); UNSUPPORTED("czvxm3loj0won7ye2b3xrfbv4"); // b.UR.y = b0.LL.y; UNSUPPORTED("1f4u492auf4ku7ik170e86iy3"); // b.LL.y = ND_coord(n).y - (ND_ht(n)/2); UNSUPPORTED("bqk56pohk8hpgn91lv4m2zkv0"); // b.UR.x += 1; UNSUPPORTED("2f8usay82b128dq0sk4aqzw3h"); // endp->boxes[0] = b0; UNSUPPORTED("2diqdwueoy5oizl5kmbz6uyi8"); // endp->boxes[1] = b; UNSUPPORTED("196ta4n5nsqizd83y6oo7z8a2"); // } UNSUPPORTED("b7lioq6g7moe5otds46c8hrc"); // P->start.p.y += 1; UNSUPPORTED("4v7mmisc358r5tpq14qp4dx0f"); // endp->boxn = 2; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3s4re3z7asydnnotdylt94t1d"); // else if (side & (1<<0)) { UNSUPPORTED("auefgwb39x5hzqqc9b1zgl239"); // endp->sidemask = (1<<0); UNSUPPORTED("ax7mx0s11g0pgcgb8iopcu82a"); // b.UR.y = MAX(b.UR.y,P->start.p.y); UNSUPPORTED("esv3oinoscr6zht0kce49o450"); // endp->boxes[0] = b; UNSUPPORTED("3hptqfzzuz4dlsc8ejk1ynxt9"); // endp->boxn = 1; UNSUPPORTED("8pyl2559euuaxrntsyzj1ve8w"); // P->start.p.y -= 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("bn3pwhefgp4zdatx3g60lj0ou"); // else if (side & (1<<3)) { UNSUPPORTED("2lmjkw07sr4x9a3xxrcb3yj07"); // endp->sidemask = (1<<3); UNSUPPORTED("bmdw7h7pzwkfbuzhxnsh4vbsm"); // b.UR.x = P->start.p.x; UNSUPPORTED("c86scga1j3ar95pgqvemnzrui"); // b.LL.y = ND_coord(n).y - (ND_ht(n)/2); UNSUPPORTED("cdhdxsyg42tregieb2l7kz8n"); // b.UR.y = P->start.p.y; UNSUPPORTED("esv3oinoscr6zht0kce49o450"); // endp->boxes[0] = b; UNSUPPORTED("3hptqfzzuz4dlsc8ejk1ynxt9"); // endp->boxn = 1; UNSUPPORTED("celmm9njwdxhpvd56zon98hrr"); // P->start.p.x -= 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("8kgb5ztvt4yv5h0nezr0q6n3z"); // endp->sidemask = (1<<1); UNSUPPORTED("cysdxceleujmu3rckrhibxaqd"); // b.LL.x = P->start.p.x; UNSUPPORTED("c86scga1j3ar95pgqvemnzrui"); // b.LL.y = ND_coord(n).y - (ND_ht(n)/2); UNSUPPORTED("cdhdxsyg42tregieb2l7kz8n"); // b.UR.y = P->start.p.y; UNSUPPORTED("esv3oinoscr6zht0kce49o450"); // endp->boxes[0] = b; UNSUPPORTED("3hptqfzzuz4dlsc8ejk1ynxt9"); // endp->boxn = 1; UNSUPPORTED("1n8o29xgguq4cce4rf04o5rke"); // P->start.p.x += 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("4gatpb3u0rq9nikm6rjtejp85"); // for (orig = e; ED_edge_type(orig) != 0; orig = ED_to_orig(orig)); UNSUPPORTED("askl6l2rq6b2bznfxj7ydvz5t"); // if (n == agtail(orig)) UNSUPPORTED("dk49xvmby8949ngdmft4sgrox"); // ED_tail_port(orig).clip = 0; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("2tw6ymudedo6qij3ux424ydsi"); // ED_head_port(orig).clip = 0; UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; } if ((et == 2) && ((side = ED_tail_port(e).side)!=0)) { UNSUPPORTED("ew7nyfe712nsiphifeztwxfop"); // boxf b0, b = endp->nb; UNSUPPORTED("a7lrhlfwr0y475aqjk6abhb3b"); // edge_t* orig; UNSUPPORTED("ait3wtnnvt134z2k87lvhq4ek"); // if (side & (1<<2)) { UNSUPPORTED("d7fd91oymbo1kkxfqhtbe2jky"); // b.LL.y = MIN(b.LL.y,P->start.p.y); UNSUPPORTED("esv3oinoscr6zht0kce49o450"); // endp->boxes[0] = b; UNSUPPORTED("3hptqfzzuz4dlsc8ejk1ynxt9"); // endp->boxn = 1; UNSUPPORTED("b7lioq6g7moe5otds46c8hrc"); // P->start.p.y += 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3s4re3z7asydnnotdylt94t1d"); // else if (side & (1<<0)) { UNSUPPORTED("6h0f9z7wklonn021j8ijd3b8m"); // if (endp->sidemask == (1<<2)) { UNSUPPORTED("7vjialx9rln6cj2y0ni5nc2gi"); // b0.UR.y = ND_coord(n).y - (ND_ht(n)/2); UNSUPPORTED("4e5ydpfmxn1wuhnp78arn3f9x"); // b0.UR.x = b.UR.x+1; UNSUPPORTED("1zpea73m3d4hdldoc5sypz1ag"); // b0.LL.x = P->start.p.x; UNSUPPORTED("esamvv08qn005uqko6caft2u"); // b0.LL.y = b0.UR.y - GD_ranksep(agraphof(n))/2; UNSUPPORTED("3f26r03ydc7aq52vcqpgxawgy"); // b.LL.x = ND_coord(n).x + ND_rw(n) + (2-2); UNSUPPORTED("74mnpbjmyubjppjur4ngy4t5u"); // b.LL.y = b0.UR.y; UNSUPPORTED("a6wnwn2mc878a2wacqkmdefx7"); // b.UR.y = ND_coord(n).y + (ND_ht(n)/2); UNSUPPORTED("bqk56pohk8hpgn91lv4m2zkv0"); // b.UR.x += 1; UNSUPPORTED("2f8usay82b128dq0sk4aqzw3h"); // endp->boxes[0] = b0; UNSUPPORTED("2diqdwueoy5oizl5kmbz6uyi8"); // endp->boxes[1] = b; UNSUPPORTED("93chrd1duv0atudbvr439u7t4"); // endp->boxn = 2; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("8yftboq798vpnzuxkx6yuea18"); // b.UR.y = MAX(b.UR.y,P->start.p.y); UNSUPPORTED("at4jfrag6jtwm7rxu8p4p8d46"); // endp->boxes[0] = b; UNSUPPORTED("ev1muhahxwb1cntbhsb3c9aid"); // endp->boxn = 1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("8pyl2559euuaxrntsyzj1ve8w"); // P->start.p.y -= 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("bn3pwhefgp4zdatx3g60lj0ou"); // else if (side & (1<<3)) { UNSUPPORTED("bihp3ojpe2nsmh297nosihedn"); // b.UR.x = P->start.p.x+1; UNSUPPORTED("6h0f9z7wklonn021j8ijd3b8m"); // if (endp->sidemask == (1<<2)) { UNSUPPORTED("a6wnwn2mc878a2wacqkmdefx7"); // b.UR.y = ND_coord(n).y + (ND_ht(n)/2); UNSUPPORTED("afqhibyplfg1fftlkny8jq78t"); // b.LL.y = P->start.p.y-1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("1f4u492auf4ku7ik170e86iy3"); // b.LL.y = ND_coord(n).y - (ND_ht(n)/2); UNSUPPORTED("4no3qn8v4vx6rk2in60hgr8w6"); // b.UR.y = P->start.p.y+1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("esv3oinoscr6zht0kce49o450"); // endp->boxes[0] = b; UNSUPPORTED("3hptqfzzuz4dlsc8ejk1ynxt9"); // endp->boxn = 1; UNSUPPORTED("celmm9njwdxhpvd56zon98hrr"); // P->start.p.x -= 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("cysdxceleujmu3rckrhibxaqd"); // b.LL.x = P->start.p.x; UNSUPPORTED("6h0f9z7wklonn021j8ijd3b8m"); // if (endp->sidemask == (1<<2)) { UNSUPPORTED("a6wnwn2mc878a2wacqkmdefx7"); // b.UR.y = ND_coord(n).y + (ND_ht(n)/2); UNSUPPORTED("5oh26jb6vz012qke7865hz5h7"); // b.LL.y = P->start.p.y; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("1f4u492auf4ku7ik170e86iy3"); // b.LL.y = ND_coord(n).y - (ND_ht(n)/2); UNSUPPORTED("4no3qn8v4vx6rk2in60hgr8w6"); // b.UR.y = P->start.p.y+1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("esv3oinoscr6zht0kce49o450"); // endp->boxes[0] = b; UNSUPPORTED("3hptqfzzuz4dlsc8ejk1ynxt9"); // endp->boxn = 1; UNSUPPORTED("1n8o29xgguq4cce4rf04o5rke"); // P->start.p.x += 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("4gatpb3u0rq9nikm6rjtejp85"); // for (orig = e; ED_edge_type(orig) != 0; orig = ED_to_orig(orig)); UNSUPPORTED("askl6l2rq6b2bznfxj7ydvz5t"); // if (n == agtail(orig)) UNSUPPORTED("dk49xvmby8949ngdmft4sgrox"); // ED_tail_port(orig).clip = 0; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("2tw6ymudedo6qij3ux424ydsi"); // ED_head_port(orig).clip = 0; UNSUPPORTED("8jqn3kj2hrrlcifbw3x9sf6qu"); // endp->sidemask = side; UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; } if (et == 1) side = (1<<0); else side = endp.sidemask; /* for flat edges */ if (pboxfn!=null && (mask = (Integer) pboxfn.exe(n, ED_tail_port(e), side, endp.boxes[0], endp.boxn))!=0) UNSUPPORTED("ex9kjvshm19zbu9vqonk1avd8"); // endp->sidemask = mask; else { endp.boxes[0].setStruct(endp.nb); endp.setInt("boxn", 1); switch (et) { case 8: /* moving the box UR.y by + 1 avoids colinearity between port point and box that confuses Proutespline(). it's a bug in Proutespline() but this is the easiest fix. */ UNSUPPORTED("9rnob8jdqqdjwzanv53yxc47u"); // assert(0); /* at present, we don't use beginpath for selfedges */ UNSUPPORTED("46vb5zg9vm9n0q21g53nj66v3"); // endp->boxes[0].UR.y = P->start.p.y - 1; UNSUPPORTED("auefgwb39x5hzqqc9b1zgl239"); // endp->sidemask = (1<<0); break; case 2: if (endp.sidemask == (1<<2)) ((ST_boxf)endp.boxes[0]).LL.y = P.start.p.y; else ((ST_boxf)endp.boxes[0]).UR.y = P.start.p.y; break; case 1: ((ST_boxf)(endp).boxes[0]).UR.y = P.start.p.y; endp.setInt("sidemask", (1<<0)); P.start.p.setDouble("y", P.start.p.y - 1); break; } } } finally { LEAVING("7pc43ifcw5g56449d101qf590","beginpath"); } } //3 79dr5om55xs3n5lgai1sf58vu // void endpath(path * P, edge_t * e, int et, pathend_t * endp, boolean merge) public static void endpath(ST_path P, ST_Agedge_s e, int et, ST_pathend_t endp, boolean merge) { ENTERING("79dr5om55xs3n5lgai1sf58vu","endpath"); try { int side, mask; ST_Agnode_s n; CFunction pboxfn; n = aghead(e); if (ED_head_port(e).dyna!=0) UNSUPPORTED("9brhx94sjudx3jtzrnwa60x8"); // ED_head_port(e) = resolvePort(aghead(e), agtail(e), &ED_head_port(e)); if (ND_shape(n)!=null) pboxfn = (CFunction) ND_shape(n).fns.pboxfn; else pboxfn = null; P.end.setStruct("p", add_pointf(ND_coord(n), (ST_pointf) ED_head_port(e).p)); if (merge) { UNSUPPORTED("cproejwusj67kuugolh6tbkwz"); // /*P->end.theta = M_PI / 2; */ UNSUPPORTED("65vhfvz1d1tub3f85tdsgg2g5"); // P->end.theta = conc_slope(aghead(e)) + M_PI; UNSUPPORTED("du4hwt6pjf3bmkvowssm7b0uo"); // assert(P->end.theta < 2 * M_PI); UNSUPPORTED("2w0c22i5xgcch77xd9jg104nw"); // P->end.constrained = NOT(0); } else { if (ED_head_port(e).constrained!=0) { P.end.setDouble("theta", ED_head_port(e).theta); P.end.setInt("constrained", 1); } else P.end.setInt("constrained", 0); } endp.setStruct("np", P.end.p); if ((et == 1) && (ND_node_type(n) == 0) && ((side = ED_head_port(e).side)!=0)) { UNSUPPORTED("a7lrhlfwr0y475aqjk6abhb3b"); // edge_t* orig; UNSUPPORTED("ew7nyfe712nsiphifeztwxfop"); // boxf b0, b = endp->nb; UNSUPPORTED("ait3wtnnvt134z2k87lvhq4ek"); // if (side & (1<<2)) { UNSUPPORTED("1r4lctdj9z1ivlz3uqpcj1yzf"); // endp->sidemask = (1<<2); UNSUPPORTED("cropv6s2edu614uzt364nepfo"); // b.LL.y = MIN(b.LL.y,P->end.p.y); UNSUPPORTED("esv3oinoscr6zht0kce49o450"); // endp->boxes[0] = b; UNSUPPORTED("3hptqfzzuz4dlsc8ejk1ynxt9"); // endp->boxn = 1; UNSUPPORTED("c91rvfjkunah0qffpuo47eshu"); // P->end.p.y += 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3s4re3z7asydnnotdylt94t1d"); // else if (side & (1<<0)) { UNSUPPORTED("auefgwb39x5hzqqc9b1zgl239"); // endp->sidemask = (1<<0); UNSUPPORTED("4tlqpclu7x0szo1rszndqau0d"); // if (P->end.p.x < ND_coord(n).x) { /* go left */ UNSUPPORTED("80ypgtfgfrgq8j7whkaueouh5"); // b0.LL.x = b.LL.x-1; UNSUPPORTED("4ikkdf5k4ubwp4ou51rth0q41"); // /* b0.UR.y = ND_coord(n).y - HT2(n); */ UNSUPPORTED("baysgwgvs09ywaufn74gq6m0a"); // b0.UR.y = P->end.p.y; UNSUPPORTED("5xsapgq04e1hslq2835500q6k"); // b0.UR.x = b.UR.x; UNSUPPORTED("7ut9yqcephghob5a3yo8af293"); // b0.LL.y = ND_coord(n).y - (ND_ht(n)/2) - GD_ranksep(agraphof(n))/2; UNSUPPORTED("6p2nw1nh0qwn5ro3dltmd6w6c"); // b.UR.x = ND_coord(n).x - ND_lw(n) - (2-2); UNSUPPORTED("74mnpbjmyubjppjur4ngy4t5u"); // b.LL.y = b0.UR.y; UNSUPPORTED("a6wnwn2mc878a2wacqkmdefx7"); // b.UR.y = ND_coord(n).y + (ND_ht(n)/2); UNSUPPORTED("w9wsmby4dawn9npux1jrd9gl"); // b.LL.x -= 1; UNSUPPORTED("2f8usay82b128dq0sk4aqzw3h"); // endp->boxes[0] = b0; UNSUPPORTED("2diqdwueoy5oizl5kmbz6uyi8"); // endp->boxes[1] = b; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("7sk0msbospwpwupzwpu8v87qt"); // b0.LL.x = b.LL.x; UNSUPPORTED("baysgwgvs09ywaufn74gq6m0a"); // b0.UR.y = P->end.p.y; UNSUPPORTED("4ikkdf5k4ubwp4ou51rth0q41"); // /* b0.UR.y = ND_coord(n).y - HT2(n); */ UNSUPPORTED("4e5ydpfmxn1wuhnp78arn3f9x"); // b0.UR.x = b.UR.x+1; UNSUPPORTED("7ut9yqcephghob5a3yo8af293"); // b0.LL.y = ND_coord(n).y - (ND_ht(n)/2) - GD_ranksep(agraphof(n))/2; UNSUPPORTED("3f26r03ydc7aq52vcqpgxawgy"); // b.LL.x = ND_coord(n).x + ND_rw(n) + (2-2); UNSUPPORTED("74mnpbjmyubjppjur4ngy4t5u"); // b.LL.y = b0.UR.y; UNSUPPORTED("a6wnwn2mc878a2wacqkmdefx7"); // b.UR.y = ND_coord(n).y + (ND_ht(n)/2); UNSUPPORTED("bqk56pohk8hpgn91lv4m2zkv0"); // b.UR.x += 1; UNSUPPORTED("2f8usay82b128dq0sk4aqzw3h"); // endp->boxes[0] = b0; UNSUPPORTED("2diqdwueoy5oizl5kmbz6uyi8"); // endp->boxes[1] = b; UNSUPPORTED("196ta4n5nsqizd83y6oo7z8a2"); // } UNSUPPORTED("4v7mmisc358r5tpq14qp4dx0f"); // endp->boxn = 2; UNSUPPORTED("6kjd8mut2dn2xv1k1zr63qp0s"); // P->end.p.y -= 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("bn3pwhefgp4zdatx3g60lj0ou"); // else if (side & (1<<3)) { UNSUPPORTED("2lmjkw07sr4x9a3xxrcb3yj07"); // endp->sidemask = (1<<3); UNSUPPORTED("4e2bsroer72trfy5dl5k8f5s8"); // b.UR.x = P->end.p.x; UNSUPPORTED("3rsswd4vcybmrbhoqt0aldqds"); // b.UR.y = ND_coord(n).y + (ND_ht(n)/2); UNSUPPORTED("7m86tfoixpamdnl1ywyaz9uzy"); // b.LL.y = P->end.p.y; UNSUPPORTED("esv3oinoscr6zht0kce49o450"); // endp->boxes[0] = b; UNSUPPORTED("3hptqfzzuz4dlsc8ejk1ynxt9"); // endp->boxn = 1; UNSUPPORTED("5j92wv3nt0b7hnlf3ktengoom"); // P->end.p.x -= 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("8kgb5ztvt4yv5h0nezr0q6n3z"); // endp->sidemask = (1<<1); UNSUPPORTED("2upa323l3o3equsdn1v13nj0q"); // b.LL.x = P->end.p.x; UNSUPPORTED("3rsswd4vcybmrbhoqt0aldqds"); // b.UR.y = ND_coord(n).y + (ND_ht(n)/2); UNSUPPORTED("7m86tfoixpamdnl1ywyaz9uzy"); // b.LL.y = P->end.p.y; UNSUPPORTED("esv3oinoscr6zht0kce49o450"); // endp->boxes[0] = b; UNSUPPORTED("3hptqfzzuz4dlsc8ejk1ynxt9"); // endp->boxn = 1; UNSUPPORTED("44vy3z49e2oo6613r15tcgn8h"); // P->end.p.x += 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("4gatpb3u0rq9nikm6rjtejp85"); // for (orig = e; ED_edge_type(orig) != 0; orig = ED_to_orig(orig)); UNSUPPORTED("e8cujr3gqet8mj2n5h5jfogm1"); // if (n == aghead(orig)) UNSUPPORTED("2tw6ymudedo6qij3ux424ydsi"); // ED_head_port(orig).clip = 0; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("dk49xvmby8949ngdmft4sgrox"); // ED_tail_port(orig).clip = 0; UNSUPPORTED("8jqn3kj2hrrlcifbw3x9sf6qu"); // endp->sidemask = side; UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; } if ((et == 2) && ((side = ED_head_port(e).side)!=0)) { UNSUPPORTED("ew7nyfe712nsiphifeztwxfop"); // boxf b0, b = endp->nb; UNSUPPORTED("a7lrhlfwr0y475aqjk6abhb3b"); // edge_t* orig; UNSUPPORTED("ait3wtnnvt134z2k87lvhq4ek"); // if (side & (1<<2)) { UNSUPPORTED("cropv6s2edu614uzt364nepfo"); // b.LL.y = MIN(b.LL.y,P->end.p.y); UNSUPPORTED("esv3oinoscr6zht0kce49o450"); // endp->boxes[0] = b; UNSUPPORTED("3hptqfzzuz4dlsc8ejk1ynxt9"); // endp->boxn = 1; UNSUPPORTED("c91rvfjkunah0qffpuo47eshu"); // P->end.p.y += 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3s4re3z7asydnnotdylt94t1d"); // else if (side & (1<<0)) { UNSUPPORTED("6h0f9z7wklonn021j8ijd3b8m"); // if (endp->sidemask == (1<<2)) { UNSUPPORTED("80ypgtfgfrgq8j7whkaueouh5"); // b0.LL.x = b.LL.x-1; UNSUPPORTED("7vjialx9rln6cj2y0ni5nc2gi"); // b0.UR.y = ND_coord(n).y - (ND_ht(n)/2); UNSUPPORTED("e403abqgqxgss6h01127ebeil"); // b0.UR.x = P->end.p.x; UNSUPPORTED("esamvv08qn005uqko6caft2u"); // b0.LL.y = b0.UR.y - GD_ranksep(agraphof(n))/2; UNSUPPORTED("29fp8dba1xqbt5ire1m3oad6c"); // b.UR.x = ND_coord(n).x - ND_lw(n) - 2; UNSUPPORTED("74mnpbjmyubjppjur4ngy4t5u"); // b.LL.y = b0.UR.y; UNSUPPORTED("a6wnwn2mc878a2wacqkmdefx7"); // b.UR.y = ND_coord(n).y + (ND_ht(n)/2); UNSUPPORTED("w9wsmby4dawn9npux1jrd9gl"); // b.LL.x -= 1; UNSUPPORTED("2f8usay82b128dq0sk4aqzw3h"); // endp->boxes[0] = b0; UNSUPPORTED("2diqdwueoy5oizl5kmbz6uyi8"); // endp->boxes[1] = b; UNSUPPORTED("93chrd1duv0atudbvr439u7t4"); // endp->boxn = 2; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("8yftboq798vpnzuxkx6yuea18"); // b.UR.y = MAX(b.UR.y,P->start.p.y); UNSUPPORTED("at4jfrag6jtwm7rxu8p4p8d46"); // endp->boxes[0] = b; UNSUPPORTED("ev1muhahxwb1cntbhsb3c9aid"); // endp->boxn = 1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6kjd8mut2dn2xv1k1zr63qp0s"); // P->end.p.y -= 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("bn3pwhefgp4zdatx3g60lj0ou"); // else if (side & (1<<3)) { UNSUPPORTED("46ayak01kn7y7w3yaoreb6w1l"); // b.UR.x = P->end.p.x+1; UNSUPPORTED("6h0f9z7wklonn021j8ijd3b8m"); // if (endp->sidemask == (1<<2)) { UNSUPPORTED("a6wnwn2mc878a2wacqkmdefx7"); // b.UR.y = ND_coord(n).y + (ND_ht(n)/2); UNSUPPORTED("a3bb90cu4chg4dv4xfsx8r8ek"); // b.LL.y = P->end.p.y-1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("1f4u492auf4ku7ik170e86iy3"); // b.LL.y = ND_coord(n).y - (ND_ht(n)/2); UNSUPPORTED("20q189zumqwpltcod94td3f"); // b.UR.y = P->end.p.y+1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("esv3oinoscr6zht0kce49o450"); // endp->boxes[0] = b; UNSUPPORTED("3hptqfzzuz4dlsc8ejk1ynxt9"); // endp->boxn = 1; UNSUPPORTED("5j92wv3nt0b7hnlf3ktengoom"); // P->end.p.x -= 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("9tx1p6meq5zi4ce5essw11ikg"); // b.LL.x = P->end.p.x-1; UNSUPPORTED("6h0f9z7wklonn021j8ijd3b8m"); // if (endp->sidemask == (1<<2)) { UNSUPPORTED("a6wnwn2mc878a2wacqkmdefx7"); // b.UR.y = ND_coord(n).y + (ND_ht(n)/2); UNSUPPORTED("a3bb90cu4chg4dv4xfsx8r8ek"); // b.LL.y = P->end.p.y-1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("1f4u492auf4ku7ik170e86iy3"); // b.LL.y = ND_coord(n).y - (ND_ht(n)/2); UNSUPPORTED("181rv2y41gamwqbbccj0rnb57"); // b.UR.y = P->end.p.y; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("esv3oinoscr6zht0kce49o450"); // endp->boxes[0] = b; UNSUPPORTED("3hptqfzzuz4dlsc8ejk1ynxt9"); // endp->boxn = 1; UNSUPPORTED("44vy3z49e2oo6613r15tcgn8h"); // P->end.p.x += 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("4gatpb3u0rq9nikm6rjtejp85"); // for (orig = e; ED_edge_type(orig) != 0; orig = ED_to_orig(orig)); UNSUPPORTED("e8cujr3gqet8mj2n5h5jfogm1"); // if (n == aghead(orig)) UNSUPPORTED("2tw6ymudedo6qij3ux424ydsi"); // ED_head_port(orig).clip = 0; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("dk49xvmby8949ngdmft4sgrox"); // ED_tail_port(orig).clip = 0; UNSUPPORTED("8jqn3kj2hrrlcifbw3x9sf6qu"); // endp->sidemask = side; UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; } if (et == 1) side = (1<<2); else side = endp.sidemask; /* for flat edges */ if (pboxfn!=null && (mask = (Integer) pboxfn.exe(n, ED_head_port(e), side, endp.boxes[0], endp.boxn))!=0) endp.setInt("sidemask", mask); else { endp.boxes[0].setStruct(endp.nb); endp.setInt("boxn", 1); switch (et) { case 8: /* offset of -1 is symmetric w.r.t. beginpath() * FIXME: is any of this right? what if self-edge * doesn't connect from BOTTOM to TOP??? */ UNSUPPORTED("bhkhf4i9pvxtxyka4sobszg33"); // assert(0); /* at present, we don't use endpath for selfedges */ UNSUPPORTED("db6vmvnse8bawy8qwct7l24u8"); // endp->boxes[0].LL.y = P->end.p.y + 1; UNSUPPORTED("1r4lctdj9z1ivlz3uqpcj1yzf"); // endp->sidemask = (1<<2); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; case 2: if (endp.sidemask == (1<<2)) endp.boxes[0].LL.y = P.end.p.y; else endp.boxes[0].UR.y = P.end.p.y; break; case 1: endp.boxes[0].LL.y = P.end.p.y; endp.setInt("sidemask", (1<<2)); P.end.p.setDouble("y", P.end.p.y +1); break; } } } finally { LEAVING("79dr5om55xs3n5lgai1sf58vu","endpath"); } } //3 3g7alj6eirl5b2hlhluiqvaax // static int convert_sides_to_points(int tail_side, int head_side) public static int convert_sides_to_points(int tail_side, int head_side) { ENTERING("3g7alj6eirl5b2hlhluiqvaax","convert_sides_to_points"); int vertices[] = new int[] {12,4,6,2,3,1,9,8}; //the cumulative side value of each node point int i, tail_i, head_i; int pair_a[][] = new int[][] { //array of possible node point pairs {11,12,13,14,15,16,17,18}, {21,22,23,24,25,26,27,28}, {31,32,33,34,35,36,37,38}, {41,42,43,44,45,46,47,48}, {51,52,53,54,55,56,57,58}, {61,62,63,64,65,66,67,68}, {71,72,73,74,75,76,77,78}, {81,82,83,84,85,86,87,88} }; try { tail_i = head_i = -1; for(i=0;i< 8; i++){ if(head_side == vertices[i]){ head_i = i; break; } } for(i=0;i< 8; i++){ if(tail_side == vertices[i]){ tail_i = i; break; } } if( tail_i < 0 || head_i < 0) return 0; else return pair_a[tail_i][head_i]; } finally { LEAVING("3g7alj6eirl5b2hlhluiqvaax","convert_sides_to_points"); } } //3 7l37y1w97mt6n5pd9x5dzgwud // static void selfBottom (edge_t* edges[], int ind, int cnt, double sizex, double stepy, splineInfo* sinfo) public static Object selfBottom(Object... arg) { UNSUPPORTED("5mldqfen59kshqgaknayjc5ox"); // static void selfBottom (edge_t* edges[], int ind, int cnt, UNSUPPORTED("e0472i5ngodtv68y0hdhq1azu"); // double sizex, double stepy, splineInfo* sinfo) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a2vzpy4tpc2fpmuf12nhtfca"); // pointf tp, hp, np; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("2131r3ibxv7drmcz6f2j5d9c2"); // int i, sgn, point_pair; UNSUPPORTED("de1bz9yfc9w49kc4vy1ge2ltd"); // double hy, ty, stepx, dx, dy, width, height; UNSUPPORTED("cutkizwxyuykhmayeb60m22av"); // pointf points[1000]; UNSUPPORTED("79ig2xj5nogd41esx7798m82t"); // int pointn; UNSUPPORTED("e3wy3x07xdsusfbgecfcqg5lj"); // e = edges[ind]; UNSUPPORTED("dul1axf6kjslblufm4omk5k32"); // n = agtail(e); UNSUPPORTED("43yzlf5354g6qlugyzpmr745t"); // stepx = (sizex / 2.) / cnt; UNSUPPORTED("brakcbw9hvzlljogqwzlhgb0v"); // stepx = MAX(stepx,2.); UNSUPPORTED("dko3xt785e372nj0fiocjfas"); // pointn = 0; UNSUPPORTED("dqazhjgevh1spyg3xzwb3bcks"); // np = ND_coord(n); UNSUPPORTED("ehf9o80lfi02no07wz207kyp6"); // tp = ED_tail_port(e).p; UNSUPPORTED("f18822xrptoagri7001gamxwh"); // tp.x += np.x; UNSUPPORTED("pcmp8bdd8677mjvvef7kfh5y"); // tp.y += np.y; UNSUPPORTED("b4mfdkjjk3n78ssy4h80g5lc6"); // hp = ED_head_port(e).p; UNSUPPORTED("e7rhhgc42h5z6kvvnkz6wfn0r"); // hp.x += np.x; UNSUPPORTED("bisu3qji6rw3wu3srdv8vhrxb"); // hp.y += np.y; UNSUPPORTED("2c8kmvidaqx92wd2mq1ys6753"); // if (tp.x >= hp.x) sgn = 1; UNSUPPORTED("cvln1r5ffbp1z1sq0y6ago4og"); // else sgn = -1; UNSUPPORTED("7squuk10wt6xrbp24obpx41bw"); // dy = ND_ht(n)/2., dx = 0.; UNSUPPORTED("7sojr831wk2u8c86xerkjyojd"); // // certain adjustments are required for some point_pairs in order to improve the UNSUPPORTED("byuachd2fjte06s7xwnbmxlcx"); // // display of the edge path between them UNSUPPORTED("eje36stfd9p7ulgo4qk6gjwvx"); // point_pair = convert_sides_to_points(ED_tail_port(e).side,ED_head_port(e).side); UNSUPPORTED("2qmvjd6iwnaqwop679caoaxnn"); // switch(point_pair){ UNSUPPORTED("8c31t4u50f9yjnlb8ii84ts3w"); // case 67: sgn = -sgn; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("5vhsnixpf0pg2oz10ps2valyn"); // default: UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5n29oadzd6emvd2fwjisx6ovk"); // ty = MIN(dy, 3*(tp.y + dy - np.y)); UNSUPPORTED("dly5hufg66dgb6zn5lqcerae1"); // hy = MIN(dy, 3*(hp.y + dy - np.y)); UNSUPPORTED("1psokm6w9e7qw7fm2g1cayuk7"); // for (i = 0; i < cnt; i++) { UNSUPPORTED("a0u9ggni4r8gikqyyxf6wgaa5"); // e = edges[ind++]; UNSUPPORTED("bgymnp4yekw8tzr70cnzzn9ez"); // dy += stepy, ty += stepy, hy += stepy, dx += sgn*stepx; UNSUPPORTED("8tkxpvgpxpilkes33cj73nr8o"); // pointn = 0; UNSUPPORTED("2j93ajzz3i9adm0syj177su98"); // points[pointn++] = tp; UNSUPPORTED("15uyub8ah85dmbdmc0lqgjqb"); // points[pointn++] = pointfof(tp.x + dx, tp.y - ty / 3); UNSUPPORTED("bh0lpazk6gpagl57bydccqkv4"); // points[pointn++] = pointfof(tp.x + dx, np.y - dy); UNSUPPORTED("381vppahpairjja0hahm7lktb"); // points[pointn++] = pointfof((tp.x+hp.x)/2, np.y - dy); UNSUPPORTED("n63wd0j09ndu0hiaxhwx7izb"); // points[pointn++] = pointfof(hp.x - dx, np.y - dy); UNSUPPORTED("dzdgwa3zfedg3kys9pd8mp5qm"); // points[pointn++] = pointfof(hp.x - dx, hp.y - hy / 3); UNSUPPORTED("6t0sueo9zyoccfzqit4c7pvcy"); // points[pointn++] = hp; UNSUPPORTED("6nhnbriaxn7zi0ab1z8bkbzd"); // if (ED_label(e)) { UNSUPPORTED("a7ea1ybpt7lv8fk1pc1outbs5"); // if (GD_flip(agraphof(agtail(e)))) { UNSUPPORTED("7d83ym7h1stime4wbmifcx809"); // width = ED_label(e)->dimen.y; UNSUPPORTED("44m5sni7g3n6fnk6ca57u9dc2"); // height = ED_label(e)->dimen.x; UNSUPPORTED("s8koz5x85ytpnff1o94rlxqy"); // } else { UNSUPPORTED("66vu2joy64r1yrkvp3oolz1ws"); // width = ED_label(e)->dimen.x; UNSUPPORTED("d6bobo1f6gxkxa2fffvmn41g0"); // height = ED_label(e)->dimen.y; UNSUPPORTED("klxoy56t7b20wxnwqm0qoofz"); // } UNSUPPORTED("cot4bdvsbrav4yex2yesffgd9"); // ED_label(e)->pos.y = ND_coord(n).y - dy - height / 2.0; UNSUPPORTED("9wg1yftg90g8jld2m2p5m31ro"); // ED_label(e)->pos.x = ND_coord(n).x; UNSUPPORTED("7efx4yevu8176mmuqjtk4bfss"); // ED_label(e)->set = NOT(0); UNSUPPORTED("13o3f1bpjm731ee8hpa8d3f5y"); // if (height > stepy) UNSUPPORTED("alt1jvhdhimr8iltoxg7dycq1"); // dy += height - stepy; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("5fvid2bi7fy5jv5dyttfprpzj"); // clip_and_install(e, aghead(e), points, pointn, sinfo); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2thwh4ase1jdq8ghhf0oqyql5 // static void selfTop (edge_t* edges[], int ind, int cnt, double sizex, double stepy, splineInfo* sinfo) public static Object selfTop(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("32kq3vfpd1msv3v0nv0uqavzh"); // selfTop (edge_t* edges[], int ind, int cnt, double sizex, double stepy, UNSUPPORTED("2t4o7k97lw32u08cs5j96r7if"); // splineInfo* sinfo) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2131r3ibxv7drmcz6f2j5d9c2"); // int i, sgn, point_pair; UNSUPPORTED("1suoh1r8nnndqo9txafuch8az"); // double hy, ty, stepx, dx, dy, width, height; UNSUPPORTED("7a2vzpy4tpc2fpmuf12nhtfca"); // pointf tp, hp, np; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("cutkizwxyuykhmayeb60m22av"); // pointf points[1000]; UNSUPPORTED("79ig2xj5nogd41esx7798m82t"); // int pointn; UNSUPPORTED("e3wy3x07xdsusfbgecfcqg5lj"); // e = edges[ind]; UNSUPPORTED("dul1axf6kjslblufm4omk5k32"); // n = agtail(e); UNSUPPORTED("43yzlf5354g6qlugyzpmr745t"); // stepx = (sizex / 2.) / cnt; UNSUPPORTED("7199vb689fs8rdn6j40wpw2py"); // stepx = MAX(stepx, 2.); UNSUPPORTED("dko3xt785e372nj0fiocjfas"); // pointn = 0; UNSUPPORTED("dqazhjgevh1spyg3xzwb3bcks"); // np = ND_coord(n); UNSUPPORTED("ehf9o80lfi02no07wz207kyp6"); // tp = ED_tail_port(e).p; UNSUPPORTED("f18822xrptoagri7001gamxwh"); // tp.x += np.x; UNSUPPORTED("pcmp8bdd8677mjvvef7kfh5y"); // tp.y += np.y; UNSUPPORTED("b4mfdkjjk3n78ssy4h80g5lc6"); // hp = ED_head_port(e).p; UNSUPPORTED("e7rhhgc42h5z6kvvnkz6wfn0r"); // hp.x += np.x; UNSUPPORTED("bisu3qji6rw3wu3srdv8vhrxb"); // hp.y += np.y; UNSUPPORTED("2c8kmvidaqx92wd2mq1ys6753"); // if (tp.x >= hp.x) sgn = 1; UNSUPPORTED("cvln1r5ffbp1z1sq0y6ago4og"); // else sgn = -1; UNSUPPORTED("7squuk10wt6xrbp24obpx41bw"); // dy = ND_ht(n)/2., dx = 0.; UNSUPPORTED("7sojr831wk2u8c86xerkjyojd"); // // certain adjustments are required for some point_pairs in order to improve the UNSUPPORTED("byuachd2fjte06s7xwnbmxlcx"); // // display of the edge path between them UNSUPPORTED("eje36stfd9p7ulgo4qk6gjwvx"); // point_pair = convert_sides_to_points(ED_tail_port(e).side,ED_head_port(e).side); UNSUPPORTED("2qmvjd6iwnaqwop679caoaxnn"); // switch(point_pair){ UNSUPPORTED("6mjalqxwnjw8e27c2ioujowul"); // case 15: UNSUPPORTED("5vvzajt4nlp9tr9qagb46uzw0"); // dx = sgn*(ND_rw(n) - (hp.x-np.x) + stepx); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("av3gl91zikst7e3hby657df3z"); // case 38: UNSUPPORTED("d2wzrbnbuinus07v39wtrzg6k"); // dx = sgn*(ND_lw(n)-(np.x-hp.x) + stepx); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("dk2te1ff65z24g7yge6td5w1h"); // case 41: UNSUPPORTED("54zp7hq4t1477ra0toi6nfc3s"); // dx = sgn*(ND_rw(n)-(tp.x-np.x) + stepx); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("eyz8046vmrhfd05uo35ud2o26"); // case 48: UNSUPPORTED("54zp7hq4t1477ra0toi6nfc3s"); // dx = sgn*(ND_rw(n)-(tp.x-np.x) + stepx); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("90hjo1ph35lg8jy4yywzro3nf"); // case 14: UNSUPPORTED("23d0sltghssogk5wk9024lh41"); // case 37: UNSUPPORTED("3dvppfwsy4t6h54uecu5i9hry"); // case 47: UNSUPPORTED("95n009mwo78h9zg1mx5yc3j7l"); // case 51: UNSUPPORTED("8ytmvd73zq9qu5c4ku4jcap4a"); // case 57: UNSUPPORTED("1tbpkq9m2taj7n3fj63cocjyn"); // case 58: UNSUPPORTED("u36w11cbjvnwnr2a9aukmfop"); // dx = sgn*((((ND_lw(n)-(np.x-tp.x)) + (ND_rw(n)-(hp.x-np.x)))/3.)); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("a92kp8x7ej800lliiwzfuobem"); // case 73: UNSUPPORTED("c22dsvqh8h2a9v76t3u9dzyi4"); // dx = sgn*(ND_lw(n)-(np.x-tp.x) + stepx); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("3ijo2dao8lyum56ai3jujbmap"); // case 83: UNSUPPORTED("bjovxk89tmb4rsuvw09nszp4c"); // dx = sgn*(ND_lw(n)-(np.x-tp.x)); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("f4rvirpst5ft3uksqp3okyjcf"); // case 84: UNSUPPORTED("1i3gur9btuj2u5s8ybbgmd87y"); // dx = sgn*((((ND_lw(n)-(np.x-tp.x)) + (ND_rw(n)-(hp.x-np.x)))/2.) + stepx); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("72fiv7451m2qnkzbfjcwv7pgx"); // case 74: UNSUPPORTED("1yel8f4unntut6w7bgdhgsvq1"); // case 75: UNSUPPORTED("93kdallci9a743giye6pd0y0f"); // case 85: UNSUPPORTED("919n1grj4s92nolxlmoqx4qqw"); // dx = sgn*((((ND_lw(n)-(np.x-tp.x)) + (ND_rw(n)-(hp.x-np.x)))/2.) + 2*stepx); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7jtwt2insvwb55tafkqx3boot"); // ty = MIN(dy, 3*(np.y + dy - tp.y)); UNSUPPORTED("7vwwj5yxukw3e1k0twakhhgg3"); // hy = MIN(dy, 3*(np.y + dy - hp.y)); UNSUPPORTED("1psokm6w9e7qw7fm2g1cayuk7"); // for (i = 0; i < cnt; i++) { UNSUPPORTED("a0u9ggni4r8gikqyyxf6wgaa5"); // e = edges[ind++]; UNSUPPORTED("bgymnp4yekw8tzr70cnzzn9ez"); // dy += stepy, ty += stepy, hy += stepy, dx += sgn*stepx; UNSUPPORTED("8tkxpvgpxpilkes33cj73nr8o"); // pointn = 0; UNSUPPORTED("2j93ajzz3i9adm0syj177su98"); // points[pointn++] = tp; UNSUPPORTED("810s5qsu6it4vef0j2l5blqdm"); // points[pointn++] = pointfof(tp.x + dx, tp.y + ty / 3); UNSUPPORTED("r9y9vrfhtcn0ly9mxyipodbo"); // points[pointn++] = pointfof(tp.x + dx, np.y + dy); UNSUPPORTED("576fgxddv6rfxjwqc4ziex02m"); // points[pointn++] = pointfof((tp.x+hp.x)/2, np.y + dy); UNSUPPORTED("7wozarouo08hg5qnrcqmlrzv1"); // points[pointn++] = pointfof(hp.x - dx, np.y + dy); UNSUPPORTED("6z0fdvc1cxk34nwjps2o0vy9e"); // points[pointn++] = pointfof(hp.x - dx, hp.y + hy / 3); UNSUPPORTED("6t0sueo9zyoccfzqit4c7pvcy"); // points[pointn++] = hp; UNSUPPORTED("6nhnbriaxn7zi0ab1z8bkbzd"); // if (ED_label(e)) { UNSUPPORTED("95cz173vhlho6qxwqiafjznd6"); // if (GD_flip(agraphof(agtail(e)))) { UNSUPPORTED("5tq797micincut6x05g6eokxk"); // width = ED_label(e)->dimen.y; UNSUPPORTED("2wpl3ja2mlxynjamnyblux5j"); // height = ED_label(e)->dimen.x; UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("5oxmxe34kl5iq4p27e8r7k11y"); // width = ED_label(e)->dimen.x; UNSUPPORTED("4eunm5kqgzuzko60febalr1gg"); // height = ED_label(e)->dimen.y; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("8ygvy3gas9hrwh99z44j4vw14"); // ED_label(e)->pos.y = ND_coord(n).y + dy + height / 2.0; UNSUPPORTED("89l2ovblsu6gnx97clo8ev1yk"); // ED_label(e)->pos.x = ND_coord(n).x; UNSUPPORTED("3tkba5lhpnujfu8lcz8lewsyn"); // ED_label(e)->set = NOT(0); UNSUPPORTED("df1lpvk1x9s2nna4dimpv5ixv"); // if (height > stepy) UNSUPPORTED("anykz2jqihvnza16edujzsmnm"); // dy += height - stepy; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("iyaed8bkc8xb16vcnxvc7d6s"); // clip_and_install(e, aghead(e), points, pointn, sinfo); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b9185t6i77ez1ac587ul8ndnc"); // return; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3sr8gvj4141qql0v12lb89cyt // static void selfRight (edge_t* edges[], int ind, int cnt, double stepx, double sizey, splineInfo* sinfo) public static void selfRight(ST_Agedge_s.ArrayOfStar edges, int ind, int cnt, double stepx, double sizey, ST_splineInfo sinfo) { ENTERING("3sr8gvj4141qql0v12lb89cyt","selfRight"); try { int i, sgn, point_pair; double hx, tx, stepy, dx, dy, width, height; final ST_pointf tp = new ST_pointf(), hp = new ST_pointf(), np = new ST_pointf(); ST_Agnode_s n; ST_Agedge_s e; final ST_pointf.Array points = new ST_pointf.Array( 1000); int pointn; e = (ST_Agedge_s) edges.get(ind); n = agtail(e); stepy = (sizey / 2.) / cnt; stepy = MAX(stepy, 2.); pointn = 0; np.___(ND_coord(n)); tp.___(ED_tail_port(e).p); tp.setDouble("x", tp.x + np.x); tp.setDouble("y", tp.y + np.y); hp.___(ED_head_port(e).p); hp.setDouble("x", hp.x + np.x); hp.setDouble("y", hp.y + np.y); if (tp.y >= hp.y) sgn = 1; else sgn = -1; dx = ND_rw(n); dy = 0; // certain adjustments are required for some point_pairs in order to improve the // display of the edge path between them point_pair = convert_sides_to_points(ED_tail_port(e).side,ED_head_port(e).side); switch(point_pair){ case 32: case 65: if(tp.y == hp.y) sgn = -sgn; break; default: break; } tx = MIN(dx, 3*(np.x + dx - tp.x)); hx = MIN(dx, 3*(np.x + dx - hp.x)); for (i = 0; i < cnt; i++) { e = (ST_Agedge_s) edges.plus(ind++).getPtr(); dx += stepx; tx += stepx; hx += stepx; dy += sgn*stepy; pointn = 0; points.plus(pointn++).setStruct(tp); points.plus(pointn++).setStruct(pointfof(tp.x + tx / 3, tp.y + dy)); points.plus(pointn++).setStruct(pointfof(np.x + dx, tp.y + dy)); points.plus(pointn++).setStruct(pointfof(np.x + dx, (tp.y+hp.y)/2)); points.plus(pointn++).setStruct(pointfof(np.x + dx, hp.y - dy)); points.plus(pointn++).setStruct(pointfof(hp.x + hx / 3, hp.y - dy)); points.plus(pointn++).setStruct(hp); if (ED_label(e)!=null) { if (GD_flip(agraphof(agtail(e)))!=0) { width = ED_label(e).dimen.y; height = ED_label(e).dimen.x; } else { width = ED_label(e).dimen.x; height = ED_label(e).dimen.y; } ED_label(e).pos.setDouble("x", ND_coord(n).x + dx + width / 2.0); ED_label(e).pos.setDouble("y", ND_coord(n).y); ED_label(e).set= NOTI(false); if (width > stepx) dx += width - stepx; } clip_and_install(e, aghead(e), points.asPtr(), pointn, sinfo); } return; } finally { LEAVING("3sr8gvj4141qql0v12lb89cyt","selfRight"); } } //3 pb3pqqgfs6pzscxz9g4ip66b // static void selfLeft (edge_t* edges[], int ind, int cnt, double stepx, double sizey, splineInfo* sinfo) public static Object selfLeft(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("e1xon7wncs6szxkut7r3ylg8a"); // selfLeft (edge_t* edges[], int ind, int cnt, double stepx, double sizey, UNSUPPORTED("304grcrgelbk1tnep5avkaylv"); // splineInfo* sinfo) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5kzmtbtnct9t7sugzyg0t1505"); // int i, sgn,point_pair; UNSUPPORTED("9oe5un4g42lfm6s5sruhajt5n"); // double hx, tx, stepy, dx, dy, width, height; UNSUPPORTED("7a2vzpy4tpc2fpmuf12nhtfca"); // pointf tp, hp, np; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("cutkizwxyuykhmayeb60m22av"); // pointf points[1000]; UNSUPPORTED("79ig2xj5nogd41esx7798m82t"); // int pointn; UNSUPPORTED("e3wy3x07xdsusfbgecfcqg5lj"); // e = edges[ind]; UNSUPPORTED("dul1axf6kjslblufm4omk5k32"); // n = agtail(e); UNSUPPORTED("2biq5cfn3eflyc9vcakp8z40j"); // stepy = (sizey / 2.) / cnt; UNSUPPORTED("ag6m3hxmkt2fwxfbd09gtse84"); // stepy = MAX(stepy,2.); UNSUPPORTED("dko3xt785e372nj0fiocjfas"); // pointn = 0; UNSUPPORTED("dqazhjgevh1spyg3xzwb3bcks"); // np = ND_coord(n); UNSUPPORTED("ehf9o80lfi02no07wz207kyp6"); // tp = ED_tail_port(e).p; UNSUPPORTED("f18822xrptoagri7001gamxwh"); // tp.x += np.x; UNSUPPORTED("pcmp8bdd8677mjvvef7kfh5y"); // tp.y += np.y; UNSUPPORTED("b4mfdkjjk3n78ssy4h80g5lc6"); // hp = ED_head_port(e).p; UNSUPPORTED("e7rhhgc42h5z6kvvnkz6wfn0r"); // hp.x += np.x; UNSUPPORTED("bisu3qji6rw3wu3srdv8vhrxb"); // hp.y += np.y; UNSUPPORTED("9pq7cc11wf5inm1gtl9nubola"); // if (tp.y >= hp.y) sgn = 1; UNSUPPORTED("cvln1r5ffbp1z1sq0y6ago4og"); // else sgn = -1; UNSUPPORTED("5t4m5gzysfvdd5gfy1snezlv1"); // dx = ND_lw(n), dy = 0.; UNSUPPORTED("7sojr831wk2u8c86xerkjyojd"); // // certain adjustments are required for some point_pairs in order to improve the UNSUPPORTED("byuachd2fjte06s7xwnbmxlcx"); // // display of the edge path between them UNSUPPORTED("eje36stfd9p7ulgo4qk6gjwvx"); // point_pair = convert_sides_to_points(ED_tail_port(e).side,ED_head_port(e).side); UNSUPPORTED("2qmvjd6iwnaqwop679caoaxnn"); // switch(point_pair){ UNSUPPORTED("1ztn6qfhzw55cdorxgbs8mvaw"); // case 12: UNSUPPORTED("5nakmzm2t38aw7gowxf3597ny"); // case 67: UNSUPPORTED("bvy8vwcvwtkz9nqaq8173x6bh"); // if(tp.y == hp.y) UNSUPPORTED("cffqbosum7o1l5iposy2evrfl"); // sgn = -sgn; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("5vhsnixpf0pg2oz10ps2valyn"); // default: UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("p2znjsd0rhcqyou2d4tcp4m3"); // tx = MIN(dx, 3*(tp.x + dx - np.x)); UNSUPPORTED("9fc36i8mydvpx5fb9s7oomgg9"); // hx = MIN(dx, 3*(hp.x + dx - np.x)); UNSUPPORTED("1psokm6w9e7qw7fm2g1cayuk7"); // for (i = 0; i < cnt; i++) { UNSUPPORTED("a0u9ggni4r8gikqyyxf6wgaa5"); // e = edges[ind++]; UNSUPPORTED("corxl7j4p1epemy3mlhnxuh7f"); // dx += stepx, tx += stepx, hx += stepx, dy += sgn*stepy; UNSUPPORTED("8tkxpvgpxpilkes33cj73nr8o"); // pointn = 0; UNSUPPORTED("2j93ajzz3i9adm0syj177su98"); // points[pointn++] = tp; UNSUPPORTED("1d3rn5phdxf8hhlmh3b3wp7lh"); // points[pointn++] = pointfof(tp.x - tx / 3, tp.y + dy); UNSUPPORTED("2wxmjkn0pmrslgogz96iftqs0"); // points[pointn++] = pointfof(np.x - dx, tp.y + dy); UNSUPPORTED("clocavnhfvokhhthg9cujkqa0"); // points[pointn++] = pointfof(np.x - dx, (tp.y+hp.y)/2); UNSUPPORTED("6tz9mqs3ff68mo5r1xmq2zyc4"); // points[pointn++] = pointfof(np.x - dx, hp.y - dy); UNSUPPORTED("a6oh2uv36d620c50ery1vvmd7"); // points[pointn++] = pointfof(hp.x - hx / 3, hp.y - dy); UNSUPPORTED("6t0sueo9zyoccfzqit4c7pvcy"); // points[pointn++] = hp; UNSUPPORTED("6nhnbriaxn7zi0ab1z8bkbzd"); // if (ED_label(e)) { UNSUPPORTED("7ewy2tc2zfli5k6dghdnao8tw"); // if (GD_flip(agraphof(agtail(e)))) { UNSUPPORTED("7d83ym7h1stime4wbmifcx809"); // width = ED_label(e)->dimen.y; UNSUPPORTED("44m5sni7g3n6fnk6ca57u9dc2"); // height = ED_label(e)->dimen.x; UNSUPPORTED("s8koz5x85ytpnff1o94rlxqy"); // } else { UNSUPPORTED("66vu2joy64r1yrkvp3oolz1ws"); // width = ED_label(e)->dimen.x; UNSUPPORTED("d6bobo1f6gxkxa2fffvmn41g0"); // height = ED_label(e)->dimen.y; UNSUPPORTED("klxoy56t7b20wxnwqm0qoofz"); // } UNSUPPORTED("e7au5qlazz8i26lvbl9c5k657"); // ED_label(e)->pos.x = ND_coord(n).x - dx - width / 2.0; UNSUPPORTED("dfo4prcp2cafipoufh8bql0id"); // ED_label(e)->pos.y = ND_coord(n).y; UNSUPPORTED("7efx4yevu8176mmuqjtk4bfss"); // ED_label(e)->set = NOT(0); UNSUPPORTED("8ivpntotxg2rgw585hkdgsixh"); // if (width > stepx) UNSUPPORTED("34ujzn0u4l056cgabsn09ncw8"); // dx += width - stepx; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("5fvid2bi7fy5jv5dyttfprpzj"); // clip_and_install(e, aghead(e), points, pointn, sinfo); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 678whq05s481ertx02jloteu3 // int selfRightSpace (edge_t* e) public static int selfRightSpace(ST_Agedge_s e) { ENTERING("678whq05s481ertx02jloteu3","selfRightSpace"); try { int sw=0; double label_width; ST_textlabel_t l = ED_label(e); if ((N(ED_tail_port(e).defined) && N(ED_head_port(e).defined)) || ( N(ED_tail_port(e).side & (1<<3)) && N(ED_head_port(e).side & (1<<3)) && ((ED_tail_port(e).side != ED_head_port(e).side) || (N(ED_tail_port(e).side & ((1<<2)|(1<<0))))) )) { sw = 18; if (l!=null) { label_width = GD_flip(agraphof(aghead(e)))!=0 ? l.dimen.y : l.dimen.x; sw += label_width; } } else sw = 0; return sw; } finally { LEAVING("678whq05s481ertx02jloteu3","selfRightSpace"); } } //3 bt3fwgprixbc5rceeewozdqr9 // void makeSelfEdge(path * P, edge_t * edges[], int ind, int cnt, double sizex, double sizey, splineInfo * sinfo) public static void makeSelfEdge(ST_path P, ST_Agedge_s.ArrayOfStar edges, int ind, int cnt, double sizex, double sizey, ST_splineInfo sinfo) { ENTERING("bt3fwgprixbc5rceeewozdqr9","makeSelfEdge"); try { ST_Agedge_s e; e = (ST_Agedge_s) edges.get(ind); /* self edge without ports or * self edge with all ports inside, on the right, or at most 1 on top * and at most 1 on bottom */ if ((N(ED_tail_port(e).defined) && N(ED_head_port(e).defined)) || ( N(ED_tail_port(e).side & (1<<3)) && N(ED_head_port(e).side & (1<<3)) && ((ED_tail_port(e).side != ED_head_port(e).side) || (N(ED_tail_port(e).side & ((1<<2)|(1<<0))))))) { selfRight(edges, ind, cnt, sizex, sizey, sinfo); } /* self edge with port on left side */ else if ((ED_tail_port(e).side & (1<<3))!=0 || (ED_head_port(e).side & (1<<3))!=0) { /* handle L-R specially */ if ((ED_tail_port(e).side & (1<<1))!=0 || (ED_head_port(e).side & (1<<1))!=0) { selfTop(edges, ind, cnt, sizex, sizey, sinfo); } else { selfLeft(edges, ind, cnt, sizex, sizey, sinfo); } } /* self edge with both ports on top side */ else if ((ED_tail_port(e).side & (1<<2))!=0) { selfTop(edges, ind, cnt, sizex, sizey, sinfo); } else if ((ED_tail_port(e).side & (1<<0))!=0) { selfBottom(edges, ind, cnt, sizex, sizey, sinfo); } else assert(false); } finally { LEAVING("bt3fwgprixbc5rceeewozdqr9","makeSelfEdge"); } } //3 9br31owvzkmo6hpgi5o3yqs6u // void makePortLabels(edge_t * e) public static Object makePortLabels(Object... arg) { UNSUPPORTED("7h8uwyqfmkrxlwe199ha5685e"); // void makePortLabels(edge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8592v0z3b9lcnaz6kmep9i7fb"); // /* Only use this if labelangle or labeldistance is set for the edge; UNSUPPORTED("60d7j1whu0efnsich22dgcgct"); // * otherwise, handle with external labels. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("exadv83959uk532g2sef35k8d"); // if (!E_labelangle && !E_labeldistance) return; UNSUPPORTED("ex1c7eojs5nx6t10t191xuzvj"); // if (ED_head_label(e) && !ED_head_label(e)->set) { UNSUPPORTED("1hjdl17xghg2aygn0psu0p2oq"); // if (place_portlabel(e, NOT(0))) UNSUPPORTED("3rgc9w83agr2ba9s9muyubzqz"); // updateBB(agraphof(agtail(e)), ED_head_label(e)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("twsg91c027nxls3s64jxn4cy"); // if (ED_tail_label(e) && !ED_tail_label(e)->set) { UNSUPPORTED("bu5i9ibw82s14f8vgd3nz2s46"); // if (place_portlabel(e, 0)) UNSUPPORTED("80z5y1fe03judv18cnzdcbyww"); // updateBB(agraphof(agtail(e)), ED_tail_label(e)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7wyn51o9k6u7joaq9k18boffh // static void endPoints(splines * spl, pointf * p, pointf * q) public static void endPoints(ST_splines spl, ST_pointf p, ST_pointf q) { ENTERING("7wyn51o9k6u7joaq9k18boffh","endPoints"); try { final ST_bezier bz = new ST_bezier(); bz.____(spl.list.get(0)); if (bz.sflag!=0) { UNSUPPORTED("4wazlko0bxmzxoobqacij1btk"); // *p = bz.sp; } else { p.____(bz.list.get(0)); } bz.____(spl.list.plus(spl.size-1).getPtr()); if (bz.eflag!=0) { UNSUPPORTED("78u9nvs8u7rxturidz5nf8hn4"); // *q = bz.ep; } else { q.____(bz.list.get(bz.size-1)); } } finally { LEAVING("7wyn51o9k6u7joaq9k18boffh","endPoints"); } } //3 4v696uonfsqf7e6iafx99ovoj // static pointf polylineMidpoint (splines* spl, pointf* pp, pointf* pq) public static Object polylineMidpoint(Object... arg) { UNSUPPORTED("2zzd7mrm2u540dwuyzehozffj"); // static pointf UNSUPPORTED("2h8atayvi2acugdlg0pai43ib"); // polylineMidpoint (splines* spl, pointf* pp, pointf* pq) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("37thdceezsvepe7tlyfatrbcw"); // bezier bz; UNSUPPORTED("88fnnm6x9xzbtbojfr24qfqgy"); // int i, j, k; UNSUPPORTED("ejxa966mpm7v3o59230r3vwjz"); // double d, dist = 0; UNSUPPORTED("8nmqlo5bwer36kl8mp1gtz5bf"); // pointf pf, qf, mf; UNSUPPORTED("4z4l1zu33m72iirxmuhdg36iw"); // for (i = 0; i < spl->size; i++) { UNSUPPORTED("ewoeh3d6otc2rgpaxuzwm38x7"); // bz = spl->list[i]; UNSUPPORTED("99as77xwpn23hvyqfywj6oi2g"); // for (j = 0, k=3; k < bz.size; j+=3,k+=3) { UNSUPPORTED("2gecyey0ki14xgfwd8lmdmexb"); // pf = bz.list[j]; UNSUPPORTED("apnzdgopwxw4q1fw7qtnifypo"); // qf = bz.list[k]; UNSUPPORTED("829tfml4q5a7brr6x4nun2cuc"); // dist += DIST(pf, qf); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("em4an03o2ddsawe30b5l50d8k"); // dist /= 2; UNSUPPORTED("4z4l1zu33m72iirxmuhdg36iw"); // for (i = 0; i < spl->size; i++) { UNSUPPORTED("ewoeh3d6otc2rgpaxuzwm38x7"); // bz = spl->list[i]; UNSUPPORTED("99as77xwpn23hvyqfywj6oi2g"); // for (j = 0, k=3; k < bz.size; j+=3,k+=3) { UNSUPPORTED("2gecyey0ki14xgfwd8lmdmexb"); // pf = bz.list[j]; UNSUPPORTED("apnzdgopwxw4q1fw7qtnifypo"); // qf = bz.list[k]; UNSUPPORTED("9efld0l6jtgzu237fqme6vlih"); // d = DIST(pf,qf); UNSUPPORTED("uolmj8tx8ul9z4zxcs6xt03h"); // if (d >= dist) { UNSUPPORTED("5pequ7xrb4otn4nmoo4xzbppn"); // *pp = pf; UNSUPPORTED("6y0c82r8tb4tcxzx62aes05hf"); // *pq = qf; UNSUPPORTED("43wwwo6k1nlge8ou0cyuxjsws"); // mf.x = ((qf.x*dist) + (pf.x*(d-dist)))/d; UNSUPPORTED("7rndnud8ft5vs2kx1fjwhymtm"); // mf.y = ((qf.y*dist) + (pf.y*(d-dist)))/d; UNSUPPORTED("9t6wng08fgzru4uhripezjnkg"); // return mf; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("9pooqnj2v1895ue6jlimhrxgr"); // dist -= d; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8kllckmfkh8837qtc8hwoh74j"); // assert (0); /* should never get here */ UNSUPPORTED("cs6egh6pje9pqxb748vbj2q51"); // return mf; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8hpmwzlqbj1nii32zubbe9hru // pointf edgeMidpoint (graph_t* g, edge_t * e) public static ST_pointf edgeMidpoint(ST_Agraph_s g, ST_Agedge_s e) { ENTERING("8hpmwzlqbj1nii32zubbe9hru","edgeMidpoint"); try { return edgeMidpoint_(g, e).copy(); } finally { LEAVING("8hpmwzlqbj1nii32zubbe9hru","edgeMidpoint"); } } private static ST_pointf edgeMidpoint_(ST_Agraph_s g, ST_Agedge_s e) { int et = (GD_flags(g) & (7 << 1)); final ST_pointf d = new ST_pointf(); final ST_pointf spf = new ST_pointf(); final ST_pointf p = new ST_pointf(); final ST_pointf q = new ST_pointf(); endPoints((ST_splines) ED_spl(e), p, q); if (APPROXEQPT(p, q, MILLIPOINT)) { /* degenerate spline */ UNSUPPORTED("7i8m5mpfnv7m9uqxh015zfdaj"); // spf = p; } else if ((et == (5 << 1)) || (et == (2 << 1))) { d.x = (q.x + p.x) / 2.; d.y = (p.y + q.y) / 2.; spf.___(dotneato_closest((ST_splines)ED_spl(e), d)); } else { /* ET_PLINE, ET_ORTHO or ET_LINE */ UNSUPPORTED("6he3hi05vusuthrchn4enk7o6"); // spf = polylineMidpoint (ED_spl(e), &p, &q); } return spf; } //3 3msxu7tuq8q3m0sqtthq29flm // void addEdgeLabels(graph_t* g, edge_t * e, pointf rp, pointf rq) public static Object addEdgeLabels(Object... arg) { UNSUPPORTED("ldo41gaevp1jys68pnbguk3z"); // void addEdgeLabels(graph_t* g, edge_t * e, pointf rp, pointf rq) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("as6htoa1c0fv7e0v9a7h98p5h"); // makePortLabels(e); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 54bdrq95zwpwmxf86ln5eom99 // int place_portlabel(edge_t * e, boolean head_p) public static Object place_portlabel(Object... arg) { UNSUPPORTED("bnu1zhg128g969c502d6btzbs"); // int place_portlabel(edge_t * e, boolean head_p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2l3ombz9fng1wmxwdgkjokemn"); // textlabel_t *l; UNSUPPORTED("6tl9mepc2bett364jduh2q4mf"); // splines *spl; UNSUPPORTED("3hs99atzl1l857khumt6ycmbh"); // bezier *bez; UNSUPPORTED("7dsz4anx5o7u9qq3lzzknay2f"); // double dist, angle; UNSUPPORTED("65fz6d9e07e4c95zyum8bt633"); // pointf c[4], pe, pf; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("8l8zbwbivibv6xgq0pxgwvq9n"); // char* la; UNSUPPORTED("e5b3d0nivpt5k8dkz65otlbpz"); // char* ld; UNSUPPORTED("2kp0srstg11z7hyemmxoo4e52"); // if (ED_edge_type(e) == 6) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("chxgak0231km4auc7310y9pk8"); // /* add label here only if labelangle or labeldistance is defined; else, use external label */ UNSUPPORTED("t397yg339z571sgse05vtq1w"); // if ((!E_labelangle || (*(la = agxget(e,E_labelangle)) == '\0')) && UNSUPPORTED("8uvkv1d0qbznkf3xuozvc7qzf"); // (!E_labeldistance || (*(ld = agxget(e,E_labeldistance)) == '\0'))) { UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("tm1vvm5oplen4vv9y7lqo6xf"); // l = head_p ? ED_head_label(e) : ED_tail_label(e); UNSUPPORTED("3gtifp1yui3al397n1i9akefw"); // if ((spl = getsplinepoints(e)) == NULL) return 0; UNSUPPORTED("2ia4wsp0i4dpjelpvoiytkbi7"); // if (!head_p) { UNSUPPORTED("7ahdd5aq924y6mwot89trjyra"); // bez = &spl->list[0]; UNSUPPORTED("efd82pfo3nyqu51w9264hj3kl"); // if (bez->sflag) { UNSUPPORTED("47udgszrx6pdd38kn2sweuhwh"); // pe = bez->sp; UNSUPPORTED("e5nb3zmvz6fp6xqkor9i4yf0"); // pf = bez->list[0]; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("61yxghl3kwjuso7s1p0n7t1n2"); // pe = bez->list[0]; UNSUPPORTED("ced0y25bh0hjo9cnppppf7h2x"); // for (i = 0; i < 4; i++) UNSUPPORTED("1y5d5t4i694a5f0j7ee6a7z2y"); // c[i] = bez->list[i]; UNSUPPORTED("92m7eg16654p0n58cwr883aqa"); // pf = Bezier(c, 3, 0.1, NULL, NULL); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("4s7tr233odbsuhmyc1ksdmnjs"); // bez = &spl->list[spl->size - 1]; UNSUPPORTED("5d2ntg5cm9vsqeat2p88bel1l"); // if (bez->eflag) { UNSUPPORTED("er4lbg8eptuapclxc4o7sqvam"); // pe = bez->ep; UNSUPPORTED("91krm055d5o8geih7ot17sp97"); // pf = bez->list[bez->size - 1]; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("70e7dqxnvd7agtj92eve28u4r"); // pe = bez->list[bez->size - 1]; UNSUPPORTED("ced0y25bh0hjo9cnppppf7h2x"); // for (i = 0; i < 4; i++) UNSUPPORTED("7v8xa8y04nup6v5cwzsdkqs2z"); // c[i] = bez->list[bez->size - 4 + i]; UNSUPPORTED("8pbi2gjbe0mg3ghpfkt7kwpm9"); // pf = Bezier(c, 3, 0.9, NULL, NULL); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("14iusq03pj0vtm5mkr4ny0o1y"); // angle = atan2(pf.y - pe.y, pf.x - pe.x) + UNSUPPORTED("2jyhji8yxpqj21l189dgr1wcz"); // RADIANS(late_double(e, E_labelangle, -25, -180.0)); UNSUPPORTED("5ibf647cm3agxlbdzq27a2sed"); // dist = 10 * late_double(e, E_labeldistance, 1.0, 0.0); UNSUPPORTED("etyjtm4uw7xa47lhonum31o4r"); // l->pos.x = pe.x + dist * cos(angle); UNSUPPORTED("b28y7lmoordi3n69md9mfl7k9"); // l->pos.y = pe.y + dist * sin(angle); UNSUPPORTED("5nziiydj5nf07y5wrg22fpu86"); // l->set = NOT(0); UNSUPPORTED("3tcgz4dupb6kw5tdk7n3pca2l"); // return 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2tbz9tbkzx8os72qiyhgnby67 // splines *getsplinepoints(edge_t * e) public static ST_splines getsplinepoints(ST_Agedge_s e) { ENTERING("2tbz9tbkzx8os72qiyhgnby67","getsplinepoints"); try { ST_Agedge_s le; ST_splines sp; for (le = e; N(sp = ED_spl(le)) && ED_edge_type(le) != 0; le = ED_to_orig(le)); if (sp == null) UNSUPPORTED("8oq6gemxrb07hmmw0gtux7os5"); // agerr (AGERR, "getsplinepoints: no spline points available for edge (%s,%s)\n", // UNSUPPORTED("bw49w8tpkv5eblsevof4kelef"); // agnameof(agtail(e)), agnameof(aghead(e))); return sp; } finally { LEAVING("2tbz9tbkzx8os72qiyhgnby67","getsplinepoints"); } } } plantuml-1.2018.13+ds/src/gen/lib/common/strcasecmp__c.java000066400000000000000000000047561340005343600233450ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static smetana.core.JUtils.tolower; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import smetana.core.CString; public class strcasecmp__c { //3 22n1uekxezky6gx3cn22ansew // int strcasecmp(const char *s1, const char *s2) public static int strcasecmp(CString s1, CString s2) { ENTERING("22n1uekxezky6gx3cn22ansew","strcasecmp"); try { while ((s1.charAt(0) != '\0') && (tolower(s1.charAt(0)) == tolower(s2.charAt(0)))) { s1=s1.plus(1); s2=s2.plus(1); } return tolower(s1.charAt(0)) - tolower(s2.charAt(0)); } finally { LEAVING("22n1uekxezky6gx3cn22ansew","strcasecmp"); } } } plantuml-1.2018.13+ds/src/gen/lib/common/strncasecmp__c.java000066400000000000000000000061061340005343600235120ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static smetana.core.Macro.UNSUPPORTED; public class strncasecmp__c { //3 6fpqvqq5eso7d44vai4lz77jd // int strncasecmp(const char *s1, const char *s2, unsigned int n) public static Object strncasecmp(Object... arg) { UNSUPPORTED("41sf831iel4ggk6nxgerc7lrz"); // int strncasecmp(const char *s1, const char *s2, unsigned int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f0os7tzuki1s9mllsml3zu2fd"); // if (n == 0) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("18ggb7ihy0resf5qhplc7cqol"); // while ((n-- != 0) UNSUPPORTED("7tdf84gz2hakxs756j3v0w4iv"); // && (tolower(*(unsigned char *) s1) == UNSUPPORTED("co97u0db3a8mz1pp77hkxq0h3"); // tolower(*(unsigned char *) s2))) { UNSUPPORTED("2jr0cuzm9i39xecgxx0ih0ez4"); // if (n == 0 || *s1 == '\0' || *s2 == '\0') UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("2hh1h5gydepd3ut3g43bzn51g"); // s1++; UNSUPPORTED("7x8zh0pm8zj83pbc2d812jz90"); // s2++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1jrt0skm3a5djo3vfej4kwffc"); // return tolower(*(unsigned char *) s1) - tolower(*(unsigned char *) s2); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/common/taper__c.java000066400000000000000000000642501340005343600223070ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static smetana.core.Macro.UNSUPPORTED; public class taper__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 ds76bidhz8tjxkw6b8aksdvxr // static double currentmiterlimit = 10.0 //3 37hx3k37anj8r9mjvso4soefw // static void addto (stroke_t* p, double x, double y) public static Object addto(Object... arg) { UNSUPPORTED("cxe7x5zvdqcgljx0c0ct5kj7v"); // static void addto (stroke_t* p, double x, double y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2e0v7u9pfngzg11mt4kn3oudg"); // pointf pt; UNSUPPORTED("dl6r4jnwf9tos614e6dxt54nu"); // if (p->nvertices >= p->flags) { UNSUPPORTED("753dl99rp4kb8muohhjnrooiy"); // p->flags =+ 2000; UNSUPPORTED("8gz00abtr7t59howsf2sghq4e"); // p->vertices = RALLOC(p->flags,p->vertices,pointf); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4x5drjd0ygppv2k94igpp68s2"); // pt.x = x; UNSUPPORTED("e8848u2pml7agv3q6uepcvysp"); // pt.y = y; UNSUPPORTED("8cr9bk6he8smdllk7y3v8zfzg"); // p->vertices[p->nvertices++] = pt; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5rbblyx7l2j8x4skajzxqiwaf // static void arcn (stroke_t* p, double x, double y, double r, double a1, double a2) public static Object arcn(Object... arg) { UNSUPPORTED("3jgc82gtsuvmp7kj1sfwtf5uv"); // static void arcn (stroke_t* p, double x, double y, double r, double a1, double a2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5xztbte7ezj843nawd7bvstet"); // double theta; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("82d861gclxfag8nh96t09jxtt"); // addto (p, x+r*cos(a1), y+r*sin(a1)); UNSUPPORTED("bjdcjivokvek6ql06bw4soztx"); // if (r == 0) return; UNSUPPORTED("4lal8jxrwkulr8zpl5stsxkrt"); // while (a2 > a1) a2 -= 2*3.14159265358979323846; UNSUPPORTED("6jidndwc0ed5nlh89cj2ogu5b"); // theta = a1 - a2; UNSUPPORTED("c9ot8wph8hmrzkm7yuzh7gt8s"); // while (theta > 2*3.14159265358979323846) theta -= 2*3.14159265358979323846; UNSUPPORTED("eaugkmo55m6kizyb3gzzzgsr6"); // theta /= (20-1); UNSUPPORTED("8moo8yolmkvvvfll1yxyb984o"); // for (i = 1; i < 20; i++) UNSUPPORTED("7w1xen1rv3ve6ogqu7z1o825y"); // addto (p, x+r*cos(a1-i*theta), y+r*sin(a1-i*theta)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dw4giwrdkygo30ux7h9vqoni5 // static double myatan (double y, double x) public static Object myatan(Object... arg) { UNSUPPORTED("51twbyur0a3vygc4lht7f3yal"); // static double myatan (double y, double x) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9gol5nm38e942ve1ebl1cjtlv"); // double v; UNSUPPORTED("1z65rccjdrspxqoaj9qq5gs3q"); // if ((x == 0) && (y == 0)) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("adiklywz2pj2zlyyhhy8y244r"); // v = atan2 (y, x); UNSUPPORTED("7jmcb4vgz4sib476up6ourg67"); // if (v >= 0) return v; UNSUPPORTED("9xbltmwvt8lkbkt3dyvsyyrnc"); // else return (v + 2*3.14159265358979323846); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 apxlatl0g1hcl36pozo9rbijz // static double mymod (double original, double modulus) public static Object mymod(Object... arg) { UNSUPPORTED("4lzz822wr9xogvbkxwq2p4djj"); // static double mymod (double original, double modulus) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9gol5nm38e942ve1ebl1cjtlv"); // double v; UNSUPPORTED("7xrcngwvajpif9r69m54w64a2"); // if ((original < 0) || (original >= modulus)) { UNSUPPORTED("6arshdtqlpzcb2x8apa4d2uvk"); // v = -floor(original/modulus); UNSUPPORTED("9tazzesrwxgrdbwb9mkvvptt6"); // return ((v*modulus) + original); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ay7iouy5jqpu5z9qk1zp0duie"); // return original; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3vkg7w3ke5ee59segqqkwid17 // static vararr_t* newArr (void) public static Object newArr(Object... arg) { UNSUPPORTED("6oi8ug46evw6d3gxiiqkxwu30"); // static vararr_t* UNSUPPORTED("4vfh8nqxhykygdmg0ifzha82l"); // newArr (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("417k87o0rksmn0vw9xy6t0rfv"); // vararr_t* arr = (vararr_t*)zmalloc(sizeof(vararr_t)); UNSUPPORTED("ar8weg5zgsytfffj61bksv2nt"); // arr->cnt = 0; UNSUPPORTED("3nl7c4g3pzkgqswnj7h45v3ev"); // arr->sz = 2000; UNSUPPORTED("bfzoantmopqk4byg4d7kmi770"); // arr->pts = (pathpoint*)zmalloc((2000)*sizeof(pathpoint)); UNSUPPORTED("ccsfhshi4ig5z5la1ju1x9cnc"); // return arr; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 emanczpl0fr5cs8t1tgvka2ua // static void insertArr (vararr_t* arr, pointf p, double l) public static Object insertArr(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("8v67nvmyz4yxnupb82f54jk9g"); // insertArr (vararr_t* arr, pointf p, double l) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("kahpad7jk1hodmjj808l7dxq"); // if (arr->cnt >= arr->sz) { UNSUPPORTED("7z6erqvmbkm9sl7i89ix3t8vr"); // arr->sz *= 2; UNSUPPORTED("99tebe4imvyc4desymrfhljd7"); // arr->pts = RALLOC(arr->sz,arr->pts,pathpoint); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("br1mk0jed98vu2xl7x2nbcm7s"); // arr->pts[arr->cnt].x = p.x; UNSUPPORTED("b1mytlmkf0s950zn7gs74k4br"); // arr->pts[arr->cnt].y = p.y; UNSUPPORTED("4f7855jr9oovy4nov96abulma"); // arr->pts[arr->cnt++].lengthsofar = l; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 djrl04e0hnm9z4c9mygp3kdjn // static void fixArr (vararr_t* arr) public static Object fixArr(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("82xx4q98200g4y3mpp3pal2li"); // fixArr (vararr_t* arr) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1dn0v5t5wbzicbbr44xf4fr0t"); // if (arr->sz > arr->cnt) UNSUPPORTED("3vugzps0w4i557rlkmjan8p29"); // arr->pts = RALLOC(arr->cnt,arr->pts,pathpoint); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dkncnskx3m00uje3cgv41ijdt // static void freeArr (vararr_t* arr) public static Object freeArr(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("54u81fh95rxlpha3qyk9ehb7c"); // freeArr (vararr_t* arr) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("arje9cheuqn10vynbk56ukz3e"); // free (arr->pts); UNSUPPORTED("amydox92cqc7sp8tpkooy0l04"); // free (arr); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2vfkvxso8rdk46al15j439ju // static double l2dist (pointf p0, pointf p1) public static Object l2dist(Object... arg) { UNSUPPORTED("1pz4c8sn3juc1g2fhezjnpmd2"); // static double l2dist (pointf p0, pointf p1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7eagovsf8qdkhnna5ttw91v6f"); // double delx = p0.x - p1.x; UNSUPPORTED("63axa60soz954naurv3tp4093"); // double dely = p0.y - p1.y; UNSUPPORTED("45ran48pxafslteww0nkr0oy9"); // return sqrt(delx*delx + dely*dely); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e8z50dab6k0lk9eru6tpkypvs // static vararr_t* pathtolines (bezier* bez, double initwid) public static Object pathtolines(Object... arg) { UNSUPPORTED("4co20l0j4xlm1zv7bjwz9elqo"); // static vararr_t* pathtolines (bezier* bez, double initwid) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e94cztctbqq9ucd7n67ebdges"); // int i, j, step; UNSUPPORTED("7qswbkiwqvj5o23nxscn2xzu3"); // double seglen, linelen = 0; UNSUPPORTED("35ncr2n01679jn6xdx7lovbxg"); // vararr_t* arr = newArr(); UNSUPPORTED("4rrhn7tnwemc4ar7wq0j96kev"); // pointf p0, p1, V[4]; UNSUPPORTED("amd6cyu1q1eots437g00w8phx"); // int n = bez->size; UNSUPPORTED("8ifezqgmvyo8z6wf0qcatnztd"); // pointf* A = bez->list; UNSUPPORTED("eia2p2xwqw8mqn9dfliiurrr7"); // insertArr (arr, A[0], 0); UNSUPPORTED("5mspz8cilygav1eq04djl7dlf"); // V[3] = A[0]; UNSUPPORTED("3s0blwgctqa0ygs872bnu4kye"); // for (i = 0; i + 3 < n; i += 3) { UNSUPPORTED("76skw6ffgj23bchkntqtrfcq7"); // V[0] = V[3]; UNSUPPORTED("6lhc8cdnbz2nu3rhz57v5dmc1"); // for (j = 1; j <= 3; j++) UNSUPPORTED("37fsp14ok0vo02898upd62lqp"); // V[j] = A[i + j]; UNSUPPORTED("93nos5j5xytqabt45wbg4czil"); // p0 = V[0]; UNSUPPORTED("335n0b4zult6fp5ic3mco2xkw"); // for (step = 1; step <= 20; step++) { UNSUPPORTED("3rli8h9x69lwpiayu0y0gcaoo"); // p1 = Bezier(V, 3, (double) step / 20, (void *)0, (void *)0); UNSUPPORTED("bxa5icduvxvktsbhy894m25nv"); // seglen = l2dist(p0, p1); UNSUPPORTED("ci98ubpynj2u3wr63q30b8ddv"); // /* If initwid is large, this may never happen, so turn off. I assume this is to prevent UNSUPPORTED("197sucveb3ncj66y77a2lmirt"); // * too man points or too small a movement. Perhaps a better test can be made, but for now UNSUPPORTED("6aqlkwuxiu1jk3hcwywqtptfx"); // * we turn it off. UNSUPPORTED("20m1lc1moer8x00tx9ceto0iw"); // */ UNSUPPORTED("ad24rtknwvng9ifrqti3z182a"); // /* if (seglen > initwid/10) { */ UNSUPPORTED("at53x9272ok7viedn52tfmxs9"); // linelen += seglen; UNSUPPORTED("avlslqeh4lqlpuft9gvcskcgl"); // insertArr (arr, p1, linelen); UNSUPPORTED("34uyo5h2d2cr1gy61yie7txem"); // /* } */ UNSUPPORTED("c5vgyvjtvlhaldki4knu2mv25"); // p0 = p1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("cqyo311cnd0n23sijmv5k82l1"); // fixArr (arr); UNSUPPORTED("a1fj3h2aqltc9pidvjej8cxlf"); // /* printArr (arr, stderr); */ UNSUPPORTED("ccsfhshi4ig5z5la1ju1x9cnc"); // return arr; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5tozuy492rmd5etcp98dlqt1y // static void drawbevel(double x, double y, double lineout, int forward, double dir, double dir2, int linejoin, stroke_t* p) public static Object drawbevel(Object... arg) { UNSUPPORTED("2qy6fcr5q2i7bkdxvzzwrz570"); // static void drawbevel(double x, double y, double lineout, int forward, double dir, double dir2, int linejoin, stroke_t* p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5kph4zx0cyuidmd7x1cloedsi"); // double a, a1, a2; UNSUPPORTED("d10oqu9tn28o7bzq83fvol955"); // if (forward) { UNSUPPORTED("doysnlmgd1gow0os5wr5dxr0h"); // a1 = dir; UNSUPPORTED("26ao9suwlr5unltg4xdoi9lj8"); // a2 = dir2; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("7vwlht2qk7zqu6kifv69i7bt5"); // a1 = dir2; UNSUPPORTED("1r5bjzpwx8a3ne8vmn2nxcu52"); // a2 = dir; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6iax8tt6lrdck8goujhk00hs5"); // if (linejoin == 1) { UNSUPPORTED("4ecnnr5gsgd13e2t8959l3t4f"); // a = a1 - a2; UNSUPPORTED("3cwtamgprrppba01yard7r24n"); // if (a <= (3.14159265358979323846*(0.1)/180.0)) a += (3.14159265358979323846*(360)/180.0); UNSUPPORTED("3eqjj4tj5gjh8o4bot8pslbjt"); // if (a < (3.14159265358979323846*(180)/180.0)) { UNSUPPORTED("6f4cxd2owe51qjtpf2g2qgqa6"); // a1 = a + a2; UNSUPPORTED("2w6rakjxhdggmu2moctdxufk7"); // arcn (p,x,y,lineout,a1,a2); UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("eukl7uoeeewpjnm0z5fnpne38"); // addto(p,x + lineout*cos(a2),x + lineout*sin(a2)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("90zyfikk81hiajwc2bh8qzemz"); // addto(p,x + lineout*cos(a2),x + lineout*sin(a2)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 67jgk3x4cvr5g5sjkktz9hv3p // stroke_t* taper (bezier* bez, radfunc_t radfunc, double initwid, int linejoin, int linecap) public static Object taper(Object... arg) { UNSUPPORTED("92uf8ujxvbmb009ow0y2ylc28"); // stroke_t* taper (bezier* bez, radfunc_t radfunc, double initwid, int linejoin, int linecap) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ebpurc5lht6x0pe8utbovvtkj"); // int i, l, n; UNSUPPORTED("23t8ciiwx0m0urylqh0rdj45f"); // int pathcount, bevel; UNSUPPORTED("aap39s7rrs42rpqb2wnwm1wac"); // double direction=0, direction_2=0; UNSUPPORTED("9m9xu2pqfgvlgbaera9r5bslu"); // vararr_t* arr = pathtolines (bez, initwid); UNSUPPORTED("3zu7p7qd5hfut9413f9nua2hp"); // pathpoint* pathpoints; UNSUPPORTED("8400pubdu8b37sik81zlon17q"); // pathpoint cur_point, last_point, next_point; UNSUPPORTED("e2l5uh8yuami4r4nsytajt49e"); // double x=0, y=0, dist; UNSUPPORTED("z9q8a6k36ts2dcgz6b1uro9f"); // double nx, ny, ndir; UNSUPPORTED("8rityqi74uqjkie4xszf2cz9s"); // double lx, ly, ldir; UNSUPPORTED("exc47riargr44o24fo7dq38pf"); // double lineout=0, linerad=0, linelen=0; UNSUPPORTED("dim9rt5u8affmln2pricl9c4z"); // double theta, phi; UNSUPPORTED("bcjf9eyzp0bx4ace27dfpdpkr"); // stroke_t* p; UNSUPPORTED("d43stoip4tcodq33ekkdc2o2d"); // pathcount = arr->cnt; UNSUPPORTED("3ahpl1jbl65q1xb0s2y138jat"); // pathpoints = arr->pts; UNSUPPORTED("78l26kaqv5ovbmh3w047sqyk4"); // linelen = pathpoints[pathcount-1].lengthsofar; UNSUPPORTED("9uu6i69mrs8oofgu1thnoeh6s"); // /* determine miter and bevel points and directions */ UNSUPPORTED("9p5eqhc57q744jswt4xn49de5"); // for (i = 0; i < pathcount; i++) { UNSUPPORTED("ayjwp7w7mt18negnhgj0sbv59"); // l = mymod(i-1,pathcount); UNSUPPORTED("32kv4nbdjmjk22m6e7utdtur6"); // n = mymod(i+1,pathcount); UNSUPPORTED("6sepicym4lwb144speybi5pdm"); // cur_point = pathpoints[i]; UNSUPPORTED("904onk81tz0s5sep0j6awgdpb"); // x = cur_point.x; UNSUPPORTED("agtncoxbpms9wwt2ie97e47g4"); // y = cur_point.y; UNSUPPORTED("1tbip84gxxj24fbdv8razb8ro"); // dist = cur_point.lengthsofar; UNSUPPORTED("dyj2zbknry7a1x9ebao54p2px"); // next_point = pathpoints[n]; UNSUPPORTED("4q9nd7a8vv14sz57dz10eti4i"); // nx = next_point.x; UNSUPPORTED("34m4u9clc8vse172ui6o7luyc"); // ny = next_point.y; UNSUPPORTED("el8hvvq8ozxy51a09pf45t6lm"); // ndir = myatan (ny-y, nx-x); UNSUPPORTED("bp3rn8j3uu5wtuh39yht2wahr"); // last_point = pathpoints[l]; UNSUPPORTED("31sunwg5bgedjub9bgaudnn2w"); // lx = last_point.x; UNSUPPORTED("byfvt2pin8q8aaf4dw9kmo4f7"); // ly = last_point.y; UNSUPPORTED("21ekhwbbxmjwb10twls4jflzo"); // ldir = myatan (ly-y, lx-x); UNSUPPORTED("939fjejhngctxdmxbb5koezq6"); // bevel = 0; UNSUPPORTED("75eizgg2kuilkz07e5n9331yb"); // direction_2 = 0; UNSUPPORTED("9ibtpydrwwm9mu7z4303ioce6"); // /* effective line radius at this point */ UNSUPPORTED("3b0kp7ld95slxpcdcfrm9g3f9"); // linerad = radfunc(dist, linelen, initwid); UNSUPPORTED("17tfbs98ueshh3kxz0go6y28e"); // if ((i == 0) || (i == pathcount-1)) { UNSUPPORTED("c8k6abykr9kofwd7w2eh7wets"); // lineout = linerad; UNSUPPORTED("1zc3rhfsp70axt1st8ezyeucz"); // if (i == 0) { UNSUPPORTED("xs2p6fe1nq08icjrthobqees"); // direction = ndir + (3.14159265358979323846*(90)/180.0); UNSUPPORTED("6jhf2qmn6za8kr9w3auf58zfz"); // if (linecap == 2) { UNSUPPORTED("7gc6ece8x7l8lvlz5qkpw4jzk"); // x -= cos(ndir)*lineout; UNSUPPORTED("4oclmr8htzwxbgvwqgpotjkm0"); // y -= sin(ndir)*lineout; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("197wgta2k2gjicruujcxk2pxw"); // direction = ldir - (3.14159265358979323846*(90)/180.0); UNSUPPORTED("6jhf2qmn6za8kr9w3auf58zfz"); // if (linecap == 2) { UNSUPPORTED("52z8fu32uav0121o0kglvopfx"); // x -= cos(ldir)*lineout; UNSUPPORTED("740qs0z13dreer6os7d1lx38v"); // y -= sin(ldir)*lineout; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ap3owlr7o0jc1ahvdhqcjdqiq"); // direction_2 = direction; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("3wc8w7ht9a70rdtiofq8deau6"); // theta = ndir-ldir; UNSUPPORTED("bvc7byx1cwqmqnclfhzwox2k1"); // if (theta < 0) { UNSUPPORTED("20oornlkswqxxeufgzx9ax2i3"); // theta += (3.14159265358979323846*(360)/180.0); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("e7t2i7fgzowrk1ntx7cwh49id"); // phi = (3.14159265358979323846*(90)/180.0)-(theta/2); UNSUPPORTED("5dvmkcy9yqb2cc6rgmduj5b1c"); // /* actual distance to junction point */ UNSUPPORTED("8upqw3s8k892ep29pvt7cbki"); // if (cos(phi) == 0) { UNSUPPORTED("937cpmx6ugu8zzrr5aoylcqs6"); // lineout = 0; UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("9c90i4xl89nygyndfayv4s29m"); // lineout = linerad/(cos(phi)); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("c3j9s1x9zzozcg3mbp65k5itk"); // /* direction to junction point */ UNSUPPORTED("252vewuhexhnz6vj97f65w9zx"); // direction = ndir+(3.14159265358979323846*(90)/180.0)+phi; UNSUPPORTED("eobcnlcqwz1dximq5qhsa3i9s"); // if ((0 != linejoin) || (lineout > currentmiterlimit * linerad)) { UNSUPPORTED("31r3m1070akd0cf4vzq3qfaro"); // bevel = (!(0)); UNSUPPORTED("67w6qhlogp4d7uf18s35pj3wy"); // lineout = linerad; UNSUPPORTED("42maeq9w00m591r12lzegzu8y"); // direction = mymod(ldir-(3.14159265358979323846*(90)/180.0),(3.14159265358979323846*(360)/180.0)); UNSUPPORTED("avrmbklsobjff22asjbr5tgdf"); // direction_2 = mymod(ndir+(3.14159265358979323846*(90)/180.0),(3.14159265358979323846*(360)/180.0)); UNSUPPORTED("asm15sr4a6kydzpud2plsmxs0"); // if (i == pathcount-1) { UNSUPPORTED("eycx11cl9aeikjk5ekwb81go3"); // bevel = 0; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("dax7iiwvwzxlxymfmj1tjdihy"); // direction_2 = direction; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2q8u8grbi0h42y635qyr9v3qc"); // pathpoints[i].x = x; UNSUPPORTED("bhlm48hrfr2mg0if526u3iguo"); // pathpoints[i].y = y; UNSUPPORTED("957rrx269yqwuiikvpvy3ffpm"); // pathpoints[i].lengthsofar = dist; UNSUPPORTED("3helgp0v0pqd09d8ax7jah2mb"); // pathpoints[i].type = 'l'; UNSUPPORTED("3y6rmj5f7rvq2ebwgnvd1fgjq"); // pathpoints[i].dir = direction; UNSUPPORTED("1dvyxwcwbtzahsn4h6caxv445"); // pathpoints[i].lout = lineout; UNSUPPORTED("mmiievlimn4w1lptlh3llroz"); // pathpoints[i].bevel = bevel; UNSUPPORTED("er888lbd8xz64adkkzbqyfwh1"); // pathpoints[i].dir2 = direction_2; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ckcfut3hsl9z3mkr48i07xreq"); // /* draw line */ UNSUPPORTED("9r6b4bedc1rhpyql4jb2csd4n"); // p = (stroke_t*)zmalloc(sizeof(stroke_t)); UNSUPPORTED("70i20pyvm032opmt0lw7ygegp"); // /* side 1 */ UNSUPPORTED("9p5eqhc57q744jswt4xn49de5"); // for (i = 0; i < pathcount; i++) { UNSUPPORTED("6sepicym4lwb144speybi5pdm"); // cur_point = pathpoints[i]; UNSUPPORTED("904onk81tz0s5sep0j6awgdpb"); // x = cur_point.x; UNSUPPORTED("agtncoxbpms9wwt2ie97e47g4"); // y = cur_point.y; UNSUPPORTED("3u4hay46briisll392jdya23v"); // direction = cur_point.dir; UNSUPPORTED("1uct0gb7zqtj7385nbdnzyj0c"); // lineout = cur_point.lout; UNSUPPORTED("d9xs9uakpataixjavhuod06ig"); // bevel = cur_point.bevel; UNSUPPORTED("bf8qe3co9ovp0li3u7k7pqr9i"); // direction_2 = cur_point.dir2; UNSUPPORTED("9498bdr7ojnwbc5q4bfmdqha9"); // if (i == 0) { UNSUPPORTED("8qzin254lieocy18s2q55bb07"); // addto(p,x+cos(direction)*lineout,y+sin(direction)*lineout); UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("8qzin254lieocy18s2q55bb07"); // addto(p,x+cos(direction)*lineout,y+sin(direction)*lineout); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("euyvq7b75qnuktu6n6n1hvj1i"); // if (bevel) { UNSUPPORTED("bzgn4n0vstnr0nc3pqwub40eo"); // drawbevel (x, y, lineout, (!(0)), direction, direction_2, linejoin, p); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a4jnqx1pmpp8rz85lpaqyfnj9"); // /* end circle as needed */ UNSUPPORTED("7ibh2c9hlo51dzs6o9tk8xhh0"); // if (linecap == 1) { UNSUPPORTED("a8b7151pm774jksu8gm13tsa0"); // arcn (p, x,y,lineout,direction,direction+(3.14159265358979323846*(180)/180.0)); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("8ckgm7yw5o3kj12au3908fqin"); // direction += (3.14159265358979323846*(180)/180.0); UNSUPPORTED("385y1xwu0kh9i0679xwfgdhfi"); // addto(p,x+cos(direction)*lineout,y+sin(direction)*lineout); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1odd6xfcmpix4iwcbi07a3yet"); // /* side 2 */ UNSUPPORTED("9sytul5918tuv13gjz3sxy4x3"); // for (i = pathcount-2; i >= 0; i--) { UNSUPPORTED("6sepicym4lwb144speybi5pdm"); // cur_point = pathpoints[i]; UNSUPPORTED("904onk81tz0s5sep0j6awgdpb"); // x = cur_point.x; UNSUPPORTED("agtncoxbpms9wwt2ie97e47g4"); // y = cur_point.y; UNSUPPORTED("8uvc4rfbx29lnuzfihxx9p2td"); // direction = cur_point.dir + (3.14159265358979323846*(180)/180.0); UNSUPPORTED("1uct0gb7zqtj7385nbdnzyj0c"); // lineout = cur_point.lout; UNSUPPORTED("d9xs9uakpataixjavhuod06ig"); // bevel = cur_point.bevel; UNSUPPORTED("g0kdlqos9c7lovlj90k934dl"); // direction_2 = cur_point.dir2 + (3.14159265358979323846*(180)/180.0); UNSUPPORTED("z8wmez9u4a021s05d5cxi6wa"); // addto(p,x+cos(direction_2)*lineout,y+sin(direction_2)*lineout); UNSUPPORTED("ezt2dhrkjlk2egdubwm3lhef7"); // if (bevel) { UNSUPPORTED("66s1i3eyqfiswvzoblil8b24c"); // drawbevel (x, y, lineout, 0, direction, direction_2, linejoin, p); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2bichl6gosxd9wgzvd6uklrf5"); // /* start circle if needed */ UNSUPPORTED("7ibh2c9hlo51dzs6o9tk8xhh0"); // if (linecap == 1) { UNSUPPORTED("a8b7151pm774jksu8gm13tsa0"); // arcn (p, x,y,lineout,direction,direction+(3.14159265358979323846*(180)/180.0)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("f2o2l2qwk02ukzyk8zpg7ti5k"); // /* closepath (p); */ UNSUPPORTED("aqhe2lewlygs1royfxfz4cso5"); // freeArr (arr); UNSUPPORTED("91xduilalb406jjyw2g1i07th"); // return p; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5p2ry36pn9erx76ct8agwj29j // static double halffunc (double curlen, double totallen, double initwid) public static Object halffunc(Object... arg) { UNSUPPORTED("9tja24cimn4bxxvgebqx1p7g6"); // static double halffunc (double curlen, double totallen, double initwid) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7w1a8rqs29lelmnia96oa58f9"); // return ((1 - (curlen/totallen))*initwid/2.0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9atumni48eq11oedwpruqobkj // stroke_t* taper0 (bezier* bez, double initwid) public static Object taper0(Object... arg) { UNSUPPORTED("8flvjq0yy9wk9rlpxmqius1l1"); // stroke_t* taper0 (bezier* bez, double initwid) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84s227sd2ewmv1s2g5fisnfux"); // return taper(bez, halffunc, initwid, 0, 0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/common/textspan__c.java000066400000000000000000000751721340005343600230470ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_GVC_s; import h.ST_dt_s; import h.ST_pointf; import h.ST_textspan_t; public class textspan__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 2ij5ud0czexs3gf9qyg15sna0 // static double timesFontWidth[] = //1 15m2jpfaemvlv4wwvfprbkca8 // static double arialFontWidth[] = //1 736czmqcnj402ij7367e13rvf // static double courFontWidth[] = //3 c5mvc1s1l5vtwvqfbwwlzvb2k // static void estimate_textspan_size(textspan_t * span, char **fontpath) public static Object estimate_textspan_size(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("bz0vk28zh43zq01osv1pdbnoy"); // estimate_textspan_size(textspan_t * span, char **fontpath) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7cumpe2owb4p5ob3vhxkxozet"); // double *Fontwidth, fontsize; UNSUPPORTED("8ul52kili9s5z4d2tb4ciq5fk"); // char c, *p, *fpp, *fontname; UNSUPPORTED("gqcoiz3smahq7t9pizb8mu5t"); // fontname = span->font->name; UNSUPPORTED("b4qovx8fo3dz2wxi2ozi00xit"); // fontsize = span->font->size; UNSUPPORTED("7p3v9x3k7k60kgeqnpqm28m2b"); // span->size.x = 0.0; UNSUPPORTED("2hja2plvki9yret53v34jrzuj"); // span->size.y = fontsize * 1.20; UNSUPPORTED("arxrgaeah7bs997uzskiskjn6"); // span->yoffset_layout = 0.0; UNSUPPORTED("80sylfo5oj6eky7rnchp1awln"); // span->yoffset_centerline = 0.1 * fontsize; UNSUPPORTED("122ykarwskperlr1m2dtyh1u6"); // span->layout = NULL; UNSUPPORTED("ci5ep320bpuoad04lihnrl9ox"); // span->free_layout = NULL; UNSUPPORTED("5z317de5yo4y89q75r03ybvs4"); // if (!strncasecmp(fontname, "cour", 4)) { UNSUPPORTED("expuc9yp3ite065nx41vtxc5x"); // fpp = "[internal courier]"; UNSUPPORTED("9k4mto16lsbis6uh6n1ces64u"); // Fontwidth = courFontWidth; UNSUPPORTED("x43p918buqje42n73zkmmq9"); // } else if (!strncasecmp(fontname, "arial", 5) UNSUPPORTED("1w0wpefq5qvjrjlfgpyvtyu1l"); // || !strncasecmp(fontname, "helvetica", 9)) { UNSUPPORTED("46zalgdqorux1vqsw35wr4hug"); // fpp = "[internal arial]"; UNSUPPORTED("aooxzb51suo58rg4jq0yc5efh"); // Fontwidth = arialFontWidth; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("8zxh2mw2ym93g3y0qbuo7b1y2"); // fpp = "[internal times]"; UNSUPPORTED("ba8qp8iosrsts5d8fe3y66vfw"); // Fontwidth = timesFontWidth; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3jp7t7s8b8ho6x5ooevmh14sp"); // if (fontpath) UNSUPPORTED("5mfoy5aawcfowdrruy2p79fox"); // *fontpath = fpp; UNSUPPORTED("bxiz3uoynwbtpj7sczmtlpvwg"); // if ((p = span->str)) { UNSUPPORTED("1d0v6uokvdvo7u0r11gjfdywv"); // while ((c = *p++)) UNSUPPORTED("uulsqewu7tuyaoqlsqrgr6fm"); // span->size.x += Fontwidth[(unsigned char) c]; UNSUPPORTED("ef61tlvpfs09dipj6a0h1rugz"); // /* NOTE: Tables are based on a font of size 1. Need to multiply by UNSUPPORTED("6iewui4j0nakf1x52fizqiwva"); // * fontsize to get appropriate value. UNSUPPORTED("daz6lkpz1mird0mokqvqrv9k6"); // */ UNSUPPORTED("3ueud3s5zgvouyxe67po3p0ez"); // span->size.x *= fontsize; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 8elzy4ma9zrkr1kb4qotvmuvb // static PostscriptAlias postscript_alias[] = //3 2skgvoud1m9bi0twctu87d9w0 // static int fontcmpf(const void *a, const void *b) public static Object fontcmpf(Object... arg) { UNSUPPORTED("cv6ykfir8zyyc5gmbvqflk8az"); // static int fontcmpf(const void *a, const void *b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cwkq5qoprbtbe1sanjmd8nv1j"); // return (strcasecmp(((PostscriptAlias*)a)->name, ((PostscriptAlias*)b)->name)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ch4ydg69bw2im7u9vwmlyqqe6 // static PostscriptAlias* translate_postscript_fontname(char* fontname) public static Object translate_postscript_fontname(Object... arg) { UNSUPPORTED("5uomt2e0iurhuaodxzopllgt6"); // static PostscriptAlias* translate_postscript_fontname(char* fontname) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6jyis2315vduiewgrijlvpdss"); // static PostscriptAlias key; UNSUPPORTED("dsul7ne0n8pgeab5uatmk276y"); // static PostscriptAlias *result; UNSUPPORTED("co97723b0exu2cdgdnzi1ak77"); // if (key.name == NULL || strcasecmp(key.name, fontname)) { UNSUPPORTED("8yilwlv819631lcw5tk9k8iqo"); // key.name = fontname; UNSUPPORTED("buq60ozuorb1j4pw4g4xm8cdq"); // result = (PostscriptAlias *) bsearch((void *) &key, UNSUPPORTED("5jh434yyxpdbk2sru0g10aqx7"); // (void *) postscript_alias, UNSUPPORTED("axfmqs3j7zitn8bx04nej328x"); // sizeof(postscript_alias) / sizeof(PostscriptAlias), UNSUPPORTED("d48qr8ttleon9i6zu2d6lvl27"); // sizeof(PostscriptAlias), UNSUPPORTED("8gxrgdit9jlzc8otezqbsr19o"); // fontcmpf); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("e73y2609z2557xahrcvzmcb8e"); // return result; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 n8tcl06mifdn779rzenam44z // pointf textspan_size(GVC_t *gvc, textspan_t * span) public static ST_pointf textspan_size(ST_GVC_s gvc, ST_textspan_t span) { // WARNING!! STRUCT return textspan_size_w_(gvc, span).copy(); } private static ST_pointf textspan_size_w_(ST_GVC_s gvc, ST_textspan_t span) { ENTERING("n8tcl06mifdn779rzenam44z","textspan_size"); try { System.err.println("Warning:textspan_size "+span); span.size.setDouble("x", 30); span.size.setDouble("y", 20); return span.size.copy(); } finally { LEAVING("n8tcl06mifdn779rzenam44z","textspan_size"); } } //3 3bbrz9gqi8j8b5c1fxsnv6txg // static void* textfont_makef(Dt_t* dt, void* obj, Dtdisc_t* disc) public static Object textfont_makef(Object... arg) { UNSUPPORTED("ezwm25dnds89i6n9bz6jxfpyv"); // static void* textfont_makef(Dt_t* dt, void* obj, Dtdisc_t* disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("51vxeragpkjf0vwb07i7dl9x"); // textfont_t *f1 = (textfont_t*)obj; UNSUPPORTED("7j92va3n01tx9nm5lfz6stedq"); // textfont_t *f2 = calloc(1,sizeof(textfont_t)); UNSUPPORTED("5w5r0tig83q9yoy6zhz5o7agc"); // /* key */ UNSUPPORTED("23s5fksqi3wn73kpx2mipfx82"); // if (f1->name) f2->name = strdup(f1->name); UNSUPPORTED("f2zpyj0gm6kd4y0chvzpe3di4"); // if (f1->color) f2->color = strdup(f1->color); UNSUPPORTED("83wzklvzx2pc15wj16qppl4v2"); // f2->flags = f1->flags; UNSUPPORTED("8u1zhn0nsxkxbr1tmt2w8hw1f"); // f2->size = f1->size; UNSUPPORTED("62pprpgc67m2fs16j6p98kin6"); // /* non key */ UNSUPPORTED("cf410wlb1gvcoq8d3oiajaph3"); // f2->postscript_alias = f1->postscript_alias; UNSUPPORTED("9y0cehsmm6fiuv0ibvh9e4gvz"); // return f2; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 p4o48ztsya6bv2xz1m59jzrk // static void textfont_freef(Dt_t* dt, void* obj, Dtdisc_t* disc) public static Object textfont_freef(Object... arg) { UNSUPPORTED("d6z1bfrko1uq2uadgutf42fpr"); // static void textfont_freef(Dt_t* dt, void* obj, Dtdisc_t* disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bx771pipb8kf13oa7ww02nex3"); // textfont_t *f = (textfont_t*)obj; UNSUPPORTED("eymlly2a6yv51q1jufubndg9o"); // if (f->name) free(f->name); UNSUPPORTED("1omkvtjx5x2ef8xensxdm6wt7"); // if (f->color) free(f->color); UNSUPPORTED("a4v6veu7h0jl3a2wwlxwpdsuw"); // free(f); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3xya6188lnt9kg5uwchhya2wt // static int textfont_comparf (Dt_t* dt, void* key1, void* key2, Dtdisc_t* disc) public static Object textfont_comparf(Object... arg) { UNSUPPORTED("9w5158s061nd0o3p6dbh4tnqz"); // static int textfont_comparf (Dt_t* dt, void* key1, void* key2, Dtdisc_t* disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1bh3yj957he6yv2dkeg4pzwdk"); // int rc; UNSUPPORTED("222ejoojlkxc5ocmxue2bgxdy"); // textfont_t *f1 = (textfont_t*)key1, *f2 = (textfont_t*)key2; UNSUPPORTED("87sttldb6hr2mn0ab405d03li"); // if (f1->name || f2->name) { UNSUPPORTED("2bqh121m1japcj8bnsuy6sc8q"); // if (! f1->name) return -1; UNSUPPORTED("86ytzx2x5nrcvurajdkbm95gk"); // if (! f2->name) return 1; UNSUPPORTED("673e3f928tkakxhcajat2h6p0"); // rc = strcmp(f1->name, f2->name); UNSUPPORTED("b9i8cahaxv9md4mvlw484iqeg"); // if (rc) return rc; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7vzuntdto9vcvitx5s7m6zma7"); // if (f1->color || f2->color) { UNSUPPORTED("4tw0lvc7t2cc0000lrb9flurf"); // if (! f1->color) return -1; UNSUPPORTED("7xj68kytc2wzv6iq8ddwkwqlk"); // if (! f2->color) return 1; UNSUPPORTED("bcepjb2zqe0moqakgmofmbpq2"); // rc = strcmp(f1->color, f2->color); UNSUPPORTED("b9i8cahaxv9md4mvlw484iqeg"); // if (rc) return rc; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9gf3266sjn2sm6m3mxf19197l"); // rc = (f1->flags - f2->flags); UNSUPPORTED("9ngqgld29f5nt7h1ffl4s0em4"); // if (rc) return rc; UNSUPPORTED("d3e2n6libjqhx2xs4516lxyrf"); // if (f1->size < f2->size) return -1; UNSUPPORTED("1kww1mevjniiermvdkcyihkqp"); // if (f1->size > f2->size) return 1; UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9mfrgcpzz2d9f7nxfgx4nxj2q // Dt_t * textfont_dict_open(GVC_t *gvc) public static ST_dt_s textfont_dict_open(ST_GVC_s gvc) { ENTERING("9mfrgcpzz2d9f7nxfgx4nxj2q","textfont_dict_open"); try { return null; //UNSUPPORTED("nexd6tbei8przmonjwzag8uf"); // Dt_t * textfont_dict_open(GVC_t *gvc) //UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { //UNSUPPORTED("cdeb412fjgrtibum4qt0yxhc7"); // ( (&(gvc->textfont_disc))->key = (0), (&(gvc->textfont_disc))->size = (sizeof(textfont_t)), (&(gvc->textfont_disc))->link = (-1), (&(gvc->textfont_disc))->makef = (textfont_makef), (&(gvc->textfont_disc))->freef = (textfont_freef), (&(gvc->textfont_disc))->comparf = (textfont_comparf), (&(gvc->textfont_disc))->hashf = (NULL), (&(gvc->textfont_disc))->memoryf = (NULL), (&(gvc->textfont_disc))->eventf = (NULL) ); //UNSUPPORTED("d1t3xr23spgfbbggquvg4nodm"); // gvc->textfont_dt = dtopen(&(gvc->textfont_disc), Dtoset); //UNSUPPORTED("6ynzkfpi9sy9wbln45o4jajhp"); // return gvc->textfont_dt; //UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } } finally { LEAVING("9mfrgcpzz2d9f7nxfgx4nxj2q","textfont_dict_open"); } } //3 5o4jyd0j7s18vl7inlo4o0w99 // void textfont_dict_close(GVC_t *gvc) public static Object textfont_dict_close(Object... arg) { UNSUPPORTED("7uxwdoqc8jmcbexpk4lhvdgg"); // void textfont_dict_close(GVC_t *gvc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dyrkxfb6i5v7i47xoxoe22ykv"); // dtclose(gvc->textfont_dt); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/common/timing__c.java000066400000000000000000000060041340005343600224540ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static smetana.core.Macro.UNSUPPORTED; public class timing__c { //1 9rcpctijr9b8r0p971d3f9t9h // static mytime_t T //3 5651jzaik1he1ffxyznovdahf // void start_timer(void) public static Object start_timer(Object... arg) { UNSUPPORTED("69qokxdamqf1bxhaqbcnpwkw1"); // void start_timer(void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ectdmh5it8savad5lltnu8r3w"); // times(&(T)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 11o22f2clw6ou6c0hmn76feu4 // double elapsed_sec(void) public static Object elapsed_sec(Object... arg) { UNSUPPORTED("ap51jenuew5js107vu8srvn3x"); // double elapsed_sec(void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8jn78w98k16lwmikzd1lk5qx4"); // mytime_t S; UNSUPPORTED("d7i4mzmfmp4ps6n8cbfzvrlcf"); // double rv; UNSUPPORTED("bh6n36r9g26g7oq07lzcngnm3"); // times(&(S)); UNSUPPORTED("cu10zpf5lls0sjd3425blqug9"); // rv = ((S.tms_utime + S.tms_stime - T.tms_utime - T.tms_stime)/(double)60); UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/common/utils__c.java000066400000000000000000003716671340005343600223510ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.common; import static gen.lib.cgraph.attr__c.agget; import static gen.lib.cgraph.attr__c.agxget; import static gen.lib.cgraph.edge__c.aghead; import static gen.lib.cgraph.edge__c.agtail; import static gen.lib.cgraph.obj__c.agraphof; import static gen.lib.cgraph.refstr__c.aghtmlstr; import static gen.lib.common.labels__c.make_label; import static gen.lib.common.shapes__c.bind_shape; import static gen.lib.common.shapes__c.shapeOf; import static smetana.core.JUtils.EQ; import static smetana.core.JUtils.LOG2; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtils.atoi; import static smetana.core.JUtils.enumAsInt; import static smetana.core.JUtils.isdigit; import static smetana.core.JUtils.strchr; import static smetana.core.JUtils.strcmp; import static smetana.core.JUtils.strtod; import static smetana.core.JUtils.strtol; import static smetana.core.JUtils.tolower; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.DIST2; import static smetana.core.Macro.ED_head_label; import static smetana.core.Macro.ED_head_port; import static smetana.core.Macro.ED_label; import static smetana.core.Macro.ED_label_ontop; import static smetana.core.Macro.ED_tail_label; import static smetana.core.Macro.ED_tail_port; import static smetana.core.Macro.GD_bb; import static smetana.core.Macro.GD_flags; import static smetana.core.Macro.GD_flip; import static smetana.core.Macro.GD_has_labels; import static smetana.core.Macro.N; import static smetana.core.Macro.ND_UF_parent; import static smetana.core.Macro.ND_UF_size; import static smetana.core.Macro.ND_height; import static smetana.core.Macro.ND_ht; import static smetana.core.Macro.ND_id; import static smetana.core.Macro.ND_label; import static smetana.core.Macro.ND_lw; import static smetana.core.Macro.ND_ranktype; import static smetana.core.Macro.ND_rw; import static smetana.core.Macro.ND_shape; import static smetana.core.Macro.ND_showboxes; import static smetana.core.Macro.ND_width; import static smetana.core.Macro.UNSUPPORTED; import static smetana.core.Macro.fabs; import h.ST_Agedge_s; import h.ST_Agnode_s; import h.ST_Agraph_s; import h.ST_Agsym_s; import h.ST_bezier; import h.ST_boxf; import h.ST_fontinfo; import h.ST_nodequeue; import h.ST_pointf; import h.ST_port; import h.ST_splines; import h.ST_textlabel_t; import h.shape_kind; import smetana.core.CFunction; import smetana.core.CString; import smetana.core.Memory; import smetana.core.Z; import smetana.core.__ptr__; public class utils__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c7cptalfn8k75wyfirbnptnav // nodequeue *new_queue(int sz) public static ST_nodequeue new_queue(int sz) { ENTERING("c7cptalfn8k75wyfirbnptnav","new_queue"); try { ST_nodequeue q = new ST_nodequeue(); if (sz <= 1) sz = 2; final ST_Agnode_s.ArrayOfStar tmp__ = new ST_Agnode_s.ArrayOfStar(sz); q.setPtr("store", tmp__); q.setPtr("tail", tmp__); q.setPtr("head", tmp__); q.setPtr("limit", tmp__.plus(sz)); return q; } finally { LEAVING("c7cptalfn8k75wyfirbnptnav","new_queue"); } } //3 1uj5nmdvwmuklnpd3v5py547f // void free_queue(nodequeue * q) public static void free_queue(ST_nodequeue q) { ENTERING("1uj5nmdvwmuklnpd3v5py547f","free_queue"); try { Memory.free(q.store); Memory.free(q); } finally { LEAVING("1uj5nmdvwmuklnpd3v5py547f","free_queue"); } } //3 20pwd6i141q3o25lfvrdqytot // void enqueue(nodequeue * q, node_t * n) public static void enqueue(ST_nodequeue q, ST_Agnode_s n) { ENTERING("20pwd6i141q3o25lfvrdqytot","enqueue"); try { q.tail.plus(0).setPtr(n); q.setPtr("tail", q.tail.plus(1)); if (q.tail.comparePointer(q.limit) >= 0) q.setPtr("tail", q.store); } finally { LEAVING("20pwd6i141q3o25lfvrdqytot","enqueue"); } } //3 b612nmtf16au96ztbs8pike9r // node_t *dequeue(nodequeue * q) public static ST_Agnode_s dequeue(ST_nodequeue q) { ENTERING("b612nmtf16au96ztbs8pike9r","dequeue"); try { ST_Agnode_s n; if (EQ(q.head, q.tail)) n = null; else { n = (ST_Agnode_s) q.head.get(0); q.setPtr("head", q.head.plus(1)); if (q.head.comparePointer(q.limit) >= 0) q.setPtr("head", q.store); } return n; } finally { LEAVING("b612nmtf16au96ztbs8pike9r","dequeue"); } } //3 6nydxv4f2m7jcfh8ljs0neu0x // int late_int(void *obj, attrsym_t * attr, int def, int low) public static int late_int(__ptr__ obj, ST_Agsym_s attr, int def, int low) { ENTERING("6nydxv4f2m7jcfh8ljs0neu0x","late_int"); try { CString p; CString endp[] = new CString[1]; int rv; if (attr == null) return def; p = agxget(obj,attr); if (N(p) || p.length()==0) return def; rv = strtol (p, endp, 10); if (EQ(p, endp[0])) return def; /* invalid int format */ if (rv < low) return low; else return rv; } finally { LEAVING("6nydxv4f2m7jcfh8ljs0neu0x","late_int"); } } //3 d68314e4f20r79tt0cnmxugme // double late_double(void *obj, attrsym_t * attr, double def, double low) public static double late_double(__ptr__ obj, ST_Agsym_s attr, double def, double low) { ENTERING("d68314e4f20r79tt0cnmxugme","late_double"); try { CString p; CString endp[] = new CString[1]; double rv; if (N(attr) || N(obj)) return def; p = agxget(obj,attr); if (N(p) || p.charAt(0) == '\0') return def; rv = strtod (p, endp); if (p == endp[0]) return def; /* invalid double format */ if (rv < low) return low; else return rv; } finally { LEAVING("d68314e4f20r79tt0cnmxugme","late_double"); } } //3 70otpdqcum1z6ht6udvuxl7r2 // double get_inputscale (graph_t* g) public static Object get_inputscale(Object... arg) { UNSUPPORTED("9ufij3opw003w1a5l59wehdi6"); // double get_inputscale (graph_t* g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8ne6p4d5pykwl1d3xk0yg0ipb"); // double d; UNSUPPORTED("c3jy0hsf1pj5mu65gn0341dbk"); // if (PSinputscale > 0) return PSinputscale; /* command line flag prevails */ UNSUPPORTED("1l7wr8a4r1ml3ghihovvwsll0"); // d = late_double(g, (agattr(g,AGRAPH,"inputscale",(void *)0)), -1, 0); UNSUPPORTED("464faf5rk766qz197xbucjy1q"); // if (d == 0) return 72; UNSUPPORTED("34ovcwkctb1p5v0nns43aj54s"); // else return d; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 83xm6yc9q5h1bzufhsnv0v2up // char *late_string(void *obj, attrsym_t * attr, char *def) public static CString late_string(__ptr__ obj, ST_Agsym_s attr, CString def) { ENTERING("83xm6yc9q5h1bzufhsnv0v2up","late_string"); try { if (N(attr) || N(obj)) return def; return agxget(obj, attr); } finally { LEAVING("83xm6yc9q5h1bzufhsnv0v2up","late_string"); } } //3 8oon4q1mrublaru177xfntqgd // char *late_nnstring(void *obj, attrsym_t * attr, char *def) public static CString late_nnstring(__ptr__ obj, ST_Agsym_s attr, CString def) { ENTERING("8oon4q1mrublaru177xfntqgd","late_nnstring"); try { CString rv = late_string(obj, attr, def); if (N(rv) || (rv.charAt(0) == '\0')) rv = def; return rv; } finally { LEAVING("8oon4q1mrublaru177xfntqgd","late_nnstring"); } } //3 87ifze04q7qzigjj1fb9y9by2 // boolean late_bool(void *obj, attrsym_t * attr, int def) public static boolean late_bool(__ptr__ obj, ST_Agsym_s attr, int def) { ENTERING("87ifze04q7qzigjj1fb9y9by2","late_bool"); try { if (attr == null) return def!=0; UNSUPPORTED("a0kh1y5n8u59z0xo7mag3zmt6"); // return mapbool(agxget(obj, attr)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("87ifze04q7qzigjj1fb9y9by2","late_bool"); } } //3 aeq0acpkhfv3gd5jx8op4jf18 // node_t *UF_find(node_t * n) public static ST_Agnode_s UF_find(ST_Agnode_s n) { ENTERING("aeq0acpkhfv3gd5jx8op4jf18","UF_find"); try { while (ND_UF_parent(n)!=null && NEQ(ND_UF_parent(n), n)) { if (ND_UF_parent(ND_UF_parent(n))!=null) ND_UF_parent(n, ND_UF_parent(ND_UF_parent(n))); n = ND_UF_parent(n); } return n; } finally { LEAVING("aeq0acpkhfv3gd5jx8op4jf18","UF_find"); } } //3 9ldxwfr4vvijrvfcvs1hvdzrt // node_t *UF_union(node_t * u, node_t * v) public static ST_Agnode_s UF_union(ST_Agnode_s u, ST_Agnode_s v) { ENTERING("9ldxwfr4vvijrvfcvs1hvdzrt","UF_union"); try { if (EQ(u, v)) return u; if (ND_UF_parent(u) == null) { ND_UF_parent(u, u); ND_UF_size(u, 1); } else UNSUPPORTED("35c97tyk6tzw1g527j6rp6xoo"); // u = UF_find(u); if (ND_UF_parent(v) == null) { ND_UF_parent(v, v); ND_UF_size(v, 1); } else v = UF_find(v); if (ND_id(u) > ND_id(v)) { UNSUPPORTED("2igr3ntnkm6svji4pbnjlp54e"); // ND_UF_parent(u) = v; UNSUPPORTED("3lht90i6tvxbr10meir8nvcic"); // ND_UF_size(v) += ND_UF_size(u); } else { ND_UF_parent(v, u); ND_UF_size(u, ND_UF_size(u) + ND_UF_size(v)); v = u; } return v; } finally { LEAVING("9ldxwfr4vvijrvfcvs1hvdzrt","UF_union"); } } //3 3j3pbee3o14ctlm51gqul3y1b // void UF_remove(node_t * u, node_t * v) public static Object UF_remove(Object... arg) { UNSUPPORTED("4mdu14gpibvzmm5t9g0h7oaek"); // void UF_remove(node_t * u, node_t * v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dnvt20f8swe5kyjjj2g4vpx46"); // assert(ND_UF_size(u) == 1); UNSUPPORTED("crtqvbx6u5amvtj4nhuhui0p0"); // ND_UF_parent(u) = u; UNSUPPORTED("4gdqcsr8w5gtc1qbdht2l23g2"); // ND_UF_size(v) -= ND_UF_size(u); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 22k0u1imxyw06k9rizqlfz153 // void UF_singleton(node_t * u) public static void UF_singleton(ST_Agnode_s u) { ENTERING("22k0u1imxyw06k9rizqlfz153","UF_singleton"); try { ND_UF_size(u, 1); ND_UF_parent(u, null); ND_ranktype(u, 0); } finally { LEAVING("22k0u1imxyw06k9rizqlfz153","UF_singleton"); } } //3 e0fn8xuzkdt0q8xoofl6j1txb // void UF_setname(node_t * u, node_t * v) public static void UF_setname(ST_Agnode_s u, ST_Agnode_s v) { ENTERING("e0fn8xuzkdt0q8xoofl6j1txb","UF_setname"); try { assert(EQ(u, UF_find(u))); ND_UF_parent(u, v); ND_UF_size(v, ND_UF_size(v) + ND_UF_size(u)); } finally { LEAVING("e0fn8xuzkdt0q8xoofl6j1txb","UF_setname"); } } //3 31rkmp5c1ie1pfzbkla6b4ag // pointf coord(node_t * n) public static Object coord(Object... arg) { UNSUPPORTED("880b2lkxm37hksgryyrw8qqvj"); // pointf coord(node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("evwdz7pwy2u67oqi6hg38wal1"); // r.x = 72 * ND_pos(n)[0]; UNSUPPORTED("1dwnra1p0vsse07037h9fdfgp"); // r.y = 72 * ND_pos(n)[1]; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6p0ey2c2ujk2o7h221p0b4xon // pointf Bezier(pointf * V, int degree, double t, pointf * Left, pointf * Right) public static ST_pointf Bezier(final ST_pointf.Array V, int degree, double t, __ptr__ Left, __ptr__ Right) { // WARNING!! STRUCT return Bezier_w_(V, degree, t, Left, Right).copy(); } private static ST_pointf Bezier_w_(final ST_pointf.Array V, int degree, double t, __ptr__ Left, __ptr__ Right) { ENTERING("6p0ey2c2ujk2o7h221p0b4xon","Bezier"); try { int i, j; /* Index variables */ final ST_pointf.Array Vtemp[] = new ST_pointf.Array[] { new ST_pointf.Array( 5+1), new ST_pointf.Array( 5+1), new ST_pointf.Array( 5+1), new ST_pointf.Array( 5+1), new ST_pointf.Array( 5+1), new ST_pointf.Array( 5+1) }; /* Copy control points */ for (j = 0; j <= degree; j++) { Vtemp[0].plus(j).setStruct(V.plus(j).getStruct()); } /* Triangle computation */ for (i = 1; i <= degree; i++) { for (j = 0; j <= degree - i; j++) { Vtemp[i].plus(j).setDouble("x", (1.0 - t) * Vtemp[i - 1].get(j).x + t * Vtemp[i - 1].get(j + 1).x); Vtemp[i].plus(j).setDouble("y", (1.0 - t) * Vtemp[i - 1].get(j).y + t * Vtemp[i - 1].get(j + 1).y); } } if (Left != null) for (j = 0; j <= degree; j++) Left.plus(j).setStruct(Vtemp[j].plus(0).getStruct()); if (Right != null) for (j = 0; j <= degree; j++) Right.plus(j).setStruct(Vtemp[degree - j].plus(j).getStruct()); return (ST_pointf) (Vtemp[degree].plus(0).getStruct()); } finally { LEAVING("6p0ey2c2ujk2o7h221p0b4xon","Bezier"); } } //3 3ly0ylecb4k9xk5b7ffrlolt9 // char *Fgets(FILE * fp) public static Object Fgets(Object... arg) { UNSUPPORTED("4q07n5lkhirby89lrss95tlri"); // char *Fgets(FILE * fp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f2la3gescrvdrwclkw6jqpel5"); // static int bsize = 0; UNSUPPORTED("8kywmm7f51dmrjngxwvnpsd4o"); // static char *buf; UNSUPPORTED("ecmuo8avgj1iywuapxmibw016"); // char *lp; UNSUPPORTED("dwe86466ugstemepdfk8yzphz"); // int len; UNSUPPORTED("cl8iuel2v9wmaxtyhnvq5trol"); // len = 0; UNSUPPORTED("53kc41p479auwcycfsbhw8xix"); // do { UNSUPPORTED("94pefdj9c9wxznl2ybw0eaxlu"); // if (bsize - len < BUFSIZ) { UNSUPPORTED("3f9vu9nd93ckzyw89aeu7qtpz"); // bsize += BUFSIZ; UNSUPPORTED("6zqvad9bp7g8thltaf4fgbiqe"); // buf = grealloc(buf, bsize); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6javvrure63s3d9t1t1g3jjb3"); // lp = fgets(buf + len, bsize - len, fp); UNSUPPORTED("5s6nvinfb0elfdlq0b4hvn087"); // if (lp == 0) UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("83wm9z0kqu2eg7994ilmkvhsy"); // len += strlen(lp); /* since lp != NULL, len > 0 */ UNSUPPORTED("cpr2w7m7b9d0k3v79b2ed57cv"); // } while (buf[len - 1] != '\n'); UNSUPPORTED("6qgvu9gyei3rz9oa1j4onpev8"); // if (len > 0) UNSUPPORTED("60rrsbs3bgak2rhurj1kw71av"); // return buf; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 24n59f0dfjbrcciik6yp7reuz // static char** mkDirlist (const char* list, int* maxdirlen) public static Object mkDirlist(Object... arg) { UNSUPPORTED("52rxugfl5uyz0px71ixefqszi"); // static char** mkDirlist (const char* list, int* maxdirlen) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("behjm5bjsenezpg3f7cncvteu"); // int cnt = 0; UNSUPPORTED("8b1p8gk30j7o435ywb280jum2"); // char* s = strdup (list); UNSUPPORTED("35u91xpv8pyr56o5nch0azwdl"); // char* dir; UNSUPPORTED("9b5fnnkm94rlgnqwv15ibu46r"); // char** dirs = (void *)0; UNSUPPORTED("2cb6784tzmjr65il4amoj2f6h"); // int maxlen = 0; UNSUPPORTED("bnhqg9audjylbv3i0tj26rrcp"); // for (dir = strtok (s, ":"); dir; dir = strtok ((void *)0, ":")) { UNSUPPORTED("aqf6niag46yhhhj5sccv41hrk"); // dirs = ALLOC (cnt+2,dirs,char*); UNSUPPORTED("f5047pr5l6jv6zl8latgfspry"); // dirs[cnt++] = dir; UNSUPPORTED("13d902xfof2syshtj70d02plc"); // maxlen = MAX(maxlen, strlen (dir)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3qszpnaufz3i0zkcsuaqfcbap"); // dirs[cnt] = (void *)0; UNSUPPORTED("a10ctcqm0sjufygu9dh0cc6aa"); // *maxdirlen = maxlen; UNSUPPORTED("5os9u9oj7fjpbstveie2w0yxq"); // return dirs; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 49gli3uq79rprx3u3opdhcx1m // static char* findPath (char** dirs, int maxdirlen, const char* str) public static Object findPath(Object... arg) { UNSUPPORTED("a5bmudkw4k7jkxvyb8gptf73c"); // static char* findPath (char** dirs, int maxdirlen, const char* str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("93jals27u5ur9t8vy0noookm0"); // static char *safefilename = (void *)0; UNSUPPORTED("bpsbmb5c3iu1rp98h1ouv1rgr"); // char** dp; UNSUPPORTED("81a5ilslogj5wcerq31e8qoh9"); // /* allocate a buffer that we are sure is big enough UNSUPPORTED("a6c5zuexn89b87yrrru9wgnwg"); // * +1 for null character. UNSUPPORTED("eaa4q86pe1s8k4qb4tkhw73zl"); // * +1 for directory separator character. UNSUPPORTED("3vesx4cskuo1q42jvwmoum2xs"); // */ UNSUPPORTED("15klhvefamyul36it624epw39"); // safefilename = realloc(safefilename, (maxdirlen + strlen(str) + 2)); UNSUPPORTED("2zug3hj9q9xtnh9p792zu5xh8"); // for (dp = dirs; *dp; dp++) { UNSUPPORTED("bhh1cl0s26fu2nevbn685qotj"); // sprintf (safefilename, "%s%s%s", *dp, "/", str); UNSUPPORTED("c3hxsxu6vm5rsmcvu94zjfhmz"); // if (access (safefilename, R_OK) == 0) UNSUPPORTED("bvviyr83kx89qfvn2tmv1fj2x"); // return safefilename; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bhge6w48v1uv92wmsde2jqqs0"); // return (void *)0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //static boolean onetime = (!(0)); //static char *pathlist = (void *)0; //static int maxdirlen; //static char** dirs; //3 3xll2b0v9nthwvx9dafq49t8s // const char *safefile(const char *filename) public static CString safefile(CString filename) { ENTERING("3xll2b0v9nthwvx9dafq49t8s","safefile"); try { return null; } finally { LEAVING("3xll2b0v9nthwvx9dafq49t8s","safefile"); } } //3 2ihv17oajyaaaycirwsbgz1m7 // int maptoken(char *p, char **name, int *val) public static int maptoken(CString p, CString name[], int val[]) { ENTERING("2ihv17oajyaaaycirwsbgz1m7","maptoken"); try { int i; CString q; for (i = 0; (q = name[i]) != null; i++) if (p!=null && (N(strcmp(p,q)))) break; return val[i]; } finally { LEAVING("2ihv17oajyaaaycirwsbgz1m7","maptoken"); } } //3 4esyuq2yqdaqoddgfqs24m5m3 // boolean mapBool(char *p, boolean dflt) public static boolean mapBool(CString p, boolean dflt) { ENTERING("4esyuq2yqdaqoddgfqs24m5m3","mapBool"); try { if (N(p) || (p.charAt(0) == '\0')) return dflt; if (N(strcasecmp(p, new CString("false")))) return false; if (N(strcasecmp(p, new CString("no")))) return false; if (N(strcasecmp(p, new CString("true")))) return (N(0)); if (N(strcasecmp(p, new CString("yes")))) return (N(0)); if (isdigit(p.charAt(0))) return atoi(p)!=0; else return dflt; } finally { LEAVING("4esyuq2yqdaqoddgfqs24m5m3","mapBool"); } } //3 ehkvqh6bwf4jw3mj1w5p7a8m8 // boolean mapbool(char *p) public static boolean mapbool(CString p) { ENTERING("ehkvqh6bwf4jw3mj1w5p7a8m8","mapbool"); try { return mapBool (p, false); } finally { LEAVING("ehkvqh6bwf4jw3mj1w5p7a8m8","mapbool"); } } //3 37hgj44s94wf9bmz16he85pgq // pointf dotneato_closest(splines * spl, pointf pt) public static ST_pointf dotneato_closest(ST_splines spl, final ST_pointf pt) { ENTERING("37hgj44s94wf9bmz16he85pgq","dotneato_closest"); try { return (ST_pointf) dotneato_closest_ (spl, (ST_pointf) pt.copy()).copy(); } finally { LEAVING("37hgj44s94wf9bmz16he85pgq","dotneato_closest"); } } private static ST_pointf dotneato_closest_(ST_splines spl, final ST_pointf pt) { int i, j, k, besti, bestj; double bestdist2, d2, dlow2, dhigh2; /* squares of distances */ double low, high, t; // final ST_pointf c[] = new ST_pointf[] {new ST_pointf(),new ST_pointf(),new ST_pointf(),new ST_pointf()}; final ST_pointf.Array c = new ST_pointf.Array( 4); final ST_pointf pt2 = new ST_pointf(); final ST_bezier bz = new ST_bezier(); besti = bestj = -1; bestdist2 = 1e+38; for (i = 0; i < spl.size; i++) { bz.____(spl.list.get(i)); for (j = 0; j < bz.size; j++) { final ST_pointf b = new ST_pointf(); b.x = bz.list.get(j).x; b.y = bz.list.get(j).y; d2 = DIST2(b, pt); if ((bestj == -1) || (d2 < bestdist2)) { besti = i; bestj = j; bestdist2 = d2; } } } bz.____(spl.list.get(besti)); /* Pick best Bezier. If bestj is the last point in the B-spline, decrement. * Then set j to be the first point in the corresponding Bezier by dividing * then multiplying be 3. Thus, 0,1,2 => 0; 3,4,5 => 3, etc. */ if (bestj == bz.size-1) bestj--; j = 3*(bestj / 3); for (k = 0; k < 4; k++) { c.plus(k).setDouble("x", bz.list.get(j + k).x); c.plus(k).setDouble("y", bz.list.get(j + k).y); } low = 0.0; high = 1.0; dlow2 = DIST2(c.get(0), pt); dhigh2 = DIST2(c.get(3), pt); do { t = (low + high) / 2.0; pt2.___(Bezier(c, 3, t, null, null)); if (fabs(dlow2 - dhigh2) < 1.0) break; if (fabs(high - low) < .00001) break; UNSUPPORTED("6apa9aoby9j8a0eanbfhy5mn2"); // if (dlow2 < dhigh2) { UNSUPPORTED("6jttyuryfaxa193mme86dqf58"); // high = t; UNSUPPORTED("6avwplrum9i9qi3g9wl6yvz04"); // dhigh2 = DIST2(pt2, pt); UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("556vs5i22602clhs1p3htz7vk"); // low = t; UNSUPPORTED("507tgq81szei2ge3miiak4b1v"); // dlow2 = DIST2(pt2, pt); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } } while (true); return pt2; } //3 8v6t685mjc3ps5m4i5m7kj5r5 // pointf spline_at_y(splines * spl, double y) public static Object spline_at_y(Object... arg) { UNSUPPORTED("6z59zacy0w6awy33d9vj3ka38"); // pointf spline_at_y(splines * spl, double y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dzpsknrwv8qkqq20hjnjpjn68"); // int i, j; UNSUPPORTED("c7xj151i9l4snnjn7ibtdupr2"); // double low, high, d, t; UNSUPPORTED("10vmrpj8mfz9opwwvwpolaopd"); // pointf c[4], p; UNSUPPORTED("m46gfclfoxui2qhyykvkqk0a"); // static bezier bz; UNSUPPORTED("aqjwfeuociuhtcp9z6qs0chn8"); // /* this caching seems to prevent p.x from getting set from bz.list[0].x UNSUPPORTED("epvvl2xzzwpc4zmue865xosgp"); // - optimizer problem ? */ UNSUPPORTED("b9epibfipw1wsk324v5epkerh"); // for (i = 0; i < spl->size; i++) { UNSUPPORTED("3ykobnao35x0n6r6go2stj9o5"); // bz = spl->list[i]; UNSUPPORTED("clxoycrurqc4oq0d7v2fp7imo"); // if (BETWEEN(bz.list[bz.size - 1].y, y, bz.list[0].y)) UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3en4490pkykfcbc2szvzzx27g"); // if (y > bz.list[0].y) UNSUPPORTED("e1te1nqw2aru9ro9sqdjhhttv"); // p = bz.list[0]; UNSUPPORTED("24izeylrlk4gqqilirqwty8r9"); // else if (y < bz.list[bz.size - 1].y) UNSUPPORTED("5cxp04l4lo39n1p1wsvav460c"); // p = bz.list[bz.size - 1]; UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("cj02uw2oxm47gdexf3z5axxlw"); // for (i = 0; i < bz.size; i += 3) { UNSUPPORTED("djfbmqatbjckruruv8rxs6uav"); // for (j = 0; j < 3; j++) { UNSUPPORTED("5b9ziw2aes1kmllxgwkfpmr7p"); // if ((bz.list[i + j].y <= y) && (y <= bz.list[i + j + 1].y)) UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break; UNSUPPORTED("amh6xmny0k57y6wqy4ms0zyqe"); // if ((bz.list[i + j].y >= y) && (y >= bz.list[i + j + 1].y)) UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("9fvhco56e60yr7h2c6ceqf1p5"); // if (j < 3) UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("eoqh4atx94pamqo1963pcrq50"); // assert(i < bz.size); UNSUPPORTED("ac0jvph9p2m1i3zdywfxmq4eg"); // for (j = 0; j < 4; j++) { UNSUPPORTED("ajjpb9st186njpdxscd9bmg80"); // c[j].x = bz.list[i + j].x; UNSUPPORTED("2lnyqxk5vopusie575n54x590"); // c[j].y = bz.list[i + j].y; UNSUPPORTED("5n0qrttzwlxb3x8t4ngkjz31j"); // /* make the spline be monotonic in Y, awful but it works for now */ UNSUPPORTED("ath2bi6h6bk6mkwqk00fweao2"); // if ((j > 0) && (c[j].y > c[j - 1].y)) UNSUPPORTED("a6ze9ec2noj595b0aw7s8h7id"); // c[j].y = c[j - 1].y; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2zhwm9ypobvcurq5wram1qiil"); // low = 0.0; UNSUPPORTED("2ee14osydbs80okw31an3ngjg"); // high = 1.0; UNSUPPORTED("8vxyvy38lzpbd83cu26nejaan"); // do { UNSUPPORTED("aclx3e6mwmv4x6wtctvdpafcb"); // t = (low + high) / 2.0; UNSUPPORTED("c609yg89bcwhbtz2sjavo4mo0"); // p = Bezier(c, 3, t, (void *)0, (void *)0); UNSUPPORTED("7tmwl314qsfq3dcvb5u9uyknb"); // d = p.y - y; UNSUPPORTED("2b3fbztokpi7ure6eux7qupf8"); // if (ABS(d) <= 1) UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("d8gdi8364l2gqf1f2o8j20nhe"); // if (d < 0) UNSUPPORTED("ckgl1j6wm8pbqhae0gpdab4qk"); // high = t; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("12xca5z3d0sj7sp9cgyqxop4f"); // low = t; UNSUPPORTED("6agdm6388u3r4v7kc6ho2hxhu"); // } while (1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5jdhcgi82gtmvn690v78zmkpe"); // p.y = y; UNSUPPORTED("91xduilalb406jjyw2g1i07th"); // return p; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4ws2d4r4z8psnleuxber6j3s6 // pointf neato_closest(splines * spl, pointf p) public static Object neato_closest(Object... arg) { UNSUPPORTED("8hg1y8i9xy00n3blyechtqvvh"); // pointf neato_closest(splines * spl, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cickuxw2k5um9ssxcufe5ny0h"); // /* this is a stub so that we can share a common emit.c between dot and neato */ UNSUPPORTED("b5hsyvf8h7g1m8n1qzbi0hrry"); // return spline_at_y(spl, p.y); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 8s6oop1ayag35eusof2rgdb5b // static int Tflag //3 ak4q69g3z2si69q7q6mmtp9qi // void gvToggle(int s) public static Object gvToggle(Object... arg) { UNSUPPORTED("46ptgxtzrw0bu7ggbzxrodqnw"); // void gvToggle(int s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dxdyekcrbykzppszumnvmrogc"); // Tflag = !Tflag; UNSUPPORTED("9zus728u8e05ja3xahcrlzmsr"); // signal(SIGUSR1, gvToggle); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6h6t4myqjvz5d7nv9s4fme7ol // int test_toggle() public static Object test_toggle(Object... arg) { UNSUPPORTED("66b64g196uijyd7jhapf68wvg"); // int test_toggle() UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7op0qt5n8bs6z3ptnpbps1ikb"); // return Tflag; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cr81drt18h5feqzxyh3jb0u49 // void common_init_node(node_t * n) public static void common_init_node(ST_Agnode_s n) { ENTERING("cr81drt18h5feqzxyh3jb0u49","common_init_node"); try { ST_fontinfo fi = new ST_fontinfo(); CString str; ND_width(n, late_double(n, Z.z().N_width, 0.75, 0.01)); ND_height(n, late_double(n, Z.z().N_height, 0.5, 0.02)); ND_shape(n, bind_shape(late_nnstring(n, Z.z().N_shape, new CString("ellipse")), n)); str = agxget(n, Z.z().N_label); fi.setDouble("fontsize", late_double(n, Z.z().N_fontsize, 14.0, 1.0)); fi.setPtr("fontname", late_nnstring(n, Z.z().N_fontname, new CString("Times-Roman"))); fi.setPtr("fontcolor", late_nnstring(n, Z.z().N_fontcolor, new CString("black"))); ND_label(n, make_label(n, str, ((aghtmlstr(str)!=0 ? (1 << 1) : (0 << 1)) | ( (shapeOf(n) == enumAsInt(shape_kind.class, "SH_RECORD")) ? (2 << 1) : (0 << 1))), fi.fontsize, fi.fontname, fi.fontcolor)); if (Z.z().N_xlabel!=null && (str = agxget(n, Z.z().N_xlabel))!=null && (str.charAt(0)!='\0')) { UNSUPPORTED("4ua9vld76wpovsm1celv2ff6e"); // ND_xlabel(n) = make_label((void*)n, str, (aghtmlstr(str) ? (1 << 1) : (0 << 1)), UNSUPPORTED("b0zm6fkpjlt9jacykbgugjodg"); // fi.fontsize, fi.fontname, fi.fontcolor); UNSUPPORTED("ail0d4qmxj2aqh2q721inwgqu"); // GD_has_labels(agraphof(n)) |= (1 << 4); } ND_showboxes(n, late_int(n, Z.z().N_showboxes, 0, 0)); ND_shape(n).fns.initfn.exe(n); } finally { LEAVING("cr81drt18h5feqzxyh3jb0u49","common_init_node"); } } //3 d2v8l80y27ue2fag5c0qplah8 // static void initFontEdgeAttr(edge_t * e, struct fontinfo *fi) public static void initFontEdgeAttr(ST_Agedge_s e, ST_fontinfo fi) { ENTERING("d2v8l80y27ue2fag5c0qplah8","initFontEdgeAttr"); try { fi.setDouble("fontsize", late_double(e, Z.z().E_fontsize, 14.0, 1.0)); fi.setPtr("fontname", late_nnstring(e, Z.z().E_fontname, new CString("Times-Roman"))); fi.setPtr("fontcolor", late_nnstring(e, Z.z().E_fontcolor, new CString("black"))); } finally { LEAVING("d2v8l80y27ue2fag5c0qplah8","initFontEdgeAttr"); } } //3 ak3pxrdrq900wymudwnjmbito // static void initFontLabelEdgeAttr(edge_t * e, struct fontinfo *fi, struct fontinfo *lfi) public static void initFontLabelEdgeAttr(ST_Agedge_s e, ST_fontinfo fi, ST_fontinfo lfi) { ENTERING("ak3pxrdrq900wymudwnjmbito","initFontLabelEdgeAttr"); try { if (N(fi.fontname)) initFontEdgeAttr(e, fi); lfi.setDouble("fontsize", late_double(e, Z.z().E_labelfontsize, fi.fontsize, 1.0)); lfi.setPtr("fontname", late_nnstring(e, Z.z().E_labelfontname, fi.fontname)); lfi.setPtr("fontcolor", late_nnstring(e, Z.z().E_labelfontcolor, fi.fontcolor)); } finally { LEAVING("ak3pxrdrq900wymudwnjmbito","initFontLabelEdgeAttr"); } } //3 bgnk1zwht9rwx6thmly98iofb // static boolean noClip(edge_t *e, attrsym_t* sym) public static boolean noClip(ST_Agedge_s e, ST_Agsym_s sym) { ENTERING("bgnk1zwht9rwx6thmly98iofb","noClip"); try { CString str; boolean rv = false; if (sym!=null) { /* mapbool isn't a good fit, because we want "" to mean true */ str = agxget(e,sym); if (str!=null && str.charAt(0)!='\0') rv = !mapbool(str); else rv = false; } return rv; } finally { LEAVING("bgnk1zwht9rwx6thmly98iofb","noClip"); } } //3 9vnr1bc7p533acazoxbhbfmx3 // static port chkPort (port (*pf)(node_t*, char*, char*), node_t* n, char* s) public static ST_port chkPort(CFunction pf, ST_Agnode_s n, CString s) { // WARNING!! STRUCT return chkPort_w_(pf, n, s).copy(); } private static ST_port chkPort_w_(CFunction pf, ST_Agnode_s n, CString s) { ENTERING("9vnr1bc7p533acazoxbhbfmx3","chkPort"); try { final ST_port pt = new ST_port(); CString cp=null; if(s!=null) cp= strchr(s,':'); if (cp!=null) { UNSUPPORTED("cbuf05ko7kaxq2n9zw35l5v2h"); // *cp = '\0'; UNSUPPORTED("7ofc3q8txvlvus6qwefbnbaxu"); // pt = pf(n, s, cp+1); UNSUPPORTED("971i954brvgqb35cftazlqhon"); // *cp = ':'; UNSUPPORTED("2o9oidtrr5gspl1dh6vnz7mlz"); // pt.name = cp+1; } else pt.___((ST_port) pf.exe(n, s, null)); pt.name = s; return pt; } finally { LEAVING("9vnr1bc7p533acazoxbhbfmx3","chkPort"); } } //3 3aqh64lxwv4da2snfe7fvr45b // int common_init_edge(edge_t * e) public static int common_init_edge(ST_Agedge_s e) { ENTERING("3aqh64lxwv4da2snfe7fvr45b","common_init_edge"); try { CString str; int r = 0; final ST_fontinfo fi = new ST_fontinfo(); final ST_fontinfo lfi = new ST_fontinfo(); ST_Agraph_s sg = agraphof(agtail(e)); fi.setPtr("fontname", null); lfi.setPtr("fontname", null); if (Z.z().E_label!=null && (str = agxget(e, Z.z().E_label))!=null && (str.charAt(0)!='\0')) { r = 1; initFontEdgeAttr(e, fi); ED_label(e, make_label(e, str, (aghtmlstr(str)!=0 ? (1 << 1) : (0 << 1)), fi.fontsize, fi.fontname, fi.fontcolor)); GD_has_labels(sg, GD_has_labels(sg) | (1 << 0)); ED_label_ontop(e, mapbool(late_string(e, Z.z().E_label_float, new CString("false")))); } if (Z.z().E_xlabel!=null && (str = agxget(e, Z.z().E_xlabel))!=null && (str.charAt(0)!='\0')) { UNSUPPORTED("1j3mhgq7abuh3n19q2jtjddbc"); // if (!fi.fontname) UNSUPPORTED("bmqo2g5g107quod3h31r8iudr"); // initFontEdgeAttr(e, &fi); UNSUPPORTED("3s7kg9x748riuy3tm697s6e8t"); // (((Agedgeinfo_t*)(((Agobj_t*)(e))->data))->xlabel) = make_label((void*)e, str, (aghtmlstr(str) ? (1 << 1) : (0 << 1)), UNSUPPORTED("b0zm6fkpjlt9jacykbgugjodg"); // fi.fontsize, fi.fontname, fi.fontcolor); UNSUPPORTED("c078bypfszv0nsvp1nc0x28wx"); // (((Agraphinfo_t*)(((Agobj_t*)(sg))->data))->has_labels) |= (1 << 5); } /* vladimir */ if (Z.z().E_headlabel!=null && (str = agxget(e, Z.z().E_headlabel))!=null && (str.charAt(0)!='\0')) { initFontLabelEdgeAttr(e, fi, lfi); ED_head_label(e, make_label(e, str, (aghtmlstr(str)!=0 ? (1 << 1) : (0 << 1)), lfi.fontsize, lfi.fontname, lfi.fontcolor)); GD_has_labels(sg, GD_has_labels(sg) | (1 << 1)); } if (Z.z().E_taillabel!=null && (str = agxget(e, Z.z().E_taillabel))!=null && (str.charAt(0)!='\0')) { initFontLabelEdgeAttr(e, fi, lfi); ED_tail_label(e, make_label(e, str, (aghtmlstr(str)!=0 ? (1 << 1) : (0 << 1)), lfi.fontsize, lfi.fontname, lfi.fontcolor)); GD_has_labels(sg, GD_has_labels(sg) | (1 << 2)); } /* end vladimir */ /* We still accept ports beginning with colons but this is deprecated * That is, we allow tailport = ":abc" as well as the preferred * tailport = "abc". */ str = agget(e, new CString("tailport")); /* libgraph always defines tailport/headport; libcgraph doesn't */ if (N(str)) str = new CString(""); if (str!=null && str.charAt(0)!='\0') UNSUPPORTED("j71lo2acx1ydov0uj7xjjce"); // (((Agnodeinfo_t*)(((Agobj_t*)(((((((Agobj_t*)(e))->tag).objtype) == 3?(e):((e)+1))->node)))->data))->has_port) = (!(0)); ED_tail_port(e, chkPort ((CFunction) ND_shape(agtail(e)).fns.portfn, agtail(e), str)); if (noClip(e, Z.z().E_tailclip)) UNSUPPORTED("cg4z67u0dm6h9nrcx8kkalnlt"); // (((Agedgeinfo_t*)(((Agobj_t*)(e))->data))->tail_port).clip = 0; str = agget(e, new CString("headport")); /* libgraph always defines tailport/headport; libcgraph doesn't */ if (N(str)) str = new CString(""); if (str!=null && str.charAt(0)!='\0') UNSUPPORTED("542y57dbsosmjvsmdnzon2qb5"); // (((Agnodeinfo_t*)(((Agobj_t*)(((((((Agobj_t*)(e))->tag).objtype) == 2?(e):((e)-1))->node)))->data))->has_port) = (!(0)); ED_head_port(e, chkPort((CFunction) ND_shape(aghead(e)).fns.portfn, aghead(e), str)); if (noClip(e, Z.z().E_headclip)) UNSUPPORTED("ayqscz30ekhcje94wh4ib1hcu"); // (((Agedgeinfo_t*)(((Agobj_t*)(e))->data))->head_port).clip = 0; return r; } finally { LEAVING("3aqh64lxwv4da2snfe7fvr45b","common_init_edge"); } } //3 3mkqvtbyq9j8ktzil6t7vakg5 // static boxf addLabelBB(boxf bb, textlabel_t * lp, boolean flipxy) public static ST_boxf addLabelBB(final ST_boxf bb, ST_textlabel_t lp, boolean flipxy) { // WARNING!! STRUCT return addLabelBB_w_(bb.copy(), lp, flipxy).copy(); } private static ST_boxf addLabelBB_w_(final ST_boxf bb, ST_textlabel_t lp, boolean flipxy) { ENTERING("3mkqvtbyq9j8ktzil6t7vakg5","addLabelBB"); try { double width, height; final ST_pointf p = new ST_pointf(); p.___(lp.pos); double min, max; if (flipxy) { height = lp.dimen.x; width = lp.dimen.y; } else { width = lp.dimen.x; height = lp.dimen.y; } min = p.x - width / 2.; max = p.x + width / 2.; if (min < bb.LL.x) bb.LL.x = min; if (max > bb.UR.x) bb.UR.x = max; min = p.y - height / 2.; max = p.y + height / 2.; if (min < bb.LL.y) bb.LL.y = min; if (max > bb.UR.y) bb.UR.y = max; return bb; } finally { LEAVING("3mkqvtbyq9j8ktzil6t7vakg5","addLabelBB"); } } //3 abydt85ykexa59r4o9fw9r77o // boxf polyBB (polygon_t* poly) public static Object polyBB(Object... arg) { UNSUPPORTED("eog6k627mwt0j7tauh94xvup8"); // boxf UNSUPPORTED("a4oqb702qwzmhj4ubv8nvwnut"); // polyBB (polygon_t* poly) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9qkiyn1vv2k6crbg8xakskx7r"); // int i, sides = poly->sides; UNSUPPORTED("wqb7ise36l84z7bv4eo0jk8e"); // int peris = MAX(poly->peripheries,1); UNSUPPORTED("f32j3p304siaf3gv4nw2fjxyd"); // pointf* verts = poly->vertices + (peris-1)*sides; UNSUPPORTED("2lzsl1e035wt5epd1h8f4bn8m"); // boxf bb; UNSUPPORTED("b6nw09v79k31a4rwwrm78jena"); // bb.LL = bb.UR = verts[0]; UNSUPPORTED("c3ab28lpww2nrulbu0e7eei8t"); // for (i = 1; i < sides; i++) { UNSUPPORTED("docqulnbkxq1u4xzeygy173ha"); // bb.LL.x = MIN(bb.LL.x,verts[i].x); UNSUPPORTED("162k3p74x02qk563wm0i4f5wy"); // bb.LL.y = MIN(bb.LL.y,verts[i].y); UNSUPPORTED("2puay77reaetlg69b3esmertj"); // bb.UR.x = MAX(bb.UR.x,verts[i].x); UNSUPPORTED("f4uggsyc6kisqh04h7ykmypit"); // bb.UR.y = MAX(bb.UR.y,verts[i].y); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5v5hh30squmit8o2i5hs25eig"); // return bb; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bz7kjecium6a7xa39qfobwwnc // void updateBB(graph_t * g, textlabel_t * lp) public static void updateBB(ST_Agraph_s g, ST_textlabel_t lp) { ENTERING("bz7kjecium6a7xa39qfobwwnc","updateBB"); try { GD_bb(g).___(addLabelBB(GD_bb(g), lp, GD_flip(g)!=0)); } finally { LEAVING("bz7kjecium6a7xa39qfobwwnc","updateBB"); } } //3 2dhrilz05n4iopa5go0ir09tq // void compute_bb(graph_t * g) public static Object compute_bb(Object... arg) { UNSUPPORTED("43z8pxvn2vwb16wsrtd6eb4x4"); // void compute_bb(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("84lrde5ocrrgm9zv1ge9e8pwa"); // boxf b, bb; UNSUPPORTED("bzz7vodjegzgwxp8jzgkq3uti"); // boxf BF; UNSUPPORTED("5tn3u3gu9sfzv423lmms9ruht"); // pointf ptf, s2; UNSUPPORTED("dzpsknrwv8qkqq20hjnjpjn68"); // int i, j; UNSUPPORTED("331ilq8vsdj6hvow2dqcknbw9"); // if ((agnnodes(g) == 0) && (GD_n_cluster(g) ==0)) { UNSUPPORTED("6v3sw7pm6nazbrivryo4463ge"); // bb.LL = pointfof(0, 0); UNSUPPORTED("8fv5furomnqnewjrz8lsz5ks5"); // bb.UR = pointfof(0, 0); UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("f2nzvg1xnr11v28w2feg923cs"); // bb.LL = pointfof(INT_MAX, INT_MAX); UNSUPPORTED("7tttoj8cnxfqgnq2aagnnav48"); // bb.UR = pointfof(-INT_MAX, -INT_MAX); UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("bp0gyw9zhjswqzd12yj9rxiao"); // ptf = coord(n); UNSUPPORTED("9vcwhl1ztgy395x3g3p27b3vp"); // s2.x = ND_xsize(n) / 2.0; UNSUPPORTED("97s3sp93769x79ow3rretvxt6"); // s2.y = ND_ysize(n) / 2.0; UNSUPPORTED("ecbpdzff34gb4naalyrxe5vzo"); // b.LL = sub_pointf(ptf, s2); UNSUPPORTED("52nsauaebr58m4f8afw1zu6mi"); // b.UR = add_pointf(ptf, s2); UNSUPPORTED("1p5j3as8potjryco1p28zv0ns"); // EXPANDBB(bb,b); UNSUPPORTED("1nfehzcu9dg4m0zqniggw0myh"); // if (ND_xlabel(n) && ND_xlabel(n)->set) { UNSUPPORTED("34rij3kl1x5ia5ytk2qaqgw7i"); // bb = addLabelBB(bb, ND_xlabel(n), GD_flip(g)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("919e52wzxh255quxj0nzwukfl"); // if (ED_spl(e) == 0) UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; UNSUPPORTED("ah9ldbdg46psh3ic9qv1v1w1h"); // for (i = 0; i < ED_spl(e)->size; i++) { UNSUPPORTED("96deowae58qes8jszwjgwchpi"); // for (j = 0; j < (((Agedgeinfo_t*)AGDATA(e))->spl)->list[i].size; j++) { UNSUPPORTED("bm6ktup8tdejk1tq38xkq18zx"); // ptf = ED_spl(e)->list[i].list[j]; UNSUPPORTED("8xyn6e9qgao43nsgse8ya790b"); // EXPANDBP(bb,ptf); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("bbijzcnlrgsrkf9c3lvyq1j3w"); // if (ED_label(e) && ED_label(e)->set) { UNSUPPORTED("2d569ynk5qigji0zshsuvzop9"); // bb = addLabelBB(bb, ED_label(e), GD_flip(g)); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("7l6ztc2uyzzyyw47jkbmwrvpq"); // if (ED_head_label(e) && ED_head_label(e)->set) { UNSUPPORTED("298664pi1qebzix2j1gdtf6rl"); // bb = addLabelBB(bb, ED_head_label(e), GD_flip(g)); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("bs3i08itd9j5yeohefoglkqh5"); // if (ED_tail_label(e) && ED_tail_label(e)->set) { UNSUPPORTED("f4hck0g41boxn60os1w41wcok"); // bb = addLabelBB(bb, ED_tail_label(e), GD_flip(g)); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ceshtn0f3py2v4gcpqi8gemwj"); // if (ED_xlabel(e) && ED_xlabel(e)->set) { UNSUPPORTED("9ssocbm4ep6gx5dquinuttjh4"); // bb = addLabelBB(bb, ED_xlabel(e), GD_flip(g)); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7naa6f8pevjidfr7m41eli6xj"); // for (i = 1; i <= GD_n_cluster(g); i++) { UNSUPPORTED("ayvgjv5zau71cgcmznfyselk7"); // B2BF(GD_bb(GD_clust(g)[i]), BF); UNSUPPORTED("43e6y2c5ngcxuspv36aq0fc8k"); // EXPANDBB(bb,BF); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6rirb177r8kbx1j7f9jeot4rl"); // if (GD_label(g) && GD_label(g)->set) { UNSUPPORTED("8n0mzjgupx6e90manf0a8tmtc"); // bb = addLabelBB(bb, GD_label(g), GD_flip(g)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8pjanfm12ixxbeb7k86g3z5p4"); // GD_bb(g) = bb; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1ihcngl4nnl0l3a4lazjawjak // int is_a_cluster (Agraph_t* g) public static Object is_a_cluster(Object... arg) { UNSUPPORTED("c7v1kpsifryrniar3pr9lj2vb"); // int is_a_cluster (Agraph_t* g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ey170unvby4qz57rfy4vs0l9f"); // return ((g == g->root) || (!strncasecmp(agnameof(g), "cluster", 7))); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3eb5x8fxszk05rs03aw3w8bal // Agsym_t *setAttr(graph_t * g, void *obj, char *name, char *value, Agsym_t * ap) public static Object setAttr(Object... arg) { UNSUPPORTED("7hwd7388n90vnhk5ry6nk24pv"); // Agsym_t *setAttr(graph_t * g, void *obj, char *name, char *value, UNSUPPORTED("4gdje67ttlpied9791ewdlrd0"); // Agsym_t * ap) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cofg42y3teruvnmgv4yvovh4w"); // if (ap == (void *)0) { UNSUPPORTED("6wt2bbghw1qt1af7ak7o9gfgo"); // switch (agobjkind(obj)) { UNSUPPORTED("9t6es77h0301xk4n035emz6o"); // case AGRAPH: UNSUPPORTED("84ratfisjulkdxpfwy3c9htyz"); // ap = agattr(g, AGRAPH,name, ""); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("4ih7nalu307xv8wvdpmgy537r"); // case AGNODE: UNSUPPORTED("71ugdg0a02c8zpt280ynq3cea"); // ap = agattr(g,AGNODE, name, ""); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("5lnuird1e17irkx6ami31gay1"); // case AGEDGE: UNSUPPORTED("8xoc5xyqthnaqwgkuofzm1lup"); // ap = agattr(g,AGEDGE, name, ""); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("brfoeqd4pjsygr0tiki0f7wch"); // agxset(obj, ap, value); UNSUPPORTED("b8cimfvcp1vea97hyfr4m9nix"); // return ap; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 68c4u42h1oec8puw4huxzsram // static node_t *clustNode(node_t * n, graph_t * cg, agxbuf * xb, graph_t * clg) public static Object clustNode(Object... arg) { UNSUPPORTED("expuexpqhy52jx8egr4nmadbq"); // static node_t *clustNode(node_t * n, graph_t * cg, agxbuf * xb, UNSUPPORTED("83ctmg1k8dzy4himebqtr1m1y"); // graph_t * clg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cn1mqtf5jsxe76q0gt0zfucwm"); // node_t *cn; UNSUPPORTED("dyafhx3n373qe83tgg0ggtqew"); // static int idx = 0; UNSUPPORTED("f1winj1vhwrg5thteiqcqi29i"); // char num[100]; UNSUPPORTED("5mmb3522ptm4mcf9evx60ajew"); // agxbput(xb, "__"); UNSUPPORTED("e2g1diasmnmoy22hb3tpytznw"); // sprintf(num, "%d", idx++); UNSUPPORTED("2k35glrj7msg2hog9ut7u9nr7"); // agxbput(xb, num); UNSUPPORTED("9jhngs0d5bkz6h4vpq5lnoyga"); // ((((xb)->ptr >= (xb)->eptr) ? agxbmore(xb,1) : 0), (int)(*(xb)->ptr++ = ((unsigned char)':'))); UNSUPPORTED("a5rh1qp81ztiwxfywpk0vcapj"); // agxbput(xb, agnameof(cg)); UNSUPPORTED("67zj9gekg6ygql1z3r0ph931y"); // cn = agnode(agroot(cg), (((((xb)->ptr >= (xb)->eptr) ? agxbmore(xb,1) : 0), (int)(*(xb)->ptr++ = ((unsigned char)'\0'))),(char*)((xb)->ptr = (xb)->buf)), 1); UNSUPPORTED("1xux6s5s5ce4cl1ihunt2957f"); // agbindrec(cn, "Agnodeinfo_t", sizeof(Agnodeinfo_t), (!(0))); UNSUPPORTED("8pf78abddkqif7nnus196p6w9"); // (ND_clustnode(cn) = (!(0))); UNSUPPORTED("952l8hivvgcu9neihd5oejkne"); // agsubnode(cg,cn,1); UNSUPPORTED("7rpor9cu2a5ytz59ky3yzzf3e"); // //aginsert(cg, cn); UNSUPPORTED("bnwdscnff1ajygbrinebw5tzy"); // agsubnode(clg,n,1); UNSUPPORTED("b4oovl1t2xbj981x521u2wqw9"); // //aginsert(clg, n); UNSUPPORTED("8l8f1yq18trxwvv7v0vnjksyn"); // /* set attributes */ UNSUPPORTED("9xlhovy1a3tm3x50qm5at98wv"); // N_label = setAttr(agraphof(cn), cn, "label", "", N_label); UNSUPPORTED("ejig5v0kmrb3iq04qsqioadrf"); // N_style = setAttr(agraphof(cn), cn, "style", "invis", N_style); UNSUPPORTED("3x5fnrqc7r2ikzr4lb8pn0wc5"); // N_shape = setAttr(agraphof(cn), cn, "shape", "box", N_shape); UNSUPPORTED("a1e5vm1ljhru5haksozb6im5i"); // /* N_width = setAttr (cn->graph, cn, "width", "0.0001", N_width); */ UNSUPPORTED("f03wmos529in1bb9hvup5hhai"); // return cn; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1dr4tu5yewu3tcstfq3jkcfg // static int cmpItem(Dt_t * d, void *p1[], void *p2[], Dtdisc_t * disc) public static Object cmpItem(Object... arg) { UNSUPPORTED("2l8537eo2smrl3yniwkv96fhy"); // static int cmpItem(Dt_t * d, void *p1[], void *p2[], Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6z29omss9ay00bqf6xael7t6t"); // (void) d; UNSUPPORTED("8l8wg6vltx6d7vc9dzqb6n3wi"); // (void) disc; UNSUPPORTED("5dlkskltbjfd7l3iojdmxbfe7"); // if (p1[0] < p2[0]) UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("6eiz5nxr8kgzbn75d0p98o9d3"); // else if (p1[0] > p2[0]) UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("bbxeh2ijuksbga6h6yu50yytg"); // else if (p1[1] < p2[1]) UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("6abzwq2ia723vgf1rf1i65f5d"); // else if (p1[1] > p2[1]) UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bsharuh63hyx8gytgj0drcbxn // static void *newItem(Dt_t * d, item * objp, Dtdisc_t * disc) public static Object newItem(Object... arg) { UNSUPPORTED("akr8nubtu1wjzyw77dyu7l818"); // static void *newItem(Dt_t * d, item * objp, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("99a4mnjdm29dtq83hvtof51ni"); // item *newp = (item*)zmalloc(sizeof(item)); UNSUPPORTED("8l8wg6vltx6d7vc9dzqb6n3wi"); // (void) disc; UNSUPPORTED("7o3keent8kekj52p9qb43ethl"); // newp->p[0] = objp->p[0]; UNSUPPORTED("3wxc6pdiqxckjf8y7mwlj0am9"); // newp->p[1] = objp->p[1]; UNSUPPORTED("8gwlx3jj25pxng8pmk9zrtusa"); // newp->t = objp->t; UNSUPPORTED("9fhk60i1gsni0emh9jwo0y1ts"); // newp->h = objp->h; UNSUPPORTED("4enxnv484o23jodrkf81rxdg0"); // return newp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k3952c7spf98nnxwfwnp246t // static void freeItem(Dt_t * d, item * obj, Dtdisc_t * disc) public static Object freeItem(Object... arg) { UNSUPPORTED("8rxgun8stoo6nah2bndbm87b9"); // static void freeItem(Dt_t * d, item * obj, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8are8jqzwfj87yj4tkaohi3tf"); // free(obj); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 3q539ycox1bllayps038bsksa // static Dtdisc_t mapDisc = //3 cmped1c3ho0jglvwjjj6a228t // static edge_t *cloneEdge(edge_t * e, node_t * ct, node_t * ch) public static Object cloneEdge(Object... arg) { UNSUPPORTED("d4tyhi7zzf9xmns1lnu336v3r"); // static edge_t *cloneEdge(edge_t * e, node_t * ct, node_t * ch) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3uzp3aqejf5j0yv2yj4jw5aj"); // graph_t *g = agraphof(ct); UNSUPPORTED("7k2dgu104ye2c3d50mokkgwhz"); // edge_t *ce = agedge(g, ct, ch,(void *)0,1); UNSUPPORTED("1927pqk9hk6k5d7t1k9he6aa9"); // agbindrec(ce, "Agedgeinfo_t", sizeof(Agedgeinfo_t), (!(0))); UNSUPPORTED("a8urs3zuslesi9orp6p4z1i6f"); // agcopyattr(e, ce); UNSUPPORTED("8yr3irjwjiayt2t3izgwmnj9g"); // return ce; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c5a3lmz7tpara4c6bxtihr7m6 // static void insertEdge(Dt_t * map, void *t, void *h, edge_t * e) public static Object insertEdge(Object... arg) { UNSUPPORTED("9k64e2wql9m602qa681rgo7i7"); // static void insertEdge(Dt_t * map, void *t, void *h, edge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7lw765nir8wljj9gzis4zqedg"); // item dummy; UNSUPPORTED("8nu1ezwxni2hxz2f9e8v2cbb8"); // dummy.p[0] = t; UNSUPPORTED("bc8q41s8rexxkeopidu04qewp"); // dummy.p[1] = h; UNSUPPORTED("4tdxi6d9w3ukmzktg7xfyiq7q"); // dummy.t = agtail(e); UNSUPPORTED("7382qi1yckci5zkxxyjphhdt1"); // dummy.h = aghead(e); UNSUPPORTED("bdurkecw4pa63pn37lkh7haq3"); // (*(((Dt_t*)(map))->searchf))((map),(void*)(&dummy),0000001); UNSUPPORTED("bb527tszlzw34gp1ih1xn1iar"); // dummy.p[0] = h; UNSUPPORTED("47zbtmrffd896ojei9okz9ed1"); // dummy.p[1] = t; UNSUPPORTED("9vuag0zig6ymzak8fo6r3sda1"); // dummy.t = aghead(e); UNSUPPORTED("6kdaphe8fi7139t83macqveyb"); // dummy.h = agtail(e); UNSUPPORTED("bdurkecw4pa63pn37lkh7haq3"); // (*(((Dt_t*)(map))->searchf))((map),(void*)(&dummy),0000001); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dkpu53gf0kuy7km1pxs1quv6w // static item *mapEdge(Dt_t * map, edge_t * e) public static Object mapEdge(Object... arg) { UNSUPPORTED("8o6iypv3kzhmwkk0ssw2py2yj"); // static item *mapEdge(Dt_t * map, edge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2mkazi3rdjs334ce8xp82ihtk"); // void *key[2]; UNSUPPORTED("dhcqq0dsnymbpdjw0w7s03fp"); // key[0] = agtail(e); UNSUPPORTED("djzhgnjk5pxpyo8hhiad0bwfd"); // key[1] = aghead(e); UNSUPPORTED("42lnw96k38ctgmg8vg0dkcazj"); // return (item *) (*(((Dt_t*)(map))->searchf))((map),(void*)(&key),0001000); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 evei1rlt3rpux3ayqs9tyofmw // static void checkCompound(edge_t * e, graph_t * clg, agxbuf * xb, Dt_t * map, Dt_t* cmap) public static Object checkCompound(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("y76yzntmrne9d5t1m4t7ott3"); // checkCompound(edge_t * e, graph_t * clg, agxbuf * xb, Dt_t * map, Dt_t* cmap) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("24xfyvovg3es787o11thrjc92"); // graph_t *tg; UNSUPPORTED("a3ojwgag8ldublzh73whg427o"); // graph_t *hg; UNSUPPORTED("cn1mqtf5jsxe76q0gt0zfucwm"); // node_t *cn; UNSUPPORTED("apkwzmnbl05ohutf7wes9igj2"); // node_t *cn1; UNSUPPORTED("7jj1xtfi4cbw5y6yhlzh0mli4"); // node_t *t = agtail(e); UNSUPPORTED("7sdvsuo2rbo6of75bzleek8qf"); // node_t *h = aghead(e); UNSUPPORTED("2dc0glyu5z80juidpelk52ugz"); // edge_t *ce; UNSUPPORTED("11hik2e4x4z9iutby72hbrzgx"); // item *ip; UNSUPPORTED("dvxbl4pteylrj225li1lb6hx2"); // if ((ND_clustnode(h))) return; UNSUPPORTED("6mxhjii0vool4e7v7ro88ozt"); // tg = (strncmp(agnameof(t),"cluster",7)?(void *)0:findCluster(cmap,agnameof(t))); UNSUPPORTED("9h0q9kw3f1tenf4puz9oi64l"); // hg = (strncmp(agnameof(h),"cluster",7)?(void *)0:findCluster(cmap,agnameof(h))); UNSUPPORTED("h9gulavvyc3ipss9cgex8x3k"); // if (!tg && !hg) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("60xmxr4vqgqctofdynktmr7o1"); // if (tg == hg) { UNSUPPORTED("dr3nbzpzpx0aupm54j364opox"); // agerr(AGWARN, "cluster cycle %s -- %s not supported\n", agnameof(t), UNSUPPORTED("4t2kykme4iu9016m9s14od6yh"); // agnameof(t)); UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5hnveujdt658bi20dkn93pkes"); // ip = mapEdge(map, e); UNSUPPORTED("bct0h7obrwmyxyjpdlga0lo14"); // if (ip) { UNSUPPORTED("6tq7d69sgwkznt9jdlhl5jzdj"); // cloneEdge(e, ip->t, ip->h); UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("85v9wkuzgj377kagk2q32243s"); // if (hg) { UNSUPPORTED("8esnbcsvq7wtwxyn2ds3qnzxr"); // if (tg) { UNSUPPORTED("18jmtdvbt3bs4fj4fu02ry30e"); // if (agcontains(hg, tg)) { UNSUPPORTED("97u64gola1vplk8cvf8wg60bh"); // agerr(AGWARN, "tail cluster %s inside head cluster %s\n", UNSUPPORTED("369r4tljymt875kkmgpkpyt8l"); // agnameof(tg), agnameof(hg)); UNSUPPORTED("6bj8inpmr5ulm16jmfxsstjtn"); // return; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("8o34cjwrgpnrquyxl2o3bb8zk"); // if (agcontains(tg, hg)) { UNSUPPORTED("9cr5cpb8befiu9fovqfiiljjl"); // agerr(AGWARN, "head cluster %s inside tail cluster %s\n", UNSUPPORTED("fxxb0u8d3qtcacdofimmuqac"); // agnameof(hg),agnameof(tg)); UNSUPPORTED("6bj8inpmr5ulm16jmfxsstjtn"); // return; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("71igoahydbe2dr812u1rb188n"); // cn = clustNode(t, tg, xb, clg); UNSUPPORTED("9tutq5zmo2t0l31gwnu2vwrup"); // cn1 = clustNode(h, hg, xb, clg); UNSUPPORTED("3cqe6v0gfzo0dwfrf8ns9l15c"); // ce = cloneEdge(e, cn, cn1); UNSUPPORTED("puotk7g3k7fy9jnp2axq0qqz"); // insertEdge(map, t, h, ce); UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("apxu8gru4cebxzthha8fwtfum"); // if (agcontains(hg, t)) { UNSUPPORTED("ch79b4wihrmywtrraz048h29q"); // agerr(AGWARN, "tail node %s inside head cluster %s\n", UNSUPPORTED("c0gja8mg2a5tllq0cl44kobvl"); // agnameof(t), agnameof(hg)); UNSUPPORTED("6bj8inpmr5ulm16jmfxsstjtn"); // return; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("446wbqmos7b2zyj2ps1r6kuhl"); // cn = clustNode(h, hg, xb, clg); UNSUPPORTED("bhxc2l94cwt5l1wth28b2o5pp"); // ce = cloneEdge(e, t, cn); UNSUPPORTED("puotk7g3k7fy9jnp2axq0qqz"); // insertEdge(map, t, h, ce); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("2ps8erulnhdu23ou4uniz2hu6"); // if (agcontains(tg, h)) { UNSUPPORTED("1cjnfqs77zdcnsm0o72f90ksk"); // agerr(AGWARN, "head node %s inside tail cluster %s\n", agnameof(h), UNSUPPORTED("67ucv9k4148ltlnjqhl4rz86a"); // agnameof(tg)); UNSUPPORTED("6cprbghvenu9ldc0ez1ifc63q"); // return; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2sanft0kxtxdy21i6ukf4c05t"); // cn = clustNode(t, tg, xb, clg); UNSUPPORTED("5fxyznzitqqrmw44h44veynfw"); // ce = cloneEdge(e, cn, h); UNSUPPORTED("c7jpyix9gxyo3vaiavoxyh155"); // insertEdge(map, t, h, ce); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dwutwgt4iv7io73xbnfs967wi // int processClusterEdges(graph_t * g) public static Object processClusterEdges(Object... arg) { UNSUPPORTED("4oyug57mkqcdxkzes2u1byitf"); // int processClusterEdges(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ecz4e03zumggc8tfymqvirexq"); // int rv; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("a9ekq0g92dftp5ha575c6yu2u"); // node_t *nxt; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("c7d686aym108b09btq8wtbaqb"); // graph_t *clg; UNSUPPORTED("9gou5otj6s39l2cbyc8i5i5lq"); // agxbuf xb; UNSUPPORTED("ae7vbw9q2eczpdja7cbbq50pn"); // Dt_t *map; UNSUPPORTED("6vtk1euczoz6qoydjb6zi2aw7"); // Dt_t *cmap = mkClustMap (g); UNSUPPORTED("h0or3v13348vfl22jqz895yc"); // unsigned char buf[128]; UNSUPPORTED("ez0qg0y6sdmbdyttclx339epy"); // map = dtopen(&mapDisc, Dtoset); UNSUPPORTED("cpyda14dogcucergo5ci8essn"); // clg = agsubg(g, "__clusternodes",1); UNSUPPORTED("7gy5iqkef9rpt221qibtgi0bf"); // agbindrec(clg, "Agraphinfo_t", sizeof(Agraphinfo_t), (!(0))); UNSUPPORTED("ci65k77x1b3nq6luu69s87oup"); // agxbinit(&xb, 128, buf); UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("89a8vf7uwx9v2vh8f8epycx86"); // if ((ND_clustnode(n))) continue; UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("7recxsc5i7btnkw1u0i1zrcke"); // checkCompound(e, clg, &xb, map, cmap); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1at5m9ctjn3ukv5gqtfswik02"); // agxbfree(&xb); UNSUPPORTED("b6u4k91yj41tlxefwoh6asd20"); // dtclose(map); UNSUPPORTED("bdsudu527hktokp1kvhusfmoe"); // rv = agnnodes(clg); UNSUPPORTED("22i66qr930abhwgxbm0wq87o9"); // for (n = agfstnode(clg); n; n = nxt) { UNSUPPORTED("f4noczumg69t18r8ssfanvoks"); // nxt = agnxtnode(clg, n); UNSUPPORTED("d2695chnyayerv0xcynrkg7yd"); // agdelete(g, n); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("d7dekled5ml4ke75zmk09qqsx"); // agclose(clg); UNSUPPORTED("dgwcr0xmkos3gxsam25rktyub"); // if (rv) UNSUPPORTED("6pk8ar1h2wlfngow4ehgw89jz"); // (GD_flags(g) |= 1); UNSUPPORTED("5gkwwtk0stiam8elj7z38rq47"); // dtclose(cmap); UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5kmpn0ajfqqlgj5cw9vpfasej // static node_t *mapN(node_t * n, graph_t * clg) public static Object mapN(Object... arg) { UNSUPPORTED("buha873k6dpip6wp1k6884zn8"); // static node_t *mapN(node_t * n, graph_t * clg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8cudi8s29q4uqmilbu8c75v3p"); // node_t *nn; UNSUPPORTED("8i0d7frxcvvmzhidle0zin9i0"); // char *name; UNSUPPORTED("3mtc40uaa6dfx8pj5lh3cyn1l"); // graph_t *g = agraphof(n); UNSUPPORTED("av59ae8c4mws46sf5dumz1k0s"); // Agsym_t *sym; UNSUPPORTED("bnb5n48z4b233ir0fewnxiecu"); // if (!((ND_clustnode(n)))) UNSUPPORTED("bp96fem54xcxrw16cmnlpell9"); // return n; UNSUPPORTED("412fabs39sm0oyvvs0n9tys7h"); // agsubnode(clg, n, 1); UNSUPPORTED("4qyzymwl4mdlxpdvh64mgshjy"); // name = strchr(agnameof(n), ':'); UNSUPPORTED("265kxn69043hh3vmr1ma8pbpg"); // assert(name); UNSUPPORTED("etbl775rsebn18g7vfu6j5ffu"); // name++; UNSUPPORTED("4y7kt4c0ur5ptmeorwazg3xbz"); // if ((nn = (agnode(g,name,0)))) UNSUPPORTED("7dxo4qnacudla7r7y8669i5pg"); // return nn; UNSUPPORTED("75euvmm5puodd8n68kvjjnyub"); // nn = agnode(g, name, 1); UNSUPPORTED("a510dla8b91um8smr1ik3n40i"); // agbindrec(nn, "Agnodeinfo_t", sizeof(Agnodeinfo_t), (!(0))); UNSUPPORTED("dhxjy107eberr96dmzpl8canc"); // /* Set all attributes to default */ UNSUPPORTED("606mifyx9hb1bpagnmzxrlk9z"); // for (sym = agnxtattr(g, AGNODE, (void *)0); sym; (sym = agnxtattr(g, AGNODE, sym))) { UNSUPPORTED("7rxjvkrh1kkw8g1ntegrpmqly"); // if (agxget(nn, sym) != sym->defval) UNSUPPORTED("bfyji5ohpzlfb4najikk4a9cw"); // agxset(nn, sym, sym->defval); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ey1y9gcof82mu9xr88pebu8s3"); // return nn; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 789ww738n8t5kluf6zeo8zwsj // static void undoCompound(edge_t * e, graph_t * clg) public static Object undoCompound(Object... arg) { UNSUPPORTED("4gm4tyoex45q7hsr07asvlb3v"); // static void undoCompound(edge_t * e, graph_t * clg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7jj1xtfi4cbw5y6yhlzh0mli4"); // node_t *t = agtail(e); UNSUPPORTED("7sdvsuo2rbo6of75bzleek8qf"); // node_t *h = aghead(e); UNSUPPORTED("e43x1qhepqnkibbp8aphz9g47"); // node_t *ntail; UNSUPPORTED("9cji9jzlewigresgaoc0ejw5f"); // node_t *nhead; UNSUPPORTED("uleojnk3a2mlkreb46gqu0hr"); // if (!((ND_clustnode(t)) || (ND_clustnode(h)))) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("55xujazl71m0logk60wzmjvtq"); // ntail = mapN(t, clg); UNSUPPORTED("7g2iurz37ys33fcir84rjj0w0"); // nhead = mapN(h, clg); UNSUPPORTED("9bery3hjtmldzatlddlbzc00j"); // cloneEdge(e, ntail, nhead); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6s7x7ut8o7wrwuw5nfdbknslk // void undoClusterEdges(graph_t * g) public static Object undoClusterEdges(Object... arg) { UNSUPPORTED("xsvmylok7lqoljd2ftvt8eki"); // void undoClusterEdges(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("c7d686aym108b09btq8wtbaqb"); // graph_t *clg; UNSUPPORTED("cpyda14dogcucergo5ci8essn"); // clg = agsubg(g, "__clusternodes",1); UNSUPPORTED("cxzb8zj9uk5xkq6lyiraqyh5o"); // agbindrec(clg, "Agraphinfo_t", sizeof(Agraphinfo_t), (!(0))); UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("e133h9i48sw1xkk4miz3q5qw6"); // undoCompound(e, clg); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6fhvmrn719v1oxev0ugv8gead"); // for (n = agfstnode(clg); n; n = agnxtnode(clg, n)) { UNSUPPORTED("d2695chnyayerv0xcynrkg7yd"); // agdelete(g, n); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("d7dekled5ml4ke75zmk09qqsx"); // agclose(clg); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dwase854hhoz11vcuphugbij // attrsym_t* safe_dcl(graph_t * g, int obj_kind, char *name, char *def) public static Object safe_dcl(Object... arg) { UNSUPPORTED("850d7lqcvt2dszn9wl9f6zef0"); // attrsym_t* UNSUPPORTED("4dafq6zrc7d2eg2y3pxdhhp6k"); // safe_dcl(graph_t * g, int obj_kind, char *name, char *def) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1z0y79inqwletzkfgolwkh2mm"); // attrsym_t *a = agattr(g,obj_kind,name, (void *)0); UNSUPPORTED("53xvsqb1bmjlv8zo5ey6uznyf"); // if (!a) /* attribute does not exist */ UNSUPPORTED("avuy3kulsc2bvd7gtxiznnkl"); // a = agattr(g,obj_kind,name,def); UNSUPPORTED("3gfohtnqgemf2e1akg4je944a"); // return a; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8vn95uhvbccfyutd9itvpk8vy // static int comp_entities(const void *e1, const void *e2) public static Object comp_entities(Object... arg) { UNSUPPORTED("28uhwy0iibw08ehww04k9s3le"); // static int comp_entities(const void *e1, const void *e2) { UNSUPPORTED("3c7l2zx25w9zqhkqe16urhizu"); // return strcmp(((struct entities_s *)e1)->name, ((struct entities_s *)e2)->name); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7t94y8iigozdjfx36lfzyak08 // char* scanEntity (char* t, agxbuf* xb) public static Object scanEntity(Object... arg) { UNSUPPORTED("bz1schmt8gz4xlf2x79u589jz"); // char* scanEntity (char* t, agxbuf* xb) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ecs59z0l3j60cvfc1n8vabb0n"); // char* endp = strchr (t, ';'); UNSUPPORTED("bzu1jieuhoy6jahlnld5cybzk"); // struct entities_s key, *res; UNSUPPORTED("coa0oz6l6jdsodktc0tdnc2cb"); // int len; UNSUPPORTED("90hm5x3gtehrl08u4s3bb5h5s"); // char buf[8+1]; UNSUPPORTED("egvn4me3pgt2km0tpawwhhk2t"); // ((((xb)->ptr >= (xb)->eptr) ? agxbmore(xb,1) : 0), (int)(*(xb)->ptr++ = ((unsigned char)'&'))); UNSUPPORTED("981k5uhzqy8u4eweluhu3ajcc"); // if (!endp) return t; UNSUPPORTED("405o5srxruhaurslvb8fxibcs"); // if (((len = endp-t) > 8) || (len < 2)) return t; UNSUPPORTED("1m465yt5bfo53jvd170k1s0uf"); // strncpy (buf, t, len); UNSUPPORTED("3w01p3l63zt07scumxz12foyc"); // buf[len] = '\0'; UNSUPPORTED("22hhi6szy0artz9sx31yn993t"); // key.name = buf; UNSUPPORTED("1p9rtkc428xvwvxqu9ulqllbq"); // res = bsearch(&key, entities, 252, UNSUPPORTED("6ucfe24q86v1s0pnugf94k0o1"); // sizeof(entities[0]), comp_entities); UNSUPPORTED("9degteg0v0woertf357m3p670"); // if (!res) return t; UNSUPPORTED("62f6a0uh98flc5r4sp8ye5una"); // sprintf (buf, "%d", res->value); UNSUPPORTED("9kxympmoesjmhxkjfyrue546g"); // ((((xb)->ptr >= (xb)->eptr) ? agxbmore(xb,1) : 0), (int)(*(xb)->ptr++ = ((unsigned char)'#'))); UNSUPPORTED("5q33wkzo42rb2ovinz8n32geq"); // agxbput(xb, buf); UNSUPPORTED("ylj9ttyordcfgahnlqhhobod"); // ((((xb)->ptr >= (xb)->eptr) ? agxbmore(xb,1) : 0), (int)(*(xb)->ptr++ = ((unsigned char)';'))); UNSUPPORTED("29skqtq6yonorv6xk81t19v7j"); // return (endp+1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6ol0iqfokq31kpiqngns9cnkm // static int htmlEntity (char** s) public static Object htmlEntity(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("61r6m6shucv4zvnmx9obkeu9e"); // htmlEntity (char** s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("aexhdud6z2wbwwi73yppp0ynl"); // char *p; UNSUPPORTED("bzu1jieuhoy6jahlnld5cybzk"); // struct entities_s key, *res; UNSUPPORTED("22sdohyy8v7963m1iifyxam9d"); // char entity_name_buf[8+1]; UNSUPPORTED("cha3ynahkzif8mjf2aasyan4p"); // unsigned char* str = *(unsigned char**)s; UNSUPPORTED("6iar0dtf0ozvirclx3rsu5ywk"); // unsigned int byte; UNSUPPORTED("4q8bcbceil82j5ssfuh8q4fhu"); // int i, n = 0; UNSUPPORTED("8xwfccpasv03cb2aijwrkxrt8"); // byte = *str; UNSUPPORTED("f1y8qnn6iohzeg8fx1fsww8wz"); // if (byte == '#') { UNSUPPORTED("47brdazpxh26941mcbd57m5w"); // byte = *(str + 1); UNSUPPORTED("8lhwl4wznsahr1vgtzqnvsgqp"); // if (byte == 'x' || byte == 'X') { UNSUPPORTED("9kdayjiewvd52f72h664pmhy4"); // for (i = 2; i < 8; i++) { UNSUPPORTED("58bvsjm19jatr5xgbuetim3c"); // byte = *(str + i); UNSUPPORTED("7ry0uw9esv0a55bciqzqr7dt0"); // if (byte >= 'A' && byte <= 'F') UNSUPPORTED("efm984116x5zq1dui5ll11r0k"); // byte = byte - 'A' + 10; UNSUPPORTED("30cf1s08yhe1dm0wfrzai7qj9"); // else if (byte >= 'a' && byte <= 'f') UNSUPPORTED("dmoz94y1j59da7u2zxu75l949"); // byte = byte - 'a' + 10; UNSUPPORTED("9sus494ncxh3tbij66aefjaji"); // else if (byte >= '0' && byte <= '9') UNSUPPORTED("70r2dn1krhunm4u7uw43urh5b"); // byte = byte - '0'; UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("ctqmerohp1f69mb1v1t20jx33"); // break; UNSUPPORTED("ai4db41odnnfnokairbrylj2a"); // n = (n * 16) + byte; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("bkj5d6ozqtq7ttrkpmp5p719j"); // for (i = 1; i < 8; i++) { UNSUPPORTED("58bvsjm19jatr5xgbuetim3c"); // byte = *(str + i); UNSUPPORTED("2rd77g61lvh7l0oq5bxbu866w"); // if (byte >= '0' && byte <= '9') UNSUPPORTED("c8u6dbnnbecfd71yts7yps8l8"); // n = (n * 10) + (byte - '0'); UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5kruz0luqhpkxlt2rqdj7qe9y"); // if (byte == ';') { UNSUPPORTED("e7p6jds2xupttn34j7k97koje"); // str += i+1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("902oeel2kkuedgae5ujakzjhy"); // n = 0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("e63mn7kr8jrvjhx7i9grnwgnq"); // key.name = p = entity_name_buf; UNSUPPORTED("avuwvye3hioreemrm282n46zz"); // for (i = 0; i < 8; i++) { UNSUPPORTED("ax9o0naqvr50ld6sknp2j1b44"); // byte = *(str + i); UNSUPPORTED("ddy91zgs9bt560h592o4j4zww"); // if (byte == '\0') break; UNSUPPORTED("a4ymj4wcljef0f889dm6ypyc6"); // if (byte == ';') { UNSUPPORTED("9hm2gc1ly30ctjxthh7ce9kr4"); // *p++ = '\0'; UNSUPPORTED("3i427o0072j16pqppnwmfigbx"); // res = bsearch(&key, entities, 252, UNSUPPORTED("d4pg41mh9zro8muax20xcn7rt"); // sizeof(entities[0]), *comp_entities); UNSUPPORTED("4b5oorrowb2d761jp0u4kh8n1"); // if (res) { UNSUPPORTED("xetj9qmi9xudhpu0fa8ucl4h"); // n = res->value; UNSUPPORTED("99m08trqtau3p70at3g9nkyj6"); // str += i+1; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("d79b803cv2twmevybf99njur6"); // *p++ = byte; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("84mp0v655u5xocqmax8egxonv"); // *s = (char*)str; UNSUPPORTED("69hc24ic55i66g8tf2ne42327"); // return n; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e3fdq03jg6298zgwjnftvhivy // static unsigned char cvtAndAppend (unsigned char c, agxbuf* xb) public static Object cvtAndAppend(Object... arg) { UNSUPPORTED("at0aua2ntxsp0j1h4yidmr4si"); // static unsigned char UNSUPPORTED("dh6zi66v19z0wdg8u346fccp4"); // cvtAndAppend (unsigned char c, agxbuf* xb) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("aqjwq3fk7zmi0i48c6b3bdyn1"); // char buf[2]; UNSUPPORTED("yiuh599p05f2mpu2e3pesu2o"); // char* s; UNSUPPORTED("a4px33i4moqe8ybwatz0g8k6"); // char* p; UNSUPPORTED("dwe86466ugstemepdfk8yzphz"); // int len; UNSUPPORTED("5q4ts22itevk0jgej86bk287q"); // buf[0] = c; UNSUPPORTED("nw02pwbnc00xo3a3qlx6r8r9"); // buf[1] = '\0'; UNSUPPORTED("20haqm26n7i0pwyh3s5hhdatk"); // p = s = latin1ToUTF8 (buf); UNSUPPORTED("2xuf8h1bzawprd2j4asj2e8ja"); // len = strlen(s); UNSUPPORTED("3l8ud5i4y8a5dq0mtvlvixp91"); // while (len-- > 1) UNSUPPORTED("6pe2vbb93li7px1jaorf811ph"); // ((((xb)->ptr >= (xb)->eptr) ? agxbmore(xb,1) : 0), (int)(*(xb)->ptr++ = ((unsigned char)*p++))); UNSUPPORTED("3rr9o0qklmhj4jn7bft2nr8td"); // c = *p; UNSUPPORTED("f1430a029xzg8cabffg2k9l6j"); // free (s); UNSUPPORTED("bskm24m9z4b23box60oxnymv"); // return c; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9yungx7uxqkmzfh2ub6gs9l48 // char* htmlEntityUTF8 (char* s, graph_t* g) public static CString htmlEntityUTF8(CString s, ST_Agraph_s g) { ENTERING("9yungx7uxqkmzfh2ub6gs9l48","htmlEntityUTF8"); try { LOG2("htmlEntityUTF8 "+s); if (s!=null) return s.duplicate(); UNSUPPORTED("1xtgr84lklglr4gz1i1m3t30"); // char* htmlEntityUTF8 (char* s, graph_t* g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("a86rc8dlb4bgtjxjhv43cnmup"); // static graph_t* lastg; UNSUPPORTED("1gn88eczuyt54egtiulqe7y7h"); // static boolean warned; UNSUPPORTED("3rzf3h52xn02xrxie111286a0"); // char* ns; UNSUPPORTED("9gou5otj6s39l2cbyc8i5i5lq"); // agxbuf xb; UNSUPPORTED("esg3s800dx899v69pkng2kavv"); // unsigned char buf[BUFSIZ]; UNSUPPORTED("10sir32iwi5l2jyfgp65pihto"); // unsigned char c; UNSUPPORTED("4urrp9tny84a3cm8ycya896x3"); // unsigned int v; UNSUPPORTED("d5druw9z4e87khtgyeivjngvc"); // int ignored; UNSUPPORTED("4fymyfhfc3ddededhxw7cs671"); // int uc; UNSUPPORTED("d6z43cxggqxq7iq4puyluzkfn"); // int ui; UNSUPPORTED("4pgl4pn1cad2whf242bntmjre"); // (void) ignored; UNSUPPORTED("t65eqheg8dxzi237a648t66j"); // if (lastg != g) { UNSUPPORTED("emyoumradju26mhebq2bewtva"); // lastg = g; UNSUPPORTED("9ys85d2ctjb1a9ra0n11o2a2r"); // warned = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3jwm77zyv02ukrvjv9jppejf7"); // agxbinit(&xb, BUFSIZ, buf); UNSUPPORTED("11zj3p308ttro04hrzowx0vrh"); // while ((c = *(unsigned char*)s++)) { UNSUPPORTED("3xqp191v0egfea0z3ds5p1mjt"); // if (c < 0xC0) UNSUPPORTED("4j200801m87vnfrkblygi6ucj"); // /* UNSUPPORTED("1egwnjpl995mff91kquf9ikvl"); // * Handles properly formed UTF-8 characters between UNSUPPORTED("8rfd02x8qlye0oo8ro9u9g8ya"); // * 0x01 and 0x7F. Also treats \0 and naked trail UNSUPPORTED("49xkviec8w4s3zvlq13991yqh"); // * bytes 0x80 to 0xBF as valid characters representing UNSUPPORTED("bg2026u05g8jo9nm9pr39cknl"); // * themselves. UNSUPPORTED("20m1lc1moer8x00tx9ceto0iw"); // */ UNSUPPORTED("6g3zbtp7zrl9i7jz1if5yi7rj"); // uc = 0; UNSUPPORTED("5ks80mtyizjvlnrh1bwebqrx7"); // else if (c < 0xE0) UNSUPPORTED("2gr59wt9ibszrzwii40dqyd5b"); // uc = 1; UNSUPPORTED("2su1o4swg92stlgi53k4ydm5u"); // else if (c < 0xF0) UNSUPPORTED("c0zrulbhqoupyvbwpwapfpc70"); // uc = 2; UNSUPPORTED("dveaae8p8nhz8gosmtiftudrz"); // else if (c < 0xF8) UNSUPPORTED("a4c1bzq46y652vgwpxsruptth"); // uc = 3; UNSUPPORTED("3jir07ymknf0hmb9pv9x4dr3o"); // else { UNSUPPORTED("ar52jlyh4qqazbcbvntg2wet6"); // uc = -1; UNSUPPORTED("ame11lb7ylv3rp1nhtuq383du"); // if (!warned) { UNSUPPORTED("7acv020k6kt3q8tholp3ex0qa"); // agerr(AGWARN, "UTF8 codes > 4 bytes are not currently supported (graph %s) - treated as Latin-1. Perhaps \"-Gcharset=latin1\" is needed?\n", agnameof(g)); UNSUPPORTED("qr4o1w9xvn1ayc52y0f4c8bh"); // warned = 1; UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("ejqmh8ox9uoy02anzqhcxcrro"); // c = cvtAndAppend (c, &xb); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("8n9ts84r09bm29qdb7v2og087"); // if (uc == 0 && c == '&') { UNSUPPORTED("3cziqu94ggcy3m9kpbpdefqgk"); // /* replace html entity sequences like: & UNSUPPORTED("1c1fqb40szvpdlekj4as5qcqq"); // * and: { with their UTF8 equivalents */ UNSUPPORTED("buyl72klnvh12cf4m578joukc"); // v = htmlEntity (&s); UNSUPPORTED("1fj0k3ba7vy9tjmjnc4d4mujb"); // if (v) { UNSUPPORTED("aso1t4v0cars70ngqafalmoeq"); // if (v < 0x7F) /* entity needs 1 byte in UTF8 */ UNSUPPORTED("777bke4pyf77uol5s5d6qk0i6"); // c = v; UNSUPPORTED("4wqu3fuzmckazc7eb1vvoxspn"); // else if (v < 0x07FF) { /* entity needs 2 bytes in UTF8 */ UNSUPPORTED("2b9x6g0k8a00ty06llcyp6cqu"); // ignored = ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)(v >> 6) | 0xC0))); UNSUPPORTED("el4sow483b296l5o1hy6oqkzp"); // c = (v & 0x3F) | 0x80; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("163d4s8voz31qrt0e4c8ysn9e"); // else { /* entity needs 3 bytes in UTF8 */ UNSUPPORTED("4tpuwv4i0wslspyymoqhdxsvd"); // ignored = ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)(v >> 12) | 0xE0))); UNSUPPORTED("8unuta6ydloexb267kdf96wi"); // ignored = ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)((v >> 6) & 0x3F) | 0x80))); UNSUPPORTED("el4sow483b296l5o1hy6oqkzp"); // c = (v & 0x3F) | 0x80; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("atwq5cvh75c4mpqr6f8bepwkd"); // else /* copy n byte UTF8 characters */ UNSUPPORTED("75h3d3pcb66cff2xszmbwxny0"); // for (ui = 0; ui < uc; ++ui) UNSUPPORTED("75m8b2zfuuay6o25xl08y168m"); // if ((*s & 0xC0) == 0x80) { UNSUPPORTED("2bav6kbg19gemwcsyepjeg52u"); // ignored = ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)c))); UNSUPPORTED("5kkh713qn8pc4dhd3omuop8qk"); // c = *(unsigned char*)s++; UNSUPPORTED("7nxu74undh30brb8laojud3f9"); // } UNSUPPORTED("69mmu86j5iw8x34fdfo0k59ff"); // else { UNSUPPORTED("cjh6htddtrrxjuyqzavdlw01o"); // if (!warned) { UNSUPPORTED("8ljhi9erpokpqsnveckujskly"); // agerr(AGWARN, "Invalid %d-byte UTF8 found in input of graph %s - treated as Latin-1. Perhaps \"-Gcharset=latin1\" is needed?\n", uc + 1, agnameof(g)); UNSUPPORTED("8sgutsruuu83a337z05bvytk0"); // warned = 1; UNSUPPORTED("3d2mow5zy6q4vrtc38f78ucgh"); // } UNSUPPORTED("8jh5xw3y1bjy4poswq4h2wk4n"); // c = cvtAndAppend (c, &xb); UNSUPPORTED("ctqmerohp1f69mb1v1t20jx33"); // break; UNSUPPORTED("g2y6e9pld3899aejuqyr2x25"); // } UNSUPPORTED("28mab50dtpxfjz5h216ox1q6w"); // ignored = ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)c))); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3g7d9dp3ny3ggno64pwi7nmkg"); // ns = strdup ((((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf))); UNSUPPORTED("1at5m9ctjn3ukv5gqtfswik02"); // agxbfree(&xb); UNSUPPORTED("98aa6ybsfiu5u7r3j6fsv3snz"); // return ns; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("9yungx7uxqkmzfh2ub6gs9l48","htmlEntityUTF8"); } } //3 6spvz5rdt5uhtcpz0ypysuf8j // char* latin1ToUTF8 (char* s) public static Object latin1ToUTF8(Object... arg) { UNSUPPORTED("6k189l7y3kfe03zj65a0hi02l"); // char* latin1ToUTF8 (char* s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3rzf3h52xn02xrxie111286a0"); // char* ns; UNSUPPORTED("9gou5otj6s39l2cbyc8i5i5lq"); // agxbuf xb; UNSUPPORTED("esg3s800dx899v69pkng2kavv"); // unsigned char buf[BUFSIZ]; UNSUPPORTED("7yeyn4giwkk2r8xfjbwuqwdgq"); // unsigned int v; UNSUPPORTED("d5druw9z4e87khtgyeivjngvc"); // int ignored; UNSUPPORTED("4pgl4pn1cad2whf242bntmjre"); // (void) ignored; UNSUPPORTED("3jwm77zyv02ukrvjv9jppejf7"); // agxbinit(&xb, BUFSIZ, buf); UNSUPPORTED("4z3yoswxkrk1x38246p01ai17"); // /* Values are either a byte (<= 256) or come from htmlEntity, whose UNSUPPORTED("7a461v6k1cu23svait528w042"); // * values are all less than 0x07FF, so we need at most 3 bytes. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("8fjxnjq1i6zgxuaaty7wolmz2"); // while ((v = *(unsigned char*)s++)) { UNSUPPORTED("3tv51fniyuldzqwej04vf24jp"); // if (v == '&') { UNSUPPORTED("ci2g1lymqorgpcbacxprxut4f"); // v = htmlEntity (&s); UNSUPPORTED("cdvw86q5dy4dmwr7iig71kx78"); // if (!v) v = '&'; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("26nwakev47c8vp1v45upgjyp3"); // if (v < 0x7F) UNSUPPORTED("bcv1n4sa19kis6cblb97g8sgx"); // ignored = ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)v))); UNSUPPORTED("e97czqogsdpsth2jrh2kufwur"); // else if (v < 0x07FF) { UNSUPPORTED("a5h07gnh3tqz7f4mrbknarch7"); // ignored = ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)(v >> 6) | 0xC0))); UNSUPPORTED("9a4rvaow9xmxkoagejrjrt84r"); // ignored = ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)(v & 0x3F) | 0x80))); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("9s2nvoskqz83rf7mkroywr1sr"); // ignored = ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)(v >> 12) | 0xE0))); UNSUPPORTED("c3mv09jqjhqt1y3zrjw9ox53o"); // ignored = ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)((v >> 6) & 0x3F) | 0x80))); UNSUPPORTED("9a4rvaow9xmxkoagejrjrt84r"); // ignored = ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)(v & 0x3F) | 0x80))); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3g7d9dp3ny3ggno64pwi7nmkg"); // ns = strdup ((((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf))); UNSUPPORTED("1at5m9ctjn3ukv5gqtfswik02"); // agxbfree(&xb); UNSUPPORTED("98aa6ybsfiu5u7r3j6fsv3snz"); // return ns; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 913nrt0i8mr2gg2mz9qxdqh8o // char* utf8ToLatin1 (char* s) public static Object utf8ToLatin1(Object... arg) { UNSUPPORTED("cqm25rponse4rsi686sbn1lo0"); // char* UNSUPPORTED("8jj111wbaa8z4z3poc1q0t8y5"); // utf8ToLatin1 (char* s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3rzf3h52xn02xrxie111286a0"); // char* ns; UNSUPPORTED("9gou5otj6s39l2cbyc8i5i5lq"); // agxbuf xb; UNSUPPORTED("esg3s800dx899v69pkng2kavv"); // unsigned char buf[BUFSIZ]; UNSUPPORTED("10sir32iwi5l2jyfgp65pihto"); // unsigned char c; UNSUPPORTED("gmcqqf9woz72oix0r5rjuoto"); // unsigned char outc; UNSUPPORTED("d5druw9z4e87khtgyeivjngvc"); // int ignored; UNSUPPORTED("4pgl4pn1cad2whf242bntmjre"); // (void) ignored; UNSUPPORTED("3jwm77zyv02ukrvjv9jppejf7"); // agxbinit(&xb, BUFSIZ, buf); UNSUPPORTED("11zj3p308ttro04hrzowx0vrh"); // while ((c = *(unsigned char*)s++)) { UNSUPPORTED("dbsfo5gpcng9982vxr7ikbf0i"); // if (c < 0x7F) UNSUPPORTED("28mab50dtpxfjz5h216ox1q6w"); // ignored = ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)c))); UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("1ppkx26s53neuwlkgoyl230ya"); // outc = (c & 0x03) << 6; UNSUPPORTED("9d685hmukj0hf94zcu28sy09x"); // c = *(unsigned char*)s++; UNSUPPORTED("55iewluciyo7pfuwv8aez09pb"); // outc = outc | (c & 0x3F); UNSUPPORTED("bb5kgu9v5ko417jskeknpttmq"); // ignored = ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)outc))); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3g7d9dp3ny3ggno64pwi7nmkg"); // ns = strdup ((((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf))); UNSUPPORTED("1at5m9ctjn3ukv5gqtfswik02"); // agxbfree(&xb); UNSUPPORTED("98aa6ybsfiu5u7r3j6fsv3snz"); // return ns; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9bvrwdmh7tm5thehp9lgdr6xd // boolean overlap_node(node_t *n, boxf b) public static Object overlap_node(Object... arg) { UNSUPPORTED("adn6r7oz1h6uvg69bvfoypzf2"); // boolean overlap_node(node_t *n, boxf b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("91ymmlazxnlu6a10ivd58lrnx"); // inside_t ictxt; UNSUPPORTED("2bghyit203pd6xw2ihhenzyn8"); // pointf p; UNSUPPORTED("2n2uez00ytva0jwosdu5d5x7k"); // if (! OVERLAP(b, ND_bb(n))) UNSUPPORTED("egywkvzo2t847qnathqnanvcj"); // return 0; UNSUPPORTED("2grr4abi33fuyx3ex5soymquw"); // /* FIXME - need to do something better about CLOSEENOUGH */ UNSUPPORTED("42wj7lxtvc06e9sfoqihjt9xw"); // p = sub_pointf(ND_coord(n), mid_pointf(b.UR, b.LL)); UNSUPPORTED("22mv67l7z7wr03u30xgx36klq"); // ictxt.s.n = n; UNSUPPORTED("6hiyxv9qcrh42rkfd32ag1cgg"); // ictxt.s.bp = (void *)0; UNSUPPORTED("1hqspal43fzxoaa3kkrp9xcb"); // return ND_shape(n)->fns->insidefn(&ictxt, p); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1iephta6pfgcjwjxaz7n7hg3h // boolean overlap_label(textlabel_t *lp, boxf b) public static Object overlap_label(Object... arg) { UNSUPPORTED("91umgryo5zqgish79s8i949au"); // boolean overlap_label(textlabel_t *lp, boxf b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ddb68hn23b0v9gldt5ym699jm"); // pointf s; UNSUPPORTED("2lzsl1e035wt5epd1h8f4bn8m"); // boxf bb; UNSUPPORTED("b8b14mpt61iyo7ntzox4didg"); // s.x = lp->dimen.x / 2.; UNSUPPORTED("etn8w0yctba3qwmwjypkjuh0b"); // s.y = lp->dimen.y / 2.; UNSUPPORTED("5ezm2f39sm5ob27ufs99ubibn"); // bb.LL = sub_pointf(lp->pos, s); UNSUPPORTED("1o378zsemmdu353iu9zkmnew"); // bb.UR = add_pointf(lp->pos, s); UNSUPPORTED("50ldl8awv60ft3ojv05xoapv8"); // return OVERLAP(b, bb); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1pi7b3b4i7f0w0nru6z6tl31b // static boolean overlap_arrow(pointf p, pointf u, double scale, int flag, boxf b) public static Object overlap_arrow(Object... arg) { UNSUPPORTED("2hwfhh60l88kcz3nw2gniuiic"); // static boolean overlap_arrow(pointf p, pointf u, double scale, int flag, boxf b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("d96dzwqsrlhqx70677lolr70x"); // if (OVERLAP(b, arrow_bb(p, u, scale, flag))) { UNSUPPORTED("6pyod80f1wnsh68enzsnqykcp"); // /* FIXME - check inside arrow shape */ UNSUPPORTED("3adr32h5e1fehu4g7j2u24asz"); // return (!(0)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7ic0hdq8fpa9fby43hy9p96n // static boolean overlap_bezier(bezier bz, boxf b) public static Object overlap_bezier(Object... arg) { UNSUPPORTED("awzwsadmtjnsr4l5ln0gwca6f"); // static boolean overlap_bezier(bezier bz, boxf b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("2qhxg8kfts3rqa4n8y1q8tk3r"); // pointf p, u; UNSUPPORTED("1imabyiof6ysdoof2g58v139w"); // assert(bz.size); UNSUPPORTED("2cz7hdhlhljnbt4ey99pfq3mj"); // u = bz.list[0]; UNSUPPORTED("9mjgetoviljxmz4j3h18bhwv"); // for (i = 1; i < bz.size; i++) { UNSUPPORTED("4nhsr51p4z60folp6yedkan7p"); // p = bz.list[i]; UNSUPPORTED("1q7o633q5ykuwzssixlzk97w1"); // if (lineToBox(p, u, b) != -1) UNSUPPORTED("euj7k5raviuazd8jahwobe0r3"); // return (!(0)); UNSUPPORTED("2zppgvcdlcmvkarerwttpl0cl"); // u = p; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c30ht2dw1jfnc98f1lxaoduea"); // /* check arrows */ UNSUPPORTED("dtt0q54ov71fji9i2ae24aeyc"); // if (bz.sflag) { UNSUPPORTED("6d0os47s8k0liv0ij1c9ifh5h"); // if (overlap_arrow(bz.sp, bz.list[0], 1, bz.sflag, b)) UNSUPPORTED("euj7k5raviuazd8jahwobe0r3"); // return (!(0)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4o7tep38o3pxavxbzw15khp2r"); // if (bz.eflag) { UNSUPPORTED("bxk1lvdajxp9q7k9dzq4jjalp"); // if (overlap_arrow(bz.ep, bz.list[bz.size - 1], 1, bz.eflag, b)) UNSUPPORTED("euj7k5raviuazd8jahwobe0r3"); // return (!(0)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4usdn4gxfza3j6zxmsnoslmsu // boolean overlap_edge(edge_t *e, boxf b) public static Object overlap_edge(Object... arg) { UNSUPPORTED("dfrqxx7kxp0xo56gn56prf49k"); // boolean overlap_edge(edge_t *e, boxf b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("6tl9mepc2bett364jduh2q4mf"); // splines *spl; UNSUPPORTED("cqwl7s9yvzr8n5v8svuuv1a1q"); // textlabel_t *lp; UNSUPPORTED("2c3cg84bl0xam4mk6g5f31jj0"); // spl = ED_spl(e); UNSUPPORTED("7hvxias4hzevaqzopdofxqtf7"); // if (spl && boxf_overlap(spl->bb, b)) UNSUPPORTED("8u449ocpkq8pw6x28ydsauw7k"); // for (i = 0; i < spl->size; i++) UNSUPPORTED("2igld6ya1et1v6v507mv6oou4"); // if (overlap_bezier(spl->list[i], b)) UNSUPPORTED("41w3xzxk3po8alpl4v9kz395f"); // return (!(0)); UNSUPPORTED("n9pj1f2ecz41q7q378oisbjt"); // lp = ED_label(e); UNSUPPORTED("26tbjilm0lmi9lsxtc9qh7qr"); // if (lp && overlap_label(lp, b)) UNSUPPORTED("a3ueikge1f8p4avpat19zoh3a"); // return (!(0)); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ckavkcnz5rcrqs17lleds1uxu // int edgeType (char* s, int dflt) public static int edgeType(CString s, int dflt) { ENTERING("ckavkcnz5rcrqs17lleds1uxu","edgeType"); try { UNSUPPORTED("h9kzapvoxea4esxgom157wc0"); // int edgeType (char* s, int dflt) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("26e08yupzx95a4pzp1af0t6og"); // int et; UNSUPPORTED("73z43mn6ha09hbnvzynnbkvqg"); // if (!s || (*s == '\0')) return dflt; UNSUPPORTED("527zd48lq0ay6p16b2whyuafo"); // et = (0 << 1); UNSUPPORTED("1ctayzw7ya308i4wpppul6b9o"); // switch (*s) { UNSUPPORTED("acwxya6p4cjrbqeuf7gymcmx2"); // case '0' : /* false */ UNSUPPORTED("18fcibo027r3vczxrvtju3nah"); // et = (1 << 1); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("no8amccag0mew2zmsprfyekp"); // case '1' : /* true */ UNSUPPORTED("8to0pat5o6zmyuqjfl01xs9xc"); // case '2' : UNSUPPORTED("c7icptpasun232whn2nn5gydx"); // case '3' : UNSUPPORTED("44xov6gwt91mlesh02z3zvxx"); // case '4' : UNSUPPORTED("4dwlps5sjcl550fvks2ibv2fi"); // case '5' : UNSUPPORTED("cr0jhqsceb5y1hcmvtjd1ttgu"); // case '6' : UNSUPPORTED("8jq47j7ezu18niwotmuj92cz3"); // case '7' : UNSUPPORTED("ami8xk8243o5ku0cyeqxoeiut"); // case '8' : UNSUPPORTED("3onv8t8a6v1tmfaz8y7hk9lvv"); // case '9' : UNSUPPORTED("8m599inlx0lbuns9r3iiokwxw"); // et = (5 << 1); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("vwxe2prs0tywhf20ycwdwa8o"); // case 'c' : UNSUPPORTED("e2ux7lqsbmsyyrououuijooiy"); // case 'C' : UNSUPPORTED("8zxim9f3q8qdl919cv1v3jf8e"); // if (!strcasecmp (s+1, "urved")) UNSUPPORTED("azc7d85av8k7f1to3mr59m3mz"); // et = (2 << 1); UNSUPPORTED("b7i0q9ysed6zrjftn8ilgtn0a"); // else if (!strcasecmp (s+1, "ompound")) UNSUPPORTED("aihlhslp3nd26f10vuyjlnb3q"); // et = (6 << 1); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("2ix1d2vw6unhjetclv9vkaw1p"); // case 'f' : UNSUPPORTED("2chzjgs8kmwelk00c6469lpx2"); // case 'F' : UNSUPPORTED("42jngi39nkk27q16s1sa7sftl"); // if (!strcasecmp (s+1, "alse")) UNSUPPORTED("7xut5zuu25vrpn9gt0f3kc5hz"); // et = (1 << 1); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("7ozigs1hjxmhvwgapx2in25cy"); // case 'l' : UNSUPPORTED("c2gttjqnkmx1rnuyjknw7segb"); // case 'L' : UNSUPPORTED("96lnofxeiqa1g3g7s02b86h6z"); // if (!strcasecmp (s+1, "ine")) UNSUPPORTED("7xut5zuu25vrpn9gt0f3kc5hz"); // et = (1 << 1); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("5o5i90c7m363f5yyxamxuzok6"); // case 'n' : UNSUPPORTED("3ttrfea54jmrshv2796w3a9h2"); // case 'N' : UNSUPPORTED("6qibxt06dimtp2r5spwgriorn"); // if (!strcasecmp (s+1, "one")) return et; UNSUPPORTED("bqi51jfycttyx733ls9qw2c18"); // if (!strcasecmp (s+1, "o")) return (1 << 1); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("18t59gw7hrgsezibz7bbm0ng3"); // case 'o' : UNSUPPORTED("4q6jdsek20d4i9sc5ftmm3mdl"); // case 'O' : UNSUPPORTED("8scb0vjws7o3davin33k87o2p"); // if (!strcasecmp (s+1, "rtho")) UNSUPPORTED("48rqxx6odtdnqf676ffe1ll7g"); // et = (4 << 1); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("5cc40qlotkkym6enwcv916835"); // case 'p' : UNSUPPORTED("al1clonjqyw2bo1z0li974ijp"); // case 'P' : UNSUPPORTED("68l1a5153ouil03qaammm1zty"); // if (!strcasecmp (s+1, "olyline")) UNSUPPORTED("5ytop08aei3hhllfd12904hh7"); // et = (3 << 1); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("20wayzvdomwexzhjzj4wojf4d"); // case 's' : UNSUPPORTED("boxft69fzv6rof5elda0zs33z"); // case 'S' : UNSUPPORTED("3qs8m2esm62d50tk701b8m0xz"); // if (!strcasecmp (s+1, "pline")) UNSUPPORTED("5l4kd6c21h4bjm98grnqqwra6"); // et = (5 << 1); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("ce41quxcxpj3oi50zybc75b9r"); // case 't' : UNSUPPORTED("8drchetff3h6zpsu3m08rqi0q"); // case 'T' : UNSUPPORTED("7ln0pymv14hb45h3ypy5955nk"); // if (!strcasecmp (s+1, "rue")) UNSUPPORTED("5l4kd6c21h4bjm98grnqqwra6"); // et = (5 << 1); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("3d55ucqxr8xg0otty2j39hkgz"); // case 'y' : UNSUPPORTED("7oihco3xpq1kek2q2dnrfxmcx"); // case 'Y' : UNSUPPORTED("679wmbnx0dakltwkxx2svg5ex"); // if (!strcasecmp (s+1, "es")) UNSUPPORTED("5l4kd6c21h4bjm98grnqqwra6"); // et = (5 << 1); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ckjgbybnvrshn8g32qqpy0ppd"); // if (!et) { UNSUPPORTED("79f40sxqwmzmgk4ktfha59mxf"); // agerr(AGWARN, "Unknown \"splines\" value: \"%s\" - ignored\n", s); UNSUPPORTED("mjiefsvltip3uasxic0uipa9"); // et = dflt; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("68yadra75shcc0tia9wr9acr4"); // return et; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("ckavkcnz5rcrqs17lleds1uxu","edgeType"); } } //3 13cpqbf2ztcjdfz4a6v7nv00u // void setEdgeType (graph_t* g, int dflt) public static void setEdgeType(ST_Agraph_s g, int dflt) { ENTERING("13cpqbf2ztcjdfz4a6v7nv00u","setEdgeType"); try { CString s = agget(g, new CString("splines")); int et; if (N(s)) { et = dflt; } else if (s.charAt(0) == '\0') { et = (0 << 1); } else et = edgeType (s, dflt); GD_flags(g, GD_flags(g) | et); } finally { LEAVING("13cpqbf2ztcjdfz4a6v7nv00u","setEdgeType"); } } //3 azj18si1ncbqf4nggo3u0iudc // void get_gradient_points(pointf * A, pointf * G, int n, float angle, int flags) public static Object get_gradient_points(Object... arg) { UNSUPPORTED("4l4q9435jsq43snp6e2muhph9"); // void get_gradient_points(pointf * A, pointf * G, int n, float angle, int flags) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("28vm7zytm26lbctmzklz8u6q4"); // double rx, ry; UNSUPPORTED("7ab1r7u9bshphtezjbwilzdmk"); // pointf min,max,center; UNSUPPORTED("38fmmbbh3d9td4hgcigqek69h"); // int isRadial = flags & 1; UNSUPPORTED("6do922drsqikinsq2qnkg7i9s"); // int isRHS = flags & 2; UNSUPPORTED("cc4iipfhbkh9s7bgnq075nve2"); // if (n == 2) { UNSUPPORTED("2fbod9hk6xm53a1498zx6wkml"); // rx = A[1].x - A[0].x; UNSUPPORTED("znji09lgzos7bzfy4sn5z6so"); // ry = A[1].y - A[0].y; UNSUPPORTED("4rfhu73bo5qnu4zlhm9409rov"); // min.x = A[0].x - rx; UNSUPPORTED("e7n9ri71momrymdb7nem5dv3i"); // max.x = A[0].x + rx; UNSUPPORTED("5t50nyboj2kmqnva1b3oy3lej"); // min.y = A[0].y - ry; UNSUPPORTED("2pccas4c05y6rl29xqoxu9es1"); // max.y = A[0].y + ry; UNSUPPORTED("5ja432xa5mdtoxr8hjvwurrzk"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("2xg1e592fyexnv8p3cfuhf387"); // min.x = max.x = A[0].x; UNSUPPORTED("ae0uuyalysg56vdqam5vuysda"); // min.y = max.y = A[0].y; UNSUPPORTED("11ja3nzvfl5nh4sczk6fecswp"); // for (i = 0; i < n; i++){ UNSUPPORTED("accly2buq5n3okrrptwc1ejg"); // min.x = MIN(A[i].x,min.x); UNSUPPORTED("5ovf4hu3x4sjij6tz3pru127w"); // min.y = MIN(A[i].y,min.y); UNSUPPORTED("9rhqopfwckc0sw5yyxaqkkxcd"); // max.x = MAX(A[i].x,max.x); UNSUPPORTED("7qzfxgzccflltalu1yvmxzmv9"); // max.y = MAX(A[i].y,max.y); UNSUPPORTED("dquo3qofk56ds5xl95lhvcthf"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("250db9ylxbfvnh9zwkamxovj9"); // center.x = min.x + (max.x - min.x)/2; UNSUPPORTED("485zu25v4z1ve1h6ajqnq4b3f"); // center.y = min.y + (max.y - min.y)/2; UNSUPPORTED("56w11dzx832thi17odfzwz5yl"); // if (isRadial) { UNSUPPORTED("20xmg9sm748etklimkd6243x5"); // double inner_r, outer_r; UNSUPPORTED("5mry6u88h53908rs4hu6henpm"); // outer_r = sqrt((center.x - min.x)*(center.x - min.x) + UNSUPPORTED("9bjr1zixvhgja23zwt2uvkyh4"); // (center.y - min.y)*(center.y - min.y)); UNSUPPORTED("em02v3ahdnobwbukkna301r8e"); // inner_r = outer_r /4.; UNSUPPORTED("bu17v8cb3igywmv0cbn25hlkg"); // if (isRHS) { UNSUPPORTED("cfoc49xh4ohe1lpmz0h45p97f"); // G[0].y = center.y; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("20h8j01n1ez8o51xea4v9tr2u"); // G[0].y = -center.y; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5pfxs9x6r4mmobo90mjhvy2u2"); // G[0].x = center.x; UNSUPPORTED("8mq1zl94lnuovvotzai3cjvh7"); // G[1].x = inner_r; UNSUPPORTED("bbqmfpxsc6hzfuqmzu5hq1ks2"); // G[1].y = outer_r; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("78bc6w2jovc5xciuazkg4x65m"); // double half_x = max.x - center.x; UNSUPPORTED("by2s59uka1v65wg0w519d9g5s"); // double half_y = max.y - center.y; UNSUPPORTED("bgr3ej4c4109djoqphiiccj8j"); // double sina = sin(angle); UNSUPPORTED("5w9swecikv2aa0cs4z4mft1ew"); // double cosa = cos(angle); UNSUPPORTED("bu17v8cb3igywmv0cbn25hlkg"); // if (isRHS) { UNSUPPORTED("4bj7eyt9p2z0zs62et351z8b7"); // G[0].y = center.y - half_y * sina; UNSUPPORTED("c4p6sses023prnrx3l3pnphpg"); // G[1].y = center.y + half_y * sina; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("awhdug43x0ih3ky3e3ll0lutf"); // G[0].y = -center.y + (max.y - center.y) * sin(angle); UNSUPPORTED("62xeog3j69hyv8qha3n575e6d"); // G[1].y = -center.y - (center.y - min.y) * sin(angle); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("expdhhgumrgtud45srwse0d78"); // G[0].x = center.x - half_x * cosa; UNSUPPORTED("31bwc01mjpx1u8s4htbm6u5ey"); // G[1].x = center.x + half_x * cosa; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 22n1uekxezky6gx3cn22ansew // int strcasecmp(const char *s1, const char *s2) public static int strcasecmp(CString s1, CString s2) { ENTERING("22n1uekxezky6gx3cn22ansew","strcasecmp"); try { while ((s1.charAt(0) != '\0') && (tolower(s1.charAt(0)) == tolower(s2.charAt(0)))) { s1=s1.plus(1); s2=s2.plus(1); } return tolower(s1.charAt(0)) - tolower(s2.charAt(0)); } finally { LEAVING("22n1uekxezky6gx3cn22ansew","strcasecmp"); } } //3 6fpqvqq5eso7d44vai4lz77jd // int strncasecmp(const char *s1, const char *s2, unsigned int n) public static Object strncasecmp(Object... arg) { UNSUPPORTED("41sf831iel4ggk6nxgerc7lrz"); // int strncasecmp(const char *s1, const char *s2, unsigned int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f0os7tzuki1s9mllsml3zu2fd"); // if (n == 0) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("18ggb7ihy0resf5qhplc7cqol"); // while ((n-- != 0) UNSUPPORTED("7tdf84gz2hakxs756j3v0w4iv"); // && (tolower(*(unsigned char *) s1) == UNSUPPORTED("co97u0db3a8mz1pp77hkxq0h3"); // tolower(*(unsigned char *) s2))) { UNSUPPORTED("2jr0cuzm9i39xecgxx0ih0ez4"); // if (n == 0 || *s1 == '\0' || *s2 == '\0') UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("2hh1h5gydepd3ut3g43bzn51g"); // s1++; UNSUPPORTED("7x8zh0pm8zj83pbc2d812jz90"); // s2++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1jrt0skm3a5djo3vfej4kwffc"); // return tolower(*(unsigned char *) s1) - tolower(*(unsigned char *) s2); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 952xm45ro3rezebjyrjins8hi // void gv_free_splines(edge_t * e) public static Object gv_free_splines(Object... arg) { UNSUPPORTED("20npjsygvjocwl1s38vrpf2nb"); // void gv_free_splines(edge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("4pdkymy0wuxj1yn9xqqzp2x4h"); // if (ED_spl(e)) { UNSUPPORTED("45jnnlrng64otru7xh43mwqbj"); // for (i = 0; i < ED_spl(e)->size; i++) UNSUPPORTED("aayg4ghew6m2hhtoo2f683101"); // free(ED_spl(e)->list[i].list); UNSUPPORTED("414vktawl0gg37cwl3atku9jm"); // free(ED_spl(e)->list); UNSUPPORTED("dg2iniztq3s88wtzc2oelmxcd"); // free(ED_spl(e)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1ozc9ue0zbqu2i9gg2i5kfxx6"); // ED_spl(e) = (void *)0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4tdxbfozyzm9hv9jau5qpr18r // void gv_cleanup_edge(edge_t * e) public static Object gv_cleanup_edge(Object... arg) { UNSUPPORTED("b1scm8t8tgb3dnua8wogcy076"); // void gv_cleanup_edge(edge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("puteitw4ghqbb5aix3nip4fk"); // free (ED_path(e).ps); UNSUPPORTED("dai9db3cozhpqeenab065cnfo"); // gv_free_splines(e); UNSUPPORTED("292fa7prffihy9rqhmv5lsc3f"); // free_label(ED_label(e)); UNSUPPORTED("7l4r0amzt9h9sq0i6sirjn529"); // free_label(ED_xlabel(e)); UNSUPPORTED("4uxpgfln4r8sqyb7odq506b46"); // free_label(ED_head_label(e)); UNSUPPORTED("drx4uk8ssgsg67cvkt9t4u4kd"); // free_label(ED_tail_label(e)); UNSUPPORTED("ab9j2jm37m5q6awql0tn2e5qh"); // /*FIX HERE , shallow cleaning may not be enough here */ UNSUPPORTED("dw3siytye4cixcrzqmb5i07qs"); // agdelrec(e, "Agedgeinfo_t"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c7yb1wfh6sfz3dklp3914m81m // void gv_cleanup_node(node_t * n) public static Object gv_cleanup_node(Object... arg) { UNSUPPORTED("d6dkt4wezkpueb74an06bmm1k"); // void gv_cleanup_node(node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6fltl5u4u22i3870pyofjxwdn"); // if (ND_pos(n)) free(ND_pos(n)); UNSUPPORTED("4wkmsp7365vb7u5fqtm2buotu"); // if (ND_shape(n)) UNSUPPORTED("2ae2cnq7s4f15b6d6fp5i6o26"); // ND_shape(n)->fns->freefn(n); UNSUPPORTED("dv63sk5dujcwfkf99o6ponzqm"); // free_label(ND_label(n)); UNSUPPORTED("5or6zu6ycx4zage9ggy1o9it4"); // free_label(ND_xlabel(n)); UNSUPPORTED("ab9j2jm37m5q6awql0tn2e5qh"); // /*FIX HERE , shallow cleaning may not be enough here */ UNSUPPORTED("4tuw9fzcb28wodb3z6f4gkx19"); // agdelrec(n, "Agnodeinfo_t"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 80q488y0eqojtsm7osnfydmo5 // void gv_nodesize(node_t * n, boolean flip) public static void gv_nodesize(ST_Agnode_s n, int flip) { ENTERING("80q488y0eqojtsm7osnfydmo5","gv_nodesize"); try { double w; if (flip!=0) { w = ((ND_height(n))*(double)72); ND_rw(n, w / 2); ND_lw(n, w / 2); ND_ht(n, ((ND_width(n))*(double)72)); } else { w = ((ND_width(n))*(double)72); ND_rw(n, w / 2); ND_lw(n, w / 2); ND_ht(n, ((ND_height(n))*(double)72)); } } finally { LEAVING("80q488y0eqojtsm7osnfydmo5","gv_nodesize"); } } //3 7uxrf3fkz919opkirpd9xtuv // double drand48(void) public static Object drand48(Object... arg) { UNSUPPORTED("6vlwifmfxk6zn6tvonk13jp3i"); // double drand48(void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8ne6p4d5pykwl1d3xk0yg0ipb"); // double d; UNSUPPORTED("54tfrbdpedydawj9r47qspj9z"); // d = rand(); UNSUPPORTED("1ljgw8hzttj2a3x36s83rr5be"); // d = d / RAND_MAX; UNSUPPORTED("3r3o80n61nmy2jv0ezi9xg2xp"); // return d; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8lktrcvj65bvhh04y89vecvo2 // static void free_clust (Dt_t* dt, clust_t* clp, Dtdisc_t* disc) public static Object free_clust(Object... arg) { UNSUPPORTED("5hvfjwzuuptbbsu4s4tmqioey"); // static void free_clust (Dt_t* dt, clust_t* clp, Dtdisc_t* disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f496klm2k3ykus5018nsatnwr"); // free (clp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 5kz2qt153vtr25aib7hx2zxma // static Dtdisc_t strDisc = //3 eedsifpflx8hq0boycnhkyhwi // static void fillMap (Agraph_t* g, Dt_t* map) public static Object fillMap(Object... arg) { UNSUPPORTED("4bysjhruz2e3wqk783h9g1lup"); // static void fillMap (Agraph_t* g, Dt_t* map) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("btyorslmplj34yhlb1jx1qpbb"); // Agraph_t* cl; UNSUPPORTED("53xzwretgdbd0atozc0w6hagb"); // int c; UNSUPPORTED("yiuh599p05f2mpu2e3pesu2o"); // char* s; UNSUPPORTED("16mpl6p9b2dpo53253q50m3sb"); // clust_t* ip; UNSUPPORTED("99d9j6m0161wdv2tu4wbf3ifi"); // for (c = 1; c <= GD_n_cluster(g); c++) { UNSUPPORTED("2teg6xg4qm17ntpo76fewfpsa"); // cl = GD_clust(g)[c]; UNSUPPORTED("cg72wznei3zdlwj34nrwr1p4d"); // s = agnameof(cl); UNSUPPORTED("1guobssrhsi4q6tl1y3pj2ggr"); // if ((*(((Dt_t*)(map))->searchf))((map),(void*)(s),0001000)) { UNSUPPORTED("dhd8f5xt5vuyyr6x2nb5v7n68"); // agerr(AGWARN, "Two clusters named %s - the second will be ignored\n", s); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("1fldfpmb7y3tka24kxydupd92"); // ip = (clust_t*)zmalloc(sizeof(clust_t)); UNSUPPORTED("2fjoz0gazdhoglv425xw1oq02"); // ip->name = s; UNSUPPORTED("3rtsjkui7fbtpw31kbxrcuq62"); // ip->clp = cl; UNSUPPORTED("9432myi3rgwzkx4n9bneu0s0k"); // (*(((Dt_t*)(map))->searchf))((map),(void*)(ip),0000001); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("alhil57f405k0c1urfqtlldt7"); // fillMap (cl, map); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 82wzptlrwslbvgp3xyj03p9ba // Dt_t* mkClustMap (Agraph_t* g) public static Object mkClustMap(Object... arg) { UNSUPPORTED("1q58ugun4bvkmr2ue91rmuq8"); // Dt_t* mkClustMap (Agraph_t* g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f34gp449n6keyz0bhwdxqsd7m"); // Dt_t* map = dtopen (&strDisc, Dtoset); UNSUPPORTED("5wsd9dcx8jqzp5baly29hubma"); // fillMap (g, map); UNSUPPORTED("e0iohuc39sfqukdjj9eddourq"); // return map; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 aohw5khae06vhhp2t4cczvcbv // Agraph_t* findCluster (Dt_t* map, char* name) public static Object findCluster(Object... arg) { UNSUPPORTED("6fo3oeygde19o95996mbrkjdk"); // Agraph_t* UNSUPPORTED("43my0gnzq82k0lsp86rb9j31r"); // findCluster (Dt_t* map, char* name) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cwq8c9jrtxtalbyxfo1tg66ys"); // clust_t* clp = (*(((Dt_t*)(map))->searchf))((map),(void*)(name),0001000); UNSUPPORTED("7szzt9uu8wexjhhnks6jhega5"); // if (clp) UNSUPPORTED("12yrb65kdfz9bwd2j2l8nqc07"); // return clp->clp; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("45tfw7tcm68298aro2tdiv8pc"); // return (void *)0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7q676xlzj32nbxuf2qlgu9xgc // Agnodeinfo_t* ninf(Agnode_t* n) public static Object ninf(Object... arg) { UNSUPPORTED("e4ol03qir8voknrrta1ulkew3"); // Agnodeinfo_t* ninf(Agnode_t* n) {return (Agnodeinfo_t*)AGDATA(n);} throw new UnsupportedOperationException(); } //3 3gguivz30v6fwn9nun51m5652 // Agraphinfo_t* ginf(Agraph_t* g) public static Object ginf(Object... arg) { UNSUPPORTED("cjr1gck7jmlygsn7321ppbe2o"); // Agraphinfo_t* ginf(Agraph_t* g) {return (Agraphinfo_t*)AGDATA(g);} throw new UnsupportedOperationException(); } //3 5nsm1cj6268trw4hp3gljvk83 // Agedgeinfo_t* einf(Agedge_t* e) public static Object einf(Object... arg) { UNSUPPORTED("3zxj8s1l4qy0pf2wpn6vy5ix3"); // Agedgeinfo_t* einf(Agedge_t* e) {return (Agedgeinfo_t*)AGDATA(e);} throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/dotgen/000077500000000000000000000000001340005343600176515ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/gen/lib/dotgen/acyclic__c.java000066400000000000000000000540701340005343600225720ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.dotgen; import static gen.lib.cgraph.edge__c.aghead; import static gen.lib.cgraph.edge__c.agtail; import static gen.lib.dotgen.fastgr__c.delete_fast_edge; import static gen.lib.dotgen.fastgr__c.find_fast_edge; import static gen.lib.dotgen.fastgr__c.merge_oneway; import static gen.lib.dotgen.fastgr__c.virtual_edge; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.GD_comp; import static smetana.core.Macro.GD_nlist; import static smetana.core.Macro.ND_mark; import static smetana.core.Macro.ND_next; import static smetana.core.Macro.ND_onstack; import static smetana.core.Macro.ND_out; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agedge_s; import h.ST_Agnode_s; import h.ST_Agraph_s; import h.ST_pointf; public class acyclic__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9hm902ya6q6bq246ewuh67h38 // void reverse_edge(edge_t * e) public static void reverse_edge(ST_Agedge_s e) { ENTERING("9hm902ya6q6bq246ewuh67h38","reverse_edge"); try { ST_Agedge_s f; delete_fast_edge(e); if ((f = find_fast_edge(aghead(e), agtail(e)))!=null) merge_oneway(e, f); else virtual_edge(aghead(e), agtail(e), e); } finally { LEAVING("9hm902ya6q6bq246ewuh67h38","reverse_edge"); } } //3 e9h7n52fs8rucrug9tr0zebe2 // static void dfs(node_t * n) public static void dfs(ST_Agnode_s n) { ENTERING("e9h7n52fs8rucrug9tr0zebe2","dfs"); try { int i; ST_Agedge_s e; ST_Agnode_s w; if (ND_mark(n)!=0) return; ND_mark(n, 1); ND_onstack(n, 1); for (i = 0; (e = (ST_Agedge_s) ND_out(n).getFromList(i))!=null; i++) { w = aghead(e); if (ND_onstack(w)) { reverse_edge(e); i--; } else { if (ND_mark(w) == 0) dfs(w); } } ND_onstack(n, 0); } finally { LEAVING("e9h7n52fs8rucrug9tr0zebe2","dfs"); } } //3 1ejgnwd7ek344caegjwg46n6h // void acyclic(graph_t * g) public static void acyclic_(ST_Agraph_s g) { ENTERING("1ejgnwd7ek344caegjwg46n6h","acyclic"); try { int c; ST_Agnode_s n; for (c = 0; c < GD_comp(g).size; c++) { GD_nlist(g, GD_comp(g).getFromList(c)); for (n = GD_nlist(g); n!=null; n = ND_next(n)) ND_mark(n, 0); for (n = GD_nlist(g); n!=null; n = ND_next(n)) dfs(n); } } finally { LEAVING("1ejgnwd7ek344caegjwg46n6h","acyclic"); } } } plantuml-1.2018.13+ds/src/gen/lib/dotgen/aspect__c.java000066400000000000000000001505021340005343600224370ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.dotgen; import static gen.lib.cgraph.attr__c.agget; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agraph_s; import h.ST_aspect_t; import h.ST_pointf; import smetana.core.CString; public class aspect__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 buo6aw1j4uziggaugy984eotj // static nodeGroup_t *nodeGroups //1 8pcclsxg8w461gulo0pvihkjp // static int nNodeGroups = 0 //3 e1ii1fk8ce43zhjwticczdewi // static void computeNodeGroups(graph_t * g) public static Object computeNodeGroups(Object... arg) { UNSUPPORTED("85tw6ni78b2fdpbmcvfkfjj2g"); // static void computeNodeGroups(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("41zdayra08bo7qofh0t0g44tj"); // nodeGroups = (nodeGroup_t*)gmalloc((agnnodes(g))*sizeof(nodeGroup_t)); UNSUPPORTED("751hgbeopd6kx0brs46ydl3nk"); // nNodeGroups = 0; UNSUPPORTED("bhhgxkf7jt2bkoqqybblectmc"); // /* initialize node ids. Id of a node is used as an index to the group. */ UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("c29pxxzew8wpbooylabmstb6k"); // ND_id(n) = -1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("856fgjw3c9mfzqbqcelccqz6i"); // if (ND_UF_size(n) == 0) { /* no same ranking constraint */ UNSUPPORTED("995nygsph6blhs7u3roc320vt"); // nodeGroups[nNodeGroups].nodes = (node_t **)zmalloc(sizeof(node_t *)); UNSUPPORTED("yecg6kqqsu0dce5l7yl9nz0v"); // nodeGroups[nNodeGroups].nodes[0] = n; UNSUPPORTED("48boktg0q0ftjks7g2ugmcgr0"); // nodeGroups[nNodeGroups].nNodes = 1; UNSUPPORTED("asru03zwy8elrmkb54ceapyf5"); // nodeGroups[nNodeGroups].width = ND_width(n); UNSUPPORTED("63tq5olg8fmmqnngdsd2m0p7y"); // nodeGroups[nNodeGroups].height = ND_height(n); UNSUPPORTED("2jtn1zrlba2gjw9o8ijqfjd8l"); // ND_id(n) = nNodeGroups; UNSUPPORTED("26stq7kxzhcw4bdbet988ue9u"); // nNodeGroups++; UNSUPPORTED("ek3ylp6qgnzrlvktaorzarkl6"); // } else /* group same ranked nodes */ UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("2xfdbwqwkydzc27ndexkdqpk3"); // node_t *l = UF_find(n); UNSUPPORTED("9k1apjnlyvc0imkojboqq56t"); // if (ND_id(l) > -1) /* leader is already grouped */ UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("1dxpo17pe23wsyc88ervx5x7n"); // int index = ND_id(l); UNSUPPORTED("a3rj9avq06zyyeiex95z1m5qs"); // nodeGroups[index].nodes[nodeGroups[index].nNodes++] = n; UNSUPPORTED("4qloaqbsyg2krphzbyu8l502n"); // nodeGroups[index].width += ND_width(n); UNSUPPORTED("7oxuv0m39o7l9yf15yjhvw804"); // nodeGroups[index].height = UNSUPPORTED("f301cq3rurukx2hdrzu2rvioq"); // (nodeGroups[index].height < UNSUPPORTED("8oi4o7ku7aqcurrfujz4p5qkb"); // ND_height(n)) ? ND_height(n) : nodeGroups[index]. UNSUPPORTED("bkhrhsn74c58qx4h0val1pmjp"); // height; UNSUPPORTED("7me4qfeob3i8uvnfzwktfincy"); // ND_id(n) = index; UNSUPPORTED("d6w1jxu5j3ja7tpl4hcag7fv0"); // } else /* create a new group */ UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("2l80so4pkfhpik5o2c4xb7cff"); // nodeGroups[nNodeGroups].nodes = UNSUPPORTED("3ey9wbuwiu5f6tykjlpo26lhj"); // (node_t **)zmalloc((ND_UF_size(l))*sizeof(node_t *)); UNSUPPORTED("53ell10epajj2omj9xiynycta"); // if (l == n) /* node n is the leader */ UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("7m6pmc4ajzo9gva5pgvtljwf3"); // nodeGroups[nNodeGroups].nodes[0] = l; UNSUPPORTED("1n4ihvxa7g9rlwmex1up2728t"); // nodeGroups[nNodeGroups].nNodes = 1; UNSUPPORTED("a8p3badahan60lefgn5iq9a8c"); // nodeGroups[nNodeGroups].width = ND_width(l); UNSUPPORTED("dcwvaft8b2juhy42freidgc8m"); // nodeGroups[nNodeGroups].height = ND_height(l); UNSUPPORTED("a47jqpic91ky93e1ohxv590l5"); // } else { UNSUPPORTED("7m6pmc4ajzo9gva5pgvtljwf3"); // nodeGroups[nNodeGroups].nodes[0] = l; UNSUPPORTED("2aqign2uu1g30cyam63ohxptd"); // nodeGroups[nNodeGroups].nodes[1] = n; UNSUPPORTED("el4pqstmtl01oio7cmzrq6qtb"); // nodeGroups[nNodeGroups].nNodes = 2; UNSUPPORTED("c1rjyfjlfo2jj62bcy025ukg1"); // nodeGroups[nNodeGroups].width = UNSUPPORTED("a2sytyotqqfithwfaykqmsycp"); // ND_width(l) + ND_width(n); UNSUPPORTED("eiifp86c59tpvht7teuygr2hw"); // nodeGroups[nNodeGroups].height = UNSUPPORTED("7zt5ahh08kx3u1cw8m39031bh"); // (ND_height(l) < UNSUPPORTED("3s43dn8agepaf1zik284rw4iw"); // ND_height(n)) ? ND_height(n) : ND_height(l); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("1z3t7m0t6n4kv8tcm579ais2e"); // ND_id(l) = nNodeGroups; UNSUPPORTED("1r38ircnao62y8uafy4au9p8c"); // ND_id(n) = nNodeGroups; UNSUPPORTED("7yf3wfxeea0vbj0tkmh1sv74w"); // nNodeGroups++; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5vqsnuao6a6zpx51lrbvsra7t // int countDummyNodes(graph_t * g) public static Object countDummyNodes(Object... arg) { UNSUPPORTED("51gqqbcx9xe38hsqk7vtw2h74"); // int countDummyNodes(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("551funk1bxiemly3silcqtngw"); // int count = 0; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("33mzsqu0xadl81jos28k8lc70"); // /* Count dummy nodes */ UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("bzrm12ll46b0ey13f7049ny17"); // /* flat edges do not have dummy nodes */ UNSUPPORTED("cyx78ekjs6rwln3461fbzwf7o"); // if (ND_rank(aghead(e)) != ND_rank(agtail(e))) UNSUPPORTED("cb5zuqyn7ijkx5rk10yc6tfrv"); // count += abs(ND_rank(aghead(e)) - ND_rank(agtail(e))) - 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7rr0cazy4menu64k2rf61h98y"); // return count; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 by0sucsgzrupx1vrq0sc82zrb // static layerWidthInfo_t *layerWidthInfo = NULL //1 2g8u71llxsq207y4p1j8kefuc // static int *sortedLayerIndex //1 28et5dpanlo1pz361e1ey0l13 // static int nLayers = 0 //3 ecn38irnr39x1ci0qrksvt2vb // static void computeLayerWidths(graph_t * g) public static Object computeLayerWidths(Object... arg) { UNSUPPORTED("f0yxrj5hl2h30nj0ykado8683"); // static void computeLayerWidths(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("aigogf44ojtcesuy4xs7inqbn"); // node_t *v; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("8o5u7blacrv03sbkd57tsy3ff"); // nLayers = 0; UNSUPPORTED("dojzfz9p7nqclvdb5tee3yl8g"); // /* free previously allocated memory */ UNSUPPORTED("74k79fcsj62zr7jlyzubwv7ld"); // if (layerWidthInfo) { UNSUPPORTED("7c1hsgkci660fl7ovcywsfy7h"); // for (i = 0; i < nNodeGroups; i++) { UNSUPPORTED("4fm2a017gr8w7plpnzbbgdte6"); // if (layerWidthInfo[i].nodeGroupsInLayer) { UNSUPPORTED("1p0hpvyuh05m9zj7iv2byacuu"); // int j; UNSUPPORTED("torjjxsqraaddaop50hfluyq"); // for (j = 0; j < layerWidthInfo[i].nNodeGroupsInLayer; j++) { UNSUPPORTED("5rh2ziady9vvl3275k6sxuawd"); // //if (layerWidthInfo[i].nodeGroupsInLayer[j]) UNSUPPORTED("qfkvchcmb0h3vrvsnu17fj29"); // //free(layerWidthInfo[i].nodeGroupsInLayer[j]); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("9jguo0kg597gyce5y5nj8kf6h"); // free(layerWidthInfo[i].nodeGroupsInLayer); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("4vnpv79q6n6p1kg9ndbsmzfds"); // if (layerWidthInfo[i].removed) UNSUPPORTED("2ypdtktf36wfecowcdjfjxbfn"); // free(layerWidthInfo[i].removed); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("aw89cecwa5xnmsohanlvbst8f"); // free(layerWidthInfo); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5xa04vocq8qrzxrvg4if75lnp"); // /* allocate memory UNSUPPORTED("ge7jqooagslmrp81viou5iok"); // * the number of layers can go up to the number of node groups UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("2e016wvwaqoa74u0xllotojs0"); // layerWidthInfo = (layerWidthInfo_t*)zmalloc((nNodeGroups)*sizeof(layerWidthInfo_t)); UNSUPPORTED("7vfjpab2mkl8qvm3ag5psj6hf"); // for (i = 0; i < nNodeGroups; i++) { UNSUPPORTED("1ha5uzjeh0q6s99y9ngi159c"); // layerWidthInfo[i].nodeGroupsInLayer = UNSUPPORTED("1bj8nm95udr98gzajp4k7nmuu"); // (nodeGroup_t **)zmalloc((nNodeGroups)*sizeof(nodeGroup_t *)); UNSUPPORTED("6loyginnjye85c38h5sul660e"); // layerWidthInfo[i].removed = (int*)zmalloc((nNodeGroups)*sizeof(int)); UNSUPPORTED("a16qoyl314d7d9chwymtn019s"); // layerWidthInfo[i].layerNumber = i; UNSUPPORTED("cg2cd89vdfegcllk4lqfvn5h2"); // layerWidthInfo[i].nNodeGroupsInLayer = 0; UNSUPPORTED("5qbgpr6w09rjfbzyrmcge4tt2"); // layerWidthInfo[i].nDummyNodes = 0; UNSUPPORTED("6cn4a2kaj95meb5bwxgi6t0qr"); // layerWidthInfo[i].width = 0.0; UNSUPPORTED("nklu8lmzpq6zswxqna7hbf2"); // layerWidthInfo[i].height = 0.0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("68bkdm53hpxme9qp9j1zxh4if"); // /* Count dummy nodes in the layer */ UNSUPPORTED("16hw9gw0dz2w7mrtba0eoqrdi"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("bgir6fgzucxltcpf123wxwa16"); // int k; UNSUPPORTED("9l0n1phb69gtf3xurnpundse6"); // /* FIX: This loop maybe unnecessary, but removing it and using UNSUPPORTED("7qmve7ja4rala0jzz6b2bf7ee"); // * the commented codes next, gives a segmentation fault. I UNSUPPORTED("6tsb25jdjgeyd8kt16ms1k9qc"); // * forgot the reason why. UNSUPPORTED("29edlge3wqyp1gs0vymtr5700"); // */ UNSUPPORTED("40f532kzdw6xhs33zio76rmo2"); // for (k = ND_rank(agtail(e)) + 1; k < ND_rank(aghead(e)); k++) { UNSUPPORTED("chgb216iqv20trqdzrg86mdmx"); // layerWidthInfo[k].nDummyNodes++; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("69qgvs0kkl50uqq9a8psjvv9h"); // /* gather the layer information */ UNSUPPORTED("7vfjpab2mkl8qvm3ag5psj6hf"); // for (i = 0; i < nNodeGroups; i++) { UNSUPPORTED("dh83pjg3c5msf1h1kf0axqdsx"); // v = nodeGroups[i].nodes[0]; UNSUPPORTED("9bi1i3v5pz27x2f1y1abwhdrm"); // if (ND_rank(v) + 1 > nLayers) /* update the number of layers */ UNSUPPORTED("ezub0uc17r32oo1qlkf2gdjds"); // nLayers = ND_rank(v) + 1; UNSUPPORTED("aksirw784lry2qxk8yppa0p4e"); // layerWidthInfo[ND_rank(v)].width += UNSUPPORTED("3szfevpiz60jx1spm5qxs6dd"); // nodeGroups[i].width * 72 + (layerWidthInfo[ND_rank(v)].width > UNSUPPORTED("amrnb3ao1kyyugopgztdru2yy"); // 0) * GD_nodesep(g); UNSUPPORTED("9jz8yn32phtkki2y93ymg6cmh"); // if (layerWidthInfo[ND_rank(v)].height < nodeGroups[i].height * 72) UNSUPPORTED("41gme6wvrco68e7sq80ey8oal"); // layerWidthInfo[ND_rank(v)].height = nodeGroups[i].height * 72; UNSUPPORTED("eglala2xwc9bmolhriirfo56e"); // layerWidthInfo[ND_rank(v)]. UNSUPPORTED("arh0xb14ftp0yfs8ejxzmhjzk"); // nodeGroupsInLayer[layerWidthInfo[ND_rank(v)]. UNSUPPORTED("mdsrd2ju7gexbgpwyclxucy0"); // nNodeGroupsInLayer] = &nodeGroups[i]; UNSUPPORTED("8dv04kyx67hibudzpw8i562vh"); // layerWidthInfo[ND_rank(v)].nNodeGroupsInLayer++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 62on7vg7kkyolc539do3mec4h // static int compFunction(const void *a, const void *b) public static Object compFunction(Object... arg) { UNSUPPORTED("4ocl61j8fqxzk98dh43ldqo7n"); // static int compFunction(const void *a, const void *b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("i2zwxk0ezuvec7grppkqqj67"); // int *ind1 = (int *) a; UNSUPPORTED("2obagarn6xlc7uq4q8fg8pw05"); // int *ind2 = (int *) b; UNSUPPORTED("cy4oapfo680baj6mqy6v64o0d"); // return (layerWidthInfo[*ind2].width > UNSUPPORTED("44d4z7bklr6jymot3f82e2qk"); // layerWidthInfo[*ind1].width) - (layerWidthInfo[*ind2].width < UNSUPPORTED("dol0wgt1zxwmpxius6rn6lf36"); // layerWidthInfo[*ind1].width); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ehhhz69emnjuunlpp23vqc6px // static void sortLayers(graph_t * g) public static Object sortLayers(Object... arg) { UNSUPPORTED("30da20fhd5pcu6ofmw4vzj6xt"); // static void sortLayers(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1djuhyco70xz45va6y1yesa70"); // qsort(sortedLayerIndex, agnnodes(g), sizeof(int), compFunction); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6evdukaqstizjshbr4oanxa73 // static int getOutDegree(nodeGroup_t * ng) public static Object getOutDegree(Object... arg) { UNSUPPORTED("2h5zq3e2klttmcfrs4pg0cst6"); // static int getOutDegree(nodeGroup_t * ng) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b5a93beg34iiqtnufv9wanh2r"); // int i, cnt = 0; UNSUPPORTED("7ur993neb8tctm0gbe60vhpva"); // for (i = 0; i < ng->nNodes; i++) { UNSUPPORTED("3ubjqvl7psu25r3c10ddw54v5"); // node_t *n = ng->nodes[i]; UNSUPPORTED("ak952thd788dbr90m2fvaklyu"); // edge_t *e; UNSUPPORTED("2z8g63ud3byunrtnllsx573mk"); // graph_t *g = agraphof(n); UNSUPPORTED("dar3s057kgujhrxf7no64ofdb"); // /* count outdegree. This loop might be unnecessary. */ UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("7hl03wjg5yryhvbe4ar0i0b8g"); // cnt++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3zkt5kbq3sockq663o3s3ync7"); // return cnt; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 advd4q4a55y9bkee9lm2jlb0b // static int compFunction2(const void *a, const void *b) public static Object compFunction2(Object... arg) { UNSUPPORTED("3ozmsdf5a2dqxtwspwzu5w8yl"); // static int compFunction2(const void *a, const void *b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("751goeklcv2nazn2zynh989rh"); // nodeGroup_t **ind1 = (nodeGroup_t **) a, **ind2 = (nodeGroup_t **) b; UNSUPPORTED("d5t70ah6319tmfn70ddvkq7wr"); // int cnt1 = getOutDegree(*ind1); UNSUPPORTED("8wbvk61eveeuzv86g34s2xbd4"); // int cnt2 = getOutDegree(*ind2); UNSUPPORTED("54loo8ag5vsb7zdxx83v3wegy"); // return (cnt2 < cnt1) - (cnt2 > cnt1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 aumg85jl3ptocfpw3ix2pech9 // static void reduceMaxWidth2(graph_t * g) public static Object reduceMaxWidth2(Object... arg) { UNSUPPORTED("6kkeddpljjg8jce0vm3z2zxdy"); // static void reduceMaxWidth2(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("809hvj8mnkno5tj5jlitlzwba"); // int maxLayerIndex; UNSUPPORTED("7krkyrq7vtxesiaw3i63dji4m"); // double nextMaxWidth; UNSUPPORTED("c9w9u59u9ncaoyp4lxxvw7ys3"); // double w = 0; UNSUPPORTED("9x23dbda4cbxrfoy5h5q89sef"); // double targetWidth; UNSUPPORTED("3d8p59v1x246rys9xsoqpko98"); // int fst; UNSUPPORTED("4zuos9b188cv83meg3dw0orp3"); // nodeGroup_t *fstNdGrp; UNSUPPORTED("beehmu1l85sgql2h4wysgoce4"); // int ndem; UNSUPPORTED("884zwztabkph7x61nviw8sjef"); // int p, q; UNSUPPORTED("8t1tccvz58ueg1sf9fyado1vu"); // int limit; UNSUPPORTED("di25ovytf5y19mju57f42pogp"); // int rem; UNSUPPORTED("dcmflthwszqqq5jsozmt9oyfi"); // int rem2; UNSUPPORTED("81h1x4spv5vyw9fipnyfpgcmm"); // /* Find the widest layer. it must have at least 2 nodes. */ UNSUPPORTED("5ad5whcn26kk2tafa6g5hmjgm"); // for (i = 0; i < nLayers; i++) { UNSUPPORTED("367ttm0jqivj6ascugpsq2ihs"); // if (layerWidthInfo[sortedLayerIndex[i]].nNodeGroupsInLayer <= 1) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("1qngg4wjsrt1uwmffwse8e1fm"); // maxLayerIndex = sortedLayerIndex[i]; UNSUPPORTED("mrjkzaja4hn0djdm4njyzwgn"); // /* get the width of the next widest layer */ UNSUPPORTED("bekefegm5r42jf82uhdsw60k2"); // nextMaxWidth = UNSUPPORTED("1s96rlqp02to8be86ahpks4qp"); // (nLayers > UNSUPPORTED("4qkxf4ozs5338fev3ejswyucm"); // i + 1) ? layerWidthInfo[sortedLayerIndex[i + UNSUPPORTED("90jb1nqwt32r76t90h3kukxls"); // 1]].width : 0; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("atqfhmyhmoiwees87nqlh9bs2"); // if (i == nLayers) UNSUPPORTED("4wofltgoxyf0kq1ucrvv2sbq9"); // return; /* reduction of layerwidth is not possible. */ UNSUPPORTED("5nqb1rqm56ozkw6w0ysotyy06"); // /* sort the node groups in maxLayerIndex layer by height and UNSUPPORTED("e9gqf91z12tzdilu3jefz85op"); // * then width, nonincreasing UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("3tbh2oua8twhyt14bkhup0v5n"); // qsort(layerWidthInfo[maxLayerIndex].nodeGroupsInLayer, UNSUPPORTED("80ucuxmaxd96o7ozxxno7y18c"); // layerWidthInfo[maxLayerIndex].nNodeGroupsInLayer, UNSUPPORTED("f0wxqmd02xh4xxnox7semmqup"); // sizeof(nodeGroup_t *), compFunction2); UNSUPPORTED("bukry94lbr7k56elmyf5nyna1"); // if (nextMaxWidth <= layerWidthInfo[maxLayerIndex].width / 4 UNSUPPORTED("1dy07qz8nxz4ovvsonpv95h8x"); // || nextMaxWidth >= layerWidthInfo[maxLayerIndex].width * 3 / 4) UNSUPPORTED("4xw4q9anml67xuotpbea3yy1x"); // nextMaxWidth = layerWidthInfo[maxLayerIndex].width / 2; UNSUPPORTED("4vcsswlnmvhk990gonx0dbl53"); // targetWidth = nextMaxWidth; /* layerWidthInfo[maxLayerIndex].width/2; */ UNSUPPORTED("8xl0athl77hag9patwu9qhehu"); // /* now partition the current layer into two or more UNSUPPORTED("c49o3kf9bot8xo1pu9vb9qcsy"); // * layers (determined by the ranking algorithm) UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("3ku48i8nky2n7oji9472v747k"); // fst = 0; UNSUPPORTED("cspv6bcy4ird3pgtk05x2v9x6"); // ndem = 0; UNSUPPORTED("1b8yssh8ruoe077cgcki6zdrt"); // limit = layerWidthInfo[maxLayerIndex].nNodeGroupsInLayer; UNSUPPORTED("2rbxfdjhm2zringpkeerct448"); // rem = 0; UNSUPPORTED("apzuij26xnj5ma4m18z4ai50w"); // rem2 = 0; UNSUPPORTED("dap1pwebtq8maf5s2545nbrp1"); // /* initialize w, the width of the widest layer after partitioning */ UNSUPPORTED("7l2ucqsu9ruv5iie2klh90ahd"); // w = 0; UNSUPPORTED("a7g80jjjbl6srwowqdzxcoqs0"); // for (i = 0; i < limit + rem; i++) { UNSUPPORTED("1ahjq48zq780a0cwvpseutdkn"); // if (layerWidthInfo[maxLayerIndex].removed[i]) { UNSUPPORTED("48so496p8g7nm344prgfhv3r5"); // rem++; UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cg4gj8hzn83y6snfckfbmfo6e"); // if ((w + UNSUPPORTED("dv06i6wtz2bw1qsahmuqs98hl"); // layerWidthInfo[maxLayerIndex].nodeGroupsInLayer[i]->width * UNSUPPORTED("pf67y1fh8hdiylyu2431xmxa"); // 72 + (w > 0) * GD_nodesep(g) <= targetWidth) UNSUPPORTED("bq1bstz8voswqa4fjibespqab"); // || !fst) { UNSUPPORTED("5qq0d479u9d6d2ye5xl80ax0d"); // w += (layerWidthInfo[maxLayerIndex].nodeGroupsInLayer[i])-> UNSUPPORTED("bq93mxk1jp4ou77b72s93zr85"); // width * 72 + (w > 0) * GD_nodesep(g); UNSUPPORTED("366y982g736adlsryzw0c3oek"); // if (!fst) { UNSUPPORTED("9plnm3zvs0636dt0kmoha46l"); // fstNdGrp = UNSUPPORTED("5xiakyfs1gp0y9aasprrrk5mn"); // layerWidthInfo[maxLayerIndex].nodeGroupsInLayer[i]; UNSUPPORTED("bf0q1igp1253yxfg3f1tfel24"); // fst = 1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("3wwlt6ahhurc0ijlwm0bxslur"); // nodeGroup_t *ng = UNSUPPORTED("43fttvx26kc9s70wgpnm3ws2q"); // layerWidthInfo[maxLayerIndex].nodeGroupsInLayer[i]; UNSUPPORTED("kq0gpmkxpiwbektqvym913vy"); // for (p = 0; p < fstNdGrp->nNodes; p++) UNSUPPORTED("7chqat1hgor0xzck89881kmmz"); // for (q = 0; q < ng->nNodes; q++) { UNSUPPORTED("3egbmst2r8790sta0upbaq3kj"); // //printf("Trying to add virtual edge: %s -> %s\n", UNSUPPORTED("dwbnct46v3we663g5l2tmptui"); // // agnameof(fstNdGrp->nodes[p]), agnameof(ng->nodes[q])); UNSUPPORTED("cuqv9sy98rmhdbjpzeex3rg4v"); // /* The following code is for deletion of long virtual edges. UNSUPPORTED("1r2z18tbg612ek9sfb489a6xc"); // * It's no longer used. UNSUPPORTED("e37um01phgd5qy4hrex7cu8bi"); // */ UNSUPPORTED("58a2mmk9lsz9t5yzb8b9f8bkp"); // /* add a new virtual edge */ UNSUPPORTED("6ljuxngn9wk3ftcodzf054yeu"); // edge_t *newVEdge = UNSUPPORTED("844w3zq8p902r572neb30unb6"); // virtual_edge(fstNdGrp->nodes[p], ng->nodes[q], UNSUPPORTED("b955fhzlbikknivthxtzpnugj"); // NULL); UNSUPPORTED("qt1p5nrwd57te4eh2ohjmmta"); // ED_edge_type(newVEdge) = 1; UNSUPPORTED("dsgv48crsux69djskyfkvpq8a"); // ndem++; /* increase number of node demotions */ UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("7vqv39l80iv7x6hfdcecytlgy"); // /* the following code updates the layer width information. The UNSUPPORTED("7j2qzieax8k3ao9i9so65vkc1"); // * update is not useful in the current version of the heuristic. UNSUPPORTED("20m1lc1moer8x00tx9ceto0iw"); // */ UNSUPPORTED("8vij5gjt5kh41fekao3vc79ck"); // layerWidthInfo[maxLayerIndex].removed[i] = 1; UNSUPPORTED("czzy9dbc0rmsq8m3o0g5tuamg"); // rem2++; UNSUPPORTED("96jz56riot2d1ri2fufximy6f"); // layerWidthInfo[maxLayerIndex].nNodeGroupsInLayer--; UNSUPPORTED("ahih3boi0hmv6cjfgurjbltxl"); // /* SHOULD BE INCREASED BY THE SUM OF INDEG OF ALL NODES IN GROUP */ UNSUPPORTED("7wh7bhbziqs0nzma76j37hbiz"); // layerWidthInfo[maxLayerIndex].nDummyNodes++; UNSUPPORTED("4zs60km4pkprzvbgtwsdhp5ad"); // layerWidthInfo[maxLayerIndex].width -= UNSUPPORTED("atkdij9n6sv7amu7j5iiofmpb"); // (ng->width * 72 + GD_nodesep(g)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9m17vsomqcrp49v7i892k9wdz // static void applyPacking2(graph_t * g) public static Object applyPacking2(Object... arg) { UNSUPPORTED("a65t347rhgkl70wordiofv3b"); // static void applyPacking2(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("5z9j46ysd1pb5bnq6c90enmrq"); // sortedLayerIndex = (int*)zmalloc((agnnodes(g))*sizeof(int)); UNSUPPORTED("9bb75wlkcadi5zu3bgx60fel0"); // for (i = 0; i < agnnodes(g); i++) { UNSUPPORTED("e9lhr9mahq6qolp5r06dl6rfy"); // sortedLayerIndex[i] = i; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ekdavoqh7w4imu35z1hk4cr27"); // computeLayerWidths(g); UNSUPPORTED("6541sj456n87xc6ssjlvin6lv"); // sortLayers(g); UNSUPPORTED("22r0c4vewes195tok6uvfzjjk"); // reduceMaxWidth2(g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 b9x4re3dvjn32qyn2twehamcd // void initEdgeTypes(graph_t * g) public static Object initEdgeTypes(Object... arg) { UNSUPPORTED("2syp4meyieisq746m5m1ff921"); // void initEdgeTypes(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("7k5t9s9q7nhmwr9qz8jg12ams"); // int lc; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("z39vglndoyxj54j2z9v64r6q"); // for (lc = 0; lc < ND_in(n).size; lc++) { UNSUPPORTED("agilsevb8bk3ymoczc2ptb24y"); // e = ND_in(n).list[lc]; UNSUPPORTED("21bvtwcu90i27r8cbu2ngifk"); // ED_edge_type(e) = 0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9b4z7q5fnvgvi1cs36mimkrqs // static double computeCombiAR(graph_t * g) public static Object computeCombiAR(Object... arg) { UNSUPPORTED("8y99bebjn0nlslisg0u06o7ef"); // static double computeCombiAR(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("gmffj6qikpm7gyjl7ppj2avw"); // int i, maxLayerIndex; UNSUPPORTED("bkqjq8sflq6i69h1q5wtrqdyz"); // double maxW = 0; UNSUPPORTED("d2sh953raugyt16qa6wimemaq"); // double maxH; UNSUPPORTED("3dg5tppzkfs857vo6ykmcnnah"); // double ratio; UNSUPPORTED("ekdavoqh7w4imu35z1hk4cr27"); // computeLayerWidths(g); UNSUPPORTED("btqcp1jn7vzx1obrdwlpao8ei"); // maxH = (nLayers - 1) * GD_ranksep(g); UNSUPPORTED("5ad5whcn26kk2tafa6g5hmjgm"); // for (i = 0; i < nLayers; i++) { UNSUPPORTED("6nkzs7fajji0961pjb259v0fk"); // if (maxW < UNSUPPORTED("5k2g68qxz0ue7tb2a4pdbhu2j"); // layerWidthInfo[i].width + UNSUPPORTED("eoi6tblklq5p0ap1ck08iiqj8"); // layerWidthInfo[i].nDummyNodes * GD_nodesep(g)) { UNSUPPORTED("93grfh5yi1ydy8iyt353uh909"); // maxW = UNSUPPORTED("279i4wi2e4voircoomc1ry8ua"); // layerWidthInfo[i].width + UNSUPPORTED("6xb1rhy6cdjxo2vbpz8nhuvxe"); // layerWidthInfo[i].nDummyNodes * GD_nodesep(g); UNSUPPORTED("92zn37cakfkafc7ginje53mb6"); // maxLayerIndex = i; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cn95qhc4xh1ri1c41fnpwce48"); // maxH += layerWidthInfo[i].height; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9p670kmiu3qqp1vgbn22mq4w9"); // ratio = maxW / maxH; UNSUPPORTED("beyrasxgt5kbbdyzy9nvsaf3i"); // return ratio; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 w58r6lvyglcqidl4qnxr3cm5 // static void zapLayers(graph_t * g) public static Object zapLayers(Object... arg) { UNSUPPORTED("dsto0e5yga5gs3tgtzp4pbffj"); // static void zapLayers(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dzpsknrwv8qkqq20hjnjpjn68"); // int i, j; UNSUPPORTED("7cl1kmap8x457uux62gb4277b"); // int start = 0; UNSUPPORTED("551funk1bxiemly3silcqtngw"); // int count = 0; UNSUPPORTED("90et4gwa94l7wrduohmumf7q6"); // /* the layers are sorted by the layer number. now zap the empty layers */ UNSUPPORTED("5ad5whcn26kk2tafa6g5hmjgm"); // for (i = 0; i < nLayers; i++) { UNSUPPORTED("8oo7ghtfr3xrf5gukymtnn4jk"); // if (layerWidthInfo[i].nNodeGroupsInLayer == 0) { UNSUPPORTED("dgv3r9g8m1rprnlfpxqhfe1z9"); // if (count == 0) UNSUPPORTED("2ksocundgfwgz5agi901h1ng6"); // start = layerWidthInfo[i].layerNumber; UNSUPPORTED("fn6rrzmrb2yold6j6aofg94n"); // count++; UNSUPPORTED("ern96acbmw0trnet16xgt1chp"); // } else if (count && layerWidthInfo[i].layerNumber > start) { UNSUPPORTED("4f4sjt4zqxe5b75pgq7zd079z"); // for (j = 0; j < layerWidthInfo[i].nNodeGroupsInLayer; j++) { UNSUPPORTED("euaoxl3q399fzxn78jpuxbz0m"); // int q; UNSUPPORTED("4y0bw1xrvij26xm6lflig8hph"); // nodeGroup_t *ng = layerWidthInfo[i].nodeGroupsInLayer[j]; UNSUPPORTED("7chqat1hgor0xzck89881kmmz"); // for (q = 0; q < ng->nNodes; q++) { UNSUPPORTED("ez35ky0s0p5r57be9io2lrr10"); // node_t *nd = ng->nodes[q]; UNSUPPORTED("bcfxc7h41rzopvk27c7kreog"); // ND_rank(nd) -= count; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 25p8yyx732fa1dwxany5vkmqv // void rank3(graph_t * g, aspect_t * asp) public static Object rank3(Object... arg) { UNSUPPORTED("ey9g3c61eb7j5dnz3gbhvflt3"); // void rank3(graph_t * g, aspect_t * asp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("752slid56zrpl98vchhyeqpj"); // int iterations = asp->nextIter; UNSUPPORTED("6wfeyz2bw1fm15jb5qg3a79a2"); // double lastAR = MAXDOUBLE; UNSUPPORTED("5bvy7rsy7sf1krbn35gmd888x"); // computeNodeGroups(g); /* groups of UF DS nodes */ UNSUPPORTED("cn5dqgh2amp70r1jzq8d7v75x"); // for (i = 0; (i < iterations) || (iterations == -1); i++) { UNSUPPORTED("42uwgh3dkewf6zkd83xt1wzjd"); // /* initialize all ranks to be 0 */ UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("f429zn3r84ceckfatzshenxzo"); // ND_rank(n) = 0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("d7qgdx3iixit5pdzj1yfw5vc8"); // /* need to compute ranking first--- by Network flow */ UNSUPPORTED("1um989w8mqkye2u0q3wbc8dgb"); // rank1(g); UNSUPPORTED("cou59yxqf69o7kpjwdkc0vdth"); // asp->combiAR = computeCombiAR(g); UNSUPPORTED("a0xpyoq74njvdwc9lcvgyfc0p"); // if (Verbose) UNSUPPORTED("5ndbkluuhatxcz2bwngcywbhc"); // fprintf(stderr, "combiAR = %lf\n", asp->combiAR); UNSUPPORTED("53w2avskexaf6hjssoeplgz0o"); // /* Uncomment the following codes, for working with narrow graphs */ UNSUPPORTED("am6dg6wfejg71244n1zzvaed6"); // /* Success or if no improvement */ UNSUPPORTED("7qroolj8ezwbbkwrss9k1q5mc"); // if ((asp->combiAR <= asp->targetAR) || ((iterations == -1) && (lastAR <= asp->combiAR))) { UNSUPPORTED("11dozd7gvruvmd3x164caqmgz"); // asp->prevIterations = asp->curIterations; UNSUPPORTED("bm7zpotfxeku2ydqqsd6twzm6"); // asp->curIterations = i; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("7r2hn8bkthpfcf03lu4vnje0f"); // lastAR = asp->combiAR; UNSUPPORTED("9tsz1ho0itczonzjb308rql0m"); // /* Apply the FFDH algorithm to reduce the aspect ratio; */ UNSUPPORTED("7jlj2ab1tf2kzdmzf0f14epg4"); // applyPacking2(g); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9zv64kjrcw7u09t5lm2qsg4fw"); // /* do network flow once again... incorporating the added edges */ UNSUPPORTED("393qo3g8b50gvp5o0tpqh29v1"); // rank1(g); UNSUPPORTED("ekdavoqh7w4imu35z1hk4cr27"); // computeLayerWidths(g); UNSUPPORTED("b1ukbsj4nhxbvn64fx7zbx7sn"); // zapLayers(g); UNSUPPORTED("3b5copquo4t13fbkmtbbkvo8j"); // asp->combiAR = computeCombiAR(g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7bn6xhopjjdriiwvcpg9wqy1y // void init_UF_size(graph_t * g) public static Object init_UF_size(Object... arg) { UNSUPPORTED("cqp1rfchvfwon31gknapperjh"); // void init_UF_size(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("16hw9gw0dz2w7mrtba0eoqrdi"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("2jzig41vokvwcy6z0o5dgo7sb"); // ND_UF_size(n) = 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5srsfxqlego6qiyj5mm8m4ql2 // aspect_t* setAspect (Agraph_t * g, aspect_t* adata) public static ST_aspect_t setAspect(ST_Agraph_s g, ST_aspect_t adata) { ENTERING("5srsfxqlego6qiyj5mm8m4ql2","setAspect"); try { double rv; CString p; int r, passes = 5; p = agget (g, new CString("aspect")); if (N(p) || UNSUPPORTED("(r = sscanf (p, %lf,%d, &rv, &passes)) <= 0)")==null) { adata.setInt("nextIter", 0); adata.setInt("badGraph", 0); return null; } UNSUPPORTED("bq1l9wqiw8bcls8ptb8o9rhqi"); // agerr (AGWARN, "the aspect attribute has been disabled due to implementation flaws - attribute ignored.\n"); UNSUPPORTED("1hvtnh8r9fb47ewad86tcf0n0"); // adata->nextIter = 0; UNSUPPORTED("xx058mix2zyckbi0esnoc56v"); // adata->badGraph = 0; UNSUPPORTED("o68dp934ebg4cplebgc5hv4v"); // return NULL; UNSUPPORTED("ikxv7u2qba6riujs2unqsitx"); // if (rv < 1.0) rv = 1.0; UNSUPPORTED("acmmvkcaf8bc8wb6kdx9s2d3a"); // else if (rv > 20.0) rv = 20.0; UNSUPPORTED("18wyf3ih8fg4x4s3c006nx8zx"); // adata->targetAR = rv; UNSUPPORTED("2875r01nyy2cpm1c439zwu6tf"); // adata->nextIter = -1; UNSUPPORTED("9ssjc7jsfl2jgw01gwnr3ftal"); // adata->nPasses = passes; UNSUPPORTED("xx058mix2zyckbi0esnoc56v"); // adata->badGraph = 0; UNSUPPORTED("620q0efwdrg8vw3ggwpmxqiwv"); // if (Verbose) UNSUPPORTED("a7heh0decro63skjh8xq4buo7"); // fprintf(stderr, "Target AR = %g\n", adata->targetAR); UNSUPPORTED("b1cn763x4de1h91cdv3d4o3lb"); // return adata; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("5srsfxqlego6qiyj5mm8m4ql2","setAspect"); } } } plantuml-1.2018.13+ds/src/gen/lib/dotgen/class1__c.java000066400000000000000000000573771340005343600223660ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.dotgen; import static gen.lib.cgraph.attr__c.agxget; import static gen.lib.cgraph.edge__c.agfstout; import static gen.lib.cgraph.edge__c.aghead; import static gen.lib.cgraph.edge__c.agnxtout; import static gen.lib.cgraph.edge__c.agtail; import static gen.lib.cgraph.node__c.agfstnode; import static gen.lib.cgraph.node__c.agnxtnode; import static gen.lib.common.utils__c.UF_find; import static gen.lib.common.utils__c.mapbool; import static gen.lib.dotgen.cluster__c.mark_clusters; import static gen.lib.dotgen.fastgr__c.find_fast_edge; import static gen.lib.dotgen.fastgr__c.merge_oneway; import static gen.lib.dotgen.fastgr__c.virtual_edge; import static gen.lib.dotgen.fastgr__c.virtual_node; import static gen.lib.dotgen.position__c.make_aux_edge; import static smetana.core.JUtils.EQ; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.ED_minlen; import static smetana.core.Macro.ED_to_orig; import static smetana.core.Macro.ED_to_virt; import static smetana.core.Macro.ED_weight; import static smetana.core.Macro.GD_leader; import static smetana.core.Macro.ND_clust; import static smetana.core.Macro.ND_node_type; import static smetana.core.Macro.ND_rank; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agedge_s; import h.ST_Agnode_s; import h.ST_Agraph_s; import h.ST_pointf; import smetana.core.CString; import smetana.core.Z; public class class1__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2luyof8ca7ewf9r08z3os3lk7 // int nonconstraint_edge(edge_t * e) public static boolean nonconstraint_edge(ST_Agedge_s e) { ENTERING("2luyof8ca7ewf9r08z3os3lk7","nonconstraint_edge"); try { CString constr; if (Z.z().E_constr!=null && (constr = agxget(e, Z.z().E_constr))!=null) { if (constr.charAt(0)!='\0' && mapbool(constr) == false) return (!(false)); } return false; } finally { LEAVING("2luyof8ca7ewf9r08z3os3lk7","nonconstraint_edge"); } } //3 dpimuv55sylui7jx8fh3ic1qc // static void interclust1(graph_t * g, node_t * t, node_t * h, edge_t * e) public static void interclust1(ST_Agraph_s g, ST_Agnode_s t, ST_Agnode_s h, ST_Agedge_s e) { ENTERING("dpimuv55sylui7jx8fh3ic1qc","interclust1"); try { ST_Agnode_s v, t0, h0; int offset, t_len, h_len, t_rank, h_rank; ST_Agedge_s rt, rh; if (ND_clust(agtail(e))!=null) t_rank = ND_rank(agtail(e)) - ND_rank(GD_leader(ND_clust(agtail(e)))); else t_rank = 0; if (ND_clust(aghead(e))!=null) h_rank = ND_rank(aghead(e)) - ND_rank(GD_leader(ND_clust(aghead(e)))); else h_rank = 0; offset = ED_minlen(e) + t_rank - h_rank; if (offset > 0) { t_len = 0; h_len = offset; } else { t_len = -offset; h_len = 0; } v = virtual_node(g); ND_node_type(v, 2); t0 = UF_find(t); h0 = UF_find(h); rt = make_aux_edge(v, t0, t_len, 10 * ED_weight(e)); rh = make_aux_edge(v, h0, h_len, ED_weight(e)); ED_to_orig(rt, e); ED_to_orig(rh, e); } finally { LEAVING("dpimuv55sylui7jx8fh3ic1qc","interclust1"); } } //3 acy5ct6402jgf0ga5oeeskx5m // void class1(graph_t * g) public static void class1_(ST_Agraph_s g) { ENTERING("acy5ct6402jgf0ga5oeeskx5m","class1"); try { ST_Agnode_s n, t, h; ST_Agedge_s e, rep; mark_clusters(g); for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) { for (e = agfstout(g, n); e!=null; e = agnxtout(g, e)) { /* skip edges already processed */ if (ED_to_virt(e)!=null) continue; /* skip edges that we want to ignore in this phase */ if (nonconstraint_edge(e)) continue; t = UF_find(agtail(e)); h = UF_find(aghead(e)); /* skip self, flat, and intra-cluster edges */ if (EQ(t, h)) continue; /* inter-cluster edges require special treatment */ if (ND_clust(t)!=null || ND_clust(h)!=null) { interclust1(g, agtail(e), aghead(e), e); continue; } if ((rep = find_fast_edge(t, h))!=null) merge_oneway(e, rep); else virtual_edge(t, h, e); } } } finally { LEAVING("acy5ct6402jgf0ga5oeeskx5m","class1"); } } } plantuml-1.2018.13+ds/src/gen/lib/dotgen/class2__c.java000066400000000000000000000764361340005343600223640ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.dotgen; import static gen.lib.cgraph.edge__c.agedge; import static gen.lib.cgraph.edge__c.agfstout; import static gen.lib.cgraph.edge__c.aghead; import static gen.lib.cgraph.edge__c.agnxtout; import static gen.lib.cgraph.edge__c.agtail; import static gen.lib.cgraph.node__c.agfstnode; import static gen.lib.cgraph.node__c.agnxtnode; import static gen.lib.cgraph.obj__c.agroot; import static gen.lib.common.utils__c.UF_find; import static gen.lib.dotgen.cluster__c.build_skeleton; import static gen.lib.dotgen.cluster__c.mark_clusters; import static gen.lib.dotgen.dotinit__c.dot_root; import static gen.lib.dotgen.fastgr__c.fast_node; import static gen.lib.dotgen.fastgr__c.find_fast_edge; import static gen.lib.dotgen.fastgr__c.flat_edge; import static gen.lib.dotgen.fastgr__c.merge_oneway; import static gen.lib.dotgen.fastgr__c.other_edge; import static gen.lib.dotgen.fastgr__c.virtual_edge; import static gen.lib.dotgen.fastgr__c.virtual_node; import static gen.lib.dotgen.mincross__c.virtual_weight; import static gen.lib.dotgen.position__c.ports_eq; import static smetana.core.JUtils.EQ; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.ED_conc_opp_flag; import static smetana.core.Macro.ED_count; import static smetana.core.Macro.ED_edge_type; import static smetana.core.Macro.ED_label; import static smetana.core.Macro.ED_label_ontop; import static smetana.core.Macro.ED_to_virt; import static smetana.core.Macro.ED_weight; import static smetana.core.Macro.ED_xpenalty; import static smetana.core.Macro.GD_clust; import static smetana.core.Macro.GD_comp; import static smetana.core.Macro.GD_flip; import static smetana.core.Macro.GD_n_cluster; import static smetana.core.Macro.GD_n_nodes; import static smetana.core.Macro.GD_nlist; import static smetana.core.Macro.GD_nodesep; import static smetana.core.Macro.GD_rankleader; import static smetana.core.Macro.MAX; import static smetana.core.Macro.N; import static smetana.core.Macro.ND_clust; import static smetana.core.Macro.ND_ht; import static smetana.core.Macro.ND_label; import static smetana.core.Macro.ND_lw; import static smetana.core.Macro.ND_out; import static smetana.core.Macro.ND_rank; import static smetana.core.Macro.ND_ranktype; import static smetana.core.Macro.ND_rw; import static smetana.core.Macro.ND_weight_class; import static smetana.core.Macro.NOT; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agedge_s; import h.ST_Agnode_s; import h.ST_Agraph_s; import h.ST_pointf; import smetana.core.Z; public class class2__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2zn7c6ulmwwzaibdxo127jf04 // static node_t* label_vnode(graph_t * g, edge_t * orig) public static ST_Agnode_s label_vnode(ST_Agraph_s g, ST_Agedge_s orig) { ENTERING("2zn7c6ulmwwzaibdxo127jf04","label_vnode"); try { ST_Agnode_s v; final ST_pointf dimen = new ST_pointf(); dimen.___(ED_label(orig).dimen); v = virtual_node(g); ND_label(v, ED_label(orig)); ND_lw(v, GD_nodesep(agroot(v))); if (N(ED_label_ontop(orig))) { if (GD_flip(agroot(g))!=0) { ND_ht(v, dimen.x); ND_rw(v, dimen.y); } else { ND_ht(v, dimen.y); ND_rw(v, dimen.x); } } return v; } finally { LEAVING("2zn7c6ulmwwzaibdxo127jf04","label_vnode"); } } //3 49tji49jdm9uges7v8lf2j2rn // static void incr_width(graph_t * g, node_t * v) public static void incr_width(ST_Agraph_s g, ST_Agnode_s v) { ENTERING("49tji49jdm9uges7v8lf2j2rn","incr_width"); try { int width = GD_nodesep(g) / 2; ND_lw(v, ND_lw(v) + width); ND_rw(v, ND_rw(v) + width); } finally { LEAVING("49tji49jdm9uges7v8lf2j2rn","incr_width"); } } //3 xujihq6vep3ez275shtrbilo // static node_t* plain_vnode(graph_t * g, edge_t * orig) public static ST_Agnode_s plain_vnode(ST_Agraph_s g, ST_Agedge_s orig) { ENTERING("xujihq6vep3ez275shtrbilo","plain_vnode"); try { ST_Agnode_s v; orig = orig; v = virtual_node(g); incr_width(g, v); return v; } finally { LEAVING("xujihq6vep3ez275shtrbilo","plain_vnode"); } } //3 9fmfj1b2jik7skv6ms0657t8r // static node_t* leader_of(graph_t * g, node_t * v) public static ST_Agnode_s leader_of(ST_Agraph_s g, ST_Agnode_s v) { ENTERING("9fmfj1b2jik7skv6ms0657t8r","leader_of"); try { ST_Agraph_s clust; ST_Agnode_s rv; if (ND_ranktype(v) != 7) { /*assert(v == UF_find(v)); could be leaf, so comment out */ rv = UF_find(v); } else { clust = ND_clust(v); rv = (ST_Agnode_s) GD_rankleader(clust).plus(ND_rank(v)).getPtr(); } return rv; } finally { LEAVING("9fmfj1b2jik7skv6ms0657t8r","leader_of"); } } //3 6sbvlvurvkodunw2qt1ug70c2 // static void make_chain(graph_t * g, node_t * from, node_t * to, edge_t * orig) public static void make_chain(ST_Agraph_s g, ST_Agnode_s from, ST_Agnode_s to, ST_Agedge_s orig) { ENTERING("6sbvlvurvkodunw2qt1ug70c2","make_chain"); try { int r, label_rank; ST_Agnode_s u, v=null; ST_Agedge_s e; u = from; if (ED_label(orig)!=null) label_rank = (ND_rank(from) + ND_rank(to)) / 2; else label_rank = -1; //assert(ED_to_virt(orig) == NULL); for (r = ND_rank(from) + 1; r <= ND_rank(to); r++) { if (r < ND_rank(to)) { if (r == label_rank) v = label_vnode(g, orig); else v = plain_vnode(g, orig); ND_rank(v, r); } else v = to; e = virtual_edge(u, v, orig); virtual_weight(e); u = v; } // assert(ED_to_virt(orig) != NULL); } finally { LEAVING("6sbvlvurvkodunw2qt1ug70c2","make_chain"); } } //3 659ld5tcseo3l0hopxb3pf0vv // static void interclrep(graph_t * g, edge_t * e) public static void interclrep(ST_Agraph_s g, ST_Agedge_s e) { ENTERING("659ld5tcseo3l0hopxb3pf0vv","interclrep"); try { ST_Agnode_s t, h; ST_Agedge_s ve; t = leader_of(g, agtail(e)); h = leader_of(g, aghead(e)); if (ND_rank(t) > ND_rank(h)) { ST_Agnode_s t0 = t; t = h; h = t0; } if (NEQ(ND_clust(t), ND_clust(h))) { if ((ve = find_fast_edge(t, h))!=null) { merge_chain(g, e, ve, NOT(false)); return; } if (ND_rank(t) == ND_rank(h)) return; make_chain(g, t, h, e); /* mark as cluster edge */ for (ve = ED_to_virt(e); ve!=null && (ND_rank(aghead(ve)) <= ND_rank(h)); ve = (ST_Agedge_s) ND_out(aghead(ve)).getFromList(0)) ED_edge_type(ve, 5); } /* else ignore intra-cluster edges at this point */ } finally { LEAVING("659ld5tcseo3l0hopxb3pf0vv","interclrep"); } } //3 c0cx00ki1i1kx0bp84e7xjg8d // static int is_cluster_edge(edge_t * e) public static boolean is_cluster_edge(ST_Agedge_s e) { ENTERING("c0cx00ki1i1kx0bp84e7xjg8d","is_cluster_edge"); try { return ((ND_ranktype(agtail(e)) == 7) || (ND_ranktype(aghead(e)) == 7)); } finally { LEAVING("c0cx00ki1i1kx0bp84e7xjg8d","is_cluster_edge"); } } //3 c45973dtaighb3u0auuekcs1y // void merge_chain(graph_t * g, edge_t * e, edge_t * f, int flag) public static void merge_chain(ST_Agraph_s g, ST_Agedge_s e, ST_Agedge_s f, boolean flag) { ENTERING("c45973dtaighb3u0auuekcs1y","merge_chain"); try { ST_Agedge_s rep; int lastrank = MAX(ND_rank(agtail(e)), ND_rank(aghead(e))); //assert(ED_to_virt(e) == NULL); ED_to_virt(e, f); rep = f; do { /* interclust multi-edges are not counted now */ if (flag) ED_count(rep, ED_count(rep) + ED_count(e)); ED_xpenalty(rep, ED_xpenalty(rep) + ED_xpenalty(e)); ED_weight(rep, ED_weight(rep) + ED_weight(e)); if (ND_rank(aghead(rep)) == lastrank) break; incr_width(g, aghead(rep)); rep = (ST_Agedge_s) ND_out(aghead(rep)).getFromList(0); } while (rep!=null); } finally { LEAVING("c45973dtaighb3u0auuekcs1y","merge_chain"); } } //3 bg5r9wlego0d8pv0hr96zt45c // int mergeable(edge_t * e, edge_t * f) public static boolean mergeable(ST_Agedge_s e, ST_Agedge_s f) { ENTERING("bg5r9wlego0d8pv0hr96zt45c","mergeable"); try { if (e!=null && f!=null && EQ(agtail(e), agtail(f)) && EQ(aghead(e), aghead(f)) && EQ(ED_label(e), ED_label(f)) && ports_eq(e, f)) return NOT(false); return false; } finally { LEAVING("bg5r9wlego0d8pv0hr96zt45c","mergeable"); } } //3 d0bxlkysxucmww7t74u9krrgz // void class2(graph_t * g) public static void class2(ST_Agraph_s g) { ENTERING("d0bxlkysxucmww7t74u9krrgz","class2"); try { int c; ST_Agnode_s n, t, h; ST_Agedge_s e, prev, opp; GD_nlist(g, null); GD_n_nodes(g, 0); /* new */ mark_clusters(g); for (c = 1; c <= GD_n_cluster(g); c++) build_skeleton(g, (ST_Agraph_s) GD_clust(g).get(c).getPtr()); for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) for (e = agfstout(g, n); e!=null; e = agnxtout(g, e)) { if (ND_weight_class(aghead(e)) <= 2) ND_weight_class(aghead(e), ND_weight_class(aghead(e))+1); if (ND_weight_class(agtail(e)) <= 2) ND_weight_class(agtail(e), ND_weight_class(agtail(e))+1); } for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) { if ((ND_clust(n) == null) && (EQ(n, UF_find(n)))) { fast_node(g, n); GD_n_nodes(g, GD_n_nodes(g)+1); } prev = null; for (e = agfstout(g, n); e!=null; e = agnxtout(g, e)) { /* already processed */ if (ED_to_virt(e)!=null) { prev = e; continue; } /* edges involving sub-clusters of g */ if (is_cluster_edge(e)) { /* following is new cluster multi-edge code */ if (mergeable(prev, e)) { if (ED_to_virt(prev)!=null) { merge_chain(g, e, ED_to_virt(prev), false); other_edge(e); } else if (ND_rank(agtail(e)) == ND_rank(aghead(e))) { merge_oneway(e, prev); other_edge(e); } /* else is an intra-cluster edge */ continue; } interclrep(g, e); prev = e; continue; } /* merge multi-edges */ if (prev!=null && EQ(agtail(e), agtail(prev)) && EQ(aghead(e), aghead(prev))) { if (ND_rank(agtail(e)) == ND_rank(aghead(e))) { merge_oneway(e, prev); other_edge(e); continue; } if ((ED_label(e) == null) && (ED_label(prev) == null) && ports_eq(e, prev)) { if (Z.z().Concentrate) ED_edge_type(e, 6); else { merge_chain(g, e, ED_to_virt(prev), NOT(false)); other_edge(e); } continue; } /* parallel edges with different labels fall through here */ } /* self edges */ if (EQ(agtail(e), aghead(e))) { other_edge(e); prev = e; continue; } t = UF_find(agtail(e)); h = UF_find(aghead(e)); /* non-leader leaf nodes */ if (NEQ(agtail(e), t) || NEQ(aghead(e), h)) { /* FIX need to merge stuff */ continue; } /* flat edges */ if (ND_rank(agtail(e)) == ND_rank(aghead(e))) { flat_edge(g, e); prev = e; continue; } /* forward edges */ if (ND_rank(aghead(e)) > ND_rank(agtail(e))) { make_chain(g, agtail(e), aghead(e), e); prev = e; continue; } /* backward edges */ else { /*other_edge(e); */ /* avoid when opp==e in undirected graph */ if ((opp = (agedge(g,aghead(e),agtail(e),null,false)))!=null && NEQ(aghead(opp), aghead(e))) { /* shadows a forward edge */ if (ED_to_virt(opp) == null) make_chain(g, agtail(opp), aghead(opp), opp); if ((ED_label(e) == null) && (ED_label(opp) == null) && ports_eq(e, opp)) { if (Z.z().Concentrate) { ED_edge_type(e, 6); ED_conc_opp_flag(opp, NOT(false)); } else { /* see above. this is getting out of hand */ other_edge(e); merge_chain(g, e, ED_to_virt(opp), NOT(false)); } continue; } } make_chain(g, aghead(e), agtail(e), e); prev = e; } } } /* since decompose() is not called on subgraphs */ if (NEQ(g, dot_root(g))) { GD_comp(g).reallocEmpty(1); GD_comp(g).setInList(0, GD_nlist(g)); } } finally { LEAVING("d0bxlkysxucmww7t74u9krrgz","class2"); } } } plantuml-1.2018.13+ds/src/gen/lib/dotgen/cluster__c.java000066400000000000000000001132061340005343600226410ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.dotgen; import static gen.lib.cgraph.edge__c.agfstedge; import static gen.lib.cgraph.edge__c.agfstout; import static gen.lib.cgraph.edge__c.aghead; import static gen.lib.cgraph.edge__c.agnxtedge; import static gen.lib.cgraph.edge__c.agnxtout; import static gen.lib.cgraph.edge__c.agtail; import static gen.lib.cgraph.node__c.agfstnode; import static gen.lib.cgraph.node__c.agnxtnode; import static gen.lib.cgraph.obj__c.agcontains; import static gen.lib.cgraph.obj__c.agroot; import static gen.lib.common.utils__c.UF_setname; import static gen.lib.common.utils__c.UF_singleton; import static gen.lib.dotgen.class2__c.class2; import static gen.lib.dotgen.class2__c.mergeable; import static gen.lib.dotgen.dotinit__c.dot_root; import static gen.lib.dotgen.fastgr__c.delete_fast_edge; import static gen.lib.dotgen.fastgr__c.delete_fast_node; import static gen.lib.dotgen.fastgr__c.fast_node; import static gen.lib.dotgen.fastgr__c.find_fast_edge; import static gen.lib.dotgen.fastgr__c.find_flat_edge; import static gen.lib.dotgen.fastgr__c.flat_edge; import static gen.lib.dotgen.fastgr__c.merge_oneway; import static gen.lib.dotgen.fastgr__c.other_edge; import static gen.lib.dotgen.fastgr__c.virtual_edge; import static gen.lib.dotgen.fastgr__c.virtual_node; import static gen.lib.dotgen.mincross__c.allocate_ranks; import static gen.lib.dotgen.mincross__c.build_ranks; import static gen.lib.dotgen.mincross__c.enqueue_neighbors; import static gen.lib.dotgen.mincross__c.install_in_rank; import static gen.lib.dotgen.position__c.ports_eq; import static smetana.core.JUtils.EQ; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.AGMKOUT; import static smetana.core.Macro.ED_count; import static smetana.core.Macro.ED_edge_type; import static smetana.core.Macro.ED_to_virt; import static smetana.core.Macro.ED_xpenalty; import static smetana.core.Macro.GD_clust; import static smetana.core.Macro.GD_comp; import static smetana.core.Macro.GD_expanded; import static smetana.core.Macro.GD_installed; import static smetana.core.Macro.GD_leader; import static smetana.core.Macro.GD_maxrank; import static smetana.core.Macro.GD_minrank; import static smetana.core.Macro.GD_n_cluster; import static smetana.core.Macro.GD_n_nodes; import static smetana.core.Macro.GD_nlist; import static smetana.core.Macro.GD_rank; import static smetana.core.Macro.GD_rankleader; import static smetana.core.Macro.ND_UF_size; import static smetana.core.Macro.ND_clust; import static smetana.core.Macro.ND_in; import static smetana.core.Macro.ND_lw; import static smetana.core.Macro.ND_node_type; import static smetana.core.Macro.ND_order; import static smetana.core.Macro.ND_out; import static smetana.core.Macro.ND_rank; import static smetana.core.Macro.ND_ranktype; import static smetana.core.Macro.ND_rw; import static smetana.core.Macro.NOT; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agedge_s; import h.ST_Agnode_s; import h.ST_Agraph_s; import h.ST_nodequeue; import h.ST_pointf; import smetana.core.__ptr__; public class cluster__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8bd317q0mykfu6wpr3e4cxmh2 // static node_t* map_interclust_node(node_t * n) public static ST_Agnode_s map_interclust_node(ST_Agnode_s n) { ENTERING("8bd317q0mykfu6wpr3e4cxmh2","map_interclust_node"); try { ST_Agnode_s rv; if ((ND_clust(n) == null) || ( GD_expanded(ND_clust(n))) ) rv = n; else rv = (ST_Agnode_s) GD_rankleader(ND_clust(n)).plus(ND_rank(n)).getPtr(); return rv; } finally { LEAVING("8bd317q0mykfu6wpr3e4cxmh2","map_interclust_node"); } } //3 5ib4nnt2ah5fdd22zs0xds29r // static void make_slots(graph_t * root, int r, int pos, int d) public static void make_slots(ST_Agraph_s root, int r, int pos, int d) { ENTERING("5ib4nnt2ah5fdd22zs0xds29r","make_slots"); try { int i; ST_Agnode_s v; ST_Agnode_s.ArrayOfStar vlist; vlist = GD_rank(root).get(r).v; if (d <= 0) { for (i = pos - d + 1; i < GD_rank(root).get(r).n; i++) { v = (ST_Agnode_s) vlist.get(i); ND_order(v, i + d - 1); vlist.plus(ND_order(v)).setPtr(v); } for (i = GD_rank(root).get(r).n + d - 1; i < GD_rank(root).get(r).n; i++) vlist.plus(i).setPtr(null); } else { /*assert(ND_rank(root)[r].n + d - 1 <= ND_rank(root)[r].an);*/ for (i = GD_rank(root).get(r).n - 1; i > pos; i--) { v = (ST_Agnode_s) vlist.get(i); ND_order(v, i + d - 1); vlist.plus(ND_order(v)).setPtr(v); } for (i = pos + 1; i < pos + d; i++) vlist.plus(i).setPtr(null); } GD_rank(root).get(r).setInt("n", GD_rank(root).get(r).n + d - 1); } finally { LEAVING("5ib4nnt2ah5fdd22zs0xds29r","make_slots"); } } //3 d4mwxesl56uh9dyttg9cjlq70 // static node_t* clone_vn(graph_t * g, node_t * vn) public static ST_Agnode_s clone_vn(ST_Agraph_s g, ST_Agnode_s vn) { ENTERING("d4mwxesl56uh9dyttg9cjlq70","clone_vn"); try { ST_Agnode_s rv; int r; r = ND_rank(vn); make_slots(g, r, ND_order(vn), 2); rv = virtual_node(g); ND_lw(rv, ND_lw(vn)); ND_rw(rv, ND_rw(vn)); ND_rank(rv, ND_rank(vn)); UNSUPPORTED("adc0qfdhup29vh8qu1cwl5jgj"); // GD_rank(g)[r].v[ND_order(rv)] = rv; UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("d4mwxesl56uh9dyttg9cjlq70","clone_vn"); } } //3 6o86r59v2ujlxqcw7761y6o5b // static void map_path(node_t * from, node_t * to, edge_t * orig, edge_t * ve, int type) public static void map_path(ST_Agnode_s from, ST_Agnode_s to, ST_Agedge_s orig, ST_Agedge_s ve, int type) { ENTERING("6o86r59v2ujlxqcw7761y6o5b","map_path"); try { int r; ST_Agnode_s u, v; ST_Agedge_s e; assert(ND_rank(from) < ND_rank(to)); if (EQ(agtail(ve), from) && EQ(aghead(ve), to)) return; if (ED_count(ve) > 1) { ED_to_virt(orig, null); if (ND_rank(to) - ND_rank(from) == 1) { if ((e = find_fast_edge(from, to))!=null && (ports_eq(orig, e))) { merge_oneway(orig, e); if ((ND_node_type(from) == 0) && (ND_node_type(to) == 0)) other_edge(orig); return; } } u = from; for (r = ND_rank(from); r < ND_rank(to); r++) { if (r < ND_rank(to) - 1) v = clone_vn(dot_root(from), aghead(ve)); else v = to; e = virtual_edge(u, v, orig); ED_edge_type(e, type); u = v; ED_count(ve, ED_count(ve) - 1); ve = (ST_Agedge_s) ND_out(aghead(ve)).getFromList(0); } } else { if (ND_rank(to) - ND_rank(from) == 1) { if ((ve = find_fast_edge(from, to))!=null && (ports_eq(orig, ve))) { /*ED_to_orig(ve) = orig; */ ED_to_virt(orig, ve); ED_edge_type(ve, type); ED_count(ve, ED_count(ve)+1); if ((ND_node_type(from) == 0) && (ND_node_type(to) == 0)) other_edge(orig); } else { ED_to_virt(orig, null); ve = virtual_edge(from, to, orig); ED_edge_type(ve, type); } } if (ND_rank(to) - ND_rank(from) > 1) { e = ve; if (NEQ(agtail(ve), from)) { ED_to_virt(orig, null); e = virtual_edge(from, aghead(ve), orig); ED_to_virt(orig, e); delete_fast_edge(ve); } else e = ve; while (ND_rank(aghead(e)) != ND_rank(to)) e = (ST_Agedge_s) ND_out(aghead(e)).getFromList(0); if (NEQ(aghead(e), to)) { ve = e; e = virtual_edge(agtail(e), to, orig); ED_edge_type(e, type); delete_fast_edge(ve); } } } } finally { LEAVING("6o86r59v2ujlxqcw7761y6o5b","map_path"); } } //3 69xbflgja0gvrsl5xcv7o7dia // static void make_interclust_chain(graph_t * g, node_t * from, node_t * to, edge_t * orig) public static void make_interclust_chain(ST_Agraph_s g, ST_Agnode_s from, ST_Agnode_s to, ST_Agedge_s orig) { ENTERING("69xbflgja0gvrsl5xcv7o7dia","make_interclust_chain"); try { int newtype; ST_Agnode_s u, v; u = map_interclust_node(from); v = map_interclust_node(to); if (EQ(u, from) && EQ(v, to)) newtype = 1; else newtype = 5; map_path(u, v, orig, ED_to_virt(orig), newtype); } finally { LEAVING("69xbflgja0gvrsl5xcv7o7dia","make_interclust_chain"); } } //3 6g2m2y44x66lajznvnon2gubv // void interclexp(graph_t * subg) public static void interclexp(ST_Agraph_s subg) { ENTERING("6g2m2y44x66lajznvnon2gubv","interclexp"); try { ST_Agraph_s g; ST_Agnode_s n; ST_Agedge_s e, prev, next; g = dot_root(subg); for (n = agfstnode(subg); n!=null; n = agnxtnode(subg, n)) { /* N.B. n may be in a sub-cluster of subg */ prev = null; for (e = agfstedge(g, n); e!=null; e = next) { next = agnxtedge(g, e, n); if (agcontains(subg, e)) continue; /* canonicalize edge */ e = AGMKOUT(e); /* short/flat multi edges */ if (mergeable(prev, e)) { if (ND_rank(agtail(e)) == ND_rank(aghead(e))) ED_to_virt(e, prev); else ED_to_virt(e, null); if (ED_to_virt(prev) == null) continue; /* internal edge */ UNSUPPORTED("8d5mw7m9lzlseqbyx8a8mncgs"); // merge_chain(subg, e, ED_to_virt(prev), 0); UNSUPPORTED("87mmnlsj8quzlzg0vxax15kt2"); // safe_other_edge(e); UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; } /* flat edges */ if (ND_rank(agtail(e)) == ND_rank(aghead(e))) { ST_Agedge_s fe; if ((fe = find_flat_edge(agtail(e), aghead(e))) == null) { flat_edge(g, e); prev = e; } else if (NEQ(e, fe)) { UNSUPPORTED("ckfinb4h4twp1ry02y9peyhz"); // safe_other_edge(e); UNSUPPORTED("dg3e0udctqa7xtfynplc7wdpj"); // if (!ED_to_virt(e)) merge_oneway(e, fe); } continue; } /* forward edges */ if (ND_rank(aghead(e)) > ND_rank(agtail(e))) { make_interclust_chain(g, agtail(e), aghead(e), e); prev = e; continue; } /* backward edges */ else { /* I think that make_interclust_chain should create call other_edge(e) anyway if (agcontains(subg,agtail(e)) && agfindedge(g,aghead(e),agtail(e))) other_edge(e); */ make_interclust_chain(g, aghead(e), agtail(e), e); prev = e; } } } } finally { LEAVING("6g2m2y44x66lajznvnon2gubv","interclexp"); } } //3 85nhs7tnmwunw0fsjj1kxao7l // static void merge_ranks(graph_t * subg) public static void merge_ranks(ST_Agraph_s subg) { ENTERING("85nhs7tnmwunw0fsjj1kxao7l","merge_ranks"); try { int i, d, r, pos, ipos; ST_Agnode_s v; ST_Agraph_s root; root = dot_root(subg); if (GD_minrank(subg) > 0) GD_rank(root).plus(GD_minrank(subg) - 1).getPtr().setInt("valid", 0); for (r = GD_minrank(subg); r <= GD_maxrank(subg); r++) { d = GD_rank(subg).get(r).n; ipos = pos = ND_order(GD_rankleader(subg).get(r)); make_slots(root, r, pos, d); for (i = 0; i < GD_rank(subg).get(r).n; i++) { v = (ST_Agnode_s) GD_rank(subg).get(r).v.get(i); GD_rank(root).get(r).v.plus(pos).setPtr(v); ND_order(v, pos++); /* real nodes automatically have v->root = root graph */ if (ND_node_type(v) == 1) v.setPtr("root", agroot(root)); delete_fast_node(subg, v); fast_node(root, v); GD_n_nodes(root, GD_n_nodes(root)+1); } GD_rank(subg).get(r).setPtr("v", GD_rank(root).get(r).v.plus(ipos)); GD_rank(root).get(r).setInt("valid", 0); } if (r < GD_maxrank(root)) GD_rank(root).get(r).setInt("valid", 0); GD_expanded(subg, NOT(false)); } finally { LEAVING("85nhs7tnmwunw0fsjj1kxao7l","merge_ranks"); } } //3 c9p7dm16i13qktnh95os0sv58 // static void remove_rankleaders(graph_t * g) public static void remove_rankleaders(ST_Agraph_s g) { ENTERING("c9p7dm16i13qktnh95os0sv58","remove_rankleaders"); try { int r; ST_Agnode_s v; ST_Agedge_s e; for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { v = (ST_Agnode_s) GD_rankleader(g).get(r); /* remove the entire chain */ while ((e = (ST_Agedge_s) ND_out(v).getFromList(0))!=null) delete_fast_edge(e); while ((e = (ST_Agedge_s) ND_in(v).getFromList(0))!=null) delete_fast_edge(e); delete_fast_node(dot_root(g), v); GD_rankleader(g).plus(r).setPtr(null); } } finally { LEAVING("c9p7dm16i13qktnh95os0sv58","remove_rankleaders"); } } //3 ecrplg8hsyl484f9kxc5xp0go // void expand_cluster(graph_t * subg) public static void expand_cluster(ST_Agraph_s subg) { ENTERING("ecrplg8hsyl484f9kxc5xp0go","expand_cluster"); try { /* build internal structure of the cluster */ class2(subg); GD_comp(subg).size = 1; // GD_comp(subg).list.plus(0).setPtr(GD_nlist(subg)); GD_comp(subg).setInList(0, GD_nlist(subg)); allocate_ranks(subg); build_ranks(subg, 0); merge_ranks(subg); /* build external structure of the cluster */ interclexp(subg); remove_rankleaders(subg); } finally { LEAVING("ecrplg8hsyl484f9kxc5xp0go","expand_cluster"); } } //3 cxuirggihlap2iv2khmb1w5l5 // void mark_clusters(graph_t * g) public static void mark_clusters(ST_Agraph_s g) { ENTERING("cxuirggihlap2iv2khmb1w5l5","mark_clusters"); try { int c; ST_Agnode_s n, nn=null, vn; ST_Agedge_s orig, e; ST_Agraph_s clust; /* remove sub-clusters below this level */ for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) { if (ND_ranktype(n) == 7) UF_singleton(n); ND_clust(n, null); } for (c = 1; c <= GD_n_cluster(g); c++) { clust = (ST_Agraph_s) GD_clust(g).get(c).getPtr(); for (n = agfstnode(clust); n!=null; n = nn) { nn = agnxtnode(clust,n); if (ND_ranktype(n) != 0) { UNSUPPORTED("5l8jenkv77ax02t47zzxyv1k0"); // agerr(AGWARN, UNSUPPORTED("2ipl4umxgijawr7756ysp9hhd"); // "%s was already in a rankset, deleted from cluster %s\n", UNSUPPORTED("7r0ulsiau9cygesawzzjnpt5j"); // agnameof(n), agnameof(g)); UNSUPPORTED("4zqc8357rwnd9xe7zaoqooqv3"); // agdelete(clust,n); UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; } UF_setname(n, GD_leader(clust)); ND_clust(n, clust); ND_ranktype(n, 7); /* here we mark the vnodes of edges in the cluster */ for (orig = agfstout(clust, n); orig!=null; orig = agnxtout(clust, orig)) { if ((e = ED_to_virt(orig))!=null) { while (e!=null && ND_node_type(vn =aghead(e)) == 1) { ND_clust(vn, clust); e = (ST_Agedge_s) ND_out(aghead(e)).getFromList(0); /* trouble if concentrators and clusters are mixed */ } } } } } } finally { LEAVING("cxuirggihlap2iv2khmb1w5l5","mark_clusters"); } } //3 bwrw5u0gi2rgah1cn9h0glpse // void build_skeleton(graph_t * g, graph_t * subg) public static void build_skeleton(ST_Agraph_s g, ST_Agraph_s subg) { ENTERING("bwrw5u0gi2rgah1cn9h0glpse","build_skeleton"); try { int r; ST_Agnode_s v, prev, rl; ST_Agedge_s e; prev = null; // GD_rankleader(subg, zmalloc(sizeof_starstar_empty(Agnode_s.class, GD_maxrank(subg) + 2))); GD_rankleader(subg, new ST_Agnode_s.Array(GD_maxrank(subg) + 2)); for (r = GD_minrank(subg); r <= GD_maxrank(subg); r++) { v = virtual_node(g); GD_rankleader(subg).plus(r).setPtr(v); ND_rank(v, r); ND_ranktype(v, 7); ND_clust(v, subg); if (prev!=null) { e = virtual_edge(prev, v, null); ED_xpenalty(e, ED_xpenalty(e) * 1000); } prev = v; } /* set the counts on virtual edges of the cluster skeleton */ for (v = agfstnode(subg); v!=null; v = agnxtnode(subg, v)) { rl = (ST_Agnode_s) GD_rankleader(subg).plus(ND_rank(v)).getPtr(); ND_UF_size(rl, ND_UF_size(rl)+1); for (e = agfstout(subg, v); e!=null; e = agnxtout(subg, e)) { for (r = ND_rank(agtail(e)); r < ND_rank(aghead(e)); r++) { ED_count(ND_out(rl).getFromList(0), ED_count(ND_out(rl).getFromList(0))+1); } } } for (r = GD_minrank(subg); r <= GD_maxrank(subg); r++) { rl = (ST_Agnode_s) GD_rankleader(subg).get(r); if (ND_UF_size(rl) > 1) ND_UF_size(rl, ND_UF_size(rl)-1); } } finally { LEAVING("bwrw5u0gi2rgah1cn9h0glpse","build_skeleton"); } } //3 75yt3xwcwnxipi827t1r8zcmn // void install_cluster(graph_t * g, node_t * n, int pass, nodequeue * q) public static void install_cluster(ST_Agraph_s g, ST_Agnode_s n, int pass, ST_nodequeue q) { ENTERING("75yt3xwcwnxipi827t1r8zcmn","install_cluster"); try { int r; ST_Agraph_s clust; clust = ND_clust(n); if (GD_installed(clust) != pass + 1) { for (r = GD_minrank(clust); r <= GD_maxrank(clust); r++) install_in_rank(g, (ST_Agnode_s) GD_rankleader(clust).get(r)); for (r = GD_minrank(clust); r <= GD_maxrank(clust); r++) enqueue_neighbors(q, (ST_Agnode_s) GD_rankleader(clust).get(r), pass); GD_installed(clust, pass + 1); } } finally { LEAVING("75yt3xwcwnxipi827t1r8zcmn","install_cluster"); } } //3 4muksvb3ec03mt6cvaqpb5c7a // void mark_lowclusters(Agraph_t * root) public static void mark_lowclusters(ST_Agraph_s root) { ENTERING("4muksvb3ec03mt6cvaqpb5c7a","mark_lowclusters"); try { ST_Agnode_s n, vn; ST_Agedge_s orig, e; /* first, zap any previous cluster labelings */ for (n = agfstnode(root); n!=null; n = agnxtnode(root, n)) { ND_clust(n, null); for (orig = agfstout(root, n); orig!=null; orig = agnxtout(root, orig)) { if ((e = ED_to_virt(orig))!=null) { while (e!=null && (ND_node_type(vn = aghead(e))) == 1) { ND_clust(vn, null); e = (ST_Agedge_s) ND_out(aghead(e)).getFromList(0); } } } } /* do the recursion */ mark_lowcluster_basic(root); } finally { LEAVING("4muksvb3ec03mt6cvaqpb5c7a","mark_lowclusters"); } } //3 48j6fdymvkcgeh4wde060ctac // static void mark_lowcluster_basic(Agraph_t * g) public static void mark_lowcluster_basic(ST_Agraph_s g) { ENTERING("48j6fdymvkcgeh4wde060ctac","mark_lowcluster_basic"); try { ST_Agraph_s clust; ST_Agnode_s n, vn; ST_Agedge_s orig, e; int c; for (c = 1; c <= GD_n_cluster(g); c++) { clust = (ST_Agraph_s) GD_clust(g).get(c).getPtr(); mark_lowcluster_basic(clust); } /* see what belongs to this graph that wasn't already marked */ for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) { if (ND_clust(n) == null) ND_clust(n, g); for (orig = agfstout(g, n); orig!=null; orig = agnxtout(g, orig)) { if ((e = ED_to_virt(orig))!=null) { while (e!=null && (ND_node_type(vn = aghead(e))) == 1) { if (ND_clust(vn) == null) ND_clust(vn, g); e = (ST_Agedge_s) ND_out(aghead(e)).getFromList(0); } } } } } finally { LEAVING("48j6fdymvkcgeh4wde060ctac","mark_lowcluster_basic"); } } } plantuml-1.2018.13+ds/src/gen/lib/dotgen/compound__c.java000066400000000000000000001412741340005343600230120ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.dotgen; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class compound__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 389gsvrjy9cfa7ie5c9sr5rvi // static char *pf2s(pointf p, char *buf) public static Object pf2s(Object... arg) { UNSUPPORTED("d7e1ecldlwckmebycqwdif5qi"); // static char *pf2s(pointf p, char *buf) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9nq1kahe848q44s51s8b249jw"); // sprintf(buf, "(%.5g,%.5g)", p.x, p.y); UNSUPPORTED("5jfpogdyby101eyuw2dhtb5cg"); // return buf; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 aaeedfeqjstij7teh2arwur0s // static pointf boxIntersectf(pointf pp, pointf cp, boxf * bp) public static Object boxIntersectf(Object... arg) { UNSUPPORTED("9lbfcrf6tg3qq2hoi74tj6jil"); // static pointf boxIntersectf(pointf pp, pointf cp, boxf * bp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e7e629d656z5m5408o06swiy3"); // pointf ipp; UNSUPPORTED("77e5d834qbjgxa5m8msxj0b22"); // double ppx = pp.x; UNSUPPORTED("5zf0pogb3f4f5faatrew5itus"); // double ppy = pp.y; UNSUPPORTED("etdvp5w4bmvc3hfjv6xsbqhgl"); // double cpx = cp.x; UNSUPPORTED("dzvbcgu397soy9gv5p7bqez7e"); // double cpy = cp.y; UNSUPPORTED("dzq83vvwl259k7394rpz3ahw4"); // pointf ll; UNSUPPORTED("1ilrhzyqh05f2u3j3vzg0ys8u"); // pointf ur; UNSUPPORTED("82ter8mdp5dwyq284t271kkq2"); // ll = bp->LL; UNSUPPORTED("cjf1mmtyv7enn9aid7eveqj3m"); // ur = bp->UR; UNSUPPORTED("hrb7x7coec3ls1f3tbzbv1i4"); // if (cp.x < ll.x) { UNSUPPORTED("bz02pree35ok6h7ne2b9078gr"); // ipp.x = ll.x; UNSUPPORTED("79t0kzkjgtsgnwjzk2423w61c"); // ipp.y = pp.y + (int) ((ipp.x - ppx) * (ppy - cpy) / (ppx - cpx)); UNSUPPORTED("5zwh31a86akovenbej0w7yjlq"); // if (ipp.y >= ll.y && ipp.y <= ur.y) UNSUPPORTED("6klahfi7ib1my989uyt3r3fns"); // return ipp; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("92dqlio3tyb7oqz8rrk4u1i39"); // if (cp.x > ur.x) { UNSUPPORTED("ct5wv2h1epcow92rfyyuvo9x8"); // ipp.x = ur.x; UNSUPPORTED("79t0kzkjgtsgnwjzk2423w61c"); // ipp.y = pp.y + (int) ((ipp.x - ppx) * (ppy - cpy) / (ppx - cpx)); UNSUPPORTED("5zwh31a86akovenbej0w7yjlq"); // if (ipp.y >= ll.y && ipp.y <= ur.y) UNSUPPORTED("6klahfi7ib1my989uyt3r3fns"); // return ipp; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("d1vpfkzy4othi356ddvouf1du"); // if (cp.y < ll.y) { UNSUPPORTED("645jp0y7ad6zmpqv1ujuwv7d2"); // ipp.y = ll.y; UNSUPPORTED("6xy4qjwbmyv2lmoecg9lz44m1"); // ipp.x = pp.x + (int) ((ipp.y - ppy) * (ppx - cpx) / (ppy - cpy)); UNSUPPORTED("6or7iqvva2wcjp65woe9ywn9j"); // if (ipp.x >= ll.x && ipp.x <= ur.x) UNSUPPORTED("6klahfi7ib1my989uyt3r3fns"); // return ipp; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("22uv9kfz9ohd3u69nktr9fsko"); // if (cp.y > ur.y) { UNSUPPORTED("7fbze74dhzwnj80vwncttjoza"); // ipp.y = ur.y; UNSUPPORTED("6xy4qjwbmyv2lmoecg9lz44m1"); // ipp.x = pp.x + (int) ((ipp.y - ppy) * (ppx - cpx) / (ppy - cpy)); UNSUPPORTED("6or7iqvva2wcjp65woe9ywn9j"); // if (ipp.x >= ll.x && ipp.x <= ur.x) UNSUPPORTED("6klahfi7ib1my989uyt3r3fns"); // return ipp; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2brtdhuqnq3wbu0y4vha1lxe1"); // /* failure */ UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("8lid84pwtuybl3mg15z7f9v8n"); // char ppbuf[100], cpbuf[100], llbuf[100], urbuf[100]; UNSUPPORTED("8utponegpfhxi3ifoaet3w22u"); // agerr(AGERR, UNSUPPORTED("4e7yhbghqnz3l8o03xenxz6qk"); // "segment [%s,%s] does not intersect box ll=%s,ur=%s\n", UNSUPPORTED("a7epvdx0qf9ql74dqkbz43vak"); // pf2s(pp, ppbuf), pf2s(cp, cpbuf), UNSUPPORTED("e9otl0bm92qbvbxwfd4euftxb"); // pf2s(ll, llbuf), pf2s(ur, urbuf)); UNSUPPORTED("2g1czwq8qs1hp7515i11qbn75"); // assert(0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2eteshlf6etzhvieru9a3d7hl"); // return ipp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cdgb9eokkhoxckam633l1qm6t // static int inBoxf(pointf p, boxf * bb) public static Object inBoxf(Object... arg) { UNSUPPORTED("18frdpfl5gpq5be170xxu7ypk"); // static int inBoxf(pointf p, boxf * bb) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("62grwq3ychthd06kd0dma6nl4"); // return INSIDE(p, *bb); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7i49mbvuj9tvhyjtdrhyomfd2 // static graph_t *getCluster(graph_t * g, char *cluster_name, Dt_t* map) public static Object getCluster(Object... arg) { UNSUPPORTED("b3i6y8ykkxx0imig66aitm32p"); // static graph_t *getCluster(graph_t * g, char *cluster_name, Dt_t* map) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("a9vu6hocyi7htsqyh6phlzeil"); // Agraph_t* sg; UNSUPPORTED("bdri6gk80s45bza4efp7hp3io"); // if (!cluster_name || (*cluster_name == '\0')) UNSUPPORTED("11hwqop4xebvtcskop4uhpp01"); // return NULL; UNSUPPORTED("e7qf9buhacu05os7k2mmh66cv"); // sg = findCluster (map, cluster_name); UNSUPPORTED("2cbce9349ulperyph2yxmob79"); // if (sg == NULL) { UNSUPPORTED("d4c9bmlrq8gy5z6b7aj0hh95m"); // agerr(AGWARN, "cluster named %s not found\n", cluster_name); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1jw141gg4omv8r72xcbl5ln0o"); // return sg; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1shblnlks0zlz7s6h6l9az96k // static int countVertCross(pointf * pts, double xcoord) public static Object countVertCross(Object... arg) { UNSUPPORTED("3fh5r6lqrzpzitfo6fg3mbhr9"); // static int countVertCross(pointf * pts, double xcoord) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("84e683m9cp16ljzwmonvu6h5o"); // int sign, old_sign; UNSUPPORTED("3m0xdv3clh5kt5r24q2nq8qy3"); // int num_crossings = 0; UNSUPPORTED("anrpp1ijmhz0zvudygqnuhuxg"); // sign = CMP(pts[0].x, xcoord); UNSUPPORTED("cn59uvgfsp852xd4juwg253ab"); // if (sign == 0) UNSUPPORTED("31x1ju7msb5pxljz8c9cdfxi2"); // num_crossings++; UNSUPPORTED("46jnsuhm7tq2klfsjamf7jrpa"); // for (i = 1; i <= 3; i++) { UNSUPPORTED("863qxcme12wfzx1clw4ehqelq"); // old_sign = sign; UNSUPPORTED("pfykk7uimn1p9y4mh0gs58ft"); // sign = CMP(pts[i].x, xcoord); UNSUPPORTED("34hhymaa1fodp7eoxwo7qev6v"); // if ((sign != old_sign) && (old_sign != 0)) UNSUPPORTED("dsc9eps2jqbca8n4oaud2b223"); // num_crossings++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ahpb1md0lwtdwqxgalm3b4rqa"); // return num_crossings; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 65jkpfhzlwld3rg4ggrojwo0t // static int countHorzCross(pointf * pts, double ycoord) public static Object countHorzCross(Object... arg) { UNSUPPORTED("de9l7dbf21io84d7j6fr2g2bk"); // static int countHorzCross(pointf * pts, double ycoord) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("84e683m9cp16ljzwmonvu6h5o"); // int sign, old_sign; UNSUPPORTED("3m0xdv3clh5kt5r24q2nq8qy3"); // int num_crossings = 0; UNSUPPORTED("1jpgvdmmizse7xc7bwhb6fowk"); // sign = CMP(pts[0].y, ycoord); UNSUPPORTED("cn59uvgfsp852xd4juwg253ab"); // if (sign == 0) UNSUPPORTED("31x1ju7msb5pxljz8c9cdfxi2"); // num_crossings++; UNSUPPORTED("46jnsuhm7tq2klfsjamf7jrpa"); // for (i = 1; i <= 3; i++) { UNSUPPORTED("863qxcme12wfzx1clw4ehqelq"); // old_sign = sign; UNSUPPORTED("e1b5xplhock9z22bd4pd2dqlq"); // sign = CMP(pts[i].y, ycoord); UNSUPPORTED("34hhymaa1fodp7eoxwo7qev6v"); // if ((sign != old_sign) && (old_sign != 0)) UNSUPPORTED("dsc9eps2jqbca8n4oaud2b223"); // num_crossings++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ahpb1md0lwtdwqxgalm3b4rqa"); // return num_crossings; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 aih397ad5qkovyx9x0wr21h54 // static double findVertical(pointf * pts, double tmin, double tmax, double xcoord, double ymin, double ymax) public static Object findVertical(Object... arg) { UNSUPPORTED("lt6cippjix5bbvyhkcpl8g7g"); // static double UNSUPPORTED("85kaoubr5lh52fmxz21tc0c1j"); // findVertical(pointf * pts, double tmin, double tmax, UNSUPPORTED("6qy8dlo2xl5uszko7s7dlvxw7"); // double xcoord, double ymin, double ymax) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("15equnrdjvp7z6hnykwsq855q"); // pointf Left[4]; UNSUPPORTED("czk4lot3uqdf06o5ws37gsxwv"); // pointf Right[4]; UNSUPPORTED("6wfj8onzmd4ihhh62dqfmqpbx"); // double t; UNSUPPORTED("78xh7rd4kkol7tca0ou5rsl2l"); // int no_cross = countVertCross(pts, xcoord); UNSUPPORTED("d7u308dr2xy07ijwz1hdhhmfx"); // if (no_cross == 0) UNSUPPORTED("6etr2h2322v9ragqutm759yas"); // return -1.0; UNSUPPORTED("ad9m8nxf0mcmhf2djox688ldn"); // /* if 1 crossing and on the line x == xcoord (within 1 point) */ UNSUPPORTED("4acg9xblgk4ucgodvaih6xrxj"); // if ((no_cross == 1) && (ROUND(pts[3].x) == ROUND(xcoord))) { UNSUPPORTED("bf7x4u2r8ux51e40gclwa1a1a"); // if ((ymin <= pts[3].y) && (pts[3].y <= ymax)) { UNSUPPORTED("bygqzclvo91ia8pdfxgwt277e"); // return tmax; UNSUPPORTED("6to1esmb8qfrhzgtr7jdqleja"); // } else UNSUPPORTED("ap55zco1042e8hct3w86akeke"); // return -1.0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9d4ocidcx0valemm3vzi00avm"); // /* split the Bezier into halves, trying the first half first. */ UNSUPPORTED("605jhx0qvq7rusredvjldyy4c"); // Bezier(pts, 3, 0.5, Left, Right); UNSUPPORTED("6cwj26bp1l7s2las5a7m77tku"); // t = findVertical(Left, tmin, (tmin + tmax) / 2.0, xcoord, ymin, ymax); UNSUPPORTED("1j0wovs9fkx43ukygc0u69s5g"); // if (t >= 0.0) UNSUPPORTED("d78ai9c2o2d3q4femq5es1anw"); // return t; UNSUPPORTED("9d6bwwzbxp9fm5m208jh9i8vu"); // return findVertical(Right, (tmin + tmax) / 2.0, tmax, xcoord, ymin, UNSUPPORTED("cd6vwnucsms9wzpeqb5nxh0ky"); // ymax); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ekvbbd4zvuxrho7sitbt8ql7s // static double findHorizontal(pointf * pts, double tmin, double tmax, double ycoord, double xmin, double xmax) public static Object findHorizontal(Object... arg) { UNSUPPORTED("lt6cippjix5bbvyhkcpl8g7g"); // static double UNSUPPORTED("78h62jx38l5t5fm5l5pcmhbsf"); // findHorizontal(pointf * pts, double tmin, double tmax, UNSUPPORTED("710x71u5311vcqfimkbvzi83a"); // double ycoord, double xmin, double xmax) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("15equnrdjvp7z6hnykwsq855q"); // pointf Left[4]; UNSUPPORTED("czk4lot3uqdf06o5ws37gsxwv"); // pointf Right[4]; UNSUPPORTED("6wfj8onzmd4ihhh62dqfmqpbx"); // double t; UNSUPPORTED("4954qgan4jixgvt69g1ajjdpo"); // int no_cross = countHorzCross(pts, ycoord); UNSUPPORTED("d7u308dr2xy07ijwz1hdhhmfx"); // if (no_cross == 0) UNSUPPORTED("6etr2h2322v9ragqutm759yas"); // return -1.0; UNSUPPORTED("epscxk2oek6v8c25l06qg49ym"); // /* if 1 crossing and on the line y == ycoord (within 1 point) */ UNSUPPORTED("bwwz4x8fjy78hz5xaadjtuwte"); // if ((no_cross == 1) && (ROUND(pts[3].y) == ROUND(ycoord))) { UNSUPPORTED("8mh80lea0b69k078vehmxhy3"); // if ((xmin <= pts[3].x) && (pts[3].x <= xmax)) { UNSUPPORTED("bygqzclvo91ia8pdfxgwt277e"); // return tmax; UNSUPPORTED("6to1esmb8qfrhzgtr7jdqleja"); // } else UNSUPPORTED("ap55zco1042e8hct3w86akeke"); // return -1.0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9d4ocidcx0valemm3vzi00avm"); // /* split the Bezier into halves, trying the first half first. */ UNSUPPORTED("605jhx0qvq7rusredvjldyy4c"); // Bezier(pts, 3, 0.5, Left, Right); UNSUPPORTED("83enazrwlypz7ni9b8bftyxs3"); // t = findHorizontal(Left, tmin, (tmin + tmax) / 2.0, ycoord, xmin, UNSUPPORTED("669ctf1reahp9td1amg1zq5u"); // xmax); UNSUPPORTED("1j0wovs9fkx43ukygc0u69s5g"); // if (t >= 0.0) UNSUPPORTED("d78ai9c2o2d3q4femq5es1anw"); // return t; UNSUPPORTED("7yh5k9v3lj4qwcasd986zd88c"); // return findHorizontal(Right, (tmin + tmax) / 2.0, tmax, ycoord, xmin, UNSUPPORTED("qt8mgej4qnelxqtwoy8dt0jt"); // xmax); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 f35390txedsmk9p0bb7lc0glh // static int splineIntersectf(pointf * pts, boxf * bb) public static Object splineIntersectf(Object... arg) { UNSUPPORTED("5skcahu2z7i5of3rceeyk3dja"); // static int splineIntersectf(pointf * pts, boxf * bb) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4x99qvp4a3bmbyxtp16ajfnsk"); // double tmin = 2.0; UNSUPPORTED("6wfj8onzmd4ihhh62dqfmqpbx"); // double t; UNSUPPORTED("9g866elzsedx9foz9yjhoiou1"); // pointf origpts[4]; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("a2n8aqfq0cqpx8elstmfn9oq6"); // for (i = 0; i < 4; i++) { UNSUPPORTED("4zou1qx7inlvcv0miqk04wcab"); // origpts[i] = pts[i]; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6vm6zifwonvzwuelxtslbue2"); // t = findVertical(pts, 0.0, 1.0, bb->LL.x, bb->LL.y, bb->UR.y); UNSUPPORTED("9zvtsolyyf2ytpv8pj4a8n5iu"); // if ((t >= 0) && (t < tmin)) { UNSUPPORTED("8w1khrdoc5zw1yk6j1a8drqse"); // Bezier(origpts, 3, t, pts, NULL); UNSUPPORTED("5ml6bcuw1xgfn7f3dyox7iwrv"); // tmin = t; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("981p5dxcykkvx91604334lab3"); // t = findVertical(pts, 0.0, MIN(1.0, tmin), bb->UR.x, bb->LL.y, UNSUPPORTED("1of63c5vskctycz57r6s1aop5"); // bb->UR.y); UNSUPPORTED("9zvtsolyyf2ytpv8pj4a8n5iu"); // if ((t >= 0) && (t < tmin)) { UNSUPPORTED("8w1khrdoc5zw1yk6j1a8drqse"); // Bezier(origpts, 3, t, pts, NULL); UNSUPPORTED("5ml6bcuw1xgfn7f3dyox7iwrv"); // tmin = t; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7a2rh5vrty9usl73kwlat7axz"); // t = findHorizontal(pts, 0.0, MIN(1.0, tmin), bb->LL.y, bb->LL.x, UNSUPPORTED("de5psijf8qtaea4iaibltvfli"); // bb->UR.x); UNSUPPORTED("9zvtsolyyf2ytpv8pj4a8n5iu"); // if ((t >= 0) && (t < tmin)) { UNSUPPORTED("8w1khrdoc5zw1yk6j1a8drqse"); // Bezier(origpts, 3, t, pts, NULL); UNSUPPORTED("5ml6bcuw1xgfn7f3dyox7iwrv"); // tmin = t; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8j6y4x6maqneer7is54dvjrg8"); // t = findHorizontal(pts, 0.0, MIN(1.0, tmin), bb->UR.y, bb->LL.x, UNSUPPORTED("de5psijf8qtaea4iaibltvfli"); // bb->UR.x); UNSUPPORTED("9zvtsolyyf2ytpv8pj4a8n5iu"); // if ((t >= 0) && (t < tmin)) { UNSUPPORTED("8w1khrdoc5zw1yk6j1a8drqse"); // Bezier(origpts, 3, t, pts, NULL); UNSUPPORTED("5ml6bcuw1xgfn7f3dyox7iwrv"); // tmin = t; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5yrkc1uiqwozz2tsxyo3vpj6n"); // if (tmin < 2.0) { UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cqg91aue3soclnawequqcxspl // static void makeCompoundEdge(graph_t * g, edge_t * e, Dt_t* clustMap) public static Object makeCompoundEdge(Object... arg) { UNSUPPORTED("94ok4vzwibg79sh9bgw127ynj"); // static void makeCompoundEdge(graph_t * g, edge_t * e, Dt_t* clustMap) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("d8yeygt41ba5jbyj4rz2bs7jh"); // graph_t *lh; /* cluster containing head */ UNSUPPORTED("ckcdimdpkin3lhakg1rjgopmi"); // graph_t *lt; /* cluster containing tail */ UNSUPPORTED("em6swtpn9fdaqlt4w0ye5p7db"); // bezier *bez; /* original Bezier for e */ UNSUPPORTED("2nh8wbaihnp137k4pc9xuzwhg"); // bezier *nbez; /* new Bezier for e */ UNSUPPORTED("1tw709ct510b9s636x7nkqfkr"); // int starti = 0, endi = 0; /* index of first and last control point */ UNSUPPORTED("8i0kwb8r6a2sj6nuvcy3bg9rx"); // node_t *head; UNSUPPORTED("abn0n8lzvb24ju9mrqm4oqu8"); // node_t *tail; UNSUPPORTED("v5k4w91mrx94yjcdoytcu9oh"); // boxf *bb; UNSUPPORTED("dzpsknrwv8qkqq20hjnjpjn68"); // int i, j; UNSUPPORTED("cav0e7ncloqss0hsvc4fyfi7s"); // int size; UNSUPPORTED("d8sp6cfkpfyndzmid92shiq50"); // pointf pts[4]; UNSUPPORTED("2bghyit203pd6xw2ihhenzyn8"); // pointf p; UNSUPPORTED("a1awknurkwnitpucodqwmcybo"); // int fixed; UNSUPPORTED("eg8l6bf528m9rxpz19s67zunk"); // /* find head and tail target clusters, if defined */ UNSUPPORTED("cv6tt9aup4gcbgqhx1nq22k1c"); // lh = getCluster(g, agget(e, "lhead"), clustMap); UNSUPPORTED("1c1flydze3375acsjsk9q3kp"); // lt = getCluster(g, agget(e, "ltail"), clustMap); UNSUPPORTED("c0uthnj5r46is8vqpjh6vftc8"); // if (!lt && !lh) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("7r9z58ji5z8h9c59lp0npnrgu"); // if (!ED_spl(e)) return; UNSUPPORTED("d5zyxsdhnmpgj9r2eeuoe24qd"); // /* at present, we only handle single spline case */ UNSUPPORTED("9y41ojbiongk0r6fdtq1my3t1"); // if (ED_spl(e)->size > 1) { UNSUPPORTED("2bykd7j98lcwoewshvpja61l3"); // agerr(AGWARN, "%s -> %s: spline size > 1 not supported\n", UNSUPPORTED("1wah0q9mwnexbe0myh4pe78ks"); // agnameof(agtail(e)), agnameof(aghead(e))); UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9zp3bsvuco9me48ea4fiy6acl"); // bez = ED_spl(e)->list; UNSUPPORTED("1mwkc047hik3rfvg9nirzx1eu"); // size = bez->size; UNSUPPORTED("9vcgvjkna4elv9mw682bcl1ry"); // head = aghead(e); UNSUPPORTED("6pl9v5iuk7ek5nv87env6rn8y"); // tail = agtail(e); UNSUPPORTED("ap2j55l6otqo1gbl6ltds9nwh"); // /* allocate new Bezier */ UNSUPPORTED("evus0s8ajoz1nr025560y72nt"); // nbez = (bezier*)gmalloc(sizeof(bezier)); UNSUPPORTED("ep4g00m6u2qqzjjpl5wv8pf68"); // nbez->eflag = bez->eflag; UNSUPPORTED("3f2ouh5001dudtknnvyd0d3k"); // nbez->sflag = bez->sflag; UNSUPPORTED("9puveeg1x9guxlasq00a4jkoy"); // /* if Bezier has four points, almost collinear, UNSUPPORTED("3j2z7u8v0esgm7xffel168hq7"); // * make line - unimplemented optimization? UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("gquyyp49r5koft7tvjy0s8rg"); // /* If head cluster defined, find first Bezier UNSUPPORTED("36p20hcsa21623tw4wu1oz2p6"); // * crossing head cluster, and truncate spline to UNSUPPORTED("9s9druwau7a95yt795beirpsq"); // * box edge. UNSUPPORTED("cn1atesybawh2axikezvwq87k"); // * Otherwise, leave end alone. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("7ub8yceaqsfpwhdiiln16imu8"); // fixed = 0; UNSUPPORTED("9pt4rploytevhgdsh2ccwqwa5"); // if (lh) { UNSUPPORTED("1epg8to10rb7b0uyumqk5by3d"); // bb = &(GD_bb(lh)); UNSUPPORTED("5kfib01to02c8vzno1s2ekcr6"); // if (!inBoxf(ND_coord(head), bb)) { UNSUPPORTED("dw7kdr12sq66xx2svd4s92czw"); // agerr(AGWARN, "%s -> %s: head not inside head cluster %s\n", UNSUPPORTED("4685lstw48yeb92f1qu3uf6ju"); // agnameof(agtail(e)), agnameof(aghead(e)), agget(e, "lhead")); UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("3uodo3h9hth2y90nphjmbr0oz"); // /* If first control point is in bb, degenerate case. Spline UNSUPPORTED("48lbfpll26nek7srz6txj1ifd"); // * reduces to four points between the arrow head and the point UNSUPPORTED("bnhwhc0oclranqqrc084eqy25"); // * where the segment between the first control point and arrow head UNSUPPORTED("cqgsnvduolzsvf228s6bzu09z"); // * crosses box. UNSUPPORTED("20m1lc1moer8x00tx9ceto0iw"); // */ UNSUPPORTED("9pqsbiv3p2qq7o79wqbbz8l5n"); // if (inBoxf(bez->list[0], bb)) { UNSUPPORTED("9w1xj4pf7ycfdklkv9mztvayi"); // if (inBoxf(ND_coord(tail), bb)) { UNSUPPORTED("3f0u3cjz549lwgnkj0rlfv6rv"); // agerr(AGWARN, UNSUPPORTED("27beaae4u5f8m2rui7t930icj"); // "%s -> %s: tail is inside head cluster %s\n", UNSUPPORTED("5su0sbzvdwjhkfmbg8xivrf3y"); // agnameof(agtail(e)), agnameof(aghead(e)), agget(e, "lhead")); UNSUPPORTED("a47jqpic91ky93e1ohxv590l5"); // } else { UNSUPPORTED("ewwp403copbj6mdyqowm6q2s4"); // assert(bez->sflag); /* must be arrowhead on tail */ UNSUPPORTED("lp06fc3tmr8xux3w7kfnjg4r"); // p = boxIntersectf(bez->list[0], bez->sp, bb); UNSUPPORTED("ejtuxx5nuew10e08cnrbh9avq"); // bez->list[3] = p; UNSUPPORTED("7duperi3l69fplb736n7smpqf"); // bez->list[1] = mid_pointf(p, bez->sp); UNSUPPORTED("a4eh5xj2wrncqnmttmavzegdw"); // bez->list[0] = mid_pointf(bez->list[1], bez->sp); UNSUPPORTED("5dxkrve755ukj7tzac4ft5kee"); // bez->list[2] = mid_pointf(bez->list[1], p); UNSUPPORTED("59ne8fp4dumv8e2dt8nzlbwm9"); // if (bez->eflag) UNSUPPORTED("e0iax8us2lskwlp49snfuewo5"); // endi = arrowEndClip(e, bez->list, UNSUPPORTED("cblie3jhaa9y0orqcusd4rz3n"); // starti, 0, nbez, bez->eflag); UNSUPPORTED("dtvlepuobgzgt31wlwvahcuz6"); // endi += 3; UNSUPPORTED("b1vrskwl75muujmh6lvltym9p"); // fixed = 1; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("2sf4rxnj84i693qu8p8eeb0th"); // for (endi = 0; endi < size - 1; endi += 3) { UNSUPPORTED("3gsvjp9m9s9xkrldmovrxl86l"); // if (splineIntersectf(&(bez->list[endi]), bb)) UNSUPPORTED("a5064jph9xpw67dcun2my4mcm"); // break; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6v67nn2fkgve6sliwhhcjhlzy"); // if (endi == size - 1) { /* no intersection */ UNSUPPORTED("ne38tb76v74pens6v8pbfrbg"); // assert(bez->eflag); UNSUPPORTED("6zfsm93mmi2u1kkkh72v0p3ko"); // nbez->ep = boxIntersectf(bez->ep, bez->list[endi], bb); UNSUPPORTED("a47jqpic91ky93e1ohxv590l5"); // } else { UNSUPPORTED("59ne8fp4dumv8e2dt8nzlbwm9"); // if (bez->eflag) UNSUPPORTED("2931qkcakw4pmrkqfxkwz6c9w"); // endi = UNSUPPORTED("5m1xf54kia4xa3oh9pi0laqg2"); // arrowEndClip(e, bez->list, UNSUPPORTED("dif2h2k72i4vle08l8zt6g99d"); // starti, endi, nbez, bez->eflag); UNSUPPORTED("dtvlepuobgzgt31wlwvahcuz6"); // endi += 3; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("37cextn872jccni47tbuylnde"); // fixed = 1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b4l5v1tzcfyxswk474eyxoh7g"); // if (fixed == 0) { /* if no lh, or something went wrong, use original head */ UNSUPPORTED("5iaa7yro1fezven3pxpfgmxu4"); // endi = size - 1; UNSUPPORTED("a4jsfnfkjyk5zvhtmxz837cwk"); // if (bez->eflag) UNSUPPORTED("ardm696r3cpsbtf6losy2b016"); // nbez->ep = bez->ep; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ea4t41cqs5cu6h8oyl4vr26m2"); // /* If tail cluster defined, find last Bezier UNSUPPORTED("7p2mckkgkchxr6vhh6gezq8wz"); // * crossing tail cluster, and truncate spline to UNSUPPORTED("9s9druwau7a95yt795beirpsq"); // * box edge. UNSUPPORTED("cn1atesybawh2axikezvwq87k"); // * Otherwise, leave end alone. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("7ub8yceaqsfpwhdiiln16imu8"); // fixed = 0; UNSUPPORTED("5qu8oy18iv3lo7czvfxeoa9uf"); // if (lt) { UNSUPPORTED("pk4bun7t8spswxbvfqizndma"); // bb = &(GD_bb(lt)); UNSUPPORTED("5fdmhqx0gpmawrdmhes377bcj"); // if (!inBoxf(ND_coord(tail), bb)) { UNSUPPORTED("1m0jbxdni08pgm584b96t3rjx"); // agerr(AGWARN, "%s -> %s: tail not inside tail cluster %s\n", UNSUPPORTED("3s8r91i8l8gnx912jssz9qyeo"); // agnameof(agtail(e)), agnameof(aghead(e)), agget(e, "ltail")); UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("1qjsjzvwnzg5em6iaq3reaswh"); // /* If last control point is in bb, degenerate case. Spline UNSUPPORTED("f2rlo65dpa2r245fl7q3a8uhm"); // * reduces to four points between arrow head, and the point UNSUPPORTED("c22xvluit87sy443q8y00uc4g"); // * where the segment between the last control point and the UNSUPPORTED("drage3192rqa7ifzj1p0rzr7b"); // * arrow head crosses box. UNSUPPORTED("20m1lc1moer8x00tx9ceto0iw"); // */ UNSUPPORTED("5xu4e03fqpef4n5pmrb5kau0d"); // if (inBoxf(bez->list[endi], bb)) { UNSUPPORTED("25cb9bqsfesb0faqthoggdumf"); // if (inBoxf(ND_coord(head), bb)) { UNSUPPORTED("3f0u3cjz549lwgnkj0rlfv6rv"); // agerr(AGWARN, UNSUPPORTED("5xfu8lqrs0caaz29aue2f4s21"); // "%s -> %s: head is inside tail cluster %s\n", UNSUPPORTED("f3g912itxolsegc77eg84cl5l"); // agnameof(agtail(e)), agnameof(aghead(e)), agget(e, "ltail")); UNSUPPORTED("a47jqpic91ky93e1ohxv590l5"); // } else { UNSUPPORTED("8f4spvkivd7okr9g59i6nwodq"); // assert(bez->eflag); /* must be arrowhead on head */ UNSUPPORTED("7f7fhm60xzneykhpsinmusktg"); // p = boxIntersectf(bez->list[endi], nbez->ep, bb); UNSUPPORTED("5sxlw9wg1evuruihg2pf20m2q"); // starti = endi - 3; UNSUPPORTED("469jcsvjasontlve9fx1oiprf"); // bez->list[starti] = p; UNSUPPORTED("cnpwuv23ryh1zxbij0n57992e"); // bez->list[starti + 2] = mid_pointf(p, nbez->ep); UNSUPPORTED("o7wu7segbiephyk1mn6ruzii"); // bez->list[starti + 3] = mid_pointf(bez->list[starti + 2], nbez->ep); UNSUPPORTED("1hq51ue6km9jd5khvilyiu8ba"); // bez->list[starti + 1] = mid_pointf(bez->list[starti + 2], p); UNSUPPORTED("f018p8s1pklqzeu862o8grqz3"); // if (bez->sflag) UNSUPPORTED("c9hvjpjpxposlztt4ykhchse4"); // starti = arrowStartClip(e, bez->list, starti, UNSUPPORTED("dbcocs457i5fpymvciq1id8sl"); // endi - 3, nbez, bez->sflag); UNSUPPORTED("b1vrskwl75muujmh6lvltym9p"); // fixed = 1; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("d2jlvy1nqfh80mgss1c39f01j"); // for (starti = endi; starti > 0; starti -= 3) { UNSUPPORTED("28srqjfv5l9fgucte4xcck1wf"); // for (i = 0; i < 4; i++) UNSUPPORTED("8c8hwyg5j3w5quof1ir68ns70"); // pts[i] = bez->list[starti - i]; UNSUPPORTED("4r5afy1ydhha880ua170puwym"); // if (splineIntersectf(pts, bb)) { UNSUPPORTED("ej309gi9fv5xlnkscibruakjp"); // for (i = 0; i < 4; i++) UNSUPPORTED("7i03k1aqcvrb8znb7097fyn48"); // bez->list[starti - i] = pts[i]; UNSUPPORTED("a5064jph9xpw67dcun2my4mcm"); // break; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("btve1tg4yf6dsbobp66rbktt7"); // if (starti == 0) { UNSUPPORTED("8n6t6jnfgooxt9ia0n2d9xj5a"); // assert(bez->sflag); UNSUPPORTED("9iea16dzn148ggj1yhec6nrv6"); // nbez->sp = UNSUPPORTED("3c8n4kr8984t1a8f2tvj7wgrr"); // boxIntersectf(bez->sp, bez->list[starti], bb); UNSUPPORTED("a47jqpic91ky93e1ohxv590l5"); // } else { UNSUPPORTED("5yn57nenv2uh775lo64evo8ma"); // starti -= 3; UNSUPPORTED("f018p8s1pklqzeu862o8grqz3"); // if (bez->sflag) UNSUPPORTED("c9hvjpjpxposlztt4ykhchse4"); // starti = arrowStartClip(e, bez->list, starti, UNSUPPORTED("dbcocs457i5fpymvciq1id8sl"); // endi - 3, nbez, bez->sflag); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("37cextn872jccni47tbuylnde"); // fixed = 1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7016d9urlsksnhs3cnhecjcda"); // if (fixed == 0) { /* if no lt, or something went wrong, use original tail */ UNSUPPORTED("eb2mhex2xw1imv1kk03mvjjou"); // /* Note: starti == 0 */ UNSUPPORTED("bid01qt9cg10ravykoxdnzxyk"); // if (bez->sflag) UNSUPPORTED("5r4ncqv0i1d4e42av5wd1enpg"); // nbez->sp = bez->sp; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6npoy905gpw81hrxzbjbr2cfx"); // /* complete Bezier, free garbage and attach new Bezier to edge UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("5xonbkojra95eckls0aqmri36"); // nbez->size = endi - starti + 1; UNSUPPORTED("ahcr8abvd2jxjhobcfhctvs1b"); // nbez->list = (pointf*)gmalloc((nbez->size)*sizeof(pointf)); UNSUPPORTED("c9hwlt12y9khkl85dhudsnoji"); // for (i = 0, j = starti; i < nbez->size; i++, j++) UNSUPPORTED("bafoyknloit5d46b4iu8wll9p"); // nbez->list[i] = bez->list[j]; UNSUPPORTED("60fikjho2iwcxgrd8xetr09m6"); // free(bez->list); UNSUPPORTED("3qr0q84nc1rpnmowlbyiowg2z"); // free(bez); UNSUPPORTED("70byyll04ac6uqbdyb54i1gr"); // ED_spl(e)->list = nbez; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8dlmdg7jixgrpxke9pgbbnous // void dot_compoundEdges(graph_t * g) public static Object dot_compoundEdges(Object... arg) { UNSUPPORTED("7ugy3v610tnicjpszcs8fvlvb"); // void dot_compoundEdges(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("aice9tv6l0gls54iyk8147m5u"); // Dt_t* clustMap = mkClustMap (g); UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("1urljgadk0bknazngl2w39evt"); // makeCompoundEdge(g, e, clustMap); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("11epc7udwyi67f5gszznmfwn8"); // dtclose(clustMap); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/dotgen/conc__c.java000066400000000000000000001102101340005343600220720ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.dotgen; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; import smetana.core.jmp_buf; public class conc__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 540u5gu9i0x1wzoxqqx5n2vwp // static jmp_buf jbuf private static jmp_buf jbuf = new jmp_buf(); //3 hiohl94lfxzfx1mjrwsqz37c // static boolean samedir(edge_t * e, edge_t * f) public static Object samedir(Object... arg) { UNSUPPORTED("29nu0bleg7r6obvwg17es3eva"); // static boolean samedir(edge_t * e, edge_t * f) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5prsmuiayujknpr12ysexceww"); // edge_t *e0, *f0; UNSUPPORTED("a87jx348k6dr2owi2ge2e9r86"); // for (e0 = e; ED_edge_type(e0) != 0; e0 = ED_to_orig(e0)); UNSUPPORTED("cws6ess4x4o5kp609fhzl087m"); // for (f0 = f; ED_edge_type(f0) != 0; f0 = ED_to_orig(f0)); UNSUPPORTED("ay9e2jfde73nguyfs214f5pif"); // if (ED_conc_opp_flag(e0)) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("3qs48pp09z881fbxjwqfm4u1r"); // if (ED_conc_opp_flag(f0)) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("5p8e0qmobo1inow3m2l1iis5t"); // return ((ND_rank(agtail(f0)) - ND_rank(aghead(f0))) UNSUPPORTED("6n93ns5ibdr64eugmmuj5rn02"); // * (ND_rank(agtail(e0)) - ND_rank(aghead(e0))) > 0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6pb0av8sjhmso4mrttaqsuv6h // static boolean downcandidate(node_t * v) public static Object downcandidate(Object... arg) { UNSUPPORTED("5rcx94deeexsyuzu3uu8v1yk2"); // static boolean downcandidate(node_t * v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6jfx7802edvf66slrrtiwdr3x"); // return ((ND_node_type(v) == 1) && (ND_in(v).size == 1) UNSUPPORTED("bc5c94xpimskyg4uxfcpjzjbk"); // && (ND_out(v).size == 1) && (ND_label(v) == NULL)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5yy2uwgnjzdmsqjig6m7pi4dh // static boolean bothdowncandidates(node_t * u, node_t * v) public static Object bothdowncandidates(Object... arg) { UNSUPPORTED("70c1exdtu7f7a0g2xvtjf1h4v"); // static boolean bothdowncandidates(node_t * u, node_t * v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9b48a157azcrz2ihzqehhpsvs"); // edge_t *e, *f; UNSUPPORTED("n6nd0vbfveotd6ua08vaz9kc"); // e = ND_in(u).list[0]; UNSUPPORTED("a1yoae6m61u88abwgei4iwrv6"); // f = ND_in(v).list[0]; UNSUPPORTED("1igpcdu1bpbjym8gly2bydxmp"); // if (downcandidate(v) && (agtail(e) == agtail(f))) { UNSUPPORTED("b0c3dm89khvdfaecz8vndzs4g"); // return samedir(e, f) UNSUPPORTED("b65ygvpn73rc7xtl4ogmyfdc3"); // && (portcmp(ED_tail_port(e), ED_tail_port(f)) == 0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 pnmyeaeyufqhbdt9phmr34w8 // static boolean upcandidate(node_t * v) public static Object upcandidate(Object... arg) { UNSUPPORTED("1bwv2llboqrh45zw5aau3g8wy"); // static boolean upcandidate(node_t * v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8cpz8jcws7vc5ljvhpqsvtr95"); // return ((ND_node_type(v) == 1) && (ND_out(v).size == 1) UNSUPPORTED("3h8pm2cl2yek27t8a1r51vwwm"); // && (ND_in(v).size == 1) && (ND_label(v) == NULL)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eoltukpbxfjnxh04nr63ockc2 // static boolean bothupcandidates(node_t * u, node_t * v) public static Object bothupcandidates(Object... arg) { UNSUPPORTED("cqzsemphpsgvcisjr9bifnbar"); // static boolean bothupcandidates(node_t * u, node_t * v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9b48a157azcrz2ihzqehhpsvs"); // edge_t *e, *f; UNSUPPORTED("9zpg3620h4heznn3b6mf3rkzc"); // e = ND_out(u).list[0]; UNSUPPORTED("1vg7brvscwl8tqwcwgf2vc1iu"); // f = ND_out(v).list[0]; UNSUPPORTED("232o0u3m0hk33kom12ddv5cf5"); // if (upcandidate(v) && (aghead(e) == aghead(f))) { UNSUPPORTED("b0c3dm89khvdfaecz8vndzs4g"); // return samedir(e, f) UNSUPPORTED("2sbh73r3hanfplu15qi49xx9e"); // && (portcmp(ED_head_port(e), ED_head_port(f)) == 0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9ugj5cxjwh6izs7qwoeplieyq // static void mergevirtual(graph_t * g, int r, int lpos, int rpos, int dir) public static Object mergevirtual(Object... arg) { UNSUPPORTED("7fykjo0tsdbiv0zeb6x3fb8fs"); // static void mergevirtual(graph_t * g, int r, int lpos, int rpos, int dir) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3omv4g8dibh1pqrvt46eo9gvq"); // int i, k; UNSUPPORTED("amyi14irz6dbz0367id35hvp"); // node_t *left, *right; UNSUPPORTED("8f8h355l1495yy9dbaz0it2in"); // edge_t *e, *f, *e0; UNSUPPORTED("231cg7wmyzy38x2wt2fo5w4mj"); // left = GD_rank(g)[r].v[lpos]; UNSUPPORTED("ell7qlxmonsekwusp8xopfdfu"); // /* merge all right nodes into the leftmost one */ UNSUPPORTED("1eeld04u92ygccgaquiq6xaex"); // for (i = lpos + 1; i <= rpos; i++) { UNSUPPORTED("5elwzk0mnuzvd2hm4hjqerr0f"); // right = GD_rank(g)[r].v[i]; UNSUPPORTED("c1uckn7ho04t7ub7xklkxju8h"); // if (dir == 1) { UNSUPPORTED("b0aboa5nfb7ujemy7qx50riyo"); // while ((e = ND_out(right).list[0])) { UNSUPPORTED("61h4dtrrxp3gqi4qq4fa84dj6"); // for (k = 0; (f = ND_out(left).list[k]); k++) UNSUPPORTED("e0g1j10s0bixkrbon6u0yv9c6"); // if (aghead(f) == aghead(e)) UNSUPPORTED("a5064jph9xpw67dcun2my4mcm"); // break; UNSUPPORTED("34init75thgijzfyzza21moxe"); // if (f == NULL) UNSUPPORTED("bevz1zn0blsflvx6jkk50rba9"); // f = virtual_edge(left, aghead(e), e); UNSUPPORTED("asb45d5rqv8it74v7tne8f2fg"); // while ((e0 = ND_in(right).list[0])) { UNSUPPORTED("cuttljjerosdc8dabm2bnnyb8"); // merge_oneway(e0, f); UNSUPPORTED("7v5ie1ooevp21zluuewlboyb5"); // /*ED_weight(f) += ED_weight(e0); */ UNSUPPORTED("5s7a1scru7071fh3chrychja8"); // delete_fast_edge(e0); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("4xzroqevvsjt307vvx10f8atw"); // delete_fast_edge(e); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("a9byy1rucxlzdlxewp2rv7gqq"); // while ((e = ND_in(right).list[0])) { UNSUPPORTED("c7omxpe29tnl9ydgup95clcci"); // for (k = 0; (f = ND_in(left).list[k]); k++) UNSUPPORTED("a8u5bsqed458j870nosh64yic"); // if (agtail(f) == agtail(e)) UNSUPPORTED("a5064jph9xpw67dcun2my4mcm"); // break; UNSUPPORTED("34init75thgijzfyzza21moxe"); // if (f == NULL) UNSUPPORTED("dbqismmahqza8fnkjhntz4ll0"); // f = virtual_edge(agtail(e), left, e); UNSUPPORTED("eukpmnw48odadjb55ie78fit9"); // while ((e0 = ND_out(right).list[0])) { UNSUPPORTED("cuttljjerosdc8dabm2bnnyb8"); // merge_oneway(e0, f); UNSUPPORTED("5s7a1scru7071fh3chrychja8"); // delete_fast_edge(e0); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("4xzroqevvsjt307vvx10f8atw"); // delete_fast_edge(e); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("20831ggpnh7lvyeu87hwsm0t3"); // assert(ND_in(right).size + ND_out(right).size == 0); UNSUPPORTED("ahkylw437651e5mf9138vl35w"); // delete_fast_node(g, right); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4yunnb5j9hoe6bcsy79b69fh0"); // k = lpos + 1; UNSUPPORTED("1ta71a6pw0aspmpknbt3wjj4k"); // i = rpos + 1; UNSUPPORTED("6vm80zqnn9yxelf6y0p8pdhlh"); // while (i < GD_rank(g)[r].n) { UNSUPPORTED("aour3qu5mlw9cykjikxt0fxcy"); // node_t *n; UNSUPPORTED("2z4aexzipvp6690gajlfsw9ub"); // n = GD_rank(g)[r].v[k] = GD_rank(g)[r].v[i]; UNSUPPORTED("98h1qvrthbfxdz7717i3e1ylh"); // ND_order(n) = k; UNSUPPORTED("9zq7xtwq5cysffia17vtbbt9u"); // k++; UNSUPPORTED("chd2f5z6rt19lbaye25ej7q6j"); // i++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("85og729c3c58hh8wdsc8uec8l"); // GD_rank(g)[r].n = k; UNSUPPORTED("d8ajai913hx6i4otnoso8kawv"); // GD_rank(g)[r].v[k] = NULL; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c20jfo46p56bjbachxehha9pu // static void infuse(graph_t * g, node_t * n) public static Object infuse(Object... arg) { UNSUPPORTED("etmqgz9znjdg1p7di2fe6kis4"); // static void infuse(graph_t * g, node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9roij9rixfrdr3vio8wvn6cym"); // node_t *lead; UNSUPPORTED("1dhtnolphtqb1vhzddsjs4997"); // lead = GD_rankleader(g)[ND_rank(n)]; UNSUPPORTED("7sbrmrdrc6qm86jwzs2p1q0bv"); // if ((lead == NULL) || (ND_order(lead) > ND_order(n))) UNSUPPORTED("4kboqcebkf36wvklvhc0smxyf"); // GD_rankleader(g)[ND_rank(n)] = n; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e8chm1nms49vyf1mp9zdq7e3n // static void rebuild_vlists(graph_t * g) public static Object rebuild_vlists(Object... arg) { UNSUPPORTED("8lxgqgoebpr6pqqvqimb2nold"); // static void rebuild_vlists(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c566lguiyozynv7spc9xx8agv"); // int c, i, r, maxi; UNSUPPORTED("augenu6r3rx501311lht9q7qr"); // node_t *n, *lead; UNSUPPORTED("3bqpdb6f6p2qw9s76g6txvvro"); // edge_t *e, *rep; UNSUPPORTED("br5jnq2zjxxbz2mw0z8ns5uug"); // for (r = GD_minrank(g); r <= GD_maxrank(g); r++) UNSUPPORTED("2rpy1wfe6lhmak6ce4v24v4ao"); // GD_rankleader(g)[r] = NULL; UNSUPPORTED("4frgznaid5m5mdte931ti7cw"); // dot_scan_ranks(g); UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("7zlur6lceb4yawe9tb9amgq9s"); // infuse(g, n); UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("7uff9xbfc6s0idd1vxtjm2qth"); // for (rep = e; ED_to_virt(rep); rep = ED_to_virt(rep)); UNSUPPORTED("4oqbk654pzi7973xynf59fntp"); // while (ND_rank(aghead(rep)) < ND_rank(aghead(e))) { UNSUPPORTED("87e8ucrmzsn4x3vikrp4zqx96"); // infuse(g, aghead(rep)); UNSUPPORTED("9l3almai3ugohjo61vxf13yb7"); // rep = ND_out(aghead(rep)).list[0]; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("60nab7gyukq3bs8e6dizhbacy"); // for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { UNSUPPORTED("arvyjg1l9juza75tj23zsykps"); // lead = GD_rankleader(g)[r]; UNSUPPORTED("4atymss3ar3wje54szsaa3omf"); // if (GD_rank(dot_root(g))[r].v[ND_order(lead)] != lead) { UNSUPPORTED("b3cixj6rtwwwmjmebo4r2h15k"); // agerr(AGERR, "rebuiltd_vlists: rank lead %s not in order %d of rank %d\n", UNSUPPORTED("6udrpqggfjxt0na5cdb0725bn"); // agnameof(lead), ND_order(lead), r); UNSUPPORTED("edg6zn44g1egn9rxfpiizzrjo"); // longjmp(jbuf, 1); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3907i7loyifjuq3p41y45kyhm"); // GD_rank(g)[r].v = UNSUPPORTED("7j4ogkw53pg0iv0mmko48fw0x"); // GD_rank(dot_root(g))[r].v + ND_order((GD_rankleader(g)[r])); UNSUPPORTED("2c6wxmjs9ytmjutd79l3vt4gl"); // maxi = -1; UNSUPPORTED("6eix918gmfs16624x6omusuhm"); // for (i = 0; i < GD_rank(g)[r].n; i++) { UNSUPPORTED("34a7o67ylktm1es8bkuaeejk2"); // if ((n = GD_rank(g)[r].v[i]) == NULL) UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("e0gk7m0zrsus94mtf86d91p04"); // if (ND_node_type(n) == 0) { UNSUPPORTED("d13494tcz4gbtml8c1ev3ktzb"); // if (agcontains(g, n)) UNSUPPORTED("80spg5b3li0mhxyw957sp2n7q"); // maxi = i; UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break; UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("3gm29k6z4aks8v0k1r7qvxvlt"); // edge_t *e; UNSUPPORTED("42bmttyjay3sng4c3d0tsvkn9"); // for (e = ND_in(n).list[0]; e && ED_to_orig(e); UNSUPPORTED("148t8jlrp8lwlu4pyvlslf49l"); // e = ED_to_orig(e)); UNSUPPORTED("5n3hyea9ita57alojbawbcurz"); // if (e && (agcontains(g, agtail(e))) UNSUPPORTED("2u3pptvaudhj3kaydu0xn0c9x"); // && agcontains(g, aghead(e))) UNSUPPORTED("80spg5b3li0mhxyw957sp2n7q"); // maxi = i; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("csorvv6yhyohqnsvhazkk6eje"); // if (maxi == -1) UNSUPPORTED("eq3mmft8bst07qw88wjzgvoet"); // agerr(AGWARN, "degenerate concentrated rank %s,%d\n", agnameof(g), UNSUPPORTED("b6bf10m2f2pvxgkfcax559640"); // r); UNSUPPORTED("10l3x6nke8pra4fu5ysnu6j08"); // GD_rank(g)[r].n = maxi + 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7z5fb6iyowsosn1hiz7opeoc6"); // for (c = 1; c <= GD_n_cluster(g); c++) UNSUPPORTED("1d7lqtmagp5mwcbbkf4xawdog"); // rebuild_vlists(GD_clust(g)[c]); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3mzzkxpsezmtvlbzshvr46b8m // void dot_concentrate(graph_t * g) public static Object dot_concentrate(Object... arg) { UNSUPPORTED("4h7xkpw4zpae6ztth270w22gd"); // void dot_concentrate(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("62hcnpegd6vvkgtfo3a833aq9"); // int c, r, leftpos, rightpos; UNSUPPORTED("amyi14irz6dbz0367id35hvp"); // node_t *left, *right; UNSUPPORTED("1exryvusfp7fkh0rn8bxcz96g"); // if (GD_maxrank(g) - GD_minrank(g) <= 1) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("1o57fdj7j63samf9jysgvpqnq"); // /* this is the downward looking pass. r is a candidate rank. */ UNSUPPORTED("ca08a4ijjaxoo89carapxu5ur"); // for (r = 1; GD_rank(g)[r + 1].n; r++) { UNSUPPORTED("8elk0ekrvmk0yt6bmbwub0epc"); // for (leftpos = 0; leftpos < GD_rank(g)[r].n; leftpos++) { UNSUPPORTED("ela65u1ff5sc7nw7eq6hioji0"); // left = GD_rank(g)[r].v[leftpos]; UNSUPPORTED("7yq5j8b980yc5rz1e4lkwgmth"); // if (downcandidate(left) == 0) UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; UNSUPPORTED("exizgsc0bwm37dxc6j6op74lz"); // for (rightpos = leftpos + 1; rightpos < GD_rank(g)[r].n; UNSUPPORTED("5a4wx0786piefhj7q3m241wof"); // rightpos++) { UNSUPPORTED("3jh1iupmf6freiri4v7zbt87k"); // right = GD_rank(g)[r].v[rightpos]; UNSUPPORTED("7ap3iy5ysmyd0x869id0jyedv"); // if (bothdowncandidates(left, right) == 0) UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("3q4uw7garqdhjalzpk1bivu8s"); // if (rightpos - leftpos > 1) UNSUPPORTED("4o5cptipygbr3qu2m6rkk4qwg"); // mergevirtual(g, r, leftpos, rightpos - 1, 1); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("cakeuerd3mfjfwy396sci21tn"); // /* this is the corresponding upward pass */ UNSUPPORTED("9cqq87ffcq47f55xlupeeuo6u"); // while (r > 0) { UNSUPPORTED("8elk0ekrvmk0yt6bmbwub0epc"); // for (leftpos = 0; leftpos < GD_rank(g)[r].n; leftpos++) { UNSUPPORTED("ela65u1ff5sc7nw7eq6hioji0"); // left = GD_rank(g)[r].v[leftpos]; UNSUPPORTED("dgbio6b5e3ja3yul0q4rl5qqn"); // if (upcandidate(left) == 0) UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; UNSUPPORTED("exizgsc0bwm37dxc6j6op74lz"); // for (rightpos = leftpos + 1; rightpos < GD_rank(g)[r].n; UNSUPPORTED("5a4wx0786piefhj7q3m241wof"); // rightpos++) { UNSUPPORTED("3jh1iupmf6freiri4v7zbt87k"); // right = GD_rank(g)[r].v[rightpos]; UNSUPPORTED("6j41xobwrcrep12b6hhs39r8z"); // if (bothupcandidates(left, right) == 0) UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("3q4uw7garqdhjalzpk1bivu8s"); // if (rightpos - leftpos > 1) UNSUPPORTED("c3v2wops656i36vmsec5ezxk0"); // mergevirtual(g, r, leftpos, rightpos - 1, 0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8a1wsnjguqfvz8vfx6erejakp"); // r--; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ci9r8sj8tbc6yer5c8cebb0cm"); // if (setjmp(jbuf)) { UNSUPPORTED("ej9htgkxfq6bintcw04c6svwu"); // agerr(AGPREV, "concentrate=true may not work correctly.\n"); UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7z5fb6iyowsosn1hiz7opeoc6"); // for (c = 1; c <= GD_n_cluster(g); c++) UNSUPPORTED("1d7lqtmagp5mwcbbkf4xawdog"); // rebuild_vlists(GD_clust(g)[c]); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/dotgen/decomp__c.java000066400000000000000000000603311340005343600224270ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.dotgen; import static gen.lib.cgraph.edge__c.aghead; import static gen.lib.cgraph.edge__c.agtail; import static gen.lib.cgraph.node__c.agfstnode; import static gen.lib.cgraph.node__c.agnxtnode; import static gen.lib.common.utils__c.UF_find; import static smetana.core.JUtils.EQ; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.GD_comp; import static smetana.core.Macro.GD_n_nodes; import static smetana.core.Macro.GD_nlist; import static smetana.core.Macro.GD_rankleader; import static smetana.core.Macro.ND_clust; import static smetana.core.Macro.ND_flat_in; import static smetana.core.Macro.ND_flat_out; import static smetana.core.Macro.ND_in; import static smetana.core.Macro.ND_mark; import static smetana.core.Macro.ND_next; import static smetana.core.Macro.ND_out; import static smetana.core.Macro.ND_prev; import static smetana.core.Macro.ND_rank; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agedge_s; import h.ST_Agnode_s; import h.ST_Agraph_s; import h.ST_elist; import h.ST_pointf; import smetana.core.Z; public class decomp__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 5kbimjtsi4ulxiyk2w1brj6py // static graph_t *G //private static Agraph_s G; //1 ca279jzn1n2k40bv7mz55ccx7 // static node_t *Last_node //private static Agnode_s Last_node; //1 5t6dmo5pbc1wdmxtabavdwyb2 // static char Cmark //private static char Cmark; //3 7ggrwt0f912kp1marrxdjq155 // static void begin_component(void) public static void begin_component() { ENTERING("7ggrwt0f912kp1marrxdjq155","begin_component"); try { Z.z().Last_node_decomp = null; GD_nlist(Z.z().G_decomp, null); } finally { LEAVING("7ggrwt0f912kp1marrxdjq155","begin_component"); } } //3 7icc6b2pvnj6te1yndbel47gg // static void add_to_component(node_t * n) public static void add_to_component(ST_Agnode_s n) { ENTERING("7icc6b2pvnj6te1yndbel47gg","add_to_component"); try { GD_n_nodes(Z.z().G_decomp, 1+GD_n_nodes(Z.z().G_decomp)); ND_mark(n, Z.z().Cmark); if (Z.z().Last_node_decomp!=null) { ND_prev(n, Z.z().Last_node_decomp); ND_next(Z.z().Last_node_decomp, n); } else { ND_prev(n, null); GD_nlist(Z.z().G_decomp, n); } Z.z().Last_node_decomp = n; ND_next(n, null); } finally { LEAVING("7icc6b2pvnj6te1yndbel47gg","add_to_component"); } } //3 5o8hxpr6ppi15pinuy79m7u04 // static void end_component(void) public static void end_component() { ENTERING("5o8hxpr6ppi15pinuy79m7u04","end_component"); try { int i; i = GD_comp(Z.z().G_decomp).size; GD_comp(Z.z().G_decomp).size = 1+GD_comp(Z.z().G_decomp).size; GD_comp(Z.z().G_decomp).reallocEmpty(GD_comp(Z.z().G_decomp).size); GD_comp(Z.z().G_decomp).setInList(i ,GD_nlist(Z.z().G_decomp)); } finally { LEAVING("5o8hxpr6ppi15pinuy79m7u04","end_component"); } } //3 c5u5lnfbu0pmlk6vsvyrdj8ep // static void search_component(graph_t * g, node_t * n) public static void search_component(ST_Agraph_s g, ST_Agnode_s n) { ENTERING("c5u5lnfbu0pmlk6vsvyrdj8ep","search_component"); try { int c, i; final ST_elist vec[] = new ST_elist[] {new ST_elist(),new ST_elist(),new ST_elist(),new ST_elist()}; ST_Agnode_s other; ST_Agedge_s e; add_to_component(n); vec[0].setStruct(ND_out(n)); vec[1].setStruct(ND_in(n)); vec[2].setStruct(ND_flat_out(n)); vec[3].setStruct(ND_flat_in(n)); for (c = 0; c <= 3; c++) { if (vec[c].listNotNull()) for (i = 0; (e = (ST_Agedge_s) vec[c].getFromList(i))!=null; i++) { if (EQ(other = aghead(e), n)) other = agtail(e); if ((ND_mark(other) != Z.z().Cmark) && (EQ(other, UF_find(other)))) search_component(g, other); } } } finally { LEAVING("c5u5lnfbu0pmlk6vsvyrdj8ep","search_component"); } } //3 2t7r964kqtl5qrl7i57i22tqy // void decompose(graph_t * g, int pass) public static void decompose(ST_Agraph_s g, int pass) { ENTERING("2t7r964kqtl5qrl7i57i22tqy","decompose"); try { ST_Agraph_s subg; ST_Agnode_s n, v; Z.z().G_decomp = g; if (++Z.z().Cmark == 0) Z.z().Cmark = 1; GD_n_nodes(g, 0); GD_comp(g).size = 0; for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) { v = n; if ((pass > 0) && (subg = ND_clust(v))!=null) v = (ST_Agnode_s) GD_rankleader(subg).plus(ND_rank(v)).getPtr(); else if (v != UF_find(v)) continue; if (ND_mark(v) != Z.z().Cmark) { begin_component(); search_component(g, v); end_component(); } } } finally { LEAVING("2t7r964kqtl5qrl7i57i22tqy","decompose"); } } } plantuml-1.2018.13+ds/src/gen/lib/dotgen/dotinit__c.java000066400000000000000000001306371340005343600226410ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.dotgen; import static gen.lib.cgraph.attr__c.agattr; import static gen.lib.cgraph.attr__c.agget; import static gen.lib.cgraph.edge__c.agfstout; import static gen.lib.cgraph.edge__c.aghead; import static gen.lib.cgraph.edge__c.agnxtout; import static gen.lib.cgraph.edge__c.agtail; import static gen.lib.cgraph.graph__c.agnnodes; import static gen.lib.cgraph.node__c.agfstnode; import static gen.lib.cgraph.node__c.agnxtnode; import static gen.lib.cgraph.obj__c.agraphof; import static gen.lib.cgraph.obj__c.agroot; import static gen.lib.cgraph.rec__c.agbindrec; import static gen.lib.cgraph.subg__c.agfstsubg; import static gen.lib.cgraph.subg__c.agnxtsubg; import static gen.lib.common.postproc__c.dotneato_postprocess; import static gen.lib.common.utils__c.common_init_edge; import static gen.lib.common.utils__c.common_init_node; import static gen.lib.common.utils__c.gv_nodesize; import static gen.lib.common.utils__c.late_int; import static gen.lib.common.utils__c.late_string; import static gen.lib.common.utils__c.mapbool; import static gen.lib.common.utils__c.setEdgeType; import static gen.lib.dotgen.aspect__c.setAspect; import static gen.lib.dotgen.class1__c.nonconstraint_edge; import static gen.lib.dotgen.compound__c.dot_compoundEdges; import static gen.lib.dotgen.dotsplines__c.dot_splines; import static gen.lib.dotgen.mincross__c.dot_mincross; import static gen.lib.dotgen.position__c.dot_position; import static gen.lib.dotgen.rank__c.dot_rank; import static gen.lib.dotgen.sameport__c.dot_sameports; import static gen.lib.pack.pack__c.getPack; import static gen.lib.pack.pack__c.getPackInfo; import static gen.lib.pack.pack__c.getPackModeInfo; import static smetana.core.JUtils.EQ; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtils.enumAsInt; import static smetana.core.JUtils.sizeof; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.AGRAPH; import static smetana.core.Macro.ED_count; import static smetana.core.Macro.ED_minlen; import static smetana.core.Macro.ED_showboxes; import static smetana.core.Macro.ED_weight; import static smetana.core.Macro.ED_xpenalty; import static smetana.core.Macro.GD_dotroot; import static smetana.core.Macro.GD_flags; import static smetana.core.Macro.GD_flip; import static smetana.core.Macro.N; import static smetana.core.Macro.ND_UF_size; import static smetana.core.Macro.ND_flat_in; import static smetana.core.Macro.ND_flat_out; import static smetana.core.Macro.ND_in; import static smetana.core.Macro.ND_other; import static smetana.core.Macro.ND_out; import static smetana.core.Macro.UNSUPPORTED; import static smetana.core.Macro.alloc_elist; import h.ST_Agedge_s; import h.ST_Agedgeinfo_t; import h.ST_Agnode_s; import h.ST_Agnodeinfo_t; import h.ST_Agraph_s; import h.ST_Agraphinfo_t; import h.ST_aspect_t; import h.ST_pack_info; import h.ST_pointf; import h.pack_mode; import smetana.core.CString; import smetana.core.Z; import smetana.core.__ptr__; public class dotinit__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 exy2l03ceq9zw4vf01bbd4d3o // typedef unsigned int packval_t //3 cmr94z4p2bdeiply1d4wrqwes // static void dot_init_subg(graph_t * g, graph_t* droot) public static void dot_init_subg(ST_Agraph_s g, ST_Agraph_s droot) { ENTERING("cmr94z4p2bdeiply1d4wrqwes","dot_init_subg"); try { ST_Agraph_s subg; if (NEQ(g, agroot(g))) agbindrec(g, new CString("Agraphinfo_t"), sizeof(ST_Agraphinfo_t.class), (N(0))); if (EQ(g, droot)) GD_dotroot(agroot(g), droot); for (subg = agfstsubg(g); subg!=null; subg = agnxtsubg(subg)) { dot_init_subg(subg, droot); } } finally { LEAVING("cmr94z4p2bdeiply1d4wrqwes","dot_init_subg"); } } //3 3hk92jbrfjmn6no3svn9jvje9 // static void dot_init_node(node_t * n) public static void dot_init_node(ST_Agnode_s n) { ENTERING("3hk92jbrfjmn6no3svn9jvje9","dot_init_node"); try { agbindrec(n, new CString("Agnodeinfo_t"), sizeof(ST_Agnodeinfo_t.class), (N(0))); //graph custom data common_init_node(n); gv_nodesize(n, GD_flip(agraphof(n))); alloc_elist(4, ND_in(n)); alloc_elist(4, ND_out(n)); alloc_elist(2, ND_flat_in(n)); alloc_elist(2, ND_flat_out(n)); alloc_elist(2, ND_other(n)); ND_UF_size(n, 1); } finally { LEAVING("3hk92jbrfjmn6no3svn9jvje9","dot_init_node"); } } //3 zbvhnhd78bppq8wb872847bj // static void dot_init_edge(edge_t * e) public static void dot_init_edge(ST_Agedge_s e) { ENTERING("zbvhnhd78bppq8wb872847bj","dot_init_edge"); try { CString tailgroup, headgroup; agbindrec(e, new CString("Agedgeinfo_t"), sizeof(ST_Agedgeinfo_t.class), (N(0))); //graph custom data common_init_edge(e); ED_weight(e, late_int(e, Z.z().E_weight, 1, 0)); tailgroup = late_string(agtail(e), Z.z().N_group, new CString("")); headgroup = late_string(aghead(e), Z.z().N_group, new CString("")); ED_count(e, 1); ED_xpenalty(e, 1); if (tailgroup.charAt(0)!='\0' && (tailgroup.isSame(headgroup))) { UNSUPPORTED("atjraranegsdjegclykesn5gx"); // (((Agedgeinfo_t*)(((Agobj_t*)(e))->data))->xpenalty) = 1000; UNSUPPORTED("5y0yunmvmngg67c9exlbn6jbk"); // (((Agedgeinfo_t*)(((Agobj_t*)(e))->data))->weight) *= 100; } if (nonconstraint_edge(e)) { UNSUPPORTED("54niz21n2omf1i9v67brdid9w"); // (((Agedgeinfo_t*)(((Agobj_t*)(e))->data))->xpenalty) = 0; UNSUPPORTED("2v5u5jdguhhn7vjihniotrml0"); // (((Agedgeinfo_t*)(((Agobj_t*)(e))->data))->weight) = 0; } ED_showboxes(e, late_int(e, Z.z().E_showboxes, 0, 0)); ED_minlen(e, late_int(e, Z.z().E_minlen, 1, 0)); } finally { LEAVING("zbvhnhd78bppq8wb872847bj","dot_init_edge"); } } //3 2ylyhz7macit0ts1hap2tg3wy // void dot_init_node_edge(graph_t * g) public static void dot_init_node_edge(ST_Agraph_s g) { ENTERING("2ylyhz7macit0ts1hap2tg3wy","dot_init_node_edge"); try { ST_Agnode_s n; ST_Agedge_s e; for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) dot_init_node(n); for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) { for (e = agfstout(g, n); e!=null; e = agnxtout(g, e)) dot_init_edge(e); } } finally { LEAVING("2ylyhz7macit0ts1hap2tg3wy","dot_init_node_edge"); } } //3 5z1h7gr0tgapjvuc2z9st9xjr // static void dot_cleanup_node(node_t * n) public static Object dot_cleanup_node(Object... arg) { UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void UNSUPPORTED("3wd33alc21mdt92sw3x9gl65j"); // dot_cleanup_node(node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bft238x0kn16j4rew2s49lf8p"); // free_list(ND_in(n)); UNSUPPORTED("9k0f5njfz83ho3jgj8a6l97ia"); // free_list(ND_out(n)); UNSUPPORTED("9hf5u4ow9x2bxsh5roh3klohe"); // free_list(ND_flat_out(n)); UNSUPPORTED("d5cejyb0j1nhixps76lgii0fr"); // free_list(ND_flat_in(n)); UNSUPPORTED("er7qgmylfnw39xn97jixe3cqp"); // free_list(ND_other(n)); UNSUPPORTED("dv63sk5dujcwfkf99o6ponzqm"); // free_label(ND_label(n)); UNSUPPORTED("5or6zu6ycx4zage9ggy1o9it4"); // free_label(ND_xlabel(n)); UNSUPPORTED("4wkmsp7365vb7u5fqtm2buotu"); // if (ND_shape(n)) UNSUPPORTED("2yujce4phniaiwg4fq8up6xu7"); // ND_shape(n)->fns->freefn(n); UNSUPPORTED("4zk1aro1ispxkab9ee4dd0tf"); // agdelrec(n, "Agnodeinfo_t"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5x42drpgjuyzb9oapi7osqxb6 // static void free_virtual_edge_list(node_t * n) public static Object free_virtual_edge_list(Object... arg) { UNSUPPORTED("2kwoaiz0pcpatrbztzebypz24"); // static void free_virtual_edge_list(node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("4johvk6fhfn8nimnwv1bayucm"); // for (i = ND_in(n).size - 1; i >= 0; i--) { UNSUPPORTED("dkwp8r3x5yxwt373copif99qc"); // e = ND_in(n).list[i]; UNSUPPORTED("d0cytt2j3orasq0977h5sdypp"); // delete_fast_edge(e); UNSUPPORTED("3ersod3eshpdnzwy1yb73olpy"); // free(e->base.data); UNSUPPORTED("7eb6ytlppce1o1ihl2yf1mb6w"); // free(e); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dyyfpe9giifeythxw1ecgc9gw"); // for (i = ND_out(n).size - 1; i >= 0; i--) { UNSUPPORTED("d0wu190s7vunqmaadd9r01j7m"); // e = ND_out(n).list[i]; UNSUPPORTED("d0cytt2j3orasq0977h5sdypp"); // delete_fast_edge(e); UNSUPPORTED("3ersod3eshpdnzwy1yb73olpy"); // free(e->base.data); UNSUPPORTED("7eb6ytlppce1o1ihl2yf1mb6w"); // free(e); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bzy6cpyjjzfeesjlq49c5sfmo // static void free_virtual_node_list(node_t * vn) public static Object free_virtual_node_list(Object... arg) { UNSUPPORTED("b8mii2q777xhhq7ugpswc15so"); // static void free_virtual_node_list(node_t * vn) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3lk7715piw6ktz28izcuw3l10"); // node_t *next_vn; UNSUPPORTED("cs50uo5tdqm5ri532weezud0q"); // while (vn) { UNSUPPORTED("1zc0twfsq0pvs72obqpqn3jt7"); // next_vn = ND_next(vn); UNSUPPORTED("6v1txca0lc0m7vffh6cxe7s0v"); // free_virtual_edge_list(vn); UNSUPPORTED("ar8qtrvshtnclyd1lwsud1fe1"); // if (ND_node_type(vn) == 1) { UNSUPPORTED("52z735rh4jv9he0idjly61jel"); // free_list(ND_out(vn)); UNSUPPORTED("2cx91nqjcw6sdd1j219nb29ty"); // free_list(ND_in(vn)); UNSUPPORTED("f2pq0qi224q8wspagt6qwoxdp"); // free(vn->base.data); UNSUPPORTED("3lo6egckclz8tk579663nqark"); // free(vn); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1jra8cgf1nhojwmj7gyucvoni"); // vn = next_vn; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 colq6urkwrm9hh0zggl873dla // static void dot_cleanup_graph(graph_t * g) public static Object dot_cleanup_graph(Object... arg) { UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void UNSUPPORTED("84r7i6e9lays55x1yan1d0nlp"); // dot_cleanup_graph(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("8uujemixuhlf040icq3zsh7j8"); // graph_t *subg; UNSUPPORTED("92vjk6rjnnnji7bcczz51lwfx"); // for (subg = agfstsubg(g); subg; subg = agnxtsubg(subg)) { UNSUPPORTED("ykczo4avgse9arffpd1plmme"); // dot_cleanup_graph(subg); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("12nbb17pw6fg2wwg5c7i800xv"); // if (GD_clust(g)) free (GD_clust(g)); UNSUPPORTED("cw69q4tfzxmrd72fi1vz2be1g"); // if (GD_rankleader(g)) free (GD_rankleader(g)); UNSUPPORTED("cnrd9322z9c4eqvr450ughbzh"); // free_list(GD_comp(g)); UNSUPPORTED("djox731ykith2qz2trtp7zgzf"); // if (GD_rank(g)) { UNSUPPORTED("1vkvarx8mfy1iq12oyq5rtzpa"); // for (i = GD_minrank(g); i <= GD_maxrank(g); i++) UNSUPPORTED("32lqmila03wshgx9x3686apbo"); // free(GD_rank(g)[i].av); UNSUPPORTED("dnv6plmiyr74l3u1aqc16qmiz"); // if (GD_minrank(g) == -1) UNSUPPORTED("b0hpil9jwq1zov1klvpd6vbnf"); // free(GD_rank(g)-1); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("eqir7eaetsm1anqchd3kb8q8t"); // free(GD_rank(g)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("58o9b8zmlqcq96deeorllidce"); // if (g != agroot(g)) UNSUPPORTED("f5hqyohefj8o12bvcv17xpswc"); // agdelrec(g,"Agraphinfo_t"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2uv40x0vx6nmbvld01reukyly // void dot_cleanup(graph_t * g) public static Object dot_cleanup(Object... arg) { UNSUPPORTED("a2tqiktifcbodk46i6x0ux9j1"); // void dot_cleanup(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("v8twirr9ihzxnb06d6x6nxrd"); // free_virtual_node_list(GD_nlist(g)); UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("5otoqd7o1zz8ni50urywr7yjy"); // gv_cleanup_edge(e); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("yis08tp9td0x00hxoxqopt6b"); // dot_cleanup_node(n); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2w88m44roqcqg67kuhg5k4agu"); // dot_cleanup_graph(g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4jt1p8taqjuk4atqpwbxkru3g // static void remove_from_rank (Agraph_t * g, Agnode_t* n) public static Object remove_from_rank(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("9axg5z61bd5rkf0cbubkto6eb"); // remove_from_rank (Agraph_t * g, Agnode_t* n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5v9scbkty9fkcyo8yw7jmkokj"); // Agnode_t* v = NULL; UNSUPPORTED("86gmm9qxyhkzst815hr54r1sp"); // int j, rk = ND_rank(n); UNSUPPORTED("7bstlpzg93apc08cfgp386p7m"); // for (j = 0; j < GD_rank(g)[rk].n; j++) { UNSUPPORTED("5oq2646mpw8p4gen80z8g8baz"); // v = GD_rank(g)[rk].v[j]; UNSUPPORTED("aby82dr89m0xbcj8mya7f9fvx"); // if (v == n) { UNSUPPORTED("5494ozi7uqin7n7xlbkqrsahd"); // for (j++; j < GD_rank(g)[rk].n; j++) { UNSUPPORTED("a4l7560unq1yw14pck0v0yo6x"); // GD_rank(g)[rk].v[j-1] = GD_rank(g)[rk].v[j]; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("8pdkxsqmvoce243jar5hwxl3u"); // GD_rank(g)[rk].n--; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("cytanc5i1hmu0ag0vz4awfpi"); // assert (v == n); /* if found */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 xgvyh3kinj6cbnknb5oo9qfr // static void removeFill (Agraph_t * g) public static Object removeFill(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("8asq16rjvm285smlce6dul5nq"); // removeFill (Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ci2zh69w6nhi0q816i1ixuy9k"); // Agnode_t* n; UNSUPPORTED("167at4ws3rrdv3znbvpsnb83o"); // Agnode_t* nxt; UNSUPPORTED("22j86kdb5hbziiedfsspj3ipn"); // Agraph_t* sg = agsubg (g, "_new_rank", 0); UNSUPPORTED("1pjx7ke9o4h5tgq0cs9jfui7j"); // if (!sg) return; UNSUPPORTED("5sms8ok354044bziyaq1kfv93"); // for (n = agfstnode(sg); n; n = nxt) { UNSUPPORTED("18crodqmo1f1apt7bwq0mv72m"); // nxt = agnxtnode(sg, n); UNSUPPORTED("227ays2g6u04e210i8wp3jntu"); // delete_fast_node (g, n); UNSUPPORTED("2tp9t78wzq032fbm3msk2gpfx"); // remove_from_rank (g, n); UNSUPPORTED("cyyixtb6lqfain86edffcd92b"); // dot_cleanup_node (n); UNSUPPORTED("3xjgsp211uvaug1aa3mvpdlnc"); // agdelnode(g, n); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9ar3yxaq5s0lagg5bw59suv8u"); // agdelsubg (g, sg); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 63o8ieaetc5apjocrd74fobt0 // static void attach_phase_attrs (Agraph_t * g, int maxphase) public static Object attach_phase_attrs(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("adogsvx2s8kkwixbfl53zj175"); // attach_phase_attrs (Agraph_t * g, int maxphase) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("28snkvv05tay2b94o220j0rkx"); // Agsym_t* rk = agattr(g,AGNODE,"rank",""); UNSUPPORTED("2mf6hpet62ccb0nfggxptz459"); // Agsym_t* order = agattr(g,AGNODE,"order",""); UNSUPPORTED("ci2zh69w6nhi0q816i1ixuy9k"); // Agnode_t* n; UNSUPPORTED("cf8w5z35zxww7q6yjin9lc9op"); // char buf[BUFSIZ]; UNSUPPORTED("7wq24g054kmx3aw25vk5ksj4"); // for (n = agfstnode(g); n; n = agnxtnode(g,n)) { UNSUPPORTED("16p5t5iyomfedg6du3xoszhzq"); // if (maxphase >= 1) { UNSUPPORTED("bwgz5xhm64nl5wtnj9vfs1rx7"); // sprintf(buf, "%d", ND_rank(n)); UNSUPPORTED("42xwkqdgcponmubqyxg876oo6"); // agxset(n,rk,buf); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("93x84236b3xx5glpnx5xseeg0"); // if (maxphase >= 2) { UNSUPPORTED("dt1ra0nrgwwdbm8fmxvgcz16x"); // sprintf(buf, "%d", ND_order(n)); UNSUPPORTED("5e6vrutroh3qimffd0rioyhnz"); // agxset(n,order,buf); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7t18nggek2s9vvb5opwqa8rwr // static void dotLayout(Agraph_t * g) public static void dotLayout(ST_Agraph_s g) { ENTERING("7t18nggek2s9vvb5opwqa8rwr","dotLayout"); try { ST_aspect_t aspect = new ST_aspect_t(); ST_aspect_t asp; int maxphase = late_int(g, (agattr(g,AGRAPH,new CString("phase"),null)), -1, 1); setEdgeType (g, (5 << 1)); asp = setAspect (g, aspect); dot_init_subg(g,g); dot_init_node_edge(g); do { dot_rank(g, asp); if (maxphase == 1) { attach_phase_attrs (g, 1); return; } if (aspect.badGraph!=0) { UNSUPPORTED("1yu5j8tk43i6jlmu8wk9jks15"); // agerr(AGWARN, "dot does not support the aspect attribute for disconnected graphs or graphs with clusters\n"); UNSUPPORTED("5uwp9z6jkv5uc30iyfszyg6dw"); // asp = NULL; UNSUPPORTED("28kbszyxsjoj03gb134ov4hag"); // aspect.nextIter = 0; } dot_mincross(g, (asp != null)); if (maxphase == 2) { attach_phase_attrs (g, 2); return; } dot_position(g, asp); if (maxphase == 3) { attach_phase_attrs (g, 2); /* positions will be attached on output */ return; } aspect.setInt("nPasses", aspect.nPasses -1); } while (aspect.nextIter!=0 && aspect.nPasses!=0); if ((GD_flags(g) & (1 << 4))!=0) removeFill (g); dot_sameports(g); dot_splines(g); if (mapbool(agget(g, new CString("compound")))) dot_compoundEdges(g); } finally { LEAVING("7t18nggek2s9vvb5opwqa8rwr","dotLayout"); } } //3 j18uqz16uc5895o8w92sc8us // static void initSubg (Agraph_t* sg, Agraph_t* g) public static Object initSubg(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("dxv1kymai2xe3m4wblwapgffu"); // initSubg (Agraph_t* sg, Agraph_t* g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3oolj8gqkndhoy95ebyjmjt0w"); // agbindrec(sg, "Agraphinfo_t", sizeof(Agraphinfo_t), NOT(0)); UNSUPPORTED("2um641xaifqq107czm0htblc3"); // GD_drawing(sg) = (layout_t*)zmalloc(sizeof(layout_t)); UNSUPPORTED("bfocldqmll6ddnmq3h3ci6njt"); // GD_drawing(sg)->quantum = GD_drawing(g)->quantum; UNSUPPORTED("7cnwfvm4lswn7kvucss74krd3"); // GD_drawing(sg)->dpi = GD_drawing(g)->dpi; UNSUPPORTED("7kbbs52ycpyuytqi61m5vme4c"); // GD_gvc(sg) = GD_gvc (g); UNSUPPORTED("8flpf5avt4eg89sc16bgp9v13"); // GD_charset(sg) = GD_charset (g); UNSUPPORTED("d9o7bxs9hl0r5ma0lt9oejmqv"); // GD_rankdir2(sg) = GD_rankdir2 (g); UNSUPPORTED("74762qecxnstp743fwt31hk0p"); // GD_nodesep(sg) = GD_nodesep(g); UNSUPPORTED("b29jhl6zjh8f8jqfb6okoixby"); // GD_ranksep(sg) = GD_ranksep(g); UNSUPPORTED("bctcse1zj9vx2p0in9p4jhso3"); // GD_fontnames(sg) = GD_fontnames(g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9pe0e6i01ks2zju1xjzgg39v1 // static void attachPos (Agraph_t* g) public static Object attachPos(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("d606brtp0hf4k8bamafqhu08b"); // attachPos (Agraph_t* g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8fmu9hadea4uw8fwzoexoxab"); // node_t* np; UNSUPPORTED("5cl2cj5wj7w1zr7qjww0s4cdf"); // double* ps = (double*)zmalloc((2*agnnodes(g))*sizeof(double)); UNSUPPORTED("73rfwkv8ws65l7qgnz7jw27gf"); // for (np = agfstnode(g); np; np = agnxtnode(g, np)) { UNSUPPORTED("7tbl6es7oks3vntqoetg24xa4"); // ND_pos(np) = ps; UNSUPPORTED("9qwq8ll4gb28hun94xos9i4ud"); // ps[0] = ((ND_coord(np).x)/(double)72); UNSUPPORTED("5z9ztec30pze3mzecneza61qq"); // ps[1] = ((ND_coord(np).y)/(double)72); UNSUPPORTED("aeuy5zibx9et1ncwcqwlr3s3m"); // ps += 2; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eufhyu2dccn1mleg8a43s9k2h // static void resetCoord (Agraph_t* g) public static Object resetCoord(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("caofcucw710wwaiwfz4650zsz"); // resetCoord (Agraph_t* g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7ds7ppzwt5kjihc3hp8q0ncyl"); // node_t* np = agfstnode(g); UNSUPPORTED("5s8nx20pwknmsow15z16muyab"); // double* sp = ND_pos(np); UNSUPPORTED("5u1fte9td0znzxeayi62ozq8a"); // double* ps = sp; UNSUPPORTED("73rfwkv8ws65l7qgnz7jw27gf"); // for (np = agfstnode(g); np; np = agnxtnode(g, np)) { UNSUPPORTED("8p3hwwbq7seyn0wpf7llgw1xd"); // ND_pos(np) = 0; UNSUPPORTED("a33fx4q39yal0dnv915x71zia"); // ND_coord(np).x = ((ps[0])*(double)72); UNSUPPORTED("avms8890ml5c9jclp66fpto3x"); // ND_coord(np).y = ((ps[1])*(double)72); UNSUPPORTED("aeuy5zibx9et1ncwcqwlr3s3m"); // ps += 2; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("btsriptlygrzlk6ojhvss234j"); // free (sp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 nedairhdof6qkmjjoh4h68zy // static void doDot (Agraph_t* g) public static void doDot(ST_Agraph_s g) { ENTERING("nedairhdof6qkmjjoh4h68zy","doDot"); try { ST_Agraph_s ccs[]; ST_Agraph_s sg; int ncc; int i; final ST_pack_info pinfo = new ST_pack_info(); int Pack = getPack(g, -1, 8); int mode = getPackModeInfo (g, enumAsInt(pack_mode.class, "l_undef"), pinfo); getPackInfo(g, enumAsInt(pack_mode.class, "l_node"), 8, pinfo); if ((mode == enumAsInt(pack_mode.class, "l_undef")) && (Pack < 0)) { /* No pack information; use old dot with components * handled during layout */ dotLayout(g); } else { UNSUPPORTED("952usp51fee2pbidl2frwpq2x"); // /* fill in default values */ UNSUPPORTED("7d8flcn5zht92nop46f168hf9"); // if (mode == l_undef) UNSUPPORTED("bf04f2a6do2dovxgq57ta3qz5"); // pinfo.mode = l_node; UNSUPPORTED("7l7lph3yd7o3jelejupsiytnc"); // else if (Pack < 0) UNSUPPORTED("7odp6lwv29g4nwpfvqt8hkmve"); // Pack = 8; UNSUPPORTED("au4kpvl0egq3dt8hlmqnad61o"); // pinfo.margin = Pack; UNSUPPORTED("6o6lvrnsp1zkqdkduwrfetrrm"); // pinfo.fixed = 0; UNSUPPORTED("7ijhbsssflu2oty986iwhi5u7"); // /* components using clusters */ UNSUPPORTED("axesx20t6oyprzdzjz5cwneq4"); // ccs = cccomps(g, &ncc, 0); UNSUPPORTED("edukq9g8egufczs6ja3h99k6a"); // if (ncc == 1) { UNSUPPORTED("aj3wrqm1ouyaocsn56geghko0"); // dotLayout(g); UNSUPPORTED("2pkescmk4qojc8cqt3wzo8jkp"); // } else if ((((Agraphinfo_t*)(((Agobj_t*)(g))->data))->drawing)->ratio_kind == R_NONE) { UNSUPPORTED("295yqzsqueggcx71mcuv1zy7t"); // pinfo.doSplines = 1; UNSUPPORTED("3rfcnwowz3h58n92j7igzwap0"); // for (i = 0; i < ncc; i++) { UNSUPPORTED("6n1wgj9rnpi5u0c1f6mo7hvdr"); // sg = ccs[i]; UNSUPPORTED("9f5l1z5fur3bn6wlzykztsrr5"); // initSubg (sg, g); UNSUPPORTED("boery4d5nv4jssiy0y3mf2yf7"); // dotLayout (sg); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ahr97rgrh96az7iroebb6p14f"); // attachPos (g); UNSUPPORTED("1eeqkm1855z53jwep9ukxptxa"); // packSubgraphs(ncc, ccs, g, &pinfo); UNSUPPORTED("5jevnxwr3ejh3o6i1n3b15oyz"); // resetCoord (g); UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("3dnz4esjw60s265perisqld8n"); // /* Not sure what semantics should be for non-trivial ratio UNSUPPORTED("9752lfn24j9vhkz6y8fvyvpop"); // * attribute with multiple components. UNSUPPORTED("cxv608avcmjij1ltc81ac9zp0"); // * One possibility is to layout nodes, pack, then apply the ratio UNSUPPORTED("71ykqx29qwldoh9wf4e85xh7u"); // * adjustment. We would then have to re-adjust all positions. UNSUPPORTED("29edlge3wqyp1gs0vymtr5700"); // */ UNSUPPORTED("aj3wrqm1ouyaocsn56geghko0"); // dotLayout(g); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cjjlbx1oxw3twss3vlotij507"); // for (i = 0; i < ncc; i++) { UNSUPPORTED("dc0uduk2687c8n6qn7y3y0aph"); // free ((((Agraphinfo_t*)(((Agobj_t*)(ccs[i]))->data))->drawing)); UNSUPPORTED("6lefivq8plsiwa47ucvy1ze1a"); // agdelete(g, ccs[i]); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5eru5cerydhchm7ojmgdlkv9y"); // free(ccs); } } finally { LEAVING("nedairhdof6qkmjjoh4h68zy","doDot"); } } //3 euvc3uoksq3e24augkwebfkcv // void dot_layout(Agraph_t * g) public static void dot_layout(ST_Agraph_s g) { ENTERING("euvc3uoksq3e24augkwebfkcv","dot_layout"); try { if (agnnodes(g)!=0) doDot (g); dotneato_postprocess(g); } finally { LEAVING("euvc3uoksq3e24augkwebfkcv","dot_layout"); } } //3 ca52dadcp7m8x0bqhaw4tvtaw // Agraph_t * dot_root (void* p) public static ST_Agraph_s dot_root(__ptr__ p) { ENTERING("ca52dadcp7m8x0bqhaw4tvtaw","dot_root"); try { return GD_dotroot(agroot(p)); } finally { LEAVING("ca52dadcp7m8x0bqhaw4tvtaw","dot_root"); } } } plantuml-1.2018.13+ds/src/gen/lib/dotgen/dotsplines__c.java000066400000000000000000003647431340005343600233620ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.dotgen; import static gen.lib.cgraph.edge__c.agfstout; import static gen.lib.cgraph.edge__c.aghead; import static gen.lib.cgraph.edge__c.agnxtout; import static gen.lib.cgraph.edge__c.agtail; import static gen.lib.cgraph.node__c.agfstnode; import static gen.lib.cgraph.node__c.agnxtnode; import static gen.lib.cgraph.obj__c.agraphof; import static gen.lib.common.memory__c.zmalloc; import static gen.lib.common.routespl__c.makeStraightEdge; import static gen.lib.common.routespl__c.routepolylines; import static gen.lib.common.routespl__c.routesplines; import static gen.lib.common.routespl__c.routesplinesinit; import static gen.lib.common.routespl__c.routesplinesterm; import static gen.lib.common.routespl__c.simpleSplineRoute; import static gen.lib.common.splines__c.add_box; import static gen.lib.common.splines__c.beginpath; import static gen.lib.common.splines__c.clip_and_install; import static gen.lib.common.splines__c.endpath; import static gen.lib.common.splines__c.getsplinepoints; import static gen.lib.common.splines__c.makeSelfEdge; import static gen.lib.common.utils__c.updateBB; import static gen.lib.dotgen.cluster__c.mark_lowclusters; import static smetana.core.JUtils.EQ; import static smetana.core.JUtils.LOG2; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtils.function; import static smetana.core.JUtils.qsort; import static smetana.core.JUtils.sizeof; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.ABS; import static smetana.core.Macro.AGSEQ; import static smetana.core.Macro.ALLOC_allocated_ST_Agedge_s; import static smetana.core.Macro.BETWEEN; import static smetana.core.Macro.ED_adjacent; import static smetana.core.Macro.ED_edge_type; import static smetana.core.Macro.ED_head_port; import static smetana.core.Macro.ED_label; import static smetana.core.Macro.ED_spl; import static smetana.core.Macro.ED_tail_port; import static smetana.core.Macro.ED_to_orig; import static smetana.core.Macro.ED_to_virt; import static smetana.core.Macro.ED_tree_index; import static smetana.core.Macro.GD_bb; import static smetana.core.Macro.GD_flags; import static smetana.core.Macro.GD_flip; import static smetana.core.Macro.GD_has_labels; import static smetana.core.Macro.GD_maxrank; import static smetana.core.Macro.GD_minrank; import static smetana.core.Macro.GD_nlist; import static smetana.core.Macro.GD_nodesep; import static smetana.core.Macro.GD_rank; import static smetana.core.Macro.GD_ranksep; import static smetana.core.Macro.MAKEFWDEDGE; import static smetana.core.Macro.MAX; import static smetana.core.Macro.MIN; import static smetana.core.Macro.M_PI; import static smetana.core.Macro.N; import static smetana.core.Macro.ND_alg; import static smetana.core.Macro.ND_clust; import static smetana.core.Macro.ND_coord; import static smetana.core.Macro.ND_flat_out; import static smetana.core.Macro.ND_ht; import static smetana.core.Macro.ND_in; import static smetana.core.Macro.ND_label; import static smetana.core.Macro.ND_lw; import static smetana.core.Macro.ND_mval; import static smetana.core.Macro.ND_next; import static smetana.core.Macro.ND_node_type; import static smetana.core.Macro.ND_order; import static smetana.core.Macro.ND_other; import static smetana.core.Macro.ND_out; import static smetana.core.Macro.ND_rank; import static smetana.core.Macro.ND_rw; import static smetana.core.Macro.NOT; import static smetana.core.Macro.NOTI; import static smetana.core.Macro.ROUND; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agedge_s; import h.ST_Agedgeinfo_t; import h.ST_Agedgepair_s; import h.ST_Agnode_s; import h.ST_Agraph_s; import h.ST_Ppoly_t; import h.ST_bezier; import h.ST_boxf; import h.ST_path; import h.ST_pathend_t; import h.ST_pointf; import h.ST_port; import h.ST_rank_t; import h.ST_spline_info_t; import h.ST_splines; import h.attr_state_t; import smetana.core.Memory; import smetana.core.Z; import smetana.core.__ptr__; public class dotsplines__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1vvsta5i8of59frav6uymguav // static inline boxf boxfof(double llx, double lly, double urx, double ury) public static ST_boxf boxfof(double llx, double lly, double urx, double ury) { // WARNING!! STRUCT return boxfof_w_(llx, lly, urx, ury).copy(); } private static ST_boxf boxfof_w_(double llx, double lly, double urx, double ury) { ENTERING("1vvsta5i8of59frav6uymguav","boxfof"); try { final ST_boxf b = new ST_boxf(); b.LL.x = llx; b.LL.y = lly; b.UR.x = urx; b.UR.y = ury; return b; } finally { LEAVING("1vvsta5i8of59frav6uymguav","boxfof"); } } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 8vvgiozsykdn0hhbvaem6lifn // static boxf boxes[1000] //private static __array_of_struct__ boxes = __array_of_struct__.malloc(boxf.class, 1000); //3 dobhmc46zwtvv8rg3ywntl91j // static edge_t* getmainedge(edge_t * e) public static ST_Agedge_s getmainedge(ST_Agedge_s e) { ENTERING("dobhmc46zwtvv8rg3ywntl91j","getmainedge"); try { ST_Agedge_s le = e; while (ED_to_virt(le)!=null) le = ED_to_virt(le); while (ED_to_orig(le)!=null) le = ED_to_orig(le); return le; } finally { LEAVING("dobhmc46zwtvv8rg3ywntl91j","getmainedge"); } } //3 ddeny5ht7w8b16ztj5zt840ld // static boolean spline_merge(node_t * n) public static boolean spline_merge(ST_Agnode_s n) { ENTERING("ddeny5ht7w8b16ztj5zt840ld","spline_merge"); try { return ((ND_node_type(n) == 1) && ((ND_in(n).size > 1) || (ND_out(n).size > 1))); } finally { LEAVING("ddeny5ht7w8b16ztj5zt840ld","spline_merge"); } } //3 36ofw2qfqlh5ci8gc8cfkqgg3 // static boolean swap_ends_p(edge_t * e) public static boolean swap_ends_p(ST_Agedge_s e) { ENTERING("36ofw2qfqlh5ci8gc8cfkqgg3","swap_ends_p"); try { while (ED_to_orig(e)!=null) e = ED_to_orig(e); if (ND_rank(aghead(e)) > ND_rank(agtail(e))) return false; if (ND_rank(aghead(e)) < ND_rank(agtail(e))) return NOT(false); if (ND_order(aghead(e)) >= ND_order(agtail(e))) return false; return NOT(false); } finally { LEAVING("36ofw2qfqlh5ci8gc8cfkqgg3","swap_ends_p"); } } //1 300wnvw9sndobgke752j9u139 // static splineInfo sinfo = /*static final __struct__ sinfo = JUtils.from(splineInfo.class); static { sinfo.setPtr("swapEnds", function(dotsplines__c.class, "swap_ends_p")); sinfo.setPtr("splineMerge", function(dotsplines__c.class, "spline_merge")); }*/ //3 3krohso3quojiv4fveh1en7o6 // int portcmp(port p0, port p1) public static int portcmp(final ST_port p0, final ST_port p1) { // WARNING!! STRUCT return portcmp_w_(p0.copy(), p1.copy()); } private static int portcmp_w_(final ST_port p0, final ST_port p1) { ENTERING("3krohso3quojiv4fveh1en7o6","portcmp"); try { int rv; if (p1.defined == 0) return (p0.defined!=0 ? 1 : 0); if (p0.defined == 0) return -1; rv = (int) (p0.p.x - p1.p.x); if (rv == 0) rv = (int) (p0.p.y - p1.p.y); return rv; } finally { LEAVING("3krohso3quojiv4fveh1en7o6","portcmp"); } } //3 10wbtt4gwnxgqutinpj4ymjpk // static void swap_bezier(bezier * old, bezier * new) public static void swap_bezier(ST_bezier.Array2 old, ST_bezier.Array2 new_) { ENTERING("10wbtt4gwnxgqutinpj4ymjpk","swap_bezier"); try { ST_pointf.Array list; ST_pointf.Array lp; ST_pointf.Array olp; int i, sz; sz = old.getStruct().size; list = new ST_pointf.Array(sz); lp = list; olp = old.getStruct().list.plus(sz - 1); for (i = 0; i < sz; i++) { /* reverse list of points */ lp.getStruct().___(olp.getStruct()); lp=lp.plus(1); olp=olp.plus(-1); } new_.setPtr("list", list); new_.setInt("size", sz); new_.setInt("sflag", old.getStruct().eflag); new_.setInt("eflag", old.getStruct().sflag); new_.setStruct("sp", old.getStruct().ep); new_.setStruct("ep", old.getStruct().sp); } finally { LEAVING("10wbtt4gwnxgqutinpj4ymjpk","swap_bezier"); } } //3 3256l3e2huarsy29dd97vqj85 // static void swap_spline(splines * s) public static void swap_spline(ST_splines s) { ENTERING("3256l3e2huarsy29dd97vqj85","swap_spline"); try { ST_bezier.Array2 list; ST_bezier.Array2 lp; ST_bezier.Array2 olp; int i, sz; sz = s.size; list = new ST_bezier.Array2(sz); lp = list; olp = s.list.plus(sz - 1); for (i = 0; i < sz; i++) { /* reverse and swap list of beziers */ swap_bezier(olp, lp); olp = olp.plus(-1); lp = lp.plus(1); } /* free old structures */ for (i = 0; i < sz; i++) Memory.free(((ST_bezier)s.list.get(i)).getPtr().list); Memory.free(s.list); s.list = (ST_bezier.Array2) list; } finally { LEAVING("3256l3e2huarsy29dd97vqj85","swap_spline"); } } //3 dgkssqjj566ifra0xy7m46qsb // static void edge_normalize(graph_t * g) public static void edge_normalize(ST_Agraph_s g) { ENTERING("dgkssqjj566ifra0xy7m46qsb","edge_normalize"); try { ST_Agedge_s e; ST_Agnode_s n; for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) { for (e = agfstout(g, n); e!=null; e = agnxtout(g, e)) { if ((Boolean)Z.z().sinfo.swapEnds.exe(e) && ED_spl(e)!=null) swap_spline(ED_spl(e)); } } } finally { LEAVING("dgkssqjj566ifra0xy7m46qsb","edge_normalize"); } } //3 bwzdgdea9suuagzueyw8ztx42 // static void resetRW (graph_t * g) public static Object resetRW(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("c4vqsmfolc1meewxoebfkyppx"); // resetRW (graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7ma9kdgag30w5ofv1niitxbro"); // node_t* n; UNSUPPORTED("7wq24g054kmx3aw25vk5ksj4"); // for (n = agfstnode(g); n; n = agnxtnode(g,n)) { UNSUPPORTED("b83f20tdode2lz5a49mhmn9ei"); // if (ND_other(n).list) { UNSUPPORTED("ez6pf4w4vi7z6fqq43v5i3gpv"); // double tmp = ND_rw(n); UNSUPPORTED("24qsh566odunv14qzj2zan7bz"); // ND_rw(n) = ND_mval(n); UNSUPPORTED("cgxuqwflawrd9e6dmnsh3sbwa"); // ND_mval(n) = tmp; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9co1bgu5603fx30juwb01faf // static void setEdgeLabelPos (graph_t * g) public static Object setEdgeLabelPos(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("7y94r9t4hf6d0ltbie4f323al"); // setEdgeLabelPos (graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7ma9kdgag30w5ofv1niitxbro"); // node_t* n; UNSUPPORTED("1o9j4rz3dizwsgefis1axd6uw"); // textlabel_t* l; UNSUPPORTED("cbzhyr6lytrowd5gxn3tg000a"); // /* place regular edge labels */ UNSUPPORTED("8g62mxpap4eeua2lkn9a1iosi"); // for (n = GD_nlist(g); n; n = ND_next(n)) { UNSUPPORTED("53rvntgqit26uu0ydhawavshp"); // if (ND_node_type(n) == 1) { UNSUPPORTED("7sijld2wh9ulkpkumhl6dqqaj"); // if (ND_alg(n)) { // label of non-adjacent flat edge UNSUPPORTED("5ccfgna84rl1jtgmuk8nbffqy"); // edge_t* fe = (edge_t*)ND_alg(n); UNSUPPORTED("8rofnso8jnaa77ukvfpwruvyx"); // assert ((l = ED_label(fe))); UNSUPPORTED("ak1kh1v4u9s5kof1svwbc6ssr"); // l->pos = ND_coord(n); UNSUPPORTED("9ehteylkrnipypq5s9c6jjm67"); // l->set = NOT(0); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("15c8rehrm31gtqtwrj9r863k5"); // else if ((l = ND_label(n))) {// label of regular edge UNSUPPORTED("3i64wd6mr21h7x0hadumabd5r"); // place_vnlabel(n); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("mlknwb70zhu4paqbncp6enq9"); // if (l) updateBB(g, l); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6agx6m2qof9lg57co232lwakj // static void _dot_splines(graph_t * g, int normalize) static void _dot_splines(ST_Agraph_s g, int normalize) { ENTERING("6agx6m2qof9lg57co232lwakj","_dot_splines"); try { int i, j, k, n_nodes, n_edges, ind, cnt; ST_Agnode_s n; final ST_Agedgeinfo_t fwdedgeai = new ST_Agedgeinfo_t(), fwdedgebi = new ST_Agedgeinfo_t(); final ST_Agedgepair_s fwdedgea = new ST_Agedgepair_s(), fwdedgeb = new ST_Agedgepair_s(); ST_Agedge_s e, e0, e1, ea, eb, le0, le1; ST_Agedge_s.ArrayOfStar edges; ST_path P; final ST_spline_info_t sd = new ST_spline_info_t(); int et = (GD_flags(g) & (7 << 1)); fwdedgea.out.base.setPtr("data", fwdedgeai); fwdedgeb.out.base.setPtr("data", fwdedgebi); if (et == (0 << 1)) return; if (et == (2 << 1)) { resetRW (g); if ((GD_has_labels(g) & (1 << 0))!=0) { UNSUPPORTED("4k888z8ymdp2b653twxc1ugbu"); // agerr (AGWARN, "edge labels with splines=curved not supported in dot - use xlabels\n"); } for (n = agfstnode (g); n!=null; n = agnxtnode(g, n)) { for (e = agfstout(g, n); e!=null; e = agnxtout(g,e)) { makeStraightEdge(g, e, et, Z.z().sinfo); } } UNSUPPORTED("46btiag50nczzur103eqhjcup"); // goto finish; } mark_lowclusters(g); if (routesplinesinit()!=0) return; P = (ST_path) zmalloc(sizeof(ST_path.class)); /* FlatHeight = 2 * GD_nodesep(g); */ sd.setInt("Splinesep", GD_nodesep(g) / 4); sd.setInt("Multisep", GD_nodesep(g)); edges = new ST_Agedge_s.ArrayOfStar(128); /* compute boundaries and list of splines */ sd.setInt("RightBound", 0); sd.setInt("LeftBound", 0); n_edges = n_nodes = 0; for (i = GD_minrank(g); i <= GD_maxrank(g); i++) { n_nodes += GD_rank(g).get(i).n; if ((n = (ST_Agnode_s) GD_rank(g).get(i).v.get(0))!=null) sd.setInt("LeftBound", (int)MIN(sd.LeftBound, (ND_coord(n).x - ND_lw(n)))); if (GD_rank(g).get(i).n!=0 && (n = (ST_Agnode_s) GD_rank(g).get(i).v.plus(GD_rank(g).get(i).n - 1).getPtr())!=null) sd.setInt("RightBound", (int)MAX(sd.RightBound, (ND_coord(n).x + ND_rw(n)))); sd.setInt("LeftBound", sd.LeftBound - 16); sd.setInt("RightBound", sd.RightBound + 16); for (j = 0; j < GD_rank(g).get(i).n; j++) { n = (ST_Agnode_s) GD_rank(g).get(i).v.get(j); /* if n is the label of a flat edge, copy its position to * the label. */ if (ND_alg(n)!=null) { ST_Agedge_s fe = (ST_Agedge_s) ND_alg(n); assert (ED_label(fe)!=null); ED_label(fe).setStruct("pos", ND_coord(n)); ED_label(fe).set= NOTI(false); } if ((ND_node_type(n) != 0) && ((Boolean)Z.z().sinfo.splineMerge.exe(n) == false)) continue; for (k = 0; (e = (ST_Agedge_s) ND_out(n).getFromList(k))!=null; k++) { if ((ED_edge_type(e) == 4) || (ED_edge_type(e) == 6)) continue; setflags(e, 1, 16, 64); edges.plus(n_edges++).setPtr(e); if (n_edges % 128 == 0) edges = ALLOC_allocated_ST_Agedge_s (edges, n_edges + 128); } if (ND_flat_out(n).listNotNull()) for (k = 0; (e = (ST_Agedge_s) ND_flat_out(n).getFromList(k))!=null; k++) { setflags(e, 2, 0, 128); edges.plus(n_edges++).setPtr(e); if (n_edges % 128 == 0) edges = ALLOC_allocated_ST_Agedge_s (edges, n_edges + 128); } if (ND_other(n).listNotNull()) { /* In position, each node has its rw stored in mval and, * if a node is part of a loop, rw may be increased to * reflect the loops and associated labels. We restore * the original value here. */ if (ND_node_type(n) == 0) { double tmp = ND_rw(n); ND_rw(n, ND_mval(n)); ND_mval(n, tmp); } for (k = 0; (e = (ST_Agedge_s) ND_other(n).getFromList(k))!=null; k++) { setflags(e, 0, 0, 128); edges.plus(n_edges++).setPtr(e); if (n_edges % 128 == 0) edges = ALLOC_allocated_ST_Agedge_s (edges, n_edges + 128); } } } } /* Sort so that equivalent edges are contiguous. * Equivalence should basically mean that 2 edges have the * same set {(tailnode,tailport),(headnode,headport)}, or * alternatively, the edges would be routed identically if * routed separately. */ LOG2("_dot_splines::n_edges="+n_edges); qsort(edges, n_edges, function(dotsplines__c.class, "edgecmp")); /* FIXME: just how many boxes can there be? */ P.boxes = ST_boxf.malloc(n_nodes + 20 * 2 * 9); sd.Rank_box = ST_boxf.malloc(i); if (et == (1 << 1)) { /* place regular edge labels */ for (n = GD_nlist(g); n!=null; n = ND_next(n)) { if ((ND_node_type(n) == 1) && (ND_label(n)!=null)) { place_vnlabel(n); } } } for (i = 0; i < n_edges;) { boolean havePorts; ind = i; le0 = getmainedge((e0 = (ST_Agedge_s) edges.plus(i++).getPtr())); if (ED_tail_port(e0).defined!=0 || ED_head_port(e0).defined!=0) { havePorts = NOT(false); ea = e0; } else { havePorts = false; ea = le0; } if ((ED_tree_index(ea) & 32)!=0) { MAKEFWDEDGE(fwdedgea.out, ea); ea = (ST_Agedge_s) fwdedgea.out; } for (cnt = 1; i < n_edges; cnt++, i++) { if (NEQ(le0, (le1 = getmainedge((e1 = (ST_Agedge_s) edges.get(i)))))) break; if (ED_adjacent(e0)!=0) continue; /* all flat adjacent edges at once */ if (ED_tail_port(e1).defined!=0 || ED_head_port(e1).defined!=0) { if (N(havePorts)) break; else eb = e1; } else { if (havePorts) break; else eb = le1; } if ((ED_tree_index(eb) & 32)!=0) { MAKEFWDEDGE(fwdedgeb.out, eb); eb = (ST_Agedge_s) fwdedgeb.out; } if (portcmp(ED_tail_port(ea), ED_tail_port(eb))!=0) break; if (portcmp(ED_head_port(ea), ED_head_port(eb))!=0) break; if ((ED_tree_index(e0) & 15) == 2 && NEQ(ED_label(e0), ED_label(e1))) break; if ((ED_tree_index(edges.get(i)) & 64)!=0) /* Aha! -C is on */ break; } if (EQ(agtail(e0), aghead(e0))) { int b, sizey, r; n = agtail(e0); r = ND_rank(n); if (r == GD_maxrank(g)) { if (r > 0) sizey = (int) (ND_coord(GD_rank(g).get(r-1).v.get(0)).y - ND_coord(n).y); else sizey = (int) ND_ht(n); } else if (r == GD_minrank(g)) { sizey = (int)(ND_coord(n).y - ND_coord(GD_rank(g).get(r+1).v.get(0)).y); } else { int upy = (int) (ND_coord(GD_rank(g).get(r-1).v.get(0)).y - ND_coord(n).y); int dwny = (int) (ND_coord(n).y - ND_coord(GD_rank(g).get(r+1).v.get(0)).y); sizey = MIN(upy, dwny); } makeSelfEdge(P, edges, ind, cnt, sd.Multisep, sizey/2, Z.z().sinfo); for (b = 0; b < cnt; b++) { e = (ST_Agedge_s) edges.plus(ind+b).getPtr(); if (ED_label(e)!=null) updateBB(g, ED_label(e)); } } else if (ND_rank(agtail(e0)) == ND_rank(aghead(e0))) { make_flat_edge(g, sd, P, edges, ind, cnt, et); } else make_regular_edge(g, sd, P, edges, ind, cnt, et); } /* place regular edge labels */ for (n = GD_nlist(g); n!=null; n = ND_next(n)) { if ((ND_node_type(n) == 1) && (ND_label(n))!=null) { place_vnlabel(n); updateBB(g, ND_label(n)); } } /* normalize splines so they always go from tail to head */ /* place_portlabel relies on this being done first */ if (normalize!=0) edge_normalize(g); finish : /* vladimir: place port labels */ /* FIX: head and tail labels are not part of cluster bbox */ if ((Z.z().E_headlabel!=null || Z.z().E_taillabel!=null) && (Z.z().E_labelangle!=null || Z.z().E_labeldistance!=null)) { UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("54jm4bbgzyl0txauszo1mappu"); // if (E_headlabel) { UNSUPPORTED("dw8yu56thd0wpolmtby8r5doo"); // for (e = agfstin(g, n); e; e = agnxtin(g, e)) UNSUPPORTED("4h39n1vkqyqszgmg2o7d2pw7z"); // if (ED_head_label(AGMKOUT(e))) { UNSUPPORTED("ex7h0x60y0l4oi3dsqg7sfk1t"); // place_portlabel(AGMKOUT(e), NOT(0)); UNSUPPORTED("9u960ou1xs0cdsdn0qe8a13ye"); // updateBB(g, ED_head_label(AGMKOUT(e))); UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("cqi8doquf015wo1bw8on36qct"); // if (E_taillabel) { UNSUPPORTED("6gnq0yj07udpwxbuc86k8yysb"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("ejz8yrj8mh0l0gdl5zeaht1ex"); // if (ED_tail_label(e)) { UNSUPPORTED("9pdg7peez077ldl84zfh73o1w"); // if (place_portlabel(e, 0)) UNSUPPORTED("6jup6d9gfnx4b1wptmtw09n6w"); // updateBB(g, ED_tail_label(e)); UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } } /* end vladimir */ if (et != (2 << 1)) { Memory.free(edges); Memory.free(P.boxes); Memory.free(P); Memory.free(sd.Rank_box); routesplinesterm(); } Z.z().State = 1; Z.z().EdgeLabelsDone = 1; } finally { LEAVING("6agx6m2qof9lg57co232lwakj","_dot_splines"); } } //3 5n306wbdfjbfnimdo9lg6jjaa // void dot_splines(graph_t * g) public static void dot_splines(ST_Agraph_s g) { ENTERING("5n306wbdfjbfnimdo9lg6jjaa","dot_splines"); try { _dot_splines (g, 1); } finally { LEAVING("5n306wbdfjbfnimdo9lg6jjaa","dot_splines"); } } //3 8jja9ukzsq8tlb9yy7uzavg91 // static void place_vnlabel(node_t * n) public static void place_vnlabel(ST_Agnode_s n) { ENTERING("8jja9ukzsq8tlb9yy7uzavg91","place_vnlabel"); try { final ST_pointf dimen = new ST_pointf(); double width; ST_Agedge_s e; if (ND_in(n).size == 0) return; /* skip flat edge labels here */ for (e = (ST_Agedge_s) ND_out(n).getFromList(0); ED_edge_type(e) != 0; e = ED_to_orig(e)); dimen.___(ED_label(e).dimen); width = GD_flip(agraphof(n))!=0 ? dimen.y : dimen.x; ED_label(e).pos.setDouble("x", ND_coord(n).x + width / 2.0); ED_label(e).pos.setDouble("y", ND_coord(n).y); ED_label(e).set= NOTI(false); } finally { LEAVING("8jja9ukzsq8tlb9yy7uzavg91","place_vnlabel"); } } //3 598jn37hjkm7j0kcg2nmdvlwq // static void setflags(edge_t *e, int hint1, int hint2, int f3) public static void setflags(ST_Agedge_s e, int hint1, int hint2, int f3) { ENTERING("598jn37hjkm7j0kcg2nmdvlwq","setflags"); try { int f1, f2; if (hint1 != 0) f1 = hint1; else { if (EQ(agtail(e), aghead(e))) if (ED_tail_port(e).defined!=0 || ED_head_port(e).defined!=0) f1 = 4; else f1 = 8; else if (ND_rank(agtail(e)) == ND_rank(aghead(e))) f1 = 2; else f1 = 1; } if (hint2 != 0) f2 = hint2; else { if (f1 == 1) f2 = (ND_rank(agtail(e)) < ND_rank(aghead(e))) ? 16 : 32; else if (f1 == 2) f2 = (ND_order(agtail(e)) < ND_order(aghead(e))) ? 16 : 32; else /* f1 == SELF*EDGE */ f2 = 16; } ED_tree_index(e, (f1 | f2 | f3)); } finally { LEAVING("598jn37hjkm7j0kcg2nmdvlwq","setflags"); } } //3 1nf1s6wkn35ptjn884ii56fh // static int edgecmp(edge_t** ptr0, edge_t** ptr1) public static int edgecmp(__ptr__ ptr0, __ptr__ ptr1) { ENTERING("1nf1s6wkn35ptjn884ii56fh","edgecmp"); try { final ST_Agedgeinfo_t fwdedgeai = new ST_Agedgeinfo_t(), fwdedgebi = new ST_Agedgeinfo_t(); final ST_Agedgepair_s fwdedgea = new ST_Agedgepair_s(), fwdedgeb = new ST_Agedgepair_s(); ST_Agedge_s e0, e1, ea, eb, le0, le1; int et0, et1, v0, v1, rv; double t0, t1; fwdedgea.out.base.setPtr("data", fwdedgeai); fwdedgeb.out.base.setPtr("data", fwdedgebi); e0 = (ST_Agedge_s) ptr0.getPtr(); e1 = (ST_Agedge_s) ptr1.getPtr(); et0 = ED_tree_index(e0) & 15; et1 = ED_tree_index(e1) & 15; if (et0 != et1) return (et1 - et0); le0 = getmainedge(e0); le1 = getmainedge(e1); t0 = ND_rank(agtail(le0)) - ND_rank(aghead(le0)); t1 = ND_rank(agtail(le1)) - ND_rank(aghead(le1)); v0 = ABS((int)t0); /* ugly, but explicit as to how we avoid equality tests on fp numbers */ v1 = ABS((int)t1); if (v0 != v1) return (v0 - v1); t0 = ND_coord(agtail(le0)).x - ND_coord(aghead(le0)).x; t1 = ND_coord(agtail(le1)).x - ND_coord(aghead(le1)).x; v0 = ABS((int)t0); v1 = ABS((int)t1); if (v0 != v1) return (v0 - v1); /* This provides a cheap test for edges having the same set of endpoints. */ if (AGSEQ(le0) != AGSEQ(le1)) return (AGSEQ(le0) - AGSEQ(le1)); ea = (ED_tail_port(e0).defined!=0 || ED_head_port(e0).defined!=0) ? e0 : le0; if ((ED_tree_index(ea) & 32)!=0) { MAKEFWDEDGE(fwdedgea.out, ea); ea = (ST_Agedge_s) fwdedgea.out; } eb = (ED_tail_port(e1).defined!=0 || ED_head_port(e1).defined!=0) ? e1 : le1; if ((ED_tree_index(eb) & 32)!=0) { MAKEFWDEDGE(fwdedgeb.out, eb); eb = (ST_Agedge_s) fwdedgeb.out; } if ((rv = portcmp(ED_tail_port(ea), ED_tail_port(eb)))!=0) return rv; if ((rv = portcmp(ED_head_port(ea), ED_head_port(eb)))!=0) return rv; et0 = ED_tree_index(e0) & 192; et1 = ED_tree_index(e1) & 192; if (et0 != et1) return (et0 - et1); if (et0 == 2 && NEQ(ED_label(e0), ED_label(e1))) UNSUPPORTED("return (int) (ED_label(e0) - ED_label(e1))"); return (AGSEQ(e0) - AGSEQ(e1)); } finally { LEAVING("1nf1s6wkn35ptjn884ii56fh","edgecmp"); } } //3 djq8tev8thshox7bob64vi0tf // static void setState (graph_t* auxg, attr_state_t* attr_state) public static Object setState(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("7ovh16jwyjc9wtu0rfxnlws9r"); // setState (graph_t* auxg, attr_state_t* attr_state) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1ko3jd94xpoli03tk73ardy84"); // /* save state */ UNSUPPORTED("3ibgalw3fchq736xx1ozbvh27"); // attr_state->E_constr = E_constr; UNSUPPORTED("e9yatqfh98i71w3v1jcx1agi9"); // attr_state->E_samehead = E_samehead; UNSUPPORTED("57rkvwknyk9urdhck24todttg"); // attr_state->E_sametail = E_sametail; UNSUPPORTED("4y5i0lqx0ze46l88ehzdh2x1z"); // attr_state->E_weight = E_weight; UNSUPPORTED("3yryq1e1hmam5hqciu93ywjj2"); // attr_state->E_minlen = E_minlen; UNSUPPORTED("1n91lxusirg2v758j4v9o9hcg"); // attr_state->E_fontcolor = E_fontcolor; UNSUPPORTED("1ssj9fq3o1sm21ggttj4r3mo0"); // attr_state->E_fontname = E_fontname; UNSUPPORTED("45ntpz46gx7j2hfu2r6ceescw"); // attr_state->E_fontsize = E_fontsize; UNSUPPORTED("6vxi0wxhhjg065ishw2vebsqv"); // attr_state->E_headclip = E_headclip; UNSUPPORTED("aqu557ovwt2k4j894b5p9dssa"); // attr_state->E_headlabel = E_headlabel; UNSUPPORTED("6shb2vynxxgck2x8e8oz63ye"); // attr_state->E_label = E_label; UNSUPPORTED("84eq22wy1zlxwofo8cwwbddbb"); // attr_state->E_label_float = E_label_float; UNSUPPORTED("czndn89byb90jujvx2sudb6d6"); // attr_state->E_labelfontcolor = E_labelfontcolor; UNSUPPORTED("385rz6p4kom75dmgvepqmxlrq"); // attr_state->E_labelfontname = E_labelfontname; UNSUPPORTED("397fs88n9xnlcqo4z8at7j66s"); // attr_state->E_labelfontsize = E_labelfontsize; UNSUPPORTED("f2nu6sif9lmukmlj2um7gnxns"); // attr_state->E_tailclip = E_tailclip; UNSUPPORTED("3ctu9gb3ojun885w9ymnch0er"); // attr_state->E_taillabel = E_taillabel; UNSUPPORTED("qiafl7ru9bq54qol6lov5rgm"); // attr_state->E_xlabel = E_xlabel; UNSUPPORTED("ap9hj5xd4dfmwws8egpgvk5ti"); // attr_state->N_height = N_height; UNSUPPORTED("ctvaloqgyn45in0jdkkvdpf6g"); // attr_state->N_width = N_width; UNSUPPORTED("75ey3ud905155tfmw9zapeawj"); // attr_state->N_shape = N_shape; UNSUPPORTED("19bnzpge8znnwzna8ub6otjze"); // attr_state->N_style = N_style; UNSUPPORTED("6242e8neunx553zs7jb52e2i3"); // attr_state->N_fontsize = N_fontsize; UNSUPPORTED("1rjcall3fixy49t0s4bcdgoho"); // attr_state->N_fontname = N_fontname; UNSUPPORTED("1bj2vtyz3gettntmktngyjv02"); // attr_state->N_fontcolor = N_fontcolor; UNSUPPORTED("1mj5q5f1eft9otmsuyiadl54z"); // attr_state->N_label = N_label; UNSUPPORTED("5lkkhmgpur2i2arkoxbpb8lse"); // attr_state->N_xlabel = N_xlabel; UNSUPPORTED("3c9tzymzuj2wkftyepa2epzur"); // attr_state->N_showboxes = N_showboxes; UNSUPPORTED("9urvz64idw6yth9938puegx1d"); // attr_state->N_ordering = N_ordering; UNSUPPORTED("9wqn3lttroloie8t4urgw9dwl"); // attr_state->N_sides = N_sides; UNSUPPORTED("7aovr97vmuic712quqt6n4gkd"); // attr_state->N_peripheries = N_peripheries; UNSUPPORTED("dc9knw1esnnr7j77so6k8zblk"); // attr_state->N_skew = N_skew; UNSUPPORTED("eoium8gqo2cgsjv87c20ixx5k"); // attr_state->N_orientation = N_orientation; UNSUPPORTED("aq6is6cduc5wvclu1hjacuyk0"); // attr_state->N_distortion = N_distortion; UNSUPPORTED("3w13k0cqxkk8gniu6ydy3qii6"); // attr_state->N_fixed = N_fixed; UNSUPPORTED("32p2drvqb6h9n0118du912gv0"); // attr_state->N_nojustify = N_nojustify; UNSUPPORTED("e2hsbuo1kd2fghtopje0lfp2b"); // attr_state->N_group = N_group; UNSUPPORTED("74w0uzukx3derbgpgi60dzyyg"); // attr_state->State = State; UNSUPPORTED("936fjorw02qiz50qpj7y6en2m"); // attr_state->G_ordering = G_ordering; UNSUPPORTED("2l0v2tecrgmws3to99rcimxzm"); // E_constr = NULL; UNSUPPORTED("93dfyiz6pxq59j6ujx97hdd0c"); // E_samehead = agattr(auxg,AGEDGE, "samehead", NULL); UNSUPPORTED("7kovxag1wgr874sgxwpz7ls6a"); // E_sametail = agattr(auxg,AGEDGE, "sametail", NULL); UNSUPPORTED("295z0g5v309fbrrdopfy66rf4"); // E_weight = agattr(auxg,AGEDGE, "weight", NULL); UNSUPPORTED("3uo53r92k5fuzy9gb2i1k7612"); // if (!E_weight) UNSUPPORTED("4oq1f4cnu0hk0xm34kx9m79le"); // E_weight = agattr (auxg,AGEDGE,"weight", ""); UNSUPPORTED("aoqamti27wg8hvpyho5xmdc9"); // E_minlen = NULL; UNSUPPORTED("8jzaf5sdfgbpqx8y0squconvr"); // E_fontcolor = NULL; UNSUPPORTED("25csaeghkl1rd5cha609fm2vm"); // E_fontname = (agattr(auxg,AGEDGE,"fontname",NULL)); UNSUPPORTED("d9ivs4hv5xdhsxwh8oz1dri02"); // E_fontsize = (agattr(auxg,AGEDGE,"fontsize",NULL)); UNSUPPORTED("djpd3vd7suatk0n76mplhzog4"); // E_headclip = (agattr(auxg,AGEDGE,"headclip",NULL)); UNSUPPORTED("8fy5jrgw22q72jvvjmqh6ajjb"); // E_headlabel = NULL; UNSUPPORTED("93a15wlfj0tmijeeyd1qb12v6"); // E_label = (agattr(auxg,AGEDGE,"label",NULL)); UNSUPPORTED("2l6gmyi1pz4cv9i29k4u3mpjf"); // E_label_float = (agattr(auxg,AGEDGE,"label_float",NULL)); UNSUPPORTED("dcp5qxpq37yer9cipch7q2oc4"); // E_labelfontcolor = NULL; UNSUPPORTED("133ni5qwdb96od0wcma7hj05h"); // E_labelfontname = (agattr(auxg,AGEDGE,"labelfontname",NULL)); UNSUPPORTED("cq9n4kf29qgqy1ll6gandld7f"); // E_labelfontsize = (agattr(auxg,AGEDGE,"labelfontsize",NULL)); UNSUPPORTED("2l9pqb0sug1sr8dlojy1gvik0"); // E_tailclip = (agattr(auxg,AGEDGE,"tailclip",NULL)); UNSUPPORTED("9a173t42nyif5cx0ee6c4qos2"); // E_taillabel = NULL; UNSUPPORTED("pu58ta2e8cevjt84brxtyecs"); // E_xlabel = NULL; UNSUPPORTED("2p7j1fghgsib6tkic2cc1t601"); // N_height = (agattr(auxg,AGNODE,"height",NULL)); UNSUPPORTED("49eok3z6e4piel4m6f7rk8fb6"); // N_width = (agattr(auxg,AGNODE,"width",NULL)); UNSUPPORTED("8cyc904mtcb0zlwybzrqxujrv"); // N_shape = (agattr(auxg,AGNODE,"shape",NULL)); UNSUPPORTED("1ggb495lty2zumaw3qh2d3ssd"); // N_style = NULL; UNSUPPORTED("6hcb194pxn8upijardzdy3v2a"); // N_fontsize = (agattr(auxg,AGNODE,"fontsize",NULL)); UNSUPPORTED("e1cg6m56w3uwo3m2dfdh71o5x"); // N_fontname = (agattr(auxg,AGNODE,"fontname",NULL)); UNSUPPORTED("1gjzz1tv51zd3vsgyc6b8dfdz"); // N_fontcolor = NULL; UNSUPPORTED("42y8wmut30tkdxrxdvh5v8xtz"); // N_label = (agattr(auxg,AGNODE,"label",NULL)); UNSUPPORTED("7jni9lzv0nagk8mnil6vsgzpt"); // N_xlabel = NULL; UNSUPPORTED("5hshk2a2mwuk7cjxsc4mzky7g"); // N_showboxes = NULL; UNSUPPORTED("1j63bq1sarpj53iwvo4ynyeck"); // N_ordering = (agattr(auxg,AGNODE,"ordering",NULL)); UNSUPPORTED("7yaoaugb8cqh7ksl8w4i4utlv"); // N_sides = (agattr(auxg,AGNODE,"sides",NULL)); UNSUPPORTED("15x8xrchzah7wcc5ukej42hut"); // N_peripheries = (agattr(auxg,AGNODE,"peripheries",NULL)); UNSUPPORTED("dcu49fws0uvo8falspy1lno4k"); // N_skew = (agattr(auxg,AGNODE,"skew",NULL)); UNSUPPORTED("bvjg1ch1pmuvfhvf5ubyrqhl3"); // N_orientation = (agattr(auxg,AGNODE,"orientation",NULL)); UNSUPPORTED("b67lzfds2wabbxqa4qaoj0iv8"); // N_distortion = (agattr(auxg,AGNODE,"distortion",NULL)); UNSUPPORTED("yet2s8h61hoih7vba5lhvbn"); // N_fixed = (agattr(auxg,AGNODE,"fixed",NULL)); UNSUPPORTED("dv9ccs2r6bgkfuzvquyym1z1k"); // N_nojustify = NULL; UNSUPPORTED("7kwmsq3m3f4oe4jyi2hzkq544"); // N_group = NULL; UNSUPPORTED("3lqtt3u3nf2945mjpkjcw6s48"); // G_ordering = (agattr(auxg,AGRAPH,"ordering",NULL)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 14hhte1l3zo45pzop5ugwahiv // static graph_t* cloneGraph (graph_t* g, attr_state_t* attr_state) public static Object cloneGraph(Object... arg) { UNSUPPORTED("9bkg8lvj5zr49zg08g7iijeg0"); // static graph_t* UNSUPPORTED("4uq8e6159vvwjuygnnrtonzjr"); // cloneGraph (graph_t* g, attr_state_t* attr_state) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("d4lkyrfdivg76lnwroshuwy1r"); // Agsym_t* sym; UNSUPPORTED("8scmnlh4aqjfli9hjn7snnhb2"); // graph_t* auxg; UNSUPPORTED("9wn75gbfikchs3m5ip8uqbqp9"); // if (agisdirected(g)) UNSUPPORTED("bc2kavqqh860759qs0rw39g9w"); // auxg = agopen ("auxg",Agdirected, ((Agdisc_t *)0)); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("41dm8ksorga6af1u82vvp2o08"); // auxg = agopen ("auxg",Agundirected, ((Agdisc_t *)0)); UNSUPPORTED("dvx3r3ba8ihb3ho0irr3iflz9"); // agbindrec(auxg, "Agraphinfo_t", sizeof(Agraphinfo_t), NOT(0)); UNSUPPORTED("8o4tyxwwt6nurmyulizd8yx4h"); // agattr(auxg, AGRAPH, "rank", ""); UNSUPPORTED("4azamavz8yei4klxixxjkjdzy"); // GD_drawing(auxg) = (layout_t*)zmalloc(sizeof(layout_t)); UNSUPPORTED("bl2bbfcsejbdva171i3uuah14"); // GD_drawing(auxg)->quantum = GD_drawing(g)->quantum; UNSUPPORTED("96jzn981deono0qtt4353wjnd"); // GD_drawing(auxg)->dpi = GD_drawing(g)->dpi; UNSUPPORTED("am2ry0w98859w4vlnhjmoegj2"); // GD_charset(auxg) = GD_charset (g); UNSUPPORTED("8qqdurbqk0iszxbs1xz13bx72"); // if (GD_flip(g)) UNSUPPORTED("dldh0wwkfscuwx8vmqd78zne6"); // (GD_rankdir2(auxg) = 0); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("a1gxjxg6ob083fwqk6gac69va"); // (GD_rankdir2(auxg) = 1); UNSUPPORTED("94df1x35koj4u57phwmdtoipp"); // GD_nodesep(auxg) = GD_nodesep(g); UNSUPPORTED("m7a4df7fb58fj3qpf7ocrnth"); // GD_ranksep(auxg) = GD_ranksep(g); UNSUPPORTED("ehand70vpsfxy8xo2usw3sdpd"); // //copy node attrs to auxg UNSUPPORTED("ee6l5a5uekrqgzpa1tzzvn8lu"); // sym=agnxtattr(agroot(g),AGNODE,NULL); //get the first attr. UNSUPPORTED("e9gle5ohw021fnltrv101u94f"); // for (; sym; sym = agnxtattr(agroot(g),AGNODE,sym)) UNSUPPORTED("4mgrl284otjjxa13ifyvsix9o"); // agattr (auxg, AGNODE,sym->name, sym->defval); UNSUPPORTED("8l0npxgg53xbodt3h5bsxaf1u"); // //copy edge attributes UNSUPPORTED("d0l2zhgn9atu49ot95sjvnjx7"); // sym=agnxtattr(agroot(g),AGEDGE,NULL); //get the first attr. UNSUPPORTED("2syhqyxjtl43g8k8nszcgv3qa"); // for (; sym; sym = agnxtattr(agroot(g),AGEDGE,sym)) UNSUPPORTED("7ne23vf4nlppvlnjcbkj9xj7s"); // agattr (auxg, AGEDGE,sym->name, sym->defval); UNSUPPORTED("dbdwjxpzch7ieese5oq712h84"); // if (!agattr(auxg,AGEDGE, "headport", NULL)) UNSUPPORTED("8e9itu32gwm54e46x9vefuuc"); // agattr(auxg,AGEDGE, "headport", ""); UNSUPPORTED("8d6592shcigbk3cnbs3g6zd5o"); // if (!agattr(auxg,AGEDGE, "tailport", NULL)) UNSUPPORTED("1afdsvho7rpgcscq77epwq7h0"); // agattr(auxg,AGEDGE, "tailport", ""); UNSUPPORTED("8g7yfvh0djzbxpsk11iys8s73"); // setState (auxg, attr_state); UNSUPPORTED("84c7zokshe6lxrxoh1l48oh0b"); // return auxg; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 75bd23hms71i6w46oddi0v7c7 // static void cleanupCloneGraph (graph_t* g, attr_state_t* attr_state) public static Object cleanupCloneGraph(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("8l276u9l2gpbol4c2u457ic4o"); // cleanupCloneGraph (graph_t* g, attr_state_t* attr_state) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("81hz17qm480gekbimxzqp5917"); // /* restore main graph syms */ UNSUPPORTED("dyp7mrvrp7pgbjcxvjp3k0rb0"); // E_constr = attr_state->E_constr; UNSUPPORTED("8x6a3xddh4y42i73tahevx314"); // E_samehead = attr_state->E_samehead; UNSUPPORTED("cr53qmp35pahyiy1lksf7pc7o"); // E_sametail = attr_state->E_sametail; UNSUPPORTED("3x6ebo3n7gp5ys2ei418ehbmt"); // E_weight = attr_state->E_weight; UNSUPPORTED("1ho97fsth1t5vvxc5xlwbtvyp"); // E_minlen = attr_state->E_minlen; UNSUPPORTED("bfo2q1yt9zej3021f132mqwe6"); // E_fontcolor = attr_state->E_fontcolor; UNSUPPORTED("caxxsouex07crddgxredl1u2p"); // E_fontname = attr_state->E_fontname; UNSUPPORTED("etmu0sib2tphqwe1wujlnfrup"); // E_fontsize = attr_state->E_fontsize; UNSUPPORTED("6gb56lwdjjgzcqilrpq8m22ns"); // E_headclip = attr_state->E_headclip; UNSUPPORTED("7arkupsho8bk69qdlx5osz58q"); // E_headlabel = attr_state->E_headlabel; UNSUPPORTED("8dbqaxdoyj9z0pkuwsg9vl0eu"); // E_label = attr_state->E_label; UNSUPPORTED("k2wg526i4loudvbn7p6a8e68"); // E_label_float = attr_state->E_label_float; UNSUPPORTED("2tux1z7sjyb58ty6c0bvgfn7u"); // E_labelfontcolor = attr_state->E_labelfontcolor; UNSUPPORTED("exlraaiion456s8e3xwpxozb4"); // E_labelfontname = attr_state->E_labelfontname; UNSUPPORTED("31yhqytdbu2odz0oi3cudffo1"); // E_labelfontsize = attr_state->E_labelfontsize; UNSUPPORTED("frcohw4vy68cah25ckm1cobw"); // E_tailclip = attr_state->E_tailclip; UNSUPPORTED("2z89ojbnte8kwtr9jotk499fc"); // E_taillabel = attr_state->E_taillabel; UNSUPPORTED("3ujqfey1gvz17vmhn9w63qxob"); // E_xlabel = attr_state->E_xlabel; UNSUPPORTED("atq6bae3mv1qr8egljjfsrit6"); // N_height = attr_state->N_height; UNSUPPORTED("aiqf0nz6dfedq2jwgmajnranb"); // N_width = attr_state->N_width; UNSUPPORTED("dt3zktdkst02y23fr3owwe9b9"); // N_shape = attr_state->N_shape; UNSUPPORTED("6pul6vxncmyc96hnj7hoh9xlv"); // N_style = attr_state->N_style; UNSUPPORTED("bbr363noiuq4fiv6dc11hrgki"); // N_fontsize = attr_state->N_fontsize; UNSUPPORTED("5jr71bz21o8ex4piwuj7cyf35"); // N_fontname = attr_state->N_fontname; UNSUPPORTED("muitbco7ytv8yr71bth3vd45"); // N_fontcolor = attr_state->N_fontcolor; UNSUPPORTED("gz675ugjp8z2xgply33d6llr"); // N_label = attr_state->N_label; UNSUPPORTED("3l56ed3d2ocqttxq2mwcaxrs"); // N_xlabel = attr_state->N_xlabel; UNSUPPORTED("2fmh1t4tflmptq1d2wqygd7qt"); // N_showboxes = attr_state->N_showboxes; UNSUPPORTED("br7qgmqsjpzi772b9wc7g00x0"); // N_ordering = attr_state->N_ordering; UNSUPPORTED("cpjgwylhr8d4gvztykf36mf71"); // N_sides = attr_state->N_sides; UNSUPPORTED("dzvcridjcoqlimn9odmlcn9ao"); // N_peripheries = attr_state->N_peripheries; UNSUPPORTED("7wd3t9ok31e37hdqtnffwum66"); // N_skew = attr_state->N_skew; UNSUPPORTED("bkocxpinr1crae21mcidps0"); // N_orientation = attr_state->N_orientation; UNSUPPORTED("bni1bp9we328ofu8dqwnws3b8"); // N_distortion = attr_state->N_distortion; UNSUPPORTED("9ni0gtudygio7exe31uyvwwxy"); // N_fixed = attr_state->N_fixed; UNSUPPORTED("2ep79qyr9wgfu8hyateqngx4o"); // N_nojustify = attr_state->N_nojustify; UNSUPPORTED("77t5uu3931h080u18f50zr0qw"); // N_group = attr_state->N_group; UNSUPPORTED("1czw51da8yggj3mvb5v6dircs"); // G_ordering = attr_state->G_ordering; UNSUPPORTED("60kkiysc7uy667s1kr04csskc"); // State = attr_state->State; UNSUPPORTED("9wfeu3yikah30i1eq789pb1dc"); // free (attr_state); UNSUPPORTED("2tv8es032rxzavamw0dgvm53h"); // dot_cleanup(g); UNSUPPORTED("ego3r1tvwrpv2hie8y9p8vq4z"); // agclose(g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 19tqa2ag8idq1y6l3zslax8e8 // static node_t* cloneNode (graph_t* g, node_t* orign, int flipped) public static Object cloneNode(Object... arg) { UNSUPPORTED("b9dd3satxbh59hljdxzcxecc"); // static node_t* UNSUPPORTED("o807sh2podu4gxrp6mweyg3p"); // cloneNode (graph_t* g, node_t* orign, int flipped) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9mlzre34kwhn9wm44mck7e8li"); // node_t* n = agnode(g, agnameof(orign),1); UNSUPPORTED("21wqfabmz2qk7g2vnunyyw1n8"); // agbindrec(n, "Agnodeinfo_t", sizeof(Agnodeinfo_t), NOT(0)); UNSUPPORTED("80tteudx6zbkyxy4erhh0fqeo"); // agcopyattr (orign, n); UNSUPPORTED("65o4lsnpkxraq4wik0gzbv3g3"); // if (shapeOf(orign) == SH_RECORD) { UNSUPPORTED("7w0wn4e9gizbzrsqcre4pnx7"); // int lbllen = strlen(ND_label(orign)->text); UNSUPPORTED("3avq2zh3wpi2nrhofz3l9esev"); // char* buf = (char*)gmalloc((lbllen+3)*sizeof(char)); UNSUPPORTED("bbilsao6wizinl5kripcoya9d"); // sprintf (buf, "{%s}", ND_label(orign)->text); UNSUPPORTED("e93wd087tiy2p8rvqlme93ynm"); // agset (n, "label", buf); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("69hc24ic55i66g8tf2ne42327"); // return n; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eqzwnj9u1k6ij1842mph3kly9 // static edge_t* cloneEdge (graph_t* g, node_t* tn, node_t* hn, edge_t* orig) public static Object cloneEdge(Object... arg) { UNSUPPORTED("adyfsyiyu158mwhrtm33biik2"); // static edge_t* UNSUPPORTED("cpg8ogbdq9zzrqiadh2q271ky"); // cloneEdge (graph_t* g, node_t* tn, node_t* hn, edge_t* orig) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("mdnixwzb9bm22acv2mbc4yo2"); // edge_t* e = agedge(g, tn, hn,NULL,1); UNSUPPORTED("ce403szny1a2xoli6uh7ocakq"); // /* for (; ED_edge_type(orig) != NORMAL; orig = ED_to_orig(orig)); */ UNSUPPORTED("554nt9t4qnutd0wixwbpok522"); // agbindrec(e, "Agedgeinfo_t", sizeof(Agedgeinfo_t), NOT(0)); UNSUPPORTED("6yfr23jllhpfychz887mht80b"); // agcopyattr (orig, e); UNSUPPORTED("4v614d3uabme2jyn0anuritbb"); // /* UNSUPPORTED("jgkgn8228j52jq4wc7yo2q8t"); // if (orig->tail != ND_alg(tn)) { UNSUPPORTED("86dayio2rrehbyot92z4xh4d1"); // char* hdport = agget (orig, HEAD_ID); UNSUPPORTED("39vbjr08q96wugxyva077qpok"); // char* tlport = agget (orig, TAIL_ID); UNSUPPORTED("3z0livr6yj8gkkuxtvqwrqy95"); // agset (e, TAIL_ID, (hdport ? hdport : "")); UNSUPPORTED("dilecd9q5c2tj0pnl7tfwgixx"); // agset (e, HEAD_ID, (tlport ? tlport : "")); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bnetqzovnscxile7ao44kc0qd"); // */ UNSUPPORTED("2bswif6w6ot01ynlvkimntfly"); // return e; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3zb2qrqaqzr6n3m7dgxp4pmrp // static pointf transformf (pointf p, pointf del, int flip) public static Object transformf(Object... arg) { UNSUPPORTED("2zzd7mrm2u540dwuyzehozffj"); // static pointf UNSUPPORTED("a59oomtgi9wbd42kpsaaref6e"); // transformf (pointf p, pointf del, int flip) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9wlzvfxuhvsgkkq6lvlrw01d2"); // if (flip) { UNSUPPORTED("3vhnqvj1whk5vk9hofkhjtksr"); // double i = p.x; UNSUPPORTED("9sla4yejg4e4tlklijoil9k4u"); // p.x = p.y; UNSUPPORTED("688l858wkw5j2uqosjyesr15h"); // p.y = -i; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("890s36h0fh77q487p72cjtyz"); // return add_pointf(p, del); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bmsa24i3avg14po4sp17yh89k // static int edgelblcmpfn(edge_t** ptr0, edge_t** ptr1) public static int edgelblcmpfn(__ptr__ ptr0, __ptr__ ptr1) { ENTERING("bmsa24i3avg14po4sp17yh89k","edgelblcmpfn"); try { ST_Agedge_s e0, e1; final ST_pointf sz0 = new ST_pointf(), sz1 = new ST_pointf(); e0 = (ST_Agedge_s) ptr0.getPtr(); e1 = (ST_Agedge_s) ptr1.getPtr(); if (ED_label(e0)!=null) { if (ED_label(e1)!=null) { sz0.___(ED_label(e0).dimen); sz1.___(ED_label(e1).dimen); if (sz0.x > sz1.x) return -1; else if (sz0.x < sz1.x) return 1; else if (sz0.y > sz1.y) return -1; else if (sz0.y < sz1.y) return 1; else return 0; } else return -1; } else if (ED_label(e1)!=null) { return 1; } else return 0; } finally { LEAVING("bmsa24i3avg14po4sp17yh89k","edgelblcmpfn"); } } //3 3xmylrnypvoqrj2yrxnomsj5k // static void makeSimpleFlatLabels (node_t* tn, node_t* hn, edge_t** edges, int ind, int cnt, int et, int n_lbls) public static void makeSimpleFlatLabels(ST_Agnode_s tn, ST_Agnode_s hn, ST_Agedge_s.ArrayOfStar edges, int ind, int cnt, int et, int n_lbls) { ENTERING("3xmylrnypvoqrj2yrxnomsj5k","makeSimpleFlatLabels"); try { ST_pointf.Array ps; final ST_Ppoly_t poly = new ST_Ppoly_t(); int pn[] = new int[1]; ST_Agedge_s e = (ST_Agedge_s) edges.get(ind); final ST_pointf.Array points = new ST_pointf.Array(10); final ST_pointf tp = new ST_pointf(), hp = new ST_pointf(); int i, pointn; double leftend, rightend, ctrx=0, ctry=0, miny, maxy; double uminx=0, umaxx=0; double lminx=0, lmaxx=0; ST_Agedge_s.ArrayOfStar earray = new ST_Agedge_s.ArrayOfStar(cnt); for (i = 0; i < cnt; i++) { earray.plus(i).setPtr(edges.plus(ind + i).getPtr()); } qsort(earray, cnt, function(dotsplines__c.class, "edgelblcmpfn")); tp.___(add_pointf(ND_coord(tn), (ST_pointf) ED_tail_port(e).p)); hp.___(add_pointf(ND_coord(hn), (ST_pointf) ED_head_port(e).p)); leftend = tp.x+ND_rw(tn); rightend = hp.x-ND_lw(hn); ctrx = (leftend + rightend)/2.0; /* do first edge */ e = (ST_Agedge_s) earray.get(0); pointn = 0; points.plus(pointn++).setStruct(tp); points.plus(pointn++).setStruct(tp); points.plus(pointn++).setStruct(hp); points.plus(pointn++).setStruct(hp); clip_and_install(e, aghead(e), points.asPtr(), pointn, Z.z().sinfo); ED_label(e).pos.setDouble("x", ctrx); ED_label(e).pos.setDouble("y", tp.y + (ED_label(e).dimen.y+6)/2.0); ED_label(e).set= NOTI(false); miny = tp.y + 6/2.0; maxy = miny + ED_label(e).dimen.y; uminx = ctrx - (ED_label(e).dimen.x)/2.0; umaxx = ctrx + (ED_label(e).dimen.x)/2.0; for (i = 1; i < n_lbls; i++) { e = (ST_Agedge_s) earray.get(i); if (i%2!=0) { /* down */ if (i == 1) { lminx = ctrx - (ED_label(e).dimen.x)/2.0; lmaxx = ctrx + (ED_label(e).dimen.x)/2.0; } miny -= 6 + ED_label(e).dimen.y; points.plus(0).setStruct(tp); points.plus(1).setDouble("x", tp.x); points.plus(1).setDouble("y", miny - 6); points.plus(2).setDouble("x", hp.x); points.plus(2).setDouble("y", points.get(1).y); points.plus(3).setStruct(hp); points.plus(4).setDouble("x", lmaxx); points.plus(4).setDouble("y", hp.y); points.plus(5).setDouble("x", lmaxx); points.plus(5).setDouble("y", miny); points.plus(6).setDouble("x", lminx); points.plus(6).setDouble("y", miny); points.plus(7).setDouble("x", lminx); points.plus(7).setDouble("y", tp.y); ctry = miny + (ED_label(e).dimen.y)/2.0; } else { /* up */ UNSUPPORTED("7owdudualx55z2cnm9x3iio0w"); // points[0] = tp; UNSUPPORTED("43w0zont6q3y1axlcy96rzm5x"); // points[1].x = uminx; UNSUPPORTED("285u4l65puy5nr3pgq6acl4i2"); // points[1].y = tp.y; UNSUPPORTED("uctdrwzmec4w6vmirs9on197"); // points[2].x = uminx; UNSUPPORTED("d9b8e2upja8koam9memys7nj1"); // points[2].y = maxy; UNSUPPORTED("e8a8ucdpq7sgmbi3qyldleb1s"); // points[3].x = umaxx; UNSUPPORTED("d7xd9vzbdbezltrxsp9a3byuc"); // points[3].y = maxy; UNSUPPORTED("59abeyxxk9ow1g6m45t4ahih7"); // points[4].x = umaxx; UNSUPPORTED("2lzgl5468xguophz9d5wyer2x"); // points[4].y = hp.y; UNSUPPORTED("41u0uroraw4xanvpgg6l74kyh"); // points[5].x = hp.x; UNSUPPORTED("cwkk5bnko3e1udrx4cb720zss"); // points[5].y = hp.y; UNSUPPORTED("eev7hf3617k74bnq18uiedyb0"); // points[6].x = hp.x; UNSUPPORTED("aqxt1dvgfq5zcptjwgx1b3mmq"); // points[6].y = maxy + 6; UNSUPPORTED("5s3o04yf5lzca6ruuygfxngj2"); // points[7].x = tp.x; UNSUPPORTED("56zheeat0b8mo4uvlcbvgbu80"); // points[7].y = maxy + 6; UNSUPPORTED("ehcig8trxc4ble6pcochubv7z"); // ctry = maxy + (ED_label(e)->dimen.y)/2.0 + 6; UNSUPPORTED("e2zgxycgqefryde9nbv6cqz1u"); // maxy += ED_label(e)->dimen.y + 6; } poly.pn = 8; poly.ps = points; ps = simpleSplineRoute (tp, hp, poly, pn, et == (3 << 1)); if (pn[0] == 0) return; ED_label(e).pos.setDouble("x", ctrx); ED_label(e).pos.setDouble("y", ctry); ED_label(e).set= NOTI(false); clip_and_install(e, aghead(e), ps, pn[0], Z.z().sinfo); } /* edges with no labels */ for (; i < cnt; i++) { e = (ST_Agedge_s) earray.get(i); if (i%2!=0) { /* down */ if (i == 1) { lminx = (2*leftend + rightend)/3.0; lmaxx = (leftend + 2*rightend)/3.0; } miny -= 6; points.plus(0).setStruct(tp); points.plus(1).setDouble("x", tp.x); points.plus(1).setDouble("y", miny - 6); points.plus(2).setDouble("x", hp.x); points.plus(2).setDouble("y", points.get(1).y); points.plus(3).setStruct(hp); points.plus(4).setDouble("x", lmaxx); points.plus(4).setDouble("y", hp.y); points.plus(5).setDouble("x", lmaxx); points.plus(5).setDouble("y", miny); points.plus(6).setDouble("x", lminx); points.plus(6).setDouble("y", miny); points.plus(7).setDouble("x", lminx); points.plus(7).setDouble("y", tp.y); } else { /* up */ UNSUPPORTED("7owdudualx55z2cnm9x3iio0w"); // points[0] = tp; UNSUPPORTED("43w0zont6q3y1axlcy96rzm5x"); // points[1].x = uminx; UNSUPPORTED("285u4l65puy5nr3pgq6acl4i2"); // points[1].y = tp.y; UNSUPPORTED("uctdrwzmec4w6vmirs9on197"); // points[2].x = uminx; UNSUPPORTED("d9b8e2upja8koam9memys7nj1"); // points[2].y = maxy; UNSUPPORTED("e8a8ucdpq7sgmbi3qyldleb1s"); // points[3].x = umaxx; UNSUPPORTED("d7xd9vzbdbezltrxsp9a3byuc"); // points[3].y = maxy; UNSUPPORTED("59abeyxxk9ow1g6m45t4ahih7"); // points[4].x = umaxx; UNSUPPORTED("2lzgl5468xguophz9d5wyer2x"); // points[4].y = hp.y; UNSUPPORTED("41u0uroraw4xanvpgg6l74kyh"); // points[5].x = hp.x; UNSUPPORTED("cwkk5bnko3e1udrx4cb720zss"); // points[5].y = hp.y; UNSUPPORTED("eev7hf3617k74bnq18uiedyb0"); // points[6].x = hp.x; UNSUPPORTED("aqxt1dvgfq5zcptjwgx1b3mmq"); // points[6].y = maxy + 6; UNSUPPORTED("5s3o04yf5lzca6ruuygfxngj2"); // points[7].x = tp.x; UNSUPPORTED("56zheeat0b8mo4uvlcbvgbu80"); // points[7].y = maxy + 6; UNSUPPORTED("7un2qk34mmmhqi296vl50bacs"); // maxy += + 6; } poly.pn = 8; poly.ps = points; ps = simpleSplineRoute (tp, hp, poly, pn, et == (3 << 1)); if (pn[0] == 0) return; clip_and_install(e, aghead(e), ps, pn[0], Z.z().sinfo); } Memory.free (earray); } finally { LEAVING("3xmylrnypvoqrj2yrxnomsj5k","makeSimpleFlatLabels"); } } //3 8kqyzk43ovc2sq6jegua6ytp // static void makeSimpleFlat (node_t* tn, node_t* hn, edge_t** edges, int ind, int cnt, int et) public static void makeSimpleFlat(ST_Agnode_s tn, ST_Agnode_s hn, ST_Agedge_s.ArrayOfStar edges, int ind, int cnt, int et) { ENTERING("8kqyzk43ovc2sq6jegua6ytp","makeSimpleFlat"); try { ST_Agedge_s e = (ST_Agedge_s) edges.get(ind); final ST_pointf.Array points = new ST_pointf.Array( 10); final ST_pointf tp = new ST_pointf(), hp = new ST_pointf(); int i, pointn; double stepy, dy; tp.___(add_pointf(ND_coord(tn), (ST_pointf) ED_tail_port(e).p)); hp.___(add_pointf(ND_coord(hn), (ST_pointf) ED_head_port(e).p)); stepy = (cnt > 1) ? ND_ht(tn) / (double)(cnt - 1) : 0.; dy = tp.y - ((cnt > 1) ? ND_ht(tn) / 2. : 0.); for (i = 0; i < cnt; i++) { e = (ST_Agedge_s) edges.plus(ind + i).getPtr(); pointn = 0; if ((et == (5 << 1)) || (et == (1 << 1))) { points.plus(pointn++).setStruct(tp); points.plus(pointn++).setStruct(pointfof((2 * tp.x + hp.x) / 3, dy)); points.plus(pointn++).setStruct(pointfof((2 * hp.x + tp.x) / 3, dy)); points.plus(pointn++).setStruct(hp); } else { /* ET_PLINE */ UNSUPPORTED("cai7diqq01v8vb92u4mx1xh38"); // points[pointn++] = tp; UNSUPPORTED("cai7diqq01v8vb92u4mx1xh38"); // points[pointn++] = tp; UNSUPPORTED("bnd7kao912fmo940u1gz3cmws"); // points[pointn++] = pointfof((2 * tp.x + hp.x) / 3, dy); UNSUPPORTED("bnd7kao912fmo940u1gz3cmws"); // points[pointn++] = pointfof((2 * tp.x + hp.x) / 3, dy); UNSUPPORTED("bnd7kao912fmo940u1gz3cmws"); // points[pointn++] = pointfof((2 * tp.x + hp.x) / 3, dy); UNSUPPORTED("akir2i0ddpv2ombgdzzs9qqqa"); // points[pointn++] = pointfof((2 * hp.x + tp.x) / 3, dy); UNSUPPORTED("akir2i0ddpv2ombgdzzs9qqqa"); // points[pointn++] = pointfof((2 * hp.x + tp.x) / 3, dy); UNSUPPORTED("akir2i0ddpv2ombgdzzs9qqqa"); // points[pointn++] = pointfof((2 * hp.x + tp.x) / 3, dy); UNSUPPORTED("59cwjy3j5e0igp278migykzi"); // points[pointn++] = hp; UNSUPPORTED("59cwjy3j5e0igp278migykzi"); // points[pointn++] = hp; } dy += stepy; clip_and_install(e, aghead(e), points.asPtr(), pointn, Z.z().sinfo); } } finally { LEAVING("8kqyzk43ovc2sq6jegua6ytp","makeSimpleFlat"); } } //3 bhnjospwghq4plid12757c928 // static void make_flat_adj_edges(graph_t* g, path* P, edge_t** edges, int ind, int cnt, edge_t* e0, int et) public static void make_flat_adj_edges(ST_Agraph_s g, ST_path P, ST_Agedge_s.ArrayOfStar edges, int ind, int cnt, ST_Agedge_s e0, int et) { ENTERING("bhnjospwghq4plid12757c928","make_flat_adj_edges"); try { ST_Agnode_s n; ST_Agnode_s tn, hn; ST_Agedge_s e; int labels = 0, ports = 0; ST_Agraph_s auxg; ST_Agraph_s subg; ST_Agnode_s auxt, auxh; ST_Agedge_s auxe; int i, j, midx, midy, leftx, rightx; final ST_pointf del = new ST_pointf(); ST_Agedge_s hvye = null; attr_state_t attrs; tn = agtail(e0); hn = aghead(e0); for (i = 0; i < cnt; i++) { e = (ST_Agedge_s) edges.plus(ind + i).getPtr(); if (ED_label(e)!=null) labels++; if (ED_tail_port(e).defined!=0 || ED_head_port(e).defined!=0) ports = 1; } if (ports == 0) { /* flat edges without ports and labels can go straight left to right */ if (labels == 0) { makeSimpleFlat (tn, hn, edges, ind, cnt, et); } /* flat edges without ports but with labels take more work */ else { makeSimpleFlatLabels (tn, hn, edges, ind, cnt, et, labels); } return; } UNSUPPORTED("3ua0mgcwxnpymnpiv77owaur2"); // attrs = (attr_state_t*)zmalloc(sizeof(attr_state_t)); UNSUPPORTED("5qcpchn65culafc5t2ibioksb"); // auxg = cloneGraph (g, attrs); UNSUPPORTED("cwolismpef6l1w4xj5etx8w09"); // subg = agsubg (auxg, "xxx",1); UNSUPPORTED("eocu0fte9egz381w3t8y5m64t"); // agbindrec(subg, "Agraphinfo_t", sizeof(Agraphinfo_t), NOT(0)); UNSUPPORTED("er19m8huvnjjn1v6rreiisdf6"); // agset (subg, "rank", "source"); UNSUPPORTED("du7zwfglureqnv5g2wiammuuu"); // rightx = ND_coord(hn).x; UNSUPPORTED("5qa24lmumrg29fbtl0fo4d4z1"); // leftx = ND_coord(tn).x; UNSUPPORTED("b2x6j7m1cmmkcmdl5jo9wn0ap"); // if (GD_flip(g)) { UNSUPPORTED("2elvc001uux0vbe7sv4098e0c"); // node_t* n; UNSUPPORTED("6m8k99c09zmhwgcdsgo33dugz"); // n = tn; UNSUPPORTED("cenlfgoeymhe1am5z6632xniq"); // tn = hn; UNSUPPORTED("cp2gf6c1xawd2yjbqerw98we3"); // hn = n; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1e98fnf9lsk7hwgjt70gh5r55"); // auxt = cloneNode(subg, tn, GD_flip(g)); UNSUPPORTED("a4xa8i1nw83hhnknv84280z00"); // auxh = cloneNode(auxg, hn, GD_flip(g)); UNSUPPORTED("1psokm6w9e7qw7fm2g1cayuk7"); // for (i = 0; i < cnt; i++) { UNSUPPORTED("8hwholxjp08y4q0zbb561684q"); // e = edges[ind + i]; UNSUPPORTED("b3w40fpgfj0j66yi6j582thq2"); // for (; ED_edge_type(e) != 0; e = ED_to_orig(e)); UNSUPPORTED("bcu59ji1apn0rvv7aisl6e4pw"); // if (agtail(e) == tn) UNSUPPORTED("4o3mq2ztiyxlbkpgcyygj4lny"); // auxe = cloneEdge (auxg, auxt, auxh, e); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("3a7m578mxun4c8zv0jurzh7ox"); // auxe = cloneEdge (auxg, auxh, auxt, e); UNSUPPORTED("e6khamu7fhu5m7il9r2v06mui"); // ED_alg(e) = auxe; UNSUPPORTED("64u9xrw8iwy3mtuupoktw7xoz"); // if (!hvye && !ED_tail_port(e).defined && !ED_head_port(e).defined) { UNSUPPORTED("6t23nfzzldtl419g582pr0wjn"); // hvye = auxe; UNSUPPORTED("3fi2uxwkmau5664gnhzyosan5"); // ED_alg(hvye) = e; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("co4n3cv6ybhgvm341r3re61vu"); // if (!hvye) { UNSUPPORTED("a0sxhnruv0ip65j05wt7dciak"); // hvye = agedge (auxg, auxt, auxh,NULL,1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("26l323zwxztuc6sfnh36x7i9f"); // agxset (hvye, E_weight, "10000"); UNSUPPORTED("4pj2d4pwf7wi9fcu4v0byk83z"); // GD_gvc(auxg) = GD_gvc(g); UNSUPPORTED("b6dpjp9wgjzgoy0tq7b9kms74"); // GD_dotroot(auxg) = auxg; UNSUPPORTED("e08t9bx8ldb1d5e0582wg82sx"); // setEdgeType (auxg, et); UNSUPPORTED("8y4433lgybq35f4t7viqsvz5v"); // dot_init_node_edge(auxg); UNSUPPORTED("13c2nt4jwumpvtwudz38a4sb3"); // dot_rank(auxg, 0); UNSUPPORTED("6onnznyz9fof6r8we5z1e4r63"); // dot_mincross(auxg, 0); UNSUPPORTED("4ry85qx5xmahkm0mdv9s65azo"); // dot_position(auxg, 0); UNSUPPORTED("9921qakdgil2jvrvinke44xsz"); // /* reposition */ UNSUPPORTED("ang8wy78872hvqkzvgfjwqwfl"); // midx = (ND_coord(tn).x - ND_rw(tn) + ND_coord(hn).x + ND_lw(hn))/2; UNSUPPORTED("2r2ywte92l423tbcdfvbhz3zh"); // midy = (ND_coord(auxt).x + ND_coord(auxh).x)/2; UNSUPPORTED("b8juh1dggb6sz4d9df42i150k"); // for (n = GD_nlist(auxg); n; n = ND_next(n)) { UNSUPPORTED("4prtyy13ox1fif8vil3g86g87"); // if (n == auxt) { UNSUPPORTED("7gvpia4yo3bfvh5dl7uwr3dbe"); // ND_coord(n).y = rightx; UNSUPPORTED("2zsspnn0nfrdf9fx8sh3ld8j4"); // ND_coord(n).x = midy; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("ba2aaoh9ujy4ww9luial39sya"); // else if (n == auxh) { UNSUPPORTED("aoy1ze6hhjuym44mkasdt19qp"); // ND_coord(n).y = leftx; UNSUPPORTED("2zsspnn0nfrdf9fx8sh3ld8j4"); // ND_coord(n).x = midy; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("80o8q2qh1hr671ladbyqzglnt"); // else ND_coord(n).y = midx; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("48hn94qz2y2kb6lqc3462vlco"); // dot_sameports(auxg); UNSUPPORTED("bglhuc9grqkk9ozb97oeh0m3b"); // _dot_splines(auxg, 0); UNSUPPORTED("euvfot8f7xxnibd223qgsylew"); // dotneato_postprocess(auxg); UNSUPPORTED("4mg60pszj0s1anwg8zp0tq0ra"); // /* copy splines */ UNSUPPORTED("b2x6j7m1cmmkcmdl5jo9wn0ap"); // if (GD_flip(g)) { UNSUPPORTED("baukf0b2l91bkgnfdc04rvuxe"); // del.x = ND_coord(tn).x - ND_coord(auxt).y; UNSUPPORTED("96sq686mw9bvj7dli7wb241au"); // del.y = ND_coord(tn).y + ND_coord(auxt).x; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("bxg8i1hqms0izrryxh2at6p7b"); // del.x = ND_coord(tn).x - ND_coord(auxt).x; UNSUPPORTED("3xqgvdcxmu8e4eqtnhaa256tk"); // del.y = ND_coord(tn).y - ND_coord(auxt).y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1psokm6w9e7qw7fm2g1cayuk7"); // for (i = 0; i < cnt; i++) { UNSUPPORTED("47ogn0fae1yuy3kefpawcgcmx"); // bezier* auxbz; UNSUPPORTED("4mujfxtr0wy7m1rbm57rwigo4"); // bezier* bz; UNSUPPORTED("8hwholxjp08y4q0zbb561684q"); // e = edges[ind + i]; UNSUPPORTED("b3w40fpgfj0j66yi6j582thq2"); // for (; ED_edge_type(e) != 0; e = ED_to_orig(e)); UNSUPPORTED("3ii7nnxg3x8jpdk6lcijbizvf"); // auxe = (edge_t*)ED_alg(e); UNSUPPORTED("5rc7uvn4xqfetekcci1uwri5v"); // if ((auxe == hvye) & !ED_alg(auxe)) continue; /* pseudo-edge */ UNSUPPORTED("52vy3jbu67nebznqkhxxqthih"); // auxbz = ED_spl(auxe)->list; UNSUPPORTED("azr1tv8blnu3i6b7wstpqv2tc"); // bz = new_spline(e, auxbz->size); UNSUPPORTED("df84ie4egl6l1i82tz1zp7hg"); // bz->sflag = auxbz->sflag; UNSUPPORTED("49bzonc32mbuchcsmw7csexdw"); // bz->sp = transformf(auxbz->sp, del, GD_flip(g)); UNSUPPORTED("9g1glpjjy5wmh7dyr6u0nb2cn"); // bz->eflag = auxbz->eflag; UNSUPPORTED("44tftrsdjjuh1qjmxjpysmee3"); // bz->ep = transformf(auxbz->ep, del, GD_flip(g)); UNSUPPORTED("w0xl6ghxoii2ze2xmbbunv4d"); // for (j = 0; j < auxbz->size; ) { UNSUPPORTED("22zm6ljvhpz7j2kiqee31nx61"); // pointf cp[4]; UNSUPPORTED("4c88sva3ojadip5w3ehu782tp"); // cp[0] = bz->list[j] = transformf(auxbz->list[j], del, GD_flip(g)); UNSUPPORTED("5jqtd9htl25cd3if3pjtl8dpo"); // j++; UNSUPPORTED("duk541biqshfomah8rlxeyigr"); // if ( j >= auxbz->size ) UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("2qrbm7mhicvoxzk91h9x3gq64"); // cp[1] = bz->list[j] = transformf(auxbz->list[j], del, GD_flip(g)); UNSUPPORTED("5jqtd9htl25cd3if3pjtl8dpo"); // j++; UNSUPPORTED("f4x9unnnofgnvy91ejtm90kw"); // cp[2] = bz->list[j] = transformf(auxbz->list[j], del, GD_flip(g)); UNSUPPORTED("5jqtd9htl25cd3if3pjtl8dpo"); // j++; UNSUPPORTED("6pldfj31dg88qzsa012v8auxn"); // cp[3] = transformf(auxbz->list[j], del, GD_flip(g)); UNSUPPORTED("2xvehdctlpogpd7xhdf1pku00"); // update_bb_bz(&GD_bb(g), cp); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("8bokoh0vcnmvjcahn7de1z0kd"); // if (ED_label(e)) { UNSUPPORTED("8ido4wfhvlqvczqfq5xz33kak"); // ED_label(e)->pos = transformf(ED_label(auxe)->pos, del, GD_flip(g)); UNSUPPORTED("3tkba5lhpnujfu8lcz8lewsyn"); // ED_label(e)->set = NOT(0); UNSUPPORTED("c62p0r1jj71ceakgzrv2gorvu"); // updateBB(g, ED_label(e)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("22prbnbyxmapn1fcer1sktez7"); // cleanupCloneGraph (auxg, attrs); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("bhnjospwghq4plid12757c928","make_flat_adj_edges"); } } //3 fybar4mljnmkh3kure5k1eod // static void makeFlatEnd (graph_t* g, spline_info_t* sp, path* P, node_t* n, edge_t* e, pathend_t* endp, boolean isBegin) public static void makeFlatEnd(ST_Agraph_s g, ST_spline_info_t sp, ST_path P, ST_Agnode_s n, ST_Agedge_s e, ST_pathend_t endp, boolean isBegin) { ENTERING("fybar4mljnmkh3kure5k1eod","makeFlatEnd"); try { final ST_boxf b = new ST_boxf(); b.___(maximal_bbox(g, sp, n, null, e)); endp.setStruct("nb", b); endp.setInt("sidemask", 1<<2); if (isBegin) beginpath(P, e, 2, endp, false); else endpath(P, e, 2, endp, false); b.UR.y = endp.boxes[endp.boxn - 1].UR.y; b.LL.y = endp.boxes[endp.boxn - 1].LL.y; b.___(makeregularend((ST_boxf) b, (1<<2), ND_coord(n).y + GD_rank(g).get(ND_rank(n)).ht2)); if (b.LL.x < b.UR.x && b.LL.y < b.UR.y) UNSUPPORTED("cmjm4y40vf7wklmgz0ae4k36v"); // endp->boxes[endp->boxn++] = b; } finally { LEAVING("fybar4mljnmkh3kure5k1eod","makeFlatEnd"); } } //3 rfro0b2nsukdjenux3f6osgj // static void makeBottomFlatEnd (graph_t* g, spline_info_t* sp, path* P, node_t* n, edge_t* e, pathend_t* endp, boolean isBegin) public static Object makeBottomFlatEnd(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("8ai1jk8aigoqod7sj7pw1phw3"); // makeBottomFlatEnd (graph_t* g, spline_info_t* sp, path* P, node_t* n, edge_t* e, UNSUPPORTED("25ij2tn6de7b481tpf1ac644s"); // pathend_t* endp, boolean isBegin) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("458vjrt5zjt6am715aiuxdlpo"); // b = endp->nb = maximal_bbox(g, sp, n, NULL, e); UNSUPPORTED("9wzfokn3t7zckgoaxgywy6cbz"); // endp->sidemask = (1<<0); UNSUPPORTED("c3u0b2z8mb4le2v1g6q8amjt"); // if (isBegin) beginpath(P, e, 2, endp, 0); UNSUPPORTED("1e0zyjb03r85tgqddfnlk9e9"); // else endpath(P, e, 2, endp, 0); UNSUPPORTED("7pwqqvagpkzye4cdmjlbrmt7a"); // b.UR.y = endp->boxes[endp->boxn - 1].UR.y; UNSUPPORTED("1mefjjoto40rfwb1qhzvobhje"); // b.LL.y = endp->boxes[endp->boxn - 1].LL.y; UNSUPPORTED("4sn8dc58suk2d3oqlu13cr7ic"); // b = makeregularend(b, (1<<0), ND_coord(n).y - GD_rank(g)[ND_rank(n)].ht2); UNSUPPORTED("6xj9sv3inmj1rwtz76qp6p30n"); // if (b.LL.x < b.UR.x && b.LL.y < b.UR.y) UNSUPPORTED("cmjm4y40vf7wklmgz0ae4k36v"); // endp->boxes[endp->boxn++] = b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 w8ptjibydq995d2lexg85mku // static void make_flat_labeled_edge(graph_t* g, spline_info_t* sp, path* P, edge_t* e, int et) public static void make_flat_labeled_edge(ST_Agraph_s g, ST_spline_info_t sp, ST_path P, ST_Agedge_s e, int et) { ENTERING("w8ptjibydq995d2lexg85mku","make_flat_labeled_edge"); try { ST_Agnode_s tn, hn, ln; ST_pointf.Array ps = null; final ST_pathend_t tend = new ST_pathend_t(), hend = new ST_pathend_t(); final ST_boxf lb = new ST_boxf(); int boxn, i, ydelta; int pn[] = new int[1]; ST_Agedge_s f; final ST_pointf.Array points = new ST_pointf.Array( 7); tn = agtail(e); hn = aghead(e); for (f = ED_to_virt(e); ED_to_virt(f)!=null; f = ED_to_virt(f)); ln = agtail(f); ED_label(e).setStruct("pos", ND_coord(ln)); ED_label(e).set= NOTI(false); if (et == (1 << 1)) { UNSUPPORTED("ataaqkehwb736ts2x6olzqokx"); // pointf startp, endp, lp; UNSUPPORTED("48h6vk2e5niep4dmpua377248"); // startp = add_pointf(ND_coord(tn), ED_tail_port(e).p); UNSUPPORTED("8fokfn1629eyiqnzi7mey9o2q"); // endp = add_pointf(ND_coord(hn), ED_head_port(e).p); UNSUPPORTED("8zpih1olxdgp3sxk2br3lezzx"); // lp = ED_label(e)->pos; UNSUPPORTED("1sblcap44288tmc3cr80iqpj5"); // lp.y -= (ED_label(e)->dimen.y)/2.0; UNSUPPORTED("8ew9p3k3j0b33dnq0ntgbb6x8"); // points[1] = points[0] = startp; UNSUPPORTED("16h577fdghqtaeot735guew4e"); // points[2] = points[3] = points[4] = lp; UNSUPPORTED("9zjfovamhwwehbviws68s5woy"); // points[5] = points[6] = endp; UNSUPPORTED("68ojpcos92c96bc0i5ag1yb6v"); // ps = points; UNSUPPORTED("1uunj4jbr2uhiqxwor6rzmr3j"); // pn = 7; } else { lb.LL.x = ND_coord(ln).x - ND_lw(ln); lb.UR.x = ND_coord(ln).x + ND_rw(ln); lb.UR.y = ND_coord(ln).y + ND_ht(ln)/2; ydelta = (int)(ND_coord(ln).y - GD_rank(g).get(ND_rank(tn)).ht1 - ND_coord(tn).y + GD_rank(g).get(ND_rank(tn)).ht2); ydelta = (int)(ydelta / 6.); lb.LL.y = lb.UR.y - MAX(5.,ydelta); boxn = 0; makeFlatEnd (g, sp, P, tn, e, tend, NOT(false)); makeFlatEnd (g, sp, P, hn, e, hend, false); ((Z.z().boxes[boxn])).LL.x = (tend).boxes[tend.boxn - 1].LL.x; ((Z.z().boxes[boxn])).LL.y = (tend).boxes[tend.boxn - 1].UR.y; ((Z.z().boxes[boxn])).UR.x = lb.LL.x; ((Z.z().boxes[boxn])).UR.y = lb.LL.y; boxn++; ((Z.z().boxes[boxn])).LL.x = (tend).boxes[tend.boxn - 1].LL.x; ((Z.z().boxes[boxn])).LL.y = lb.LL.y; ((Z.z().boxes[boxn])).UR.x = (hend).boxes[hend.boxn - 1].UR.x; ((Z.z().boxes[boxn])).UR.y = lb.UR.y; boxn++; ((Z.z().boxes[boxn])).LL.x = lb.UR.x; ((Z.z().boxes[boxn])).UR.y = lb.LL.y; ((Z.z().boxes[boxn])).LL.y = (hend).boxes[hend.boxn - 1].UR.y; ((Z.z().boxes[boxn])).UR.x = (hend).boxes[hend.boxn - 1].UR.x; boxn++; for (i = 0; i < tend.boxn; i++) add_box(P, (tend).boxes[i]); for (i = 0; i < boxn; i++) add_box(P, Z.z().boxes[i]); for (i = hend.boxn - 1; i >= 0; i--) add_box(P, (hend).boxes[i]); if (et == (5 << 1)) ps = routesplines(P, pn); else ps = routepolylines(P, pn); if (pn[0] == 0) return; } clip_and_install(e, aghead(e), ps, pn[0], Z.z().sinfo); } finally { LEAVING("w8ptjibydq995d2lexg85mku","make_flat_labeled_edge"); } } //3 d97ga7gm34rs6r0jo494nhhuo // static void make_flat_bottom_edges(graph_t* g, spline_info_t* sp, path * P, edge_t ** edges, int ind, int cnt, edge_t* e, int splines) public static Object make_flat_bottom_edges(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("bkp39vt080is6iiqobsw59sk9"); // make_flat_bottom_edges(graph_t* g, spline_info_t* sp, path * P, edge_t ** edges, int UNSUPPORTED("2gat0ltxh7j57lspwmm9s9x7j"); // ind, int cnt, edge_t* e, int splines) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5np4z3gp6cfmicyuz91nownp8"); // node_t *tn, *hn; UNSUPPORTED("3zgmm04g7gq65c57gco0id1eb"); // int j, i, r; UNSUPPORTED("5wdd96amz7w1sym59mg5nfj51"); // double stepx, stepy, vspace; UNSUPPORTED("63ozqzusft8gpehyaqrdjyr1"); // rank_t* nextr; UNSUPPORTED("7hps2kejtrotcphg5gymma43b"); // int pn; UNSUPPORTED("2rkzhui0essisp5zlw44vx4j9"); // pointf *ps; UNSUPPORTED("32b8td88encjfj6yd1sp8bef"); // pathend_t tend, hend; UNSUPPORTED("d0x4emyekwlcpua99voy3764p"); // tn = agtail(e); UNSUPPORTED("axoua6xpo7xc40u2oj0a8dmr9"); // hn = aghead(e); UNSUPPORTED("63jjxtcojh1aq4na9u4w2a6xe"); // r = ND_rank(tn); UNSUPPORTED("atjnavwfg3xe4ygorslb4vvtv"); // if (r < GD_maxrank(g)) { UNSUPPORTED("6b35lbhficoaf5216p3sdq1cj"); // nextr = GD_rank(g) + (r+1); UNSUPPORTED("bj0cch0dmhpux7wm3fg4zg368"); // vspace = ND_coord(tn).y - GD_rank(g)[r].pht1 - UNSUPPORTED("dqcrkagghulp8u9iuoyckepf7"); // (ND_coord(nextr->v[0]).y + nextr->pht2); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("1sai54q4zfayczfcrklgw4x17"); // vspace = GD_ranksep(g); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dyxkx5ftlgbeem7089pcu1qo4"); // stepx = ((double)(sp->Multisep)) / (cnt+1); UNSUPPORTED("63qqo8mqbn6alfa5k3gfalz53"); // stepy = vspace / (cnt+1); UNSUPPORTED("euw24sa4cgazdf9z7a3sretis"); // makeBottomFlatEnd (g, sp, P, tn, e, &tend, NOT(0)); UNSUPPORTED("c8ip2hla7pb8tz4fhsj5m34wk"); // makeBottomFlatEnd (g, sp, P, hn, e, &hend, 0); UNSUPPORTED("1psokm6w9e7qw7fm2g1cayuk7"); // for (i = 0; i < cnt; i++) { UNSUPPORTED("3smlz0a87gj8w58rwau2ewq23"); // int boxn; UNSUPPORTED("bg5tj2hjixth58v04043jb3do"); // boxf b; UNSUPPORTED("8hwholxjp08y4q0zbb561684q"); // e = edges[ind + i]; UNSUPPORTED("cpcqkqkhkaviy153h92apd82e"); // boxn = 0; UNSUPPORTED("4wkbaj2424ug9j97efwu1r5mc"); // b = tend.boxes[tend.boxn - 1]; UNSUPPORTED("3eyfj1o1bqxlfqw7tq76qiiiz"); // boxes[boxn].LL.x = b.LL.x; UNSUPPORTED("dwlejn7xasxh4yyoq2xodqnyj"); // boxes[boxn].UR.y = b.LL.y; UNSUPPORTED("10o1e4r5ux8d7cr6zg379ss59"); // boxes[boxn].UR.x = b.UR.x + (i + 1) * stepx; UNSUPPORTED("79f4mryzkqqs3t4sxnet9jc7b"); // boxes[boxn].LL.y = b.LL.y - (i + 1) * stepy; UNSUPPORTED("cbrsymd5wpvadg3ziz4dypa50"); // boxn++; UNSUPPORTED("7n7f256w4ewtzexwfxjo28b2"); // boxes[boxn].LL.x = tend.boxes[tend.boxn - 1].LL.x; UNSUPPORTED("6in0ql0upnjg00mgj5k8av2m4"); // boxes[boxn].UR.y = boxes[boxn-1].LL.y; UNSUPPORTED("46ftsiqovpzo9r0mnlc4nf83"); // boxes[boxn].UR.x = hend.boxes[hend.boxn - 1].UR.x; UNSUPPORTED("4bjnn4mhczzd1un9rbib5glch"); // boxes[boxn].LL.y = boxes[boxn].UR.y - stepy; UNSUPPORTED("cbrsymd5wpvadg3ziz4dypa50"); // boxn++; UNSUPPORTED("6oycftap8apw4glb1s5jzineu"); // b = hend.boxes[hend.boxn - 1]; UNSUPPORTED("77c1sajrw9kfc7avomly90gm8"); // boxes[boxn].UR.x = b.UR.x; UNSUPPORTED("e94nxsepfdq17q69drbro41je"); // boxes[boxn].UR.y = b.LL.y; UNSUPPORTED("6cipt7th0uv2xfwyh4rvwignj"); // boxes[boxn].LL.x = b.LL.x - (i + 1) * stepx; UNSUPPORTED("50uajtfbvgkrruywpjq9m4zoj"); // boxes[boxn].LL.y = boxes[boxn-1].UR.y; UNSUPPORTED("cbrsymd5wpvadg3ziz4dypa50"); // boxn++; UNSUPPORTED("eu29s7oeoca2yo9trhfhb9juy"); // for (j = 0; j < tend.boxn; j++) add_box(P, tend.boxes[j]); UNSUPPORTED("b8xs00axp4lkksof6hmim3n3x"); // for (j = 0; j < boxn; j++) add_box(P, boxes[j]); UNSUPPORTED("ahci7z910ypoj0e54wchvk54v"); // for (j = hend.boxn - 1; j >= 0; j--) add_box(P, hend.boxes[j]); UNSUPPORTED("7r9nsxbfy7w3csc04nxo97xpq"); // if (splines) ps = routesplines(P, &pn); UNSUPPORTED("dfku80ag90r137s9az9493oow"); // else ps = routepolylines(P, &pn); UNSUPPORTED("919jubmuis4tp1c1f87rvfhog"); // if (pn == 0) UNSUPPORTED("6cprbghvenu9ldc0ez1ifc63q"); // return; UNSUPPORTED("62oxk9cc5wf0f8gqbothfte1f"); // clip_and_install(e, aghead(e), ps, pn, &sinfo); UNSUPPORTED("l1nh40fo9oar4mz31h14bc9i"); // P->nbox = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6yr3jfkljl5w0z6dv354ryx63 // static void make_flat_edge(graph_t* g, spline_info_t* sp, path * P, edge_t ** edges, int ind, int cnt, int et) public static void make_flat_edge(ST_Agraph_s g, ST_spline_info_t sp, ST_path P, ST_Agedge_s.ArrayOfStar edges, int ind, int cnt, int et) { ENTERING("6yr3jfkljl5w0z6dv354ryx63","make_flat_edge"); try { ST_Agnode_s tn, hn; final ST_Agedgeinfo_t fwdedgei = new ST_Agedgeinfo_t(); final ST_Agedgepair_s fwdedge = new ST_Agedgepair_s(); ST_Agedge_s e; int j, i, r, isAdjacent; double stepx, stepy, vspace; int tside, hside; int pn[] = new int[] {0}; ST_pointf.Array ps; final ST_pathend_t tend = new ST_pathend_t(), hend = new ST_pathend_t(); fwdedge.out.base.setPtr("data", fwdedgei); /* Get sample edge; normalize to go from left to right */ e = (ST_Agedge_s) edges.get(ind); isAdjacent = ED_adjacent(e); if ((ED_tree_index(e) & 32)!=0) { MAKEFWDEDGE(fwdedge.out, e); e = (ST_Agedge_s) fwdedge.out; } for (i = 1; i < cnt; i++) { if (ED_adjacent(edges.plus(ind+i).getPtr())!=0) { isAdjacent = 1; break; } } /* The lead edge edges[ind] might not have been marked earlier as adjacent, * so check them all. */ if (isAdjacent!=0) { make_flat_adj_edges (g, P, edges, ind, cnt, e, et); return; } if (ED_label(e)!=null) { /* edges with labels aren't multi-edges */ make_flat_labeled_edge (g, sp, P, e, et); return; } if (et == (1 << 1)) { makeSimpleFlat (agtail(e), aghead(e), edges, ind, cnt, et); return; } tside = ED_tail_port(e).side; hside = ED_head_port(e).side; if (((tside == (1<<0)) && (hside != (1<<2))) || ((hside == (1<<0)) && (tside != (1<<2)))) { make_flat_bottom_edges (g, sp, P, edges, ind, cnt, e, et == (5 << 1)); return; } tn = agtail(e); hn = aghead(e); r = ND_rank(tn); if (r > 0) { ST_rank_t.Array2 prevr; if ((GD_has_labels(g) & (1 << 0))!=0) prevr = GD_rank(g).plus(r-2); else prevr = GD_rank(g).plus(r-1); vspace = ND_coord(prevr.getPtr().v.get(0)).y - prevr.getPtr().ht1 - ND_coord(tn).y - GD_rank(g).get(r).ht2; } else { vspace = GD_ranksep(g); } stepx = ((double)sp.Multisep) / (cnt+1); stepy = vspace / (cnt+1); makeFlatEnd (g, sp, P, tn, e, tend, true); makeFlatEnd (g, sp, P, hn, e, hend, false); for (i = 0; i < cnt; i++) { int boxn; final ST_boxf b = new ST_boxf(); e = (ST_Agedge_s) edges.plus(ind + i).getPtr(); boxn = 0; b.___((tend).boxes[tend.boxn - 1]); ((Z.z().boxes[boxn])).LL.x = b.LL.x; ((Z.z().boxes[boxn])).LL.y = b.UR.y; ((Z.z().boxes[boxn])).UR.x = b.UR.x + (i + 1) * stepx; ((Z.z().boxes[boxn])).UR.y = b.UR.y + (i + 1) * stepy; boxn++; ((Z.z().boxes[boxn])).LL.x = ((ST_boxf)((tend).boxes[tend.boxn - 1])).LL.x; ((Z.z().boxes[boxn])).LL.y = (Z.z().boxes[boxn-1]).UR.y; ((Z.z().boxes[boxn])).UR.x = ((ST_boxf)((hend).boxes[hend.boxn - 1])).UR.x; ((Z.z().boxes[boxn])).UR.y = ((Z.z().boxes[boxn])).LL.y + stepy; boxn++; b.___((hend).boxes[hend.boxn - 1]); ((Z.z().boxes[boxn])).UR.x = b.UR.x; ((Z.z().boxes[boxn])).LL.y = b.UR.y; ((Z.z().boxes[boxn])).LL.x = b.LL.x - (i + 1) * stepx; ((Z.z().boxes[boxn])).UR.y = (Z.z().boxes[boxn-1]).LL.y; boxn++; for (j = 0; j < tend.boxn; j++) add_box(P, (tend).boxes[j]); for (j = 0; j < boxn; j++) add_box(P, Z.z().boxes[j]); for (j = hend.boxn - 1; j >= 0; j--) add_box(P, (hend).boxes[j]); if (et == (5 << 1)) ps = routesplines(P, pn); else ps = routepolylines(P, pn); if (pn[0] == 0) return; clip_and_install(e, aghead(e), ps, pn[0], Z.z().sinfo); P.nbox = 0; } } finally { LEAVING("6yr3jfkljl5w0z6dv354ryx63","make_flat_edge"); } } //3 78oy7e2xm3t4de66du11ej05j // static int leftOf (pointf p1, pointf p2, pointf p3) public static Object leftOf(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("iqhj2moads3aafqx5xa8j44g"); // leftOf (pointf p1, pointf p2, pointf p3) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5azgw3jpyk2yccpp3p4s3q817"); // int d; UNSUPPORTED("42n6sq1mbcvm3tugypozccbua"); // d = ((p1.y - p2.y) * (p3.x - p2.x)) - UNSUPPORTED("7y9r79gtx363mln6v9yaisvz6"); // ((p3.y - p2.y) * (p1.x - p2.x)); UNSUPPORTED("8y4f8e0mnow6139qoguzsxojx"); // return (d > 0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2n9bpvx34fnukqu1f9u4v7v6n // static int makeLineEdge(graph_t* g, edge_t* fe, pointf* points, node_t** hp) public static int makeLineEdge(ST_Agraph_s g, ST_Agedge_s fe, __ptr__ points, __ptr__ hp) { ENTERING("2n9bpvx34fnukqu1f9u4v7v6n","makeLineEdge"); try { UNSUPPORTED("d9cz56vtrl0ri6hz88cumukuf"); // static int UNSUPPORTED("1act0rov08v6lg5ydqldks7d1"); // makeLineEdge(graph_t* g, edge_t* fe, pointf* points, node_t** hp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("awgar8whid8l1c7lyj8w53w3i"); // int delr, pn; UNSUPPORTED("ewlm0dtv1gpudqhfx5nsr9d77"); // node_t* hn; UNSUPPORTED("cncpk333257fxnc9w8kfl8m70"); // node_t* tn; UNSUPPORTED("etezq0kgy6mttiwr53pna62d7"); // edge_t* e = fe; UNSUPPORTED("3ll9r1mvzzbhqrs4dwsduif44"); // pointf startp, endp, lp; UNSUPPORTED("bgjjpl6jaaa122twwwd0vif6x"); // pointf dimen; UNSUPPORTED("gdtli7sq5cifvdpg3ecrudew"); // double width, height; UNSUPPORTED("1pa1p9mnpooqack43qfpnoio2"); // while (ED_edge_type(e) != 0) UNSUPPORTED("bdmai1d040qmubf08ds339v9x"); // e = ED_to_orig(e); UNSUPPORTED("axoua6xpo7xc40u2oj0a8dmr9"); // hn = aghead(e); UNSUPPORTED("d0x4emyekwlcpua99voy3764p"); // tn = agtail(e); UNSUPPORTED("b4x4vd9cei4o3tjifzw7pdec6"); // delr = ABS(ND_rank(hn)-ND_rank(tn)); UNSUPPORTED("447fk34earndyf1qvvzttsxtk"); // if ((delr == 1) || ((delr == 2) && (GD_has_labels(g) & (1 << 0)))) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("cbnarpi971ox21zdds7a60axh"); // if (agtail(fe) == agtail(e)) { UNSUPPORTED("o7usaxh5vv7rla55dxzkfmk7"); // *hp = hn; UNSUPPORTED("48h6vk2e5niep4dmpua377248"); // startp = add_pointf(ND_coord(tn), ED_tail_port(e).p); UNSUPPORTED("8fokfn1629eyiqnzi7mey9o2q"); // endp = add_pointf(ND_coord(hn), ED_head_port(e).p); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("3uxftvwe3olgfi579s8izpl76"); // *hp = tn; UNSUPPORTED("akhrhgryddg74jqispnh1j1nn"); // startp = add_pointf(ND_coord(hn), ED_head_port(e).p); UNSUPPORTED("dqdai9l5thna19ynowkfwstuh"); // endp = add_pointf(ND_coord(tn), ED_tail_port(e).p); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("brrmfllffwlnqxljgrwy8x5pq"); // if (ED_label(e)) { UNSUPPORTED("et7phi46cskfaxzpfo97e1s5s"); // dimen = ED_label(e)->dimen; UNSUPPORTED("z26zaj60vrdy38k1c2vk7law"); // if (GD_flip(agraphof(hn))) { UNSUPPORTED("6mcl7j0bp09d061f0dywd1ru8"); // width = dimen.y; UNSUPPORTED("eax7dzvpgqzsiffa2dn2idrxe"); // height = dimen.x; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("de3o94hui5i4dbq9moun6h57f"); // width = dimen.x; UNSUPPORTED("41ge1nnwfokwi43f6tlkgmvb0"); // height = dimen.y; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("d9umd1qjkl4kkybpd7se993ij"); // lp = ED_label(e)->pos, lp; UNSUPPORTED("arxilpbzpy5a2s8skwl644jj2"); // if (leftOf (endp,startp,lp)) { UNSUPPORTED("7bfb4rovu9obr4fje0hi95e67"); // lp.x += width/2.0; UNSUPPORTED("7y2ejp6vr760aqh5qp4v5zdc8"); // lp.y -= height/2.0; UNSUPPORTED("9l9roc1u8a03ljwm2mmeaiqq2"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("a4spf3n199lr00qkdb3vb8i6c"); // lp.x -= width/2.0; UNSUPPORTED("f15m64yxj1oq475bvrt63d5gf"); // lp.y += height/2.0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8ew9p3k3j0b33dnq0ntgbb6x8"); // points[1] = points[0] = startp; UNSUPPORTED("16h577fdghqtaeot735guew4e"); // points[2] = points[3] = points[4] = lp; UNSUPPORTED("9zjfovamhwwehbviws68s5woy"); // points[5] = points[6] = endp; UNSUPPORTED("1uunj4jbr2uhiqxwor6rzmr3j"); // pn = 7; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("8ew9p3k3j0b33dnq0ntgbb6x8"); // points[1] = points[0] = startp; UNSUPPORTED("aztkfl5qctibiu6en7xf6xf3e"); // points[3] = points[2] = endp; UNSUPPORTED("5rmgdadjn23z8djo32eh9bhzd"); // pn = 4; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("abnopd2ggrpdb538wf7zsmrhq"); // return pn; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("2n9bpvx34fnukqu1f9u4v7v6n","makeLineEdge"); } } //private static __ptr__ pointfs; //private static __ptr__ pointfs2; //private static int numpts; //private static int numpts2; //3 30wfq1dby4t07hft9io52nq6z // static void make_regular_edge(graph_t* g, spline_info_t* sp, path * P, edge_t ** edges, int ind, int cnt, int et) public static void make_regular_edge(ST_Agraph_s g, ST_spline_info_t sp, ST_path P, ST_Agedge_s.ArrayOfStar edges, int ind, int cnt, int et) { ENTERING("30wfq1dby4t07hft9io52nq6z","make_regular_edge"); try { ST_Agnode_s tn, hn = null; final ST_Agedgeinfo_t fwdedgeai = new ST_Agedgeinfo_t(), fwdedgebi = new ST_Agedgeinfo_t(), fwdedgei = new ST_Agedgeinfo_t(); final ST_Agedgepair_s fwdedgea = new ST_Agedgepair_s(), fwdedgeb = new ST_Agedgepair_s(), fwdedge = new ST_Agedgepair_s(); ST_Agedge_s e, fe, le, segfirst; ST_pointf.Array ps = null; final ST_pathend_t tend = new ST_pathend_t(), hend = new ST_pathend_t(); final ST_boxf b = new ST_boxf(); int boxn, sl, si, i, j, dx, hackflag, longedge; boolean smode; int pn[] = new int[] {0}; int pointn[] = new int[] {0}; fwdedgea.out.base.setPtr("data", fwdedgeai); fwdedgeb.out.base.setPtr("data", fwdedgebi); fwdedge.out.base.setPtr("data", fwdedgei); if (N(Z.z().pointfs)) { Z.z().pointfs = new ST_pointf.Array(2000); Z.z().pointfs2 = new ST_pointf.Array(2000); Z.z().numpts = 2000; Z.z().numpts2 = 2000; } sl = 0; e = (ST_Agedge_s) edges.get(ind); hackflag = 0; if (ABS(ND_rank(agtail(e)) - ND_rank(aghead(e))) > 1) { UNSUPPORTED("8f17srpa5iisomehrb4b01h51"); // fwdedgeai = *(Agedgeinfo_t*)e->base.data; UNSUPPORTED("97znyysf99vzzwpgnqcpp5yek"); // fwdedgea.out = *e; UNSUPPORTED("b6jipryp9p354gtq9lwa35lzj"); // fwdedgea.out.base.data = (Agrec_t*)&fwdedgeai; UNSUPPORTED("568s5ftes1chv9n1s98g9cncf"); // if (ED_tree_index(e) & 32) { UNSUPPORTED("9hw2l0eu91vauhvj3cxf3andc"); // MAKEFWDEDGE(&fwdedgeb.out, e); UNSUPPORTED("1rql0qzotc0yyozcfkj9p8xkm"); // agtail(&fwdedgea.out) = aghead(e); UNSUPPORTED("dw3p473qmkgjvxewsr8pimi2h"); // ED_tail_port(&fwdedgea.out) = ED_head_port(e); UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("2gys0bodxz4fbasfnrvx6ivg2"); // fwdedgebi = *(Agedgeinfo_t*)e->base.data; UNSUPPORTED("1qqbo2mfls7xhbdno0no8xq54"); // fwdedgeb.out = *e; UNSUPPORTED("980ksnsma7kvvr9755ge8bhzh"); // fwdedgeb.out.base.data = (Agrec_t*)&fwdedgebi; UNSUPPORTED("6le0rehxs2odmv3zg1qg5wvd4"); // agtail(&fwdedgea.out) = agtail(e); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3p0d08nntark676jlv1jl0j27"); // le = getmainedge(e); UNSUPPORTED("6tmwmfqoz3y8k44xamrpv82tl"); // while (ED_to_virt(le)) UNSUPPORTED("1c19c7ftue4zoibf7d2tm6uxy"); // le = ED_to_virt(le); UNSUPPORTED("d29k9lzj5g3d8dfxigwogdnoe"); // aghead(&fwdedgea.out) = aghead(le); UNSUPPORTED("36l0czce101bg0wbmu68xjd7z"); // ED_head_port(&fwdedgea.out).defined = 0; UNSUPPORTED("497rb9p6jdgdoyem0y42ecy6c"); // ED_edge_type(&fwdedgea.out) = 1; UNSUPPORTED("4tjj1vbw4mog2qlouazrdirvw"); // ED_head_port(&fwdedgea.out).p.x = ED_head_port(&fwdedgea.out).p.y = 0; UNSUPPORTED("8kdma1vi9aibo7isrge0lunrh"); // ED_to_orig(&fwdedgea.out) = e; UNSUPPORTED("eih8eaai768x1un5mixrtgstp"); // e = &fwdedgea.out; UNSUPPORTED("bxkpl0bp0qhtxaj6rspd19d1k"); // hackflag = NOT(0); } else { if ((ED_tree_index(e) & 32)!=0) { MAKEFWDEDGE(fwdedgea.out, e); e = fwdedgea.out; } } fe = e; /* compute the spline points for the edge */ if ((et == (1 << 1)) && (pointn[0] = makeLineEdge (g, fe, Z.z().pointfs, hn.unsupported()))!=0) { } else { boolean splines = (et == (5 << 1)); boxn = 0; pointn[0] = 0; segfirst = e; tn = agtail(e); hn = aghead(e); b.___(maximal_bbox(g, sp, tn, null, e)); tend.nb.___(b); beginpath(P, e, 1, tend, spline_merge(tn)); b.UR.y = (tend).boxes[tend.boxn - 1].UR.y; b.LL.y = (tend).boxes[tend.boxn - 1].LL.y; b.___(makeregularend(b, (1<<0), ND_coord(tn).y - GD_rank(g).get(ND_rank(tn)).ht1)); if (b.LL.x < b.UR.x && b.LL.y < b.UR.y) { tend.boxes[tend.boxn].___(b); tend.setInt("boxn", tend.boxn + 1); } longedge = 0; smode = false; si = -1; while (ND_node_type(hn) == 1 && N(((Boolean)Z.z().sinfo.splineMerge.exe(hn)).booleanValue())) { longedge = 1; Z.z().boxes[boxn++].___(rank_box(sp, g, ND_rank(tn))); if (N(smode) && ((sl = straight_len(hn)) >= ((GD_has_labels(g) & (1 << 0))!=0 ? 4 + 1 : 2 + 1))) { smode = NOT(false); si = 1; sl -= 2; } if (N(smode) || si > 0) { si--; Z.z().boxes[boxn++].___(maximal_bbox(g, sp, hn, e, (ST_Agedge_s) ND_out(hn).getFromList(0))); e = (ST_Agedge_s) ND_out(hn).getFromList(0); tn = agtail(e); hn = aghead(e); continue; } hend.setStruct("nb", maximal_bbox(g, sp, hn, e, (ST_Agedge_s) ND_out(hn).getFromList(0))); endpath(P, e, 1, hend, spline_merge(aghead(e))); b.___(makeregularend((hend).boxes[hend.boxn - 1], (1<<2), ND_coord(hn).y + GD_rank(g).get(ND_rank(hn)).ht2)); if (b.LL.x < b.UR.x && b.LL.y < b.UR.y) UNSUPPORTED("1crhubfzekx1qi2ti9ajqsfoc"); // hend.boxes[hend.boxn++] = b; P.end.setDouble("theta", M_PI / 2); P.end.constrained= NOTI(false); completeregularpath(P, segfirst, e, tend, hend, Z.z().boxes, boxn, 1); if (splines) ps = routesplines(P, pn); else { UNSUPPORTED("biyp75vm751j3qmqacagfej4b"); // ps = routepolylines (P, &pn); UNSUPPORTED("4fmdmgg43suu7ppgrcaofwqzh"); // if ((et == (1 << 1)) && (pn > 4)) { UNSUPPORTED("2ftwbx9nsy10ldzds3ej4hxi7"); // ps[1] = ps[0]; UNSUPPORTED("2fedie0btpk43e74p462n0y4n"); // ps[3] = ps[2] = ps[pn-1]; UNSUPPORTED("3fwatldph3opctz8aieqd214d"); // pn = 4; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } } if (pn[0] == 0) return; if (pointn[0] + pn[0] > Z.z().numpts) { /* This should be enough to include 3 extra points added by * straight_path below. */ UNSUPPORTED("k37sqlxbjikqg4xdonnvefo3"); // numpts = 2*(pointn+pn); UNSUPPORTED("8kbxhk7qirj3tr7hn1ukwar3h"); // pointfs = RALLOC(numpts, pointfs, pointf); } for (i = 0; i < pn[0]; i++) { Z.z().pointfs.plus(pointn[0]++).setStruct(ps.plus(i).getStruct()); } e = straight_path((ST_Agedge_s)ND_out(hn).getFromList(0), sl, Z.z().pointfs, pointn); recover_slack(segfirst, P); segfirst = e; tn = agtail(e); hn = aghead(e); boxn = 0; tend.setStruct("nb", maximal_bbox(g, sp, tn, (ST_Agedge_s) ND_in(tn).getFromList(0), e)); beginpath(P, e, 1, tend, spline_merge(tn)); b.___(makeregularend((tend).boxes[tend.boxn - 1], (1<<0), ND_coord(tn).y - GD_rank(g).get(ND_rank(tn)).ht1)); if (b.LL.x < b.UR.x && b.LL.y < b.UR.y) UNSUPPORTED("cjx6tldge3otk1pk6ks1pkn2w"); // tend.boxes[tend.boxn++] = b; P.start.setDouble("theta", -M_PI / 2); P.start.constrained= NOTI(false); smode = false; } Z.z().boxes[boxn++].___(rank_box(sp, g, ND_rank(tn))); b.___(maximal_bbox(g, sp, hn, e, null)); hend.nb.___(b); endpath(P, (ST_Agedge_s) (hackflag!=0 ? fwdedgeb.out : e), 1, hend, spline_merge(aghead(e))); b.UR.y = (hend).boxes[hend.boxn - 1].UR.y; b.LL.y = (hend).boxes[hend.boxn - 1].LL.y; b.___(makeregularend(b, (1<<2), ND_coord(hn).y + GD_rank(g).get(ND_rank(hn)).ht2)); if (b.LL.x < b.UR.x && b.LL.y < b.UR.y) { hend.boxes[hend.boxn].___(b); hend.setInt("boxn", hend.boxn+1); } completeregularpath(P, segfirst, e, tend, hend, Z.z().boxes, boxn, longedge); if (splines) ps = routesplines(P, pn); else ps = routepolylines (P, pn); if ((et == (1 << 1)) && (pn[0] > 4)) { /* Here we have used the polyline case to handle * an edge between two nodes on adjacent ranks. If the * results really is a polyline, straighten it. */ UNSUPPORTED("1u7e6lrkiipml54kkm7ylw56t"); // ps[1] = ps[0]; UNSUPPORTED("76bh6z0xok01d0gdybxcx4ful"); // ps[3] = ps[2] = ps[pn-1]; UNSUPPORTED("95b6xp8h5ai070bekyjhmiehh"); // pn = 4; } if (pn[0] == 0) return; if (pointn[0] + pn[0] > Z.z().numpts) { UNSUPPORTED("c6ux5effs02grz7xh3k8ernda"); // numpts = 2*(pointn+pn); UNSUPPORTED("bedaqcn9h03q6ia6zbezuee1m"); // pointfs = RALLOC(numpts, pointfs, pointf); } for (i = 0; i < pn[0]; i++) { Z.z().pointfs.plus(pointn[0]).setStruct(ps.plus(i).getStruct()); pointn[0]++; } recover_slack(segfirst, P); hn = hackflag!=0 ? aghead(fwdedgeb.out) : aghead(e); } /* make copies of the spline points, one per multi-edge */ if (cnt == 1) { clip_and_install(fe, hn, Z.z().pointfs, pointn[0], Z.z().sinfo); return; } dx = sp.Multisep * (cnt - 1) / 2; for (i = 1; i < pointn[0] - 1; i++) Z.z().pointfs.plus(i).setDouble("x", Z.z().pointfs.get(i).x - dx); if (Z.z().numpts > Z.z().numpts2) { UNSUPPORTED("9ubr4m7bdv5f5ldk2ta6yw3up"); // numpts2 = numpts; UNSUPPORTED("8qwp7ddy5ztgam63fzfjmu890"); // pointfs2 = RALLOC(numpts2, pointfs2, pointf); } for (i = 0; i < pointn[0]; i++) Z.z().pointfs2.plus(i).setStruct(Z.z().pointfs.plus(i).getStruct()); clip_and_install(fe, hn, Z.z().pointfs2, pointn[0], Z.z().sinfo); for (j = 1; j < cnt; j++) { e = (ST_Agedge_s) edges.plus(ind + j).getPtr(); if ((ED_tree_index(e) & 32)!=0) { MAKEFWDEDGE(fwdedge.out, e); e = (ST_Agedge_s) fwdedge.out; } for (i = 1; i < pointn[0] - 1; i++) Z.z().pointfs.plus(i).setDouble("x", Z.z().pointfs.get(i).x + sp.Multisep); for (i = 0; i < pointn[0]; i++) Z.z().pointfs2.plus(i).setStruct(Z.z().pointfs.plus(i).getStruct()); clip_and_install(e, aghead(e), Z.z().pointfs2, pointn[0], Z.z().sinfo); } } finally { LEAVING("30wfq1dby4t07hft9io52nq6z","make_regular_edge"); } } //3 va61hggynvb6z6j34w7otmab // static void completeregularpath(path * P, edge_t * first, edge_t * last, pathend_t * tendp, pathend_t * hendp, boxf * boxes, int boxn, int flag) public static void completeregularpath(ST_path P, ST_Agedge_s first, ST_Agedge_s last, ST_pathend_t tendp, ST_pathend_t hendp, ST_boxf[] boxes, int boxn, int flag) { ENTERING("va61hggynvb6z6j34w7otmab","completeregularpath"); try { ST_Agedge_s uleft, uright, lleft, lright; int i, fb, lb; ST_splines spl; ST_pointf.Array pp; int pn; fb = lb = -1; uleft = uright = null; uleft = top_bound(first, -1); uright = top_bound(first, 1); if (uleft!=null) { if (N(spl = getsplinepoints(uleft))) return; pp = ((ST_bezier)spl.list.get(0).getPtr()).list; pn = spl.list.get(0).size; } if (uright!=null) { if (N(spl = getsplinepoints(uright))) return; pp = ((ST_bezier)spl.list.get(0).getPtr()).list; pn = spl.list.get(0).size; } lleft = lright = null; lleft = bot_bound(last, -1); lright = bot_bound(last, 1); if (lleft!=null) { if (N(spl = getsplinepoints(lleft))) return; pp = ((ST_bezier)spl.list.plus(spl.size - 1).getPtr().getPtr()).list; pn = spl.list.plus(spl.size - 1).getPtr().size; } if (lright!=null) { if (N(spl = getsplinepoints(lright))) return; pp = ((ST_bezier)spl.list.plus(spl.size - 1).getPtr().getPtr()).list; pn = spl.list.plus(spl.size - 1).getPtr().size; } for (i = 0; i < tendp.boxn; i++) add_box(P, (tendp).boxes[i]); fb = P.nbox + 1; lb = fb + boxn - 3; for (i = 0; i < boxn; i++) add_box(P, boxes[i]); for (i = hendp.boxn - 1; i >= 0; i--) add_box(P, (hendp).boxes[i]); adjustregularpath(P, fb, lb); } finally { LEAVING("va61hggynvb6z6j34w7otmab","completeregularpath"); } } //3 3wwhczhpkcnflwr1l9wcga7tq // static boxf makeregularend(boxf b, int side, double y) public static ST_boxf makeregularend(final ST_boxf b, int side, double y) { // WARNING!! STRUCT return makeregularend_w_(b.copy(), side, y).copy(); } private static ST_boxf makeregularend_w_(final ST_boxf b, int side, double y) { ENTERING("3wwhczhpkcnflwr1l9wcga7tq","makeregularend"); try { final ST_boxf newb = new ST_boxf(); switch (side) { case (1<<0): newb.___(boxfof(b.LL.x, y, b.UR.x, b.LL.y)); break; case (1<<2): newb.___(boxfof(b.LL.x, b.UR.y, b.UR.x, y)); break; } return newb; } finally { LEAVING("3wwhczhpkcnflwr1l9wcga7tq","makeregularend"); } } //3 88xrlzjovkxcnay9b2y5zyiid // static void adjustregularpath(path * P, int fb, int lb) public static void adjustregularpath(ST_path P, int fb, int lb) { ENTERING("88xrlzjovkxcnay9b2y5zyiid","adjustregularpath"); try { ST_boxf bp1, bp2; int i, x; for (i = fb-1; i < lb+1; i++) { bp1 = (ST_boxf) P.boxes[i]; if ((i - fb) % 2 == 0) { if (bp1.LL.x >= bp1.UR.x) { x = (int)((bp1.LL.x + bp1.UR.x) / 2); bp1.LL.setDouble("x", x - 8); bp1.UR.setDouble("x", x + 8); } } else { if (bp1.LL.x + 16 > bp1.UR.x) { x = (int)((bp1.LL.x + bp1.UR.x) / 2); bp1.LL.setDouble("x", x - 8); bp1.UR.setDouble("x", x + 8); } } } for (i = 0; i < P.nbox - 1; i++) { bp1 = (ST_boxf) P.boxes[i]; bp2 = (ST_boxf) P.boxes[i+1]; if (i >= fb && i <= lb && (i - fb) % 2 == 0) { if (bp1.LL.x + 16 > bp2.UR.x) bp2.UR.setDouble("x", bp1.LL.x + 16); if (bp1.UR.x - 16 < bp2.LL.x) bp2.LL.setDouble("x", bp1.UR.x - 16); } else if (i + 1 >= fb && i < lb && (i + 1 - fb) % 2 == 0) { if (bp1.LL.x + 16 > bp2.UR.x) bp1.LL.setDouble("x", bp2.UR.x - 16); if (bp1.UR.x - 16 < bp2.LL.x) bp1.UR.setDouble("x", bp2.LL.x + 16); } } } finally { LEAVING("88xrlzjovkxcnay9b2y5zyiid","adjustregularpath"); } } //3 bajn5vx0isu427n6dh131b985 // static boxf rank_box(spline_info_t* sp, graph_t * g, int r) public static ST_boxf rank_box(ST_spline_info_t sp, ST_Agraph_s g, int r) { // WARNING!! STRUCT return rank_box_w_(sp, g, r).copy(); } private static ST_boxf rank_box_w_(ST_spline_info_t sp, ST_Agraph_s g, int r) { ENTERING("bajn5vx0isu427n6dh131b985","rank_box"); try { final ST_boxf b = new ST_boxf(); ST_Agnode_s /* *right0, *right1, */ left0, left1; b.___(sp.Rank_box[r]); if (b.LL.x == b.UR.x) { left0 = (ST_Agnode_s) GD_rank(g).get(r).v.get(0); /* right0 = GD_rank(g)[r].v[GD_rank(g)[r].n - 1]; */ left1 = (ST_Agnode_s) GD_rank(g).get(r + 1).v.get(0); /* right1 = GD_rank(g)[r + 1].v[GD_rank(g)[r + 1].n - 1]; */ b.LL.x = sp.LeftBound; b.LL.y = ND_coord(left1).y + GD_rank(g).get(r + 1).ht2; b.UR.x = sp.RightBound; b.UR.y = ND_coord(left0).y - GD_rank(g).get(r).ht1; sp.Rank_box[r].setStruct(b); } return b; } finally { LEAVING("bajn5vx0isu427n6dh131b985","rank_box"); } } //3 6qwcnugx2ytjrvi5rgxzyzg5i // static int straight_len(node_t * n) public static int straight_len(ST_Agnode_s n) { ENTERING("6qwcnugx2ytjrvi5rgxzyzg5i","straight_len"); try { int cnt = 0; ST_Agnode_s v; v = n; while (true) { v = (ST_Agnode_s) aghead(ND_out(v).getFromList(0)); if (ND_node_type(v) != 1) break; if ((ND_out(v).size != 1) || (ND_in(v).size != 1)) break; if (ND_coord(v).x != ND_coord(n).x) break; cnt++; } return cnt; } finally { LEAVING("6qwcnugx2ytjrvi5rgxzyzg5i","straight_len"); } } //3 15pgjjuil2c1rjldu29j07gbz // static edge_t *straight_path(edge_t * e, int cnt, pointf * plist, int *np) public static ST_Agedge_s straight_path(ST_Agedge_s e, int cnt, __ptr__ plist, int np[]) { ENTERING("15pgjjuil2c1rjldu29j07gbz","straight_path"); try { int n = np[0]; ST_Agedge_s f = e; while ((cnt--)!=0) f = (ST_Agedge_s) ND_out(aghead(f)).getFromList(0); plist.plus(np[0]++).setStruct(plist.plus(n - 1).getStruct()); plist.plus(np[0]++).setStruct(plist.plus(n - 1).getStruct()); plist.plus(np[0]).setStruct(ND_coord(agtail(f))); /* will be overwritten by next spline */ return f; } finally { LEAVING("15pgjjuil2c1rjldu29j07gbz","straight_path"); } } //3 4ilkzqtegd5uffawb4qcjthu1 // static void recover_slack(edge_t * e, path * p) public static void recover_slack(ST_Agedge_s e, ST_path p) { ENTERING("4ilkzqtegd5uffawb4qcjthu1","recover_slack"); try { int b; ST_Agnode_s vn; b = 0; /* skip first rank box */ for (vn = aghead(e); ND_node_type(vn) == 1 && N(((Boolean)Z.z().sinfo.splineMerge.exe(vn)).booleanValue()); vn = aghead(ND_out(vn).getFromList(0))) { while ((b < p.nbox) && (p.boxes[b].LL.y > ND_coord(vn).y)) b++; if (b >= p.nbox) break; if (p.boxes[b].UR.y < ND_coord(vn).y) continue; if (ND_label(vn)!=null) resize_vn(vn, (int)p.boxes[b].LL.x, (int)p.boxes[b].UR.x, (int)(p.boxes[b].UR.x + ND_rw(vn))); else resize_vn(vn, (int)p.boxes[b].LL.x, (int)((p.boxes[b].LL.x + p.boxes[b].UR.x) / 2), (int)p.boxes[b].UR.x); } } finally { LEAVING("4ilkzqtegd5uffawb4qcjthu1","recover_slack"); } } //3 3vmg1q1r0eb14etvjdk4cukpd // static void resize_vn(vn, lx, cx, rx) node_t *vn public static void resize_vn(ST_Agnode_s vn, int lx, int cx, int rx) { ENTERING("3vmg1q1r0eb14etvjdk4cukpd","resize_vn"); try { ND_coord(vn).setDouble("x", cx); ND_lw(vn, cx - lx); ND_rw(vn, rx - cx); } finally { LEAVING("3vmg1q1r0eb14etvjdk4cukpd","resize_vn"); } } //3 9t0v5wicmjuc3ij9hko6iawle // static edge_t *top_bound(edge_t * e, int side) public static ST_Agedge_s top_bound(ST_Agedge_s e, int side) { ENTERING("9t0v5wicmjuc3ij9hko6iawle","top_bound"); try { ST_Agedge_s f, ans = null; int i; for (i = 0; (f = (ST_Agedge_s) ND_out(agtail(e)).getFromList(i))!=null; i++) { if (side * (ND_order(aghead(f)) - ND_order(aghead(e))) <= 0) continue; if ((ED_spl(f) == null) && ((ED_to_orig(f) == null) || (ED_spl(ED_to_orig(f)) == null))) continue; if ((ans == null) || (side * (ND_order(aghead(ans)) - ND_order(aghead(f))) > 0)) ans = f; } return ans; } finally { LEAVING("9t0v5wicmjuc3ij9hko6iawle","top_bound"); } } //3 9fsg0uiyhtrayd4mimmc0i25e // static edge_t *bot_bound(edge_t * e, int side) public static ST_Agedge_s bot_bound(ST_Agedge_s e, int side) { ENTERING("9fsg0uiyhtrayd4mimmc0i25e","bot_bound"); try { ST_Agedge_s f, ans = null; int i; for (i = 0; (f = (ST_Agedge_s) ND_in(aghead(e)).getFromList(i))!=null; i++) { if (side * (ND_order(agtail(f)) - ND_order(agtail(e))) <= 0) continue; if ((ED_spl(f) == null) && ((ED_to_orig(f) == null) || (ED_spl(ED_to_orig(f)) == null))) continue; if ((ans == null) || (side * (ND_order(agtail(ans)) - ND_order(agtail(f))) > 0)) ans = f; } return ans; } finally { LEAVING("9fsg0uiyhtrayd4mimmc0i25e","bot_bound"); } } //3 65uvkv1mextaah5m997ibe3qs // static int cl_vninside(graph_t * cl, node_t * n) public static boolean cl_vninside(ST_Agraph_s cl, ST_Agnode_s n) { ENTERING("65uvkv1mextaah5m997ibe3qs","cl_vninside"); try { return (BETWEEN(GD_bb(cl).LL.x, (double)(ND_coord(n).x), GD_bb(cl).UR.x) && BETWEEN(GD_bb(cl).LL.y, (double)(ND_coord(n).y), GD_bb(cl).UR.y)); } finally { LEAVING("65uvkv1mextaah5m997ibe3qs","cl_vninside"); } } //3 dzvvmxkya868w5x78lkvchigk // static Agraph_t *cl_bound(graph_t* g, node_t *n, node_t *adj) public static ST_Agraph_s cl_bound(ST_Agraph_s g, ST_Agnode_s n, ST_Agnode_s adj) { ENTERING("dzvvmxkya868w5x78lkvchigk","cl_bound"); try { ST_Agraph_s rv, cl, tcl, hcl; ST_Agedge_s orig; rv = null; if (ND_node_type(n) == 0) tcl = hcl = ND_clust(n); else { orig = ED_to_orig(ND_out(n).getFromList(0)); tcl = ND_clust(agtail(orig)); hcl = ND_clust(aghead(orig)); } if (ND_node_type(adj) == 0) { cl = ( EQ(ND_clust(adj), g) ? null:ND_clust(adj)); if (cl!=null && NEQ(cl, tcl) && NEQ(cl, hcl)) rv = cl; } else { orig = ED_to_orig(ND_out(adj).getFromList(0)); cl = ( EQ(ND_clust(agtail(orig)), g) ? null:ND_clust(agtail(orig))); if (cl!=null && NEQ(cl, tcl) && NEQ(cl, hcl) && cl_vninside(cl, adj)) rv = cl; else { cl = ( EQ(ND_clust(aghead(orig)), g) ? null:ND_clust(aghead(orig))); if (cl!=null && NEQ(cl, tcl) && NEQ(cl, hcl) && cl_vninside(cl, adj)) rv = cl; } } return rv; } finally { LEAVING("dzvvmxkya868w5x78lkvchigk","cl_bound"); } } //3 6qwgl36ugfnduc5x59ohuewv1 // static boxf maximal_bbox(graph_t* g, spline_info_t* sp, node_t* vn, edge_t* ie, edge_t* oe) public static ST_boxf maximal_bbox(ST_Agraph_s g, ST_spline_info_t sp, ST_Agnode_s vn, ST_Agedge_s ie, ST_Agedge_s oe) { // WARNING!! STRUCT return maximal_bbox_w_(g, sp, vn, ie, oe).copy(); } private static ST_boxf maximal_bbox_w_(ST_Agraph_s g, ST_spline_info_t sp, ST_Agnode_s vn, ST_Agedge_s ie, ST_Agedge_s oe) { ENTERING("6qwgl36ugfnduc5x59ohuewv1","maximal_bbox"); try { double b, nb; ST_Agraph_s left_cl, right_cl; ST_Agnode_s left, right; final ST_boxf rv = new ST_boxf(); left_cl = right_cl = null; /* give this node all the available space up to its neighbors */ b = (double)(ND_coord(vn).x - ND_lw(vn) - 4); if ((left = neighbor(g, vn, ie, oe, -1))!=null) { if ((left_cl = cl_bound(g, vn, left))!=null) nb = GD_bb(left_cl).UR.x + (double)(sp.Splinesep); else { nb = (double)(ND_coord(left).x + ND_mval(left)); if (ND_node_type(left) == 0) nb += GD_nodesep(g) / 2.; else nb += (double)(sp.Splinesep); } if (nb < b) b = nb; rv.LL.x = ROUND(b); } else rv.LL.x = MIN(ROUND(b), sp.LeftBound); /* we have to leave room for our own label! */ if ((ND_node_type(vn) == 1) && (ND_label(vn)!=null)) b = (double)(ND_coord(vn).x + 10); else b = (double)(ND_coord(vn).x + ND_rw(vn) + 4); if ((right = neighbor(g, vn, ie, oe, 1))!=null) { if ((right_cl = cl_bound(g, vn, right))!=null) nb = GD_bb(right_cl).LL.x - (double)(sp.Splinesep); else { nb = ND_coord(right).x - ND_lw(right); if (ND_node_type(right) == 0) nb -= GD_nodesep(g) / 2.; else nb -= (double)(sp.Splinesep); } if (nb > b) b = nb; rv.UR.x = ROUND(b); } else rv.UR.x = MAX(ROUND(b), sp.RightBound); if ((ND_node_type(vn) == 1) && (ND_label(vn)!=null)) { rv.UR.x = rv.UR.x - ND_rw(vn); if (rv.UR.x < rv.LL.x) rv.UR.x = ND_coord(vn).x; } rv.LL.y = ND_coord(vn).y - GD_rank(g).get(ND_rank(vn)).ht1; rv.UR.y = ND_coord(vn).y + GD_rank(g).get(ND_rank(vn)).ht2; return rv; } finally { LEAVING("6qwgl36ugfnduc5x59ohuewv1","maximal_bbox"); } } //3 18pm6r3xcy90f0xi5hpm9jdhk // static node_t * neighbor(graph_t* g, node_t *vn, edge_t *ie, edge_t *oe, int dir) public static ST_Agnode_s neighbor(ST_Agraph_s g, ST_Agnode_s vn, ST_Agedge_s ie, ST_Agedge_s oe, int dir) { ENTERING("18pm6r3xcy90f0xi5hpm9jdhk","neighbor"); try { int i; ST_Agnode_s n, rv = null; ST_rank_t.Array2 rank = GD_rank(g).plus(ND_rank(vn)); for (i = ND_order(vn) + dir; ((i >= 0) && (i < rank.getPtr().n)); i += dir) { n = (ST_Agnode_s) rank.getPtr().v.get(i); if ((ND_node_type(n) == 1) && (ND_label(n)!=null)) { rv = n; break; } if (ND_node_type(n) == 0) { rv = n; break; } if (pathscross(n, vn, ie, oe) == false) { rv = n; break; } } return rv; } finally { LEAVING("18pm6r3xcy90f0xi5hpm9jdhk","neighbor"); } } //3 f4q0oqe165s9pl5k0th5noeyv // static boolean pathscross(n0, n1, ie1, oe1) node_t *n0, *n1 public static boolean pathscross(ST_Agnode_s n0, ST_Agnode_s n1, ST_Agedge_s ie1, ST_Agedge_s oe1) { ENTERING("f4q0oqe165s9pl5k0th5noeyv","pathscross"); try { ST_Agedge_s e0, e1; ST_Agnode_s na, nb; boolean order; int cnt; order = (ND_order(n0) > ND_order(n1)); if ((ND_out(n0).size != 1) && (ND_out(n0).size != 1)) return false; e1 = oe1; if (ND_out(n0).size == 1 && e1!=null) { e0 = (ST_Agedge_s) ND_out(n0).getFromList(0); for (cnt = 0; cnt < 2; cnt++) { if (EQ(na = aghead(e0), nb = aghead(e1))) break; if (order != (ND_order(na) > ND_order(nb))) return NOT(false); if ((ND_out(na).size != 1) || (ND_node_type(na) == 0)) break; e0 = (ST_Agedge_s) ND_out(na).getFromList(0); if ((ND_out(nb).size != 1) || (ND_node_type(nb) == 0)) break; e1 = (ST_Agedge_s) ND_out(nb).getFromList(0); } } e1 = ie1; if (ND_in(n0).size == 1 && e1!=null) { e0 = (ST_Agedge_s) ND_in(n0).getFromList(0); for (cnt = 0; cnt < 2; cnt++) { if (EQ(na = agtail(e0), nb = agtail(e1))) break; if (order != (ND_order(na) > ND_order(nb))) return NOT(false); if ((ND_in(na).size != 1) || (ND_node_type(na) == 0)) break; e0 = (ST_Agedge_s) ND_in(na).getFromList(0); if ((ND_in(nb).size != 1) || (ND_node_type(nb) == 0)) break; e1 = (ST_Agedge_s) ND_in(nb).getFromList(0); } } return false; } finally { LEAVING("f4q0oqe165s9pl5k0th5noeyv","pathscross"); } } } plantuml-1.2018.13+ds/src/gen/lib/dotgen/fastgr__c.java000066400000000000000000001066311340005343600224520ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.dotgen; import static gen.lib.cgraph.edge__c.aghead; import static gen.lib.cgraph.edge__c.agtail; import static gen.lib.cgraph.obj__c.agroot; import static gen.lib.dotgen.dotinit__c.dot_root; import static smetana.core.JUtils.EQ; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.AGINEDGE; import static smetana.core.Macro.AGNODE; import static smetana.core.Macro.AGOUTEDGE; import static smetana.core.Macro.AGSEQ; import static smetana.core.Macro.AGTYPE; import static smetana.core.Macro.ED_count; import static smetana.core.Macro.ED_edge_type; import static smetana.core.Macro.ED_head_port; import static smetana.core.Macro.ED_minlen; import static smetana.core.Macro.ED_tail_port; import static smetana.core.Macro.ED_to_orig; import static smetana.core.Macro.ED_to_virt; import static smetana.core.Macro.ED_weight; import static smetana.core.Macro.ED_xpenalty; import static smetana.core.Macro.GD_has_flat_edges; import static smetana.core.Macro.GD_n_nodes; import static smetana.core.Macro.GD_nlist; import static smetana.core.Macro.ND_UF_size; import static smetana.core.Macro.ND_flat_in; import static smetana.core.Macro.ND_flat_out; import static smetana.core.Macro.ND_ht; import static smetana.core.Macro.ND_in; import static smetana.core.Macro.ND_lw; import static smetana.core.Macro.ND_next; import static smetana.core.Macro.ND_node_type; import static smetana.core.Macro.ND_other; import static smetana.core.Macro.ND_out; import static smetana.core.Macro.ND_prev; import static smetana.core.Macro.ND_rw; import static smetana.core.Macro.NOT; import static smetana.core.Macro.UNSUPPORTED; import static smetana.core.Macro.aghead; import static smetana.core.Macro.agtail; import static smetana.core.Macro.alloc_elist; import static smetana.core.Macro.elist_append; import h.ST_Agedge_s; import h.ST_Agedgeinfo_t; import h.ST_Agedgepair_s; import h.ST_Agnode_s; import h.ST_Agnodeinfo_t; import h.ST_Agraph_s; import h.ST_Agrec_s; import h.ST_elist; import h.ST_pointf; public class fastgr__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 econbrl314rr46qnvvw5e32j7 // static edge_t *ffe(node_t * u, elist uL, node_t * v, elist vL) public static ST_Agedge_s ffe(ST_Agnode_s u, final ST_elist uL, ST_Agnode_s v, final ST_elist vL) { // WARNING!! STRUCT return ffe_w_(u, uL.copy(), v, vL.copy()); } private static ST_Agedge_s ffe_w_(ST_Agnode_s u, final ST_elist uL, ST_Agnode_s v, final ST_elist vL) { ENTERING("econbrl314rr46qnvvw5e32j7","ffe"); try { int i; ST_Agedge_s e = null; if ((uL.size > 0) && (vL.size > 0)) { if (uL.size < vL.size) { for (i = 0; (e = (ST_Agedge_s) uL.getFromList(i))!=null; i++) if (EQ(aghead(e), v)) break; } else { for (i = 0; (e = (ST_Agedge_s) vL.getFromList(i))!=null; i++) if (EQ(agtail(e), u)) break; } } else e = null; return e; } finally { LEAVING("econbrl314rr46qnvvw5e32j7","ffe"); } } //3 1uygfrgur73lfy9vsjozwwupm // edge_t *find_fast_edge(node_t * u, node_t * v) public static ST_Agedge_s find_fast_edge(ST_Agnode_s u, ST_Agnode_s v) { ENTERING("1uygfrgur73lfy9vsjozwwupm","find_fast_edge"); try { return ffe(u, ND_out(u), v, ND_in(v)); } finally { LEAVING("1uygfrgur73lfy9vsjozwwupm","find_fast_edge"); } } //3 1yw7ahdnxnexnicj552zqyyej // static node_t* find_fast_node(graph_t * g, node_t * n) public static ST_Agnode_s find_fast_node(ST_Agraph_s g, ST_Agnode_s n) { ENTERING("1yw7ahdnxnexnicj552zqyyej","find_fast_node"); try { ST_Agnode_s v; for (v = GD_nlist(g); v!=null; v = ND_next(v)) if (EQ(v, n)) break; return v; } finally { LEAVING("1yw7ahdnxnexnicj552zqyyej","find_fast_node"); } } //3 bf1j97keudu416avridkj9fpb // edge_t *find_flat_edge(node_t * u, node_t * v) public static ST_Agedge_s find_flat_edge(ST_Agnode_s u, ST_Agnode_s v) { ENTERING("bf1j97keudu416avridkj9fpb","find_flat_edge"); try { return ffe(u, ND_flat_out(u), v, ND_flat_in(v)); } finally { LEAVING("bf1j97keudu416avridkj9fpb","find_flat_edge"); } } //3 cttswsffgmw1g710jzvdd3wzn // static void safe_list_append(edge_t * e, elist * L) public static Object safe_list_append(Object... arg) { UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void UNSUPPORTED("3kdqf9wvozj4zu6wrv6ur2k47"); // safe_list_append(edge_t * e, elist * L) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("dhvbzrcz6s76mme3x94begmvr"); // for (i = 0; i < L->size; i++) UNSUPPORTED("c0a4ruccwt5263vw39xrttm0y"); // if (e == L->list[i]) UNSUPPORTED("6cprbghvenu9ldc0ez1ifc63q"); // return; UNSUPPORTED("cslejjtgepjdwlcykfas4fmvz"); // elist_append(e, (*L)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8t6gpubo908pz1pqnt1s88lnt // edge_t *fast_edge(edge_t * e) public static ST_Agedge_s fast_edge(ST_Agedge_s e) { ENTERING("8t6gpubo908pz1pqnt1s88lnt","fast_edge"); try { elist_append(e, ND_out(agtail(e))); elist_append(e, ND_in(aghead(e))); return e; } finally { LEAVING("8t6gpubo908pz1pqnt1s88lnt","fast_edge"); } } //3 dxb0q8ajb7iv25aj6zdqnbwh5 // void zapinlist(elist * L, edge_t * e) public static void zapinlist(ST_elist L, ST_Agedge_s e) { ENTERING("dxb0q8ajb7iv25aj6zdqnbwh5","zapinlist"); try { int i; for (i = 0; i < L.size; i++) { if (EQ(L.list.get(i), e)) { L.size = L.size-1; L.list.set(i, L.list.get(L.size)); L.list.set(L.size, null); break; } } } finally { LEAVING("dxb0q8ajb7iv25aj6zdqnbwh5","zapinlist"); } } //3 dkv97rr4ytpehp291etaxe9gc // void delete_fast_edge(edge_t * e) public static void delete_fast_edge(ST_Agedge_s e) { ENTERING("dkv97rr4ytpehp291etaxe9gc","delete_fast_edge"); try { //assert(e != NULL); zapinlist((ND_out(agtail(e))), e); zapinlist((ND_in(aghead(e))), e); } finally { LEAVING("dkv97rr4ytpehp291etaxe9gc","delete_fast_edge"); } } //3 b8a9hlxts1y43x7r4f31vwee6 // static void safe_delete_fast_edge(edge_t * e) public static Object safe_delete_fast_edge(Object... arg) { UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void UNSUPPORTED("bw8hdfe3bql5qxhdyxjh12iaf"); // safe_delete_fast_edge(edge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("6ag74vz3kjmohe4bp89fktey4"); // edge_t *f; UNSUPPORTED("axei6r4pdvrumkaqc9p82yzjh"); // assert(e != NULL); UNSUPPORTED("f10apexer8zzjd53hdc3kc6l5"); // for (i = 0; (f = ND_out(agtail(e)).list[i]); i++) UNSUPPORTED("dibajtvzac9fny0wd51x9jto8"); // if (f == e) UNSUPPORTED("8jj8ar5kwgfuzsk5nd6eyfcmc"); // zapinlist(&(ND_out(agtail(e))), e); UNSUPPORTED("7h2ym5qzjdgt4gg6uscho1z1e"); // for (i = 0; (f = ND_in(aghead(e)).list[i]); i++) UNSUPPORTED("dibajtvzac9fny0wd51x9jto8"); // if (f == e) UNSUPPORTED("dyemtglp4tpava0oysdm66am8"); // zapinlist(&(ND_in(aghead(e))), e); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 73oebfcfiescklohgt8mddswc // void other_edge(edge_t * e) public static void other_edge(ST_Agedge_s e) { ENTERING("73oebfcfiescklohgt8mddswc","other_edge"); try { elist_append(e, ND_other(agtail(e))); } finally { LEAVING("73oebfcfiescklohgt8mddswc","other_edge"); } } //3 4zg1fp1b7bhnx2tbeaij8yeel // void safe_other_edge(edge_t * e) public static Object safe_other_edge(Object... arg) { UNSUPPORTED("3cc9ux78ad0yjajm0nkpos345"); // void safe_other_edge(edge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bn816jsdz3qke6htvbwvztrpc"); // safe_list_append(e, &(ND_other(agtail(e)))); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4gd9tmpq70q0rij5otj0k6sn2 // edge_t *new_virtual_edge(node_t * u, node_t * v, edge_t * orig) public static ST_Agedge_s new_virtual_edge(ST_Agnode_s u, ST_Agnode_s v, ST_Agedge_s orig) { ENTERING("4gd9tmpq70q0rij5otj0k6sn2","new_virtual_edge"); try { ST_Agedge_s e; ST_Agedgepair_s e2 = new ST_Agedgepair_s(); AGTYPE(e2.in, AGINEDGE); AGTYPE(e2.out, AGOUTEDGE); e2.out.base.setPtr("data", new ST_Agedgeinfo_t().castTo(ST_Agrec_s.class)); e = (ST_Agedge_s) e2.out; agtail(e, u); aghead(e, v); ED_edge_type(e, 1); if (orig!=null) { AGSEQ(e, AGSEQ(orig)); AGSEQ(e2.in, AGSEQ(orig)); ED_count(e, ED_count(orig)); ED_xpenalty(e, ED_xpenalty(orig)); ED_weight(e, ED_weight(orig)); ED_minlen(e, ED_minlen(orig)); if (EQ(agtail(e), agtail(orig))) ED_tail_port(e, ED_tail_port(orig)); else if (EQ(agtail(e), aghead(orig))) ED_tail_port(e, ED_head_port(orig)); if (EQ(aghead(e), aghead(orig))) ED_head_port(e, ED_head_port(orig)); else if (EQ(aghead(e), agtail(orig))) ED_head_port(e, ED_tail_port(orig)); if (ED_to_virt(orig) == null) ED_to_virt(orig, e); ED_to_orig(e, orig); } else { ED_minlen(e, 1); ED_count(e, 1); ED_xpenalty(e, 1); ED_weight(e, 1); } return e; } finally { LEAVING("4gd9tmpq70q0rij5otj0k6sn2","new_virtual_edge"); } } //3 9obdfflzw4cs2z9r0dng26mvw // edge_t *virtual_edge(node_t * u, node_t * v, edge_t * orig) public static ST_Agedge_s virtual_edge(ST_Agnode_s u, ST_Agnode_s v, ST_Agedge_s orig) { ENTERING("9obdfflzw4cs2z9r0dng26mvw","virtual_edge"); try { return fast_edge(new_virtual_edge(u, v, orig)); } finally { LEAVING("9obdfflzw4cs2z9r0dng26mvw","virtual_edge"); } } //3 98hkec8t6fjk10bjpstumw0ey // void fast_node(graph_t * g, Agnode_t * n) public static void fast_node(ST_Agraph_s g, ST_Agnode_s n) { ENTERING("98hkec8t6fjk10bjpstumw0ey","fast_node"); try { ND_next(n, GD_nlist(g)); if (ND_next(n)!=null) ND_prev(ND_next(n), n); GD_nlist(g, n); ND_prev(n, null); //assert(n != ND_next(n)); } finally { LEAVING("98hkec8t6fjk10bjpstumw0ey","fast_node"); } } //3 66jdzhjfa6kx3ntfyl5t7cehm // void fast_nodeapp(node_t * u, node_t * v) public static Object fast_nodeapp(Object... arg) { UNSUPPORTED("24rf80znlmwn6xx6m03vqyykr"); // void fast_nodeapp(node_t * u, node_t * v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8g450a5aruflexr2yn977dnjz"); // assert(u != v); UNSUPPORTED("dw67xh0kd304grgqkgiffmejh"); // assert(ND_next(v) == NULL); UNSUPPORTED("1tm9zh31fbm0sufjyg78ke83i"); // ND_next(v) = ND_next(u); UNSUPPORTED("cswodtimhknr7wxlbmhxfzutw"); // if (ND_next(u)) UNSUPPORTED("7aukr7lwtj4wnis5h9ciserpd"); // ND_prev(ND_next(u)) = v; UNSUPPORTED("6oaowqmk3llh0vp3h096bo6nq"); // ND_prev(v) = u; UNSUPPORTED("5ymiaen2fr7qzsn4uotyf2eqy"); // ND_next(u) = v; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 emsq7b6s5100lscckzy3ileqd // void delete_fast_node(graph_t * g, node_t * n) public static void delete_fast_node(ST_Agraph_s g, ST_Agnode_s n) { ENTERING("emsq7b6s5100lscckzy3ileqd","delete_fast_node"); try { assert(find_fast_node(g, n)!=null); if (ND_next(n)!=null) ND_prev(ND_next(n), ND_prev(n)); if (ND_prev(n)!=null) ND_next(ND_prev(n), ND_next(n)); else GD_nlist(g, ND_next(n)); } finally { LEAVING("emsq7b6s5100lscckzy3ileqd","delete_fast_node"); } } //3 eg08ajzojsm0224btmfi7kdxt // node_t *virtual_node(graph_t * g) public static ST_Agnode_s virtual_node(ST_Agraph_s g) { ENTERING("eg08ajzojsm0224btmfi7kdxt","virtual_node"); try { ST_Agnode_s n; n = new ST_Agnode_s(); // agnameof(n) = "virtual"; AGTYPE(n, AGNODE); n.base.setPtr("data", new ST_Agnodeinfo_t()); n.setPtr("root", agroot(g)); ND_node_type(n, 1); ND_rw(n, 1); ND_lw(n, 1); ND_ht(n, 1); ND_UF_size(n, 1); alloc_elist(4, ND_in(n)); alloc_elist(4, ND_out(n)); fast_node(g, n); GD_n_nodes(g, GD_n_nodes(g)+1); return n; } finally { LEAVING("eg08ajzojsm0224btmfi7kdxt","virtual_node"); } } //3 8dvukicq96g5t3xgdl0ue35mj // void flat_edge(graph_t * g, edge_t * e) public static void flat_edge(ST_Agraph_s g, ST_Agedge_s e) { ENTERING("8dvukicq96g5t3xgdl0ue35mj","flat_edge"); try { elist_append(e, ND_flat_out(agtail(e))); elist_append(e, ND_flat_in(aghead(e))); GD_has_flat_edges(g, NOT(false)); GD_has_flat_edges(dot_root(g), NOT(false)); } finally { LEAVING("8dvukicq96g5t3xgdl0ue35mj","flat_edge"); } } //3 clspalhiuedfnk9g9rlvfqpg7 // void delete_flat_edge(edge_t * e) public static void delete_flat_edge(ST_Agedge_s e) { ENTERING("clspalhiuedfnk9g9rlvfqpg7","delete_flat_edge"); try { assert(e != null); if (ED_to_orig(e)!=null && EQ(ED_to_virt(ED_to_orig(e)), e)) ED_to_virt(ED_to_orig(e), null); zapinlist((ND_flat_out(agtail(e))), e); zapinlist((ND_flat_in(aghead(e))), e); } finally { LEAVING("clspalhiuedfnk9g9rlvfqpg7","delete_flat_edge"); } } //3 dcfpol11cvlt6aaa6phqbp6fo // static void basic_merge(edge_t * e, edge_t * rep) public static void basic_merge(ST_Agedge_s e, ST_Agedge_s rep) { ENTERING("dcfpol11cvlt6aaa6phqbp6fo","basic_merge"); try { if (ED_minlen(rep) < ED_minlen(e)) ED_minlen(rep, ED_minlen(e)); while (rep!=null) { ED_count(rep, ED_count(rep) + ED_count(e)); ED_xpenalty(rep, ED_xpenalty(rep) +ED_xpenalty(e)); ED_weight(rep, ED_weight(rep) + ED_weight(e)); rep = ED_to_virt(rep); } } finally { LEAVING("dcfpol11cvlt6aaa6phqbp6fo","basic_merge"); } } //3 6dxgtoii76tmonlnvz4rmiytd // void merge_oneway(edge_t * e, edge_t * rep) public static void merge_oneway(ST_Agedge_s e, ST_Agedge_s rep) { ENTERING("6dxgtoii76tmonlnvz4rmiytd","merge_oneway"); try { if (EQ(rep, ED_to_virt(e))) { UNSUPPORTED("84xxsh1cgsif42hgizyxw36ul"); // agerr(AGWARN, "merge_oneway glitch\n"); UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; } //assert(ED_to_virt(e) == NULL); ED_to_virt(e, rep); basic_merge(e, rep); } finally { LEAVING("6dxgtoii76tmonlnvz4rmiytd","merge_oneway"); } } //3 656h1u18x3gommk50i4bak8wi // static void unrep(edge_t * rep, edge_t * e) public static Object unrep(Object... arg) { UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void UNSUPPORTED("1cysdqgx90krtmp6pc8358byz"); // unrep(edge_t * rep, edge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("az4p9xxo3dhparzmtf3co61n"); // ED_count(rep) -= ED_count(e); UNSUPPORTED("bf8f3cgvxc5n9ixbj4d1z94r0"); // ED_xpenalty(rep) -= ED_xpenalty(e); UNSUPPORTED("5m9h7kqjxjgizf3o1i6udm3c5"); // ED_weight(rep) -= ED_weight(e); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 62io7qyqg9kqthfkbotnjdq49 // void unmerge_oneway(edge_t * e) public static Object unmerge_oneway(Object... arg) { UNSUPPORTED("3rlflkkd29cm53ssikvrqx06v"); // void unmerge_oneway(edge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3we8ga4x5k2sj4s20xlwumjq5"); // edge_t *rep, *nextrep; UNSUPPORTED("e23vpxy61ysfsjvp3u2boafhb"); // for (rep = ED_to_virt(e); rep; rep = nextrep) { UNSUPPORTED("bifyf7jydjlvj8u8hc9tqwutm"); // unrep(rep, e); UNSUPPORTED("eyjz7xjwxabdlqhyvuzfkks49"); // nextrep = ED_to_virt(rep); UNSUPPORTED("4h71tbcobl3o6put6h58thpgu"); // if (ED_count(rep) == 0) UNSUPPORTED("c87nxr35m1again4xqc8x4rhh"); // safe_delete_fast_edge(rep); /* free(rep)? */ UNSUPPORTED("9np2sz8r74ucvij23elgzxkr4"); // /* unmerge from a virtual edge chain */ UNSUPPORTED("5wohy8hhosadqtj6712ufa10t"); // while ((ED_edge_type(rep) == 1) UNSUPPORTED("9nortwuccpr0jx3z027d2jcyh"); // && (ND_node_type(aghead(rep)) == 1) UNSUPPORTED("drowv2sbxmbe2b6632mn3luww"); // && (ND_out(aghead(rep)).size == 1)) { UNSUPPORTED("6f9b53obe00vhcbxj865xc57u"); // rep = ND_out(aghead(rep)).list[0]; UNSUPPORTED("11fxzls2ru6go1mcuza6i8zhv"); // unrep(rep, e); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bm31ww0y2fu2w9n5nyi04ad76"); // ED_to_virt(e) = NULL; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/dotgen/flat__c.java000066400000000000000000000774011340005343600221140ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.dotgen; import static gen.lib.cgraph.edge__c.aghead; import static gen.lib.cgraph.edge__c.agtail; import static gen.lib.dotgen.dotinit__c.dot_root; import static gen.lib.dotgen.fastgr__c.virtual_edge; import static gen.lib.dotgen.fastgr__c.virtual_node; import static gen.lib.dotgen.mincross__c.rec_reset_vlists; import static gen.lib.dotgen.mincross__c.rec_save_vlists; import static smetana.core.JUtils.EQ; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.ALLOC_Agnode_s; import static smetana.core.Macro.ALLOC_ST_rank_t; import static smetana.core.Macro.ED_adjacent; import static smetana.core.Macro.ED_dist; import static smetana.core.Macro.ED_edge_type; import static smetana.core.Macro.ED_head_port; import static smetana.core.Macro.ED_label; import static smetana.core.Macro.ED_tail_port; import static smetana.core.Macro.ED_to_virt; import static smetana.core.Macro.GD_flip; import static smetana.core.Macro.GD_maxrank; import static smetana.core.Macro.GD_minrank; import static smetana.core.Macro.GD_n_cluster; import static smetana.core.Macro.GD_nlist; import static smetana.core.Macro.GD_rank; import static smetana.core.Macro.GD_ranksep; import static smetana.core.Macro.MAX; import static smetana.core.Macro.N; import static smetana.core.Macro.ND_alg; import static smetana.core.Macro.ND_coord; import static smetana.core.Macro.ND_flat_in; import static smetana.core.Macro.ND_flat_out; import static smetana.core.Macro.ND_ht; import static smetana.core.Macro.ND_in; import static smetana.core.Macro.ND_label; import static smetana.core.Macro.ND_lw; import static smetana.core.Macro.ND_next; import static smetana.core.Macro.ND_node_type; import static smetana.core.Macro.ND_order; import static smetana.core.Macro.ND_other; import static smetana.core.Macro.ND_out; import static smetana.core.Macro.ND_rank; import static smetana.core.Macro.ND_rw; import static smetana.core.Macro.NOT; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agedge_s; import h.ST_Agnode_s; import h.ST_Agraph_s; import h.ST_pointf; import h.ST_rank_t; import smetana.core.__ptr__; public class flat__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e0gtvsxlvztmwu8yy44wfvf97 // static node_t *make_vn_slot(graph_t * g, int r, int pos) public static ST_Agnode_s make_vn_slot(ST_Agraph_s g, int r, int pos) { ENTERING("e0gtvsxlvztmwu8yy44wfvf97","make_vn_slot"); try { int i; ST_Agnode_s.ArrayOfStar v; ST_Agnode_s n; v = ALLOC_Agnode_s(GD_rank(g).get(r).n + 2, (ST_Agnode_s.ArrayOfStar) GD_rank(g).get(r).v); GD_rank(g).plus(r).setPtr("v", v); for (i = GD_rank(g).get(r).n; i > pos; i--) { v.plus(i).setPtr(v.plus(i - 1).getPtr()); ND_order(v.get(i), ND_order(v.get(i))+1); } n = virtual_node(g); v.plus(pos).setPtr(n); ND_order(n, pos); ND_rank(n, r); GD_rank(g).plus(r).setInt("n", GD_rank(g).get(r).n+1); v.plus(GD_rank(g).get(r).n).setPtr(null); return (ST_Agnode_s) v.get(pos); } finally { LEAVING("e0gtvsxlvztmwu8yy44wfvf97","make_vn_slot"); } } //3 d64wt9oqphauv3hp4axbg2ep3 // static void findlr(node_t * u, node_t * v, int *lp, int *rp) public static void findlr(ST_Agnode_s u, ST_Agnode_s v, int lp[], int rp[]) { ENTERING("d64wt9oqphauv3hp4axbg2ep3","findlr"); try { int l, r; l = ND_order(u); r = ND_order(v); if (l > r) { int t = l; l = r; r = t; } lp[0] = l; rp[0] = r; } finally { LEAVING("d64wt9oqphauv3hp4axbg2ep3","findlr"); } } //3 bwjjmaydx5a2fnpeoligkha0r // static void setbounds(node_t * v, int *bounds, int lpos, int rpos) public static void setbounds(ST_Agnode_s v, int bounds[], int lpos[], int rpos[]) { ENTERING("bwjjmaydx5a2fnpeoligkha0r","setbounds"); try { int i, ord; int[] l = new int[1], r = new int[1]; ST_Agedge_s f; if (ND_node_type(v) == 1) { ord = ND_order(v); if (ND_in(v).size == 0) { /* flat */ assert(ND_out(v).size == 2); findlr((ST_Agnode_s) aghead(ND_out(v).getFromList(0)), (ST_Agnode_s) aghead(ND_out(v).getFromList(1)), l, r); /* the other flat edge could be to the left or right */ if (r[0] <= lpos[0]) bounds[2] = bounds[0] = ord; else if (l[0] >= rpos[0]) bounds[3] = bounds[1] = ord; /* could be spanning this one */ else if ((l[0] < lpos[0]) && (r[0] > rpos[0])); /* ignore */ /* must have intersecting ranges */ else { if ((l[0] < lpos[0]) || ((l[0] == lpos[0]) && (r[0] < rpos[0]))) bounds[2] = ord; if ((r[0] > rpos[0]) || ((r[0] == rpos[0]) && (l[0] > lpos[0]))) bounds[3] = ord; } } else { /* forward */ boolean onleft, onright; onleft = onright = false; for (i = 0; (f = (ST_Agedge_s) ND_out(v).getFromList(i))!=null; i++) { if (ND_order(aghead(f)) <= lpos[0]) { onleft = NOT(false); continue; } if (ND_order(aghead(f)) >= rpos[0]) { onright = NOT(false); continue; } } if (onleft && (onright == false)) bounds[0] = ord + 1; if (onright && (onleft == false)) bounds[1] = ord - 1; } } } finally { LEAVING("bwjjmaydx5a2fnpeoligkha0r","setbounds"); } } //3 3bc4otcsxj1dujj49ydbb19oa // static int flat_limits(graph_t * g, edge_t * e) public static int flat_limits(ST_Agraph_s g, ST_Agedge_s e) { ENTERING("3bc4otcsxj1dujj49ydbb19oa","flat_limits"); try { int lnode, rnode, r, pos; int[] lpos = new int[1], rpos = new int[1]; int bounds[] = new int[4]; ST_Agnode_s.ArrayOfStar rank; r = ND_rank(agtail(e)) - 1; rank = GD_rank(g).get(r).v; lnode = 0; rnode = GD_rank(g).get(r).n - 1; bounds[0] = bounds[2] = lnode - 1; bounds[1] = bounds[3] = rnode + 1; findlr(agtail(e), aghead(e), lpos, rpos); while (lnode <= rnode) { setbounds((ST_Agnode_s)rank.get(lnode), bounds, lpos, rpos); if (lnode != rnode) setbounds((ST_Agnode_s)rank.get(rnode), bounds, lpos, rpos); lnode++; rnode--; if (bounds[1] - bounds[0] <= 1) break; } if (bounds[0] <= bounds[1]) pos = (bounds[0] + bounds[1] + 1) / 2; else pos = (bounds[2] + bounds[3] + 1) / 2; return pos; } finally { LEAVING("3bc4otcsxj1dujj49ydbb19oa","flat_limits"); } } //3 4cw9yo9ap8ze1r873v6jat4yc // static void flat_node(edge_t * e) public static void flat_node(ST_Agedge_s e) { ENTERING("4cw9yo9ap8ze1r873v6jat4yc","flat_node"); try { int r, place, ypos, h2; ST_Agraph_s g; ST_Agnode_s n, vn; ST_Agedge_s ve; final ST_pointf dimen = new ST_pointf(); if (ED_label(e) == null) return; g = dot_root(agtail(e)); r = ND_rank(agtail(e)); place = flat_limits(g, e); /* grab ypos = LL.y of label box before make_vn_slot() */ if ((n = (ST_Agnode_s) GD_rank(g).get(r - 1).v.get(0))!=null) ypos = (int)(ND_coord(n).y - GD_rank(g).get(r - 1).ht1); else { n = (ST_Agnode_s) GD_rank(g).get(r).v.get(0); ypos = (int)(ND_coord(n).y + GD_rank(g).get(r).ht2 + GD_ranksep(g)); } vn = make_vn_slot(g, r - 1, place); dimen.___(ED_label(e).dimen); if (GD_flip(g)!=0) { double f = dimen.x; dimen.setDouble("x", dimen.y); dimen.setDouble("y", f); } ND_ht(vn, dimen.y); h2 = (int)(ND_ht(vn) / 2); ND_rw(vn, dimen.x / 2); ND_lw(vn, ND_rw(vn)); ND_label(vn, ED_label(e)); ND_coord(vn).setDouble("y", ypos + h2); ve = virtual_edge(vn, agtail(e), e); /* was NULL? */ ED_tail_port(ve).p.setDouble("x", -ND_lw(vn)); ED_head_port(ve).p.setDouble("x", ND_rw(agtail(e))); ED_edge_type(ve, 4); ve = virtual_edge(vn, aghead(e), e); ED_tail_port(ve).p.setDouble("x", ND_rw(vn)); ED_head_port(ve).p.setDouble("x", ND_lw(aghead(e))); ED_edge_type(ve, 4); /* another assumed symmetry of ht1/ht2 of a label node */ if (GD_rank(g).get(r - 1).ht1 < h2) GD_rank(g).plus(r - 1).setDouble("ht1", h2); if (GD_rank(g).get(r - 1).ht2 < h2) GD_rank(g).plus(r - 1).setDouble("ht2", h2); ND_alg(vn, e); } finally { LEAVING("4cw9yo9ap8ze1r873v6jat4yc","flat_node"); } } //3 1lopavodoru6ee52snd5l6swd // static void abomination(graph_t * g) public static void abomination(ST_Agraph_s g) { ENTERING("1lopavodoru6ee52snd5l6swd","abomination"); try { int r; ST_rank_t.Array2 rptr; assert(GD_minrank(g) == 0); /* 3 = one for new rank, one for sentinel, one for off-by-one */ r = GD_maxrank(g) + 3; rptr = ALLOC_ST_rank_t(r, (ST_rank_t.Array2) GD_rank(g)); GD_rank(g, rptr.plus(1)); for (r = GD_maxrank(g); r >= 0; r--) GD_rank(g).get(r).setStruct(GD_rank(g).get(r - 1).getStruct()); GD_rank(g).plus(r).setInt("n", 0); GD_rank(g).plus(r).setInt("an", 0); GD_rank(g).plus(r).setPtr("v", new ST_Agnode_s.ArrayOfStar(2)); GD_rank(g).plus(r).setPtr("av", GD_rank(g).get(r).v); GD_rank(g).plus(r).setPtr("flat", null); GD_rank(g).plus(r).setDouble("ht1", 1); GD_rank(g).plus(r).setDouble("ht2", 1); GD_rank(g).plus(r).setDouble("pht1", 1); GD_rank(g).plus(r).setDouble("pht2", 1); GD_minrank(g, GD_minrank(g)-1); } finally { LEAVING("1lopavodoru6ee52snd5l6swd","abomination"); } } //3 ctujx6e8k3rzv08h6gswdcaqs // static void checkFlatAdjacent (edge_t* e) public static void checkFlatAdjacent(ST_Agedge_s e) { ENTERING("ctujx6e8k3rzv08h6gswdcaqs","checkFlatAdjacent"); try { ST_Agnode_s tn = agtail(e); ST_Agnode_s hn = aghead(e); int i, lo, hi; ST_Agnode_s n; ST_rank_t.Array2 rank; if (ND_order(tn) < ND_order(hn)) { lo = ND_order(tn); hi = ND_order(hn); } else { lo = ND_order(hn); hi = ND_order(tn); } rank = GD_rank(dot_root(tn)).plus(ND_rank(tn)); for (i = lo + 1; i < hi; i++) { n = (ST_Agnode_s) rank.getPtr().v.get(i); if ((ND_node_type(n) == 1 && ND_label(n)!=null) || ND_node_type(n) == 0) break; } if (i == hi) { /* adjacent edge */ do { ED_adjacent(e, 1); e = ED_to_virt(e); } while (e!=null); } } finally { LEAVING("ctujx6e8k3rzv08h6gswdcaqs","checkFlatAdjacent"); } } //3 bjwwj6ftkm0gv04cf1edqeaw6 // int flat_edges(graph_t * g) public static int flat_edges(ST_Agraph_s g) { ENTERING("bjwwj6ftkm0gv04cf1edqeaw6","flat_edges"); try { int i, j, reset = 0; ST_Agnode_s n; ST_Agedge_s e; int found = 0; for (n = GD_nlist(g); n!=null; n = ND_next(n)) { if (ND_flat_out(n).listNotNull()) { for (j = 0; (e = (ST_Agedge_s) ND_flat_out(n).getFromList(j))!=null; j++) { checkFlatAdjacent (e); } } for (j = 0; j < ND_other(n).size; j++) { e = (ST_Agedge_s) ND_other(n).getFromList(j); if (ND_rank(aghead(e)) == ND_rank(agtail(e))) checkFlatAdjacent (e); } } if ((GD_rank(g).get(0).flat!=null) || (GD_n_cluster(g) > 0)) { for (i = 0; (n = (ST_Agnode_s) GD_rank(g).get(0).v.get(i))!=null; i++) { for (j = 0; (e = (ST_Agedge_s) ND_flat_in(n).getFromList(j))!=null; j++) { if ((ED_label(e)!=null) && N(ED_adjacent(e))) { abomination(g); found = 1; break; } } if (found!=0) break; } } rec_save_vlists(g); for (n = GD_nlist(g); n!=null; n = ND_next(n)) { /* if n is the tail of any flat edge, one will be in flat_out */ if (ND_flat_out(n).listNotNull()) { for (i = 0; (e = (ST_Agedge_s) ND_flat_out(n).getFromList(i))!=null; i++) { if (ED_label(e)!=null) { if (ED_adjacent(e)!=0) { if (GD_flip(g)!=0) ED_dist(e, ED_label(e).dimen.y); else ED_dist(e, ED_label(e).dimen.x); } else { reset = 1; flat_node(e); } } } /* look for other flat edges with labels */ for (j = 0; j < ND_other(n).size; j++) { ST_Agedge_s le; e = (ST_Agedge_s) ND_other(n).getFromList(j); if (ND_rank(agtail(e)) != ND_rank(aghead(e))) continue; if (EQ(agtail(e), aghead(e))) continue; /* skip loops */ le = e; while (ED_to_virt(le)!=null) le = ED_to_virt(le); ED_adjacent(e, ED_adjacent(le)); if (ED_label(e)!=null) { if (ED_adjacent(e)!=0) { double lw; if (GD_flip(g)!=0) lw = ED_label(e).dimen.y; else lw = ED_label(e).dimen.x; ED_dist(le, MAX(lw,ED_dist(le))); } else { reset = 1; flat_node(e); } } } } } if (reset!=0) rec_reset_vlists(g); return reset; } finally { LEAVING("bjwwj6ftkm0gv04cf1edqeaw6","flat_edges"); } } } plantuml-1.2018.13+ds/src/gen/lib/dotgen/mincross__c.java000066400000000000000000002551631340005343600230260ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.dotgen; import static gen.lib.cgraph.attr__c.agget; import static gen.lib.cgraph.edge__c.agfstout; import static gen.lib.cgraph.edge__c.aghead; import static gen.lib.cgraph.edge__c.agnxtout; import static gen.lib.cgraph.edge__c.agtail; import static gen.lib.cgraph.graph__c.agnedges; import static gen.lib.cgraph.node__c.agfstnode; import static gen.lib.cgraph.node__c.agnxtnode; import static gen.lib.cgraph.obj__c.agcontains; import static gen.lib.common.memory__c.zmalloc; import static gen.lib.common.utils__c.dequeue; import static gen.lib.common.utils__c.enqueue; import static gen.lib.common.utils__c.free_queue; import static gen.lib.common.utils__c.mapbool; import static gen.lib.common.utils__c.new_queue; import static gen.lib.dotgen.class2__c.class2; import static gen.lib.dotgen.cluster__c.expand_cluster; import static gen.lib.dotgen.cluster__c.install_cluster; import static gen.lib.dotgen.cluster__c.mark_lowclusters; import static gen.lib.dotgen.decomp__c.decompose; import static gen.lib.dotgen.dotinit__c.dot_root; import static gen.lib.dotgen.fastgr__c.delete_flat_edge; import static gen.lib.dotgen.fastgr__c.flat_edge; import static gen.lib.dotgen.fastgr__c.merge_oneway; import static gen.lib.dotgen.fastgr__c.new_virtual_edge; import static smetana.core.JUtils.EQ; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtils.atof; import static smetana.core.JUtils.function; import static smetana.core.JUtils.qsort; import static smetana.core.JUtils.size_t_array_of_integer; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.ALLOC_Agnode_s; import static smetana.core.Macro.ALLOC_INT; import static smetana.core.Macro.ED_edge_type; import static smetana.core.Macro.ED_head_port; import static smetana.core.Macro.ED_label; import static smetana.core.Macro.ED_tail_port; import static smetana.core.Macro.ED_to_orig; import static smetana.core.Macro.ED_to_virt; import static smetana.core.Macro.ED_weight; import static smetana.core.Macro.ED_xpenalty; import static smetana.core.Macro.GD_clust; import static smetana.core.Macro.GD_comp; import static smetana.core.Macro.GD_flags; import static smetana.core.Macro.GD_flip; import static smetana.core.Macro.GD_has_flat_edges; import static smetana.core.Macro.GD_maxrank; import static smetana.core.Macro.GD_minrank; import static smetana.core.Macro.GD_n_cluster; import static smetana.core.Macro.GD_n_nodes; import static smetana.core.Macro.GD_nlist; import static smetana.core.Macro.GD_rank; import static smetana.core.Macro.GD_rankleader; import static smetana.core.Macro.INT_MAX; import static smetana.core.Macro.MIN; import static smetana.core.Macro.N; import static smetana.core.Macro.ND_clust; import static smetana.core.Macro.ND_coord; import static smetana.core.Macro.ND_flat_in; import static smetana.core.Macro.ND_flat_out; import static smetana.core.Macro.ND_has_port; import static smetana.core.Macro.ND_in; import static smetana.core.Macro.ND_low; import static smetana.core.Macro.ND_mark; import static smetana.core.Macro.ND_mval; import static smetana.core.Macro.ND_next; import static smetana.core.Macro.ND_node_type; import static smetana.core.Macro.ND_onstack; import static smetana.core.Macro.ND_order; import static smetana.core.Macro.ND_other; import static smetana.core.Macro.ND_out; import static smetana.core.Macro.ND_prev; import static smetana.core.Macro.ND_rank; import static smetana.core.Macro.ND_ranktype; import static smetana.core.Macro.ND_weight_class; import static smetana.core.Macro.NOT; import static smetana.core.Macro.UNSUPPORTED; import static smetana.core.Macro.elist_append; import h.ST_Agedge_s; import h.ST_Agnode_s; import h.ST_Agraph_s; import h.ST_adjmatrix_t; import h.ST_elist; import h.ST_nodequeue; import h.ST_pointf; import h.ST_rank_t; import java.util.List; import smetana.core.CString; import smetana.core.Memory; import smetana.core.Z; import smetana.core.__ptr__; public class mincross__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7ye0tsa8kll1jntdcqzsgjp0q // static int gd_minrank(Agraph_t *g) public static Object gd_minrank(Object... arg) { UNSUPPORTED("7wnr5wvv8mw2d3mfdyvdz5kz9"); // static int gd_minrank(Agraph_t *g) {return GD_minrank(g);} throw new UnsupportedOperationException(); } //3 c7dhattawtph3qv1eeoafltk0 // static int gd_maxrank(Agraph_t *g) public static Object gd_maxrank(Object... arg) { UNSUPPORTED("b89n5iyqsgra9z559023bf23e"); // static int gd_maxrank(Agraph_t *g) {return GD_maxrank(g);} throw new UnsupportedOperationException(); } //3 8g2can1ih1668s30s6d7wny5b // static rank_t *gd_rank(Agraph_t *g, int r) public static Object gd_rank(Object... arg) { UNSUPPORTED("bxd4rm18v4y2x6fo30vh9pauo"); // static rank_t *gd_rank(Agraph_t *g, int r) {return &GD_rank(g)[r];} throw new UnsupportedOperationException(); } //3 8pjrnrvidhpqcubvkk5lsfp6 // static int nd_order(Agnode_t *v) public static Object nd_order(Object... arg) { UNSUPPORTED("f4zvlmxyp6gei8iiu33hpz4oe"); // static int nd_order(Agnode_t *v) { return ND_order(v); } throw new UnsupportedOperationException(); } //1 eusjqny3hma23wvcznk9arpgr // static int MinQuit //private static int MinQuit; //1 eykidmlm64erbhaultu3js822 // static double Convergence //private static double Convergence; //1 f2ssditidb9f1cgp7r1kslp0e // static graph_t *Root //private static Agraph_s Root; //1 ager0orj38x5rjuhzv1o2cxuc // static int GlobalMinRank, GlobalMaxRank //private static int GlobalMinRank, GlobalMaxRank; //1 dag2n5hcww3ada79u52a8yha6 // static edge_t **TE_list //private static __ptr__ TE_list; //1 agrg82s0nsmuokh0t3h5q6h90 // static int *TI_list // private static __ptr__ TI_list; //1 7x0e0qfe96o5elb6lxt8mfmho // static boolean ReMincross //private static boolean ReMincross; //3 e876vp4hgkzshluz6qk77cjwk // void dot_mincross(graph_t * g, int doBalance) public static void dot_mincross(ST_Agraph_s g, boolean doBalance) { ENTERING("e876vp4hgkzshluz6qk77cjwk","dot_mincross"); try { int c, nc; CString s; init_mincross(g); for (nc = c = 0; c < GD_comp(g).size; c++) { init_mccomp(g, c); nc += mincross_(g, 0, 2, doBalance); } merge2(g); /* run mincross on contents of each cluster */ for (c = 1; c <= GD_n_cluster(g); c++) { nc += mincross_clust(g, (ST_Agraph_s) GD_clust(g).get(c).getPtr(), doBalance); } if ((GD_n_cluster(g) > 0) && (N(s = agget(g, new CString("remincross"))) || (mapbool(s)))) { mark_lowclusters(g); Z.z().ReMincross = NOT(0); nc = mincross_(g, 2, 2, doBalance); } cleanup2(g, nc); } finally { LEAVING("e876vp4hgkzshluz6qk77cjwk","dot_mincross"); } } //3 756bre1tpxb1tq68p7xhkrxkc // static adjmatrix_t *new_matrix(int i, int j) public static ST_adjmatrix_t new_matrix(int i, int j) { ENTERING("756bre1tpxb1tq68p7xhkrxkc","new_matrix"); try { ST_adjmatrix_t rv = new ST_adjmatrix_t(); rv.nrows = i; rv.ncols = j; rv.data = new int[i][j]; // Or maybe new int[j][i] ? return rv; } finally { LEAVING("756bre1tpxb1tq68p7xhkrxkc","new_matrix"); } } //3 1n1e0k0wtlbugwm3cb4na6av6 // static void free_matrix(adjmatrix_t * p) public static void free_matrix(ST_adjmatrix_t p) { ENTERING("1n1e0k0wtlbugwm3cb4na6av6","free_matrix"); try { if (p!=null) { Memory.free(p.data); Memory.free(p); } } finally { LEAVING("1n1e0k0wtlbugwm3cb4na6av6","free_matrix"); } } //3 49vw7fkn99wbojtfksugvuruh // static void init_mccomp(graph_t * g, int c) public static void init_mccomp(ST_Agraph_s g, int c) { ENTERING("49vw7fkn99wbojtfksugvuruh","init_mccomp"); try { int r; // GD_nlist(g, GD_comp(g).getFromListt(c).getPtr()); GD_nlist(g, GD_comp(g).getFromList(c)); if (c > 0) { for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { GD_rank(g).plus(r).setPtr("v", GD_rank(g).get(r).v.plus(GD_rank(g).get(r).n)); GD_rank(g).plus(r).setInt("n", 0); } } } finally { LEAVING("49vw7fkn99wbojtfksugvuruh","init_mccomp"); } } //3 72v5zs502m1of3vsofyfo15ap // static int betweenclust(edge_t * e) public static Object betweenclust(Object... arg) { UNSUPPORTED("6k6r73j7gctt4ntepjubrlfze"); // static int betweenclust(edge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1z9f8ptfggp4qlwv5cdd55i3j"); // while (ED_to_orig(e)) UNSUPPORTED("bdmai1d040qmubf08ds339v9x"); // e = ED_to_orig(e); UNSUPPORTED("eq2o4v9qo3xx42in97ssadek"); // return (ND_clust(agtail(e)) != ND_clust(aghead(e))); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 760bwoz4twwy2jr1b32r6zefi // static void do_ordering_node (graph_t * g, node_t* n, int outflag) public static Object do_ordering_node(Object... arg) { UNSUPPORTED("ajn55zvrzf8njqkshll3kaz88"); // static void do_ordering_node (graph_t * g, node_t* n, int outflag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bp5tdulayknsvyv8a2j2tinh"); // int i, ne; UNSUPPORTED("5yrhx4blosxo5xnc1nh1kzhfs"); // node_t *u, *v; UNSUPPORTED("9cbk3ly04nbzqoxmmjwptqq9a"); // edge_t *e, *f, *fe; UNSUPPORTED("5ol5beitdgh7axwpk35pc9trm"); // edge_t **sortlist = TE_list; UNSUPPORTED("aeria2or5qpnnrr9wm15k588l"); // if (ND_clust(n)) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("442hvc4h32o6e3cvzm5y5y3oq"); // if (outflag) { UNSUPPORTED("7xi4jdz18dyv740agfh5uwtxv"); // for (i = ne = 0; (e = ND_out(n).list[i]); i++) UNSUPPORTED("24smn55xhvkklh2do2cfcmy98"); // if (!betweenclust(e)) UNSUPPORTED("ouas2w3lk54dwigzgglm3w7r"); // sortlist[ne++] = e; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("6dgl0skwzmsi69ugcewc5vwaf"); // for (i = ne = 0; (e = ND_in(n).list[i]); i++) UNSUPPORTED("24smn55xhvkklh2do2cfcmy98"); // if (!betweenclust(e)) UNSUPPORTED("ouas2w3lk54dwigzgglm3w7r"); // sortlist[ne++] = e; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("hdnqvw2crdbzt2uenqso4l7k"); // if (ne <= 1) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("4zkjvsomlyhcl06ummf4gz0d2"); // /* write null terminator at end of list. UNSUPPORTED("2zx16rdu8hp86z3z36natgy8t"); // requires +1 in TE_list alloccation */ UNSUPPORTED("6dp57feioscwstrfmhqhrz1jx"); // sortlist[ne] = 0; UNSUPPORTED("4wqnlh6z9lr2xvmjp95nozn84"); // qsort(sortlist, ne, sizeof(sortlist[0]), (qsort_cmpf) edgeidcmpf); UNSUPPORTED("d6aia9q03brt8otnyu5m3tlxj"); // for (ne = 1; (f = sortlist[ne]); ne++) { UNSUPPORTED("1b9ylnvr8zscovbyrxoe9ypax"); // e = sortlist[ne - 1]; UNSUPPORTED("4nbrepm0pmohxxml0csb9j5xc"); // if (outflag) { UNSUPPORTED("2rcn453iomwvou108kjr2rboc"); // u = aghead(e); UNSUPPORTED("96i3kysq5lfoyukhe65vpiah2"); // v = aghead(f); UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("96jttvtco2oqt3y3qr5fbhu1j"); // u = agtail(e); UNSUPPORTED("8g5mzwux62x43bjzeslylyi0g"); // v = agtail(f); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("a7mygw39shaa9w4l8fdlgqr0i"); // if (find_flat_edge(u, v)) UNSUPPORTED("6cprbghvenu9ldc0ez1ifc63q"); // return; UNSUPPORTED("aoa2embk8eaij29q6nbl4e5tk"); // fe = new_virtual_edge(u, v, NULL); UNSUPPORTED("67t5g8eu9tdqbnwj4s4g6ah6u"); // ED_edge_type(fe) = 4; UNSUPPORTED("b32n066t1nkgj646wvo7vuwlq"); // flat_edge(g, fe); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 815nmj2gcomtex4yfclqde12j // static void do_ordering(graph_t * g, int outflag) public static Object do_ordering(Object... arg) { UNSUPPORTED("9v68euuxlii02rb5mhlyd8alp"); // static void do_ordering(graph_t * g, int outflag) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5y5mm5obhrqt745c4fx4o0r56"); // /* Order all nodes in graph */ UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("bicm0b87pp2rusaezmk6qigjq"); // do_ordering_node (g, n, outflag); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 svq3i3c6yw3cbfwaeip5dfuy // static void do_ordering_for_nodes(graph_t * g) public static Object do_ordering_for_nodes(Object... arg) { UNSUPPORTED("7yd9vingwgdcdtrx0p38jti00"); // static void do_ordering_for_nodes(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("887aairlqk73reuayo3hz67v3"); // /* Order nodes which have the "ordered" attribute */ UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("cbbfhy5qk3dailijtedj1czut"); // const char *ordering; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("ekvbu44bbrdwkw71yd21dbns9"); // if ((ordering = late_string(n, N_ordering, NULL))) { UNSUPPORTED("7jueg5punlemj6mfbpgltb5u8"); // if ((*(ordering)==*("out")&&!strcmp(ordering,"out"))) UNSUPPORTED("302oz5j9wva90otn6jq513bme"); // do_ordering_node(g, n, NOT(0)); UNSUPPORTED("1dt1hft3eak5ytycs6dh7yk0"); // else if ((*(ordering)==*("in")&&!strcmp(ordering,"in"))) UNSUPPORTED("dnig45so0x904azp9fhxymqjn"); // do_ordering_node(g, n, 0); UNSUPPORTED("2rxgmu8cktngvqtsex2rlbjed"); // else if (ordering[0]) UNSUPPORTED("axk3fxl1bh09n475kmcx42kdu"); // agerr(AGERR, "ordering '%s' not recognized for node '%s'.\n", ordering, agnameof(n)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 hzoz2czb672i0nbjvjhbc3na // static void ordered_edges(graph_t * g) public static void ordered_edges(ST_Agraph_s g) { ENTERING("hzoz2czb672i0nbjvjhbc3na","ordered_edges"); try { CString ordering; if (N(Z.z().G_ordering) && N(Z.z().N_ordering)) return; UNSUPPORTED("98iqppixxkdndoz210i5ejppy"); // if ((ordering = late_string(g, G_ordering, NULL))) { UNSUPPORTED("lhhw62wj3on36enoy6ug6u1p"); // if ((*(ordering)==*("out")&&!strcmp(ordering,"out"))) UNSUPPORTED("ctbadiyd3jjtlt2f5t9p94au7"); // do_ordering(g, NOT(0)); UNSUPPORTED("259y9uhqwc8w6jhrpm1eaa7hf"); // else if ((*(ordering)==*("in")&&!strcmp(ordering,"in"))) UNSUPPORTED("312ij4z5d42rye9s30l9io097"); // do_ordering(g, 0); UNSUPPORTED("25yw5chxmy54pmo88tre1w2ir"); // else if (ordering[0]) UNSUPPORTED("5ugg9zy8378pijqru97mxmen5"); // agerr(AGERR, "ordering '%s' not recognized.\n", ordering); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("50itbchatjp61haxvg3xnhvoo"); // graph_t *subg; UNSUPPORTED("evzjoqkm2xukapjvpccu2f23e"); // for (subg = agfstsubg(g); subg; subg = agnxtsubg(subg)) { UNSUPPORTED("1016hqxaexp4j33vmkzvdpq80"); // /* clusters are processed by separate calls to ordered_edges */ UNSUPPORTED("7ah0zlu96u6g6cquxebenj4z3"); // if (!is_cluster(subg)) UNSUPPORTED("7sqzaehh40dvpm11hlxhef6cw"); // ordered_edges(subg); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("h2b3ao18r091ie7yk9v20pqq"); // if (N_ordering) do_ordering_for_nodes (g); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("hzoz2czb672i0nbjvjhbc3na","ordered_edges"); } } //3 crwc5qe7fmrpgcqh1a80toyvo // static int mincross_clust(graph_t * par, graph_t * g, int doBalance) public static int mincross_clust(ST_Agraph_s par, ST_Agraph_s g, boolean doBalance) { ENTERING("crwc5qe7fmrpgcqh1a80toyvo","mincross_clust"); try { int c, nc; expand_cluster(g); ordered_edges(g); flat_breakcycles(g); flat_reorder(g); nc = mincross_(g, 2, 2, doBalance); for (c = 1; c <= GD_n_cluster(g); c++) nc += mincross_clust(g, (ST_Agraph_s) GD_clust(g).get(c).getPtr(), doBalance); save_vlist(g); return nc; } finally { LEAVING("crwc5qe7fmrpgcqh1a80toyvo","mincross_clust"); } } //3 657v773m21j5w3g3v94o7464t // static int left2right(graph_t * g, node_t * v, node_t * w) public static boolean left2right(ST_Agraph_s g, ST_Agnode_s v, ST_Agnode_s w) { ENTERING("657v773m21j5w3g3v94o7464t","left2right"); try { ST_adjmatrix_t M; boolean rv=false; /* CLUSTER indicates orig nodes of clusters, and vnodes of skeletons */ if (Z.z().ReMincross == false) { if (NEQ(ND_clust(v), ND_clust(w)) && (ND_clust(v)!=null) && (ND_clust(w)!=null)) { /* the following allows cluster skeletons to be swapped */ if ((ND_ranktype(v) == 7) && (ND_node_type(v) == 1)) return false; if ((ND_ranktype(w) == 7) && (ND_node_type(w) == 1)) return false; return NOT(false); /*return ((ND_ranktype(v) != CLUSTER) && (ND_ranktype(w) != CLUSTER)); */ } } else { if (NEQ(ND_clust(v), ND_clust(w))) return NOT(0); } M = (ST_adjmatrix_t) GD_rank(g).plus(ND_rank(v)).getPtr().flat; if (M == null) rv = false; else { if (GD_flip(g)!=0) { ST_Agnode_s t = v; v = w; w = t; } rv = M.data[ND_low(v)][ND_low(w)]!=0; } return rv; } finally { LEAVING("657v773m21j5w3g3v94o7464t","left2right"); } } //3 daknncpjy7g5peiicolbmh55i // static int in_cross(node_t * v, node_t * w) public static int in_cross(ST_Agnode_s v, ST_Agnode_s w) { ENTERING("daknncpjy7g5peiicolbmh55i","in_cross"); try { List e2_ = ND_in(w).list; int inv, cross = 0, t; for (int ie2 = 0; e2_.get(ie2)!=null; ie2++) { int cnt = ED_xpenalty(e2_.get(ie2)); inv = ND_order((agtail(e2_.get(ie2)))); List e1_ = ND_in(v).list; for (int ie1 = 0; e1_.get(ie1)!=null; ie1++) { t = ND_order(agtail(e1_.get(ie1))) - inv; if ((t > 0) || ((t == 0) && ( ED_tail_port(e1_.get(ie1)).p.x > ED_tail_port(e2_.get(ie2)).p.x))) cross += ED_xpenalty(e1_.get(ie1)) * cnt; } } return cross; } finally { LEAVING("daknncpjy7g5peiicolbmh55i","in_cross"); } } //3 b7mf74np8ewrgzwd5u0o8fqod // static int out_cross(node_t * v, node_t * w) public static int out_cross(ST_Agnode_s v, ST_Agnode_s w) { ENTERING("b7mf74np8ewrgzwd5u0o8fqod","out_cross"); try { List e2_ = ND_out(w).list; int inv, cross = 0, t; for (int ie2 = 0; e2_.get(ie2)!=null; ie2++) { int cnt = ED_xpenalty(e2_.get(ie2)); inv = ND_order(aghead(e2_.get(ie2))); List e1_ = ND_out(v).list; for (int ie1 = 0; e1_.get(ie1)!=null; ie1++) { t = ND_order(aghead(e1_.get(ie1))) - inv; if ((t > 0) || ((t == 0) && ((ED_head_port(e1_.get(ie1))).p.x) > (ED_head_port(e2_.get(ie2))).p.x)) cross += ((ED_xpenalty(e1_.get(ie1))) * cnt); } } return cross; } finally { LEAVING("b7mf74np8ewrgzwd5u0o8fqod","out_cross"); } } //3 ba4tbr57wips1dzpgxzx3b6ja // static void exchange(node_t * v, node_t * w) public static void exchange(ST_Agnode_s v, ST_Agnode_s w) { ENTERING("ba4tbr57wips1dzpgxzx3b6ja","exchange"); try { int vi, wi, r; r = ND_rank(v); vi = ND_order(v); wi = ND_order(w); ND_order(v, wi); GD_rank(Z.z().Root).get(r).v.plus(wi).setPtr(v); ND_order(w, vi); GD_rank(Z.z().Root).get(r).v.plus(vi).setPtr(w); } finally { LEAVING("ba4tbr57wips1dzpgxzx3b6ja","exchange"); } } //3 dzkv88lq5zv0g3yo7bf90qgr7 // static void balanceNodes(graph_t * g, int r, node_t * v, node_t * w) public static Object balanceNodes(Object... arg) { UNSUPPORTED("504qsj6detmzllj50pno6sdx4"); // static void balanceNodes(graph_t * g, int r, node_t * v, node_t * w) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dor7xumwnqvymg7xdesa6pxqn"); // node_t *s; /* separator node */ UNSUPPORTED("c6s55weiu8hc4voeunxf2utru"); // int sepIndex; UNSUPPORTED("6gqdkaiir2naiawry8cnlpf4a"); // int nullType; /* type of null nodes */ UNSUPPORTED("2dqxr1ujg381s9ugf0367iici"); // int cntDummy = 0, cntOri = 0; UNSUPPORTED("7yj94w2zpwdubyzymyljw490a"); // int k = 0, m = 0, k1 = 0, m1 = 0, i = 0; UNSUPPORTED("6mq7c2z232o8kvpp371lfmewh"); // /* we only consider v and w of different types */ UNSUPPORTED("53kjkk6c0h35zpbikj9y2q6b4"); // if (ND_node_type(v) == ND_node_type(w)) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("5ylcsv8rwps97qz7sdftpwrka"); // /* count the number of dummy and original nodes */ UNSUPPORTED("5025o4uc5dkbxf3smi3kmfoit"); // for (i = 0; i < GD_rank(g)[r].n; i++) { UNSUPPORTED("d87qjwxc2qjvh6hb9fmi9y9vq"); // if (ND_node_type(GD_rank(g)[r].v[i]) == 0) UNSUPPORTED("dcny4syjny1sh20jyjjl7jj62"); // cntOri++; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("bbpsgrsgquajs3xxqzeqvgv6n"); // cntDummy++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2qx27p3loyln3i09ycwf5p1dh"); // if (cntOri < cntDummy) { UNSUPPORTED("ex9drrxqg8zalagzrnvrulrlb"); // if (ND_node_type(v) == 0) UNSUPPORTED("jtm789r1sqidxc39d09n9det"); // s = v; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("c31t0vnbzvj9zml7p91syjzep"); // s = w; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("ex9drrxqg8zalagzrnvrulrlb"); // if (ND_node_type(v) == 0) UNSUPPORTED("c31t0vnbzvj9zml7p91syjzep"); // s = w; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("jtm789r1sqidxc39d09n9det"); // s = v; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ejbeaepbxwawm7mvtusyi2x57"); // /* get the separator node index */ UNSUPPORTED("5025o4uc5dkbxf3smi3kmfoit"); // for (i = 0; i < GD_rank(g)[r].n; i++) { UNSUPPORTED("afetrkwabtn6v07evr5japsk5"); // if (GD_rank(g)[r].v[i] == s) UNSUPPORTED("bvwqg08b9hn6rfdx11sjq0hgc"); // sepIndex = i; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ecis6irl9vire6ejfrshttjk4"); // nullType = (ND_node_type(s) == 0) ? 1 : 0; UNSUPPORTED("1i78b3w9omzkba0pmafwfunbj"); // /* count the number of null nodes to the left and UNSUPPORTED("1f2jn45p7wv1ud964k43lgdss"); // * right of the separator node UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("5l8w7t0ta6p6hnfp72l7lbqey"); // for (i = sepIndex - 1; i >= 0; i--) { UNSUPPORTED("49j09cv8f8ien7kqoguzywjmw"); // if (ND_node_type(GD_rank(g)[r].v[i]) == nullType) UNSUPPORTED("borg3y7rgdooetc6ckrsrg9fc"); // k++; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("cuj70hyout6yv30drqkjiwllo"); // for (i = sepIndex + 1; i < GD_rank(g)[r].n; i++) { UNSUPPORTED("49j09cv8f8ien7kqoguzywjmw"); // if (ND_node_type(GD_rank(g)[r].v[i]) == nullType) UNSUPPORTED("d35zlcj7podjjns9eg2ttocr7"); // m++; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9r0b42aqwdlx2cg7aqsxgle1o"); // /* now exchange v,w and calculate the same counts */ UNSUPPORTED("cvktng9nwm6futhlv28bqbqy"); // exchange(v, w); UNSUPPORTED("ejbeaepbxwawm7mvtusyi2x57"); // /* get the separator node index */ UNSUPPORTED("5025o4uc5dkbxf3smi3kmfoit"); // for (i = 0; i < GD_rank(g)[r].n; i++) { UNSUPPORTED("afetrkwabtn6v07evr5japsk5"); // if (GD_rank(g)[r].v[i] == s) UNSUPPORTED("bvwqg08b9hn6rfdx11sjq0hgc"); // sepIndex = i; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1i78b3w9omzkba0pmafwfunbj"); // /* count the number of null nodes to the left and UNSUPPORTED("1f2jn45p7wv1ud964k43lgdss"); // * right of the separator node UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("5l8w7t0ta6p6hnfp72l7lbqey"); // for (i = sepIndex - 1; i >= 0; i--) { UNSUPPORTED("49j09cv8f8ien7kqoguzywjmw"); // if (ND_node_type(GD_rank(g)[r].v[i]) == nullType) UNSUPPORTED("eer25fyjj3njh33v709xj07lk"); // k1++; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("cuj70hyout6yv30drqkjiwllo"); // for (i = sepIndex + 1; i < GD_rank(g)[r].n; i++) { UNSUPPORTED("49j09cv8f8ien7kqoguzywjmw"); // if (ND_node_type(GD_rank(g)[r].v[i]) == nullType) UNSUPPORTED("80ptwhmp1gyks2xfkcjub24o9"); // m1++; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6yjcl5tugkib89c3p3beoi0cs"); // if (abs(k1 - m1) > abs(k - m)) { UNSUPPORTED("4hhzcihijbcjb2mo6eop9g855"); // exchange(v, w); //revert to the original ordering UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 72rj5xs4qh00oh2yi1h5qaadu // static int balance(graph_t * g) public static Object balance(Object... arg) { UNSUPPORTED("4223t6rekw3qd8eksvz9kjcqh"); // static int balance(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("970giwpms1ljmt0px5djlqs0z"); // int i, c0, c1, rv; UNSUPPORTED("8xqnhjfdqnlwlyld1ep6hpnmb"); // node_t *v, *w; UNSUPPORTED("p6jnh7nvcpnl3zbz636pskbs"); // int r; UNSUPPORTED("yy0fwjrmxw3jbi85mvwrka7f"); // rv = 0; UNSUPPORTED("9ey19t6tw2srzaedeng4sq96z"); // for (r = GD_maxrank(g); r >= GD_minrank(g); r--) { UNSUPPORTED("2nlemgjbnd1ygry42bcbuwo9y"); // GD_rank(g)[r].candidate = 0; UNSUPPORTED("91gzxbmcoy5xbvf8nlhmlj4eh"); // for (i = 0; i < GD_rank(g)[r].n - 1; i++) { UNSUPPORTED("5ekdr3i8niy7x2ohi7ftgmjke"); // v = GD_rank(g)[r].v[i]; UNSUPPORTED("efwyjm6j3e7byt6z83lrhgd1r"); // w = GD_rank(g)[r].v[i + 1]; UNSUPPORTED("8ey6umhtefcrb61ncgis82hw6"); // assert(ND_order(v) < ND_order(w)); UNSUPPORTED("ddkyq74d5rjfcofczt4hmkxsj"); // if (left2right(g, v, w)) UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; UNSUPPORTED("cdpfb5fmlhe0831jf96pjp9s0"); // c0 = c1 = 0; UNSUPPORTED("3l676z6ajeugxvie4r957jap3"); // if (r > 0) { UNSUPPORTED("ennnd5cl9xhh55j2bni58iuxv"); // c0 += in_cross(v, w); UNSUPPORTED("bk4dl2r7nw7j8xvkpg7g7x0z9"); // c1 += in_cross(w, v); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("f0ordylgf44hx2l90eof067yo"); // if (GD_rank(g)[r + 1].n > 0) { UNSUPPORTED("d945airzpo5xbu0fz68ylmgql"); // c0 += out_cross(v, w); UNSUPPORTED("e6ez0uwca50uwo7i7i4vak4f2"); // c1 += out_cross(w, v); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("884yfwkgyw57w5ivpfrggmq15"); // if (c1 <= c0) { UNSUPPORTED("c2sevxb1gtyc2olq8akmvs40u"); // balanceNodes(g, r, v, w); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxwzx4m9ejausu58u7abr6fm0 // static int transpose_step(graph_t * g, int r, int reverse) public static int transpose_step(ST_Agraph_s g, int r, boolean reverse) { ENTERING("bxwzx4m9ejausu58u7abr6fm0","transpose_step"); try { int i, c0, c1, rv; ST_Agnode_s v, w; rv = 0; GD_rank(g).get(r).candidate= false; for (i = 0; i < GD_rank(g).get(r).n - 1; i++) { v = (ST_Agnode_s) GD_rank(g).get(r).v.get(i); w = (ST_Agnode_s) GD_rank(g).get(r).v.plus(i + 1).getPtr(); //assert(ND_order(v) < ND_order(w)); if (left2right(g, v, w)) continue; c0 = c1 = 0; if (r > 0) { c0 += in_cross(v, w); c1 += in_cross(w, v); } if (GD_rank(g).get(r + 1).n > 0) { c0 += out_cross(v, w); c1 += out_cross(w, v); } if ((c1 < c0) || ((c0 > 0) && reverse && (c1 == c0))) { exchange(v, w); rv += (c0 - c1); GD_rank(Z.z().Root).get(r).valid= 0; GD_rank(g).get(r).candidate= NOT(false); if (r > GD_minrank(g)) { GD_rank(Z.z().Root).plus(r - 1).getPtr().valid= 0; GD_rank(g).get(r - 1).candidate= NOT(false); } if (r < GD_maxrank(g)) { GD_rank(Z.z().Root).plus(r + 1).getPtr().valid= 0; GD_rank(g).get(r + 1).candidate= NOT(false); } } } return rv; } finally { LEAVING("bxwzx4m9ejausu58u7abr6fm0","transpose_step"); } } //3 2i22bxgg5y7v5c5d40k5zppky // static void transpose(graph_t * g, int reverse) public static void transpose(ST_Agraph_s g, boolean reverse) { ENTERING("2i22bxgg5y7v5c5d40k5zppky","transpose"); try { int r, delta; for (r = GD_minrank(g); r <= GD_maxrank(g); r++) GD_rank(g).get(r).candidate= NOT(false); do { delta = 0; for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { if (GD_rank(g).get(r).candidate) { delta += transpose_step(g, r, reverse); } } /*} while (delta > ncross(g)*(1.0 - Convergence)); */ } while (delta >= 1); } finally { LEAVING("2i22bxgg5y7v5c5d40k5zppky","transpose"); } } //3 7lrk2rxqnwwdau8cx85oqkpmv // static int mincross(graph_t * g, int startpass, int endpass, int doBalance) public static int mincross_(ST_Agraph_s g, int startpass, int endpass, boolean doBalance) { ENTERING("7lrk2rxqnwwdau8cx85oqkpmv","mincross"); try { int maxthispass=0, iter, trying, pass; int cur_cross, best_cross; if (startpass > 1) { cur_cross = best_cross = ncross(g); save_best(g); } else cur_cross = best_cross = INT_MAX; for (pass = startpass; pass <= endpass; pass++) { if (pass <= 1) { maxthispass = MIN(4, Z.z().MaxIter); if (EQ(g, dot_root(g))) build_ranks(g, pass); if (pass == 0) flat_breakcycles(g); flat_reorder(g); if ((cur_cross = ncross(g)) <= best_cross) { save_best(g); best_cross = cur_cross; } trying = 0; } else { maxthispass = Z.z().MaxIter; if (cur_cross > best_cross) restore_best(g); cur_cross = best_cross; } trying = 0; for (iter = 0; iter < maxthispass; iter++) { /*if (Verbose) fprintf(stderr, "mincross: pass %d iter %d trying %d cur_cross %d best_cross %d\n", pass, iter, trying, cur_cross, best_cross);*/ if (trying++ >= Z.z().MinQuit) break; if (cur_cross == 0) break; mincross_step(g, iter); if ((cur_cross = ncross(g)) <= best_cross) { save_best(g); if (cur_cross < Z.z().Convergence * best_cross) trying = 0; best_cross = cur_cross; } } if (cur_cross == 0) break; } if (cur_cross > best_cross) restore_best(g); if (best_cross > 0) { transpose(g, false); best_cross = ncross(g); } if (doBalance) { for (iter = 0; iter < maxthispass; iter++) balance(g); } return best_cross; } finally { LEAVING("7lrk2rxqnwwdau8cx85oqkpmv","mincross"); } } //3 520049zkz9mafaeklgvm6s8e5 // static void restore_best(graph_t * g) public static void restore_best(ST_Agraph_s g) { ENTERING("520049zkz9mafaeklgvm6s8e5","restore_best"); try { ST_Agnode_s n; int r; for (n = GD_nlist(g); n!=null; n = ND_next(n)) ND_order(n, (int)ND_coord(n).x); for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { GD_rank(Z.z().Root).get(r).valid= 0; qsort(GD_rank(g).get(r).v, GD_rank(g).get(r).n, function(mincross__c.class, "nodeposcmpf")); } } finally { LEAVING("520049zkz9mafaeklgvm6s8e5","restore_best"); } } //3 8uyqc48j0oul206l3np85wj9p // static void save_best(graph_t * g) public static void save_best(ST_Agraph_s g) { ENTERING("8uyqc48j0oul206l3np85wj9p","save_best"); try { ST_Agnode_s n; for (n = GD_nlist(g); n!=null; n = ND_next(n)) (ND_coord(n)).x = ND_order(n); } finally { LEAVING("8uyqc48j0oul206l3np85wj9p","save_best"); } } //3 6d08fwi4dsk6ikk5d0gy6rq2h // static void merge_components(graph_t * g) public static void merge_components(ST_Agraph_s g) { ENTERING("6d08fwi4dsk6ikk5d0gy6rq2h","merge_components"); try { int c; ST_Agnode_s u, v; if (GD_comp(g).size <= 1) return; u = null; for (c = 0; c < GD_comp(g).size; c++) { v = (ST_Agnode_s) GD_comp(g).getFromList(c); if (u!=null) ND_next(u, v); ND_prev(v, u); while (ND_next(v)!=null) { v = ND_next(v); } u = v; } GD_comp(g).size = 1; GD_nlist(g, GD_comp(g).getFromList(0)); GD_minrank(g, Z.z().GlobalMinRank); GD_maxrank(g, Z.z().GlobalMaxRank); } finally { LEAVING("6d08fwi4dsk6ikk5d0gy6rq2h","merge_components"); } } //3 91vebcdl3q3y0uyxef0iw71n9 // static void merge2(graph_t * g) public static void merge2(ST_Agraph_s g) { ENTERING("91vebcdl3q3y0uyxef0iw71n9","merge2"); try { int i, r; ST_Agnode_s v; /* merge the components and rank limits */ merge_components(g); /* install complete ranks */ for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { GD_rank(g).plus(r).setInt("n", GD_rank(g).get(r).an); GD_rank(g).plus(r).setPtr("v", GD_rank(g).get(r).av); for (i = 0; i < GD_rank(g).get(r).n; i++) { v = (ST_Agnode_s) GD_rank(g).get(r).v.get(i); if (v == null) { /*if (Verbose) fprintf(stderr, "merge2: graph %s, rank %d has only %d < %d nodes\n", agnameof(g), r, i, GD_rank(g)[r].n);*/ GD_rank(g).plus(r).setInt("n", i); break; } ND_order(v, i); } } } finally { LEAVING("91vebcdl3q3y0uyxef0iw71n9","merge2"); } } //3 3cwiyyk1d1jkoo9iqwb5bge4x // static void cleanup2(graph_t * g, int nc) public static void cleanup2(ST_Agraph_s g, int nc) { ENTERING("3cwiyyk1d1jkoo9iqwb5bge4x","cleanup2"); try { int i, j, r, c; ST_Agnode_s v; ST_Agedge_s e; if (Z.z().TI_list!=null) { Memory.free(Z.z().TI_list); Z.z().TI_list = null; } if (Z.z().TE_list!=null) { Memory.free(Z.z().TE_list); Z.z().TE_list = null; } /* fix vlists of clusters */ for (c = 1; c <= GD_n_cluster(g); c++) rec_reset_vlists((ST_Agraph_s) GD_clust(g).get(c).getPtr()); /* remove node temporary edges for ordering nodes */ for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { for (i = 0; i < GD_rank(g).get(r).n; i++) { v = (ST_Agnode_s) GD_rank(g).get(r).v.get(i); ND_order(v, i); if (ND_flat_out(v).listNotNull()) { for (j = 0; (e = (ST_Agedge_s) ND_flat_out(v).getFromList(j))!=null; j++) if (ED_edge_type(e) == 4) { delete_flat_edge(e); Memory.free(e.base.data); Memory.free(e); j--; } } } free_matrix((ST_adjmatrix_t) GD_rank(g).get(r).flat); } /*if (Verbose) fprintf(stderr, "mincross %s: %d crossings, %.2f secs.\n", agnameof(g), nc, elapsed_sec());*/ } finally { LEAVING("3cwiyyk1d1jkoo9iqwb5bge4x","cleanup2"); } } //3 arax68kzcf86dr2xu0gp962gq // static node_t *neighbor(node_t * v, int dir) public static ST_Agnode_s neighbor(ST_Agnode_s v, int dir) { ENTERING("arax68kzcf86dr2xu0gp962gq","neighbor"); try { ST_Agnode_s rv; rv = null; assert(v!=null); if (dir < 0) { if (ND_order(v) > 0) rv = (ST_Agnode_s) GD_rank(Z.z().Root).plus(ND_rank(v)).getPtr().v.plus(ND_order(v) - 1).getPtr(); } else rv = (ST_Agnode_s) GD_rank(Z.z().Root).plus(ND_rank(v)).getPtr().v.plus(ND_order(v) + 1).getPtr(); assert((rv == null) || (ND_order(rv)-ND_order(v))*dir > 0); return rv; } finally { LEAVING("arax68kzcf86dr2xu0gp962gq","neighbor"); } } //3 1waqm8z71hi389dt1wqh0bmhr // static int is_a_normal_node_of(graph_t * g, node_t * v) public static boolean is_a_normal_node_of(ST_Agraph_s g, ST_Agnode_s v) { ENTERING("1waqm8z71hi389dt1wqh0bmhr","is_a_normal_node_of"); try { return ((ND_node_type(v) == 0) && agcontains(g, v)); } finally { LEAVING("1waqm8z71hi389dt1wqh0bmhr","is_a_normal_node_of"); } } //3 9f8atyi1unmleplge3rijdt4s // static int is_a_vnode_of_an_edge_of(graph_t * g, node_t * v) public static boolean is_a_vnode_of_an_edge_of(ST_Agraph_s g, ST_Agnode_s v) { ENTERING("9f8atyi1unmleplge3rijdt4s","is_a_vnode_of_an_edge_of"); try { if ((ND_node_type(v) == 1) && (ND_in(v).size == 1) && (ND_out(v).size == 1)) { ST_Agedge_s e = (ST_Agedge_s) ND_out(v).getFromList(0); while (ED_edge_type(e) != 0) e = ED_to_orig(e); if (agcontains(g, e)) return NOT(false); } return false; } finally { LEAVING("9f8atyi1unmleplge3rijdt4s","is_a_vnode_of_an_edge_of"); } } //3 eo7ulc8vwmoaig0j479yapve2 // static int inside_cluster(graph_t * g, node_t * v) public static boolean inside_cluster(ST_Agraph_s g, ST_Agnode_s v) { ENTERING("eo7ulc8vwmoaig0j479yapve2","inside_cluster"); try { return (is_a_normal_node_of(g, v) | is_a_vnode_of_an_edge_of(g, v)); } finally { LEAVING("eo7ulc8vwmoaig0j479yapve2","inside_cluster"); } } //3 8xkmkt4r6gfqj8gk0mokszoz0 // static node_t *furthestnode(graph_t * g, node_t * v, int dir) public static ST_Agnode_s furthestnode(ST_Agraph_s g, ST_Agnode_s v, int dir) { ENTERING("8xkmkt4r6gfqj8gk0mokszoz0","furthestnode"); try { ST_Agnode_s u, rv; rv = u = v; while ((u = neighbor(u, dir))!=null) { if (is_a_normal_node_of(g, u)) rv = u; else if (is_a_vnode_of_an_edge_of(g, u)) rv = u; } return rv; } finally { LEAVING("8xkmkt4r6gfqj8gk0mokszoz0","furthestnode"); } } //3 bwmu2hkwud40601oq5vgo2f1h // void save_vlist(graph_t * g) public static void save_vlist(ST_Agraph_s g) { ENTERING("bwmu2hkwud40601oq5vgo2f1h","save_vlist"); try { int r; if (GD_rankleader(g)!=null) for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { GD_rankleader(g).plus(r).setPtr(GD_rank(g).get(r).v.get(0)); } } finally { LEAVING("bwmu2hkwud40601oq5vgo2f1h","save_vlist"); } } //3 hwdxg97sefkuyd25x2q4pgzg // void rec_save_vlists(graph_t * g) public static void rec_save_vlists(ST_Agraph_s g) { ENTERING("hwdxg97sefkuyd25x2q4pgzg","rec_save_vlists"); try { int c; save_vlist(g); for (c = 1; c <= GD_n_cluster(g); c++) rec_save_vlists((ST_Agraph_s) GD_clust(g).get(c).getPtr()); } finally { LEAVING("hwdxg97sefkuyd25x2q4pgzg","rec_save_vlists"); } } //3 f3b4wat4uxn5oil720i5mwq4v // void rec_reset_vlists(graph_t * g) public static void rec_reset_vlists(ST_Agraph_s g) { ENTERING("f3b4wat4uxn5oil720i5mwq4v","rec_reset_vlists"); try { int r, c; ST_Agnode_s u, v, w; /* fix vlists of sub-clusters */ for (c = 1; c <= GD_n_cluster(g); c++) rec_reset_vlists((ST_Agraph_s) GD_clust(g).get(c).getPtr()); if (GD_rankleader(g)!=null) for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { v = (ST_Agnode_s) GD_rankleader(g).get(r); u = furthestnode(g, v, -1); w = furthestnode(g, v, 1); GD_rankleader(g).plus(r).setPtr(u); GD_rank(g).plus(r).setPtr("v", GD_rank(dot_root(g)).get(r).v.plus(ND_order(u))); GD_rank(g).plus(r).setInt("n", ND_order(w) - ND_order(u) + 1); } } finally { LEAVING("f3b4wat4uxn5oil720i5mwq4v","rec_reset_vlists"); } } //3 pv0rbbdopo4hmkbl5916qys1 // static Agraph_t* realFillRanks (Agraph_t* g, int rnks[], int rnks_sz, Agraph_t* sg) public static ST_Agraph_s realFillRanks(ST_Agraph_s g, __ptr__ rnks, int rnks_sz, ST_Agraph_s sg) { ENTERING("pv0rbbdopo4hmkbl5916qys1","realFillRanks"); try { UNSUPPORTED("2o2sf6xi2aumo5k0vglp4ik2y"); // static Agraph_t* UNSUPPORTED("3pmsfb0uhqmy5u141c932dtn1"); // realFillRanks (Agraph_t* g, int rnks[], int rnks_sz, Agraph_t* sg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("apiu3v3f9zs9yrq8e25nd2rti"); // int i, c; UNSUPPORTED("6yramhpyls8c6kexupyqip8oq"); // Agedge_t* e; UNSUPPORTED("ci2zh69w6nhi0q816i1ixuy9k"); // Agnode_t* n; UNSUPPORTED("7z5fb6iyowsosn1hiz7opeoc6"); // for (c = 1; c <= GD_n_cluster(g); c++) UNSUPPORTED("wqxqmv4he79njsw6r7sludv"); // sg = realFillRanks (GD_clust(g)[c], rnks, rnks_sz, sg); UNSUPPORTED("8htor72y55gsejjdeh0e8gdrs"); // if (dot_root(g) == g) UNSUPPORTED("bjae04ek2s3o50399zti5a1jh"); // return sg; UNSUPPORTED("bqfhaopbxlwv8h4zfae1lhx6s"); // memset (rnks, 0, sizeof(int)*rnks_sz); UNSUPPORTED("7wq24g054kmx3aw25vk5ksj4"); // for (n = agfstnode(g); n; n = agnxtnode(g,n)) { UNSUPPORTED("do7v5atqor4gnpwgo18ibgjha"); // rnks[ND_rank(n)] = 1; UNSUPPORTED("9fo44dng5uojukw2kj0z8vvdu"); // for (e = agfstout(g,n); e; e = agnxtout(g,e)) { UNSUPPORTED("emlgvc6yzuboae72y6vxpn8z7"); // for (i = ND_rank(n)+1; i <= ND_rank(aghead(e)); i++) UNSUPPORTED("d3fd9x50ix980jjw3old2jrcr"); // rnks[i] = 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7gfo0rr0un3w2026kt6ipknty"); // for (i = GD_minrank(g); i <= GD_maxrank(g); i++) { UNSUPPORTED("6mjvdb94lywg8d7ui6873f18p"); // if (rnks[i] == 0) { UNSUPPORTED("8g0zxrf8w2zly4wln02j3lbnb"); // if (!sg) { UNSUPPORTED("eqx93butvb7swnxbz9j29winp"); // sg = agsubg (dot_root(g), "_new_rank", 1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("9h7suegjozc071a939rh9apw1"); // n = agnode (sg, NULL, 1); UNSUPPORTED("8kclviftszfxkowsmlqq31u8"); // agbindrec(n, "Agnodeinfo_t", sizeof(Agnodeinfo_t), NOT(0)); UNSUPPORTED("8wiry1vcdwy6bzdp98nmxss7c"); // ND_rank(n) = i; UNSUPPORTED("dy16sxtk3jj6127wavfcdx4yw"); // ND_lw(n) = ND_rw(n) = 0.5; UNSUPPORTED("6jr3li9af4sp0uxnpnoe8dqh8"); // ND_ht(n) = 1; UNSUPPORTED("c47fetnb62mx46qzuk9ag3qmu"); // ND_UF_size(n) = 1; UNSUPPORTED("899cyghezv8oxs0iomu58zncj"); // alloc_elist(4, ND_in(n)); UNSUPPORTED("btfqtg58rqwdh7o4cc0gbaaai"); // alloc_elist(4, ND_out(n)); UNSUPPORTED("9zap4z819hsiogrgmekh15f00"); // agsubnode (g, n, 1); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1jw141gg4omv8r72xcbl5ln0o"); // return sg; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("pv0rbbdopo4hmkbl5916qys1","realFillRanks"); } } //3 1qy9bupreg1pax62owznr98k // static void fillRanks (Agraph_t* g) public static void fillRanks(ST_Agraph_s g) { ENTERING("1qy9bupreg1pax62owznr98k","fillRanks"); try { ST_Agraph_s sg; int rnks_sz = GD_maxrank(g) + 2; __ptr__ rnks = zmalloc(size_t_array_of_integer(rnks_sz)); sg = realFillRanks (g, rnks, rnks_sz, null); Memory.free (rnks); } finally { LEAVING("1qy9bupreg1pax62owznr98k","fillRanks"); } } //3 7fy4chyk12o7bgp1rv3h27yl3 // static void init_mincross(graph_t * g) public static void init_mincross(ST_Agraph_s g) { ENTERING("7fy4chyk12o7bgp1rv3h27yl3","init_mincross"); try { int size; //if (Verbose) //start_timer(); Z.z().ReMincross = false; Z.z().Root = g; /* alloc +1 for the null terminator usage in do_ordering() */ /* also, the +1 avoids attempts to alloc 0 sizes, something that efence complains about */ size = agnedges(dot_root(g)) + 1; Z.z().TE_list = new ST_Agedge_s.ArrayOfStar(size); Z.z().TI_list = zmalloc(size_t_array_of_integer(size)); mincross_options(g); if ((GD_flags(g) & (1 << 4))!=0) fillRanks (g); class2(g); decompose(g, 1); allocate_ranks(g); ordered_edges(g); Z.z().GlobalMinRank = GD_minrank(g); Z.z().GlobalMaxRank = GD_maxrank(g); } finally { LEAVING("7fy4chyk12o7bgp1rv3h27yl3","init_mincross"); } } //3 6fprrp93vmz0jn3l4ro0iropp // void flat_rev(Agraph_t * g, Agedge_t * e) public static void flat_rev(ST_Agraph_s g, ST_Agedge_s e) { ENTERING("6fprrp93vmz0jn3l4ro0iropp","flat_rev"); try { int j; ST_Agedge_s rev; if (ND_flat_out(aghead(e)).listNotNull()==false) // if (N(ND_flat_out(aghead(e)).list)) rev = null; else for (j = 0; (rev = (ST_Agedge_s) ND_flat_out(aghead(e)).getFromList(j))!=null; j++) if (EQ(aghead(rev), agtail(e))) break; if (rev!=null) { merge_oneway(e, rev); if (ED_to_virt(e) == null) ED_to_virt(e, rev); if ((ED_edge_type(rev) == 4) && (ED_to_orig(rev) == null)) ED_to_orig(rev, e); elist_append(e, ND_other(agtail(e))); } else { rev = new_virtual_edge(aghead(e), agtail(e), e); if (ED_edge_type(e) == 4) ED_edge_type(rev, 4); else ED_edge_type(rev, 3); ED_label(rev, ED_label(e)); flat_edge(g, rev); } } finally { LEAVING("6fprrp93vmz0jn3l4ro0iropp","flat_rev"); } } //3 63ol0ch6cgln1nvl5oiz6n1v0 // static void flat_search(graph_t * g, node_t * v) public static void flat_search(ST_Agraph_s g, ST_Agnode_s v) { ENTERING("63ol0ch6cgln1nvl5oiz6n1v0","flat_search"); try { int i; boolean hascl; ST_Agedge_s e; ST_adjmatrix_t M = (ST_adjmatrix_t) GD_rank(g).get(ND_rank(v)).flat; ND_mark(v, NOT(false)); ND_onstack(v, NOT(false)); hascl = (GD_n_cluster(dot_root(g)) > 0); if (ND_flat_out(v).listNotNull()) for (i = 0; (e = (ST_Agedge_s) ND_flat_out(v).getFromList(i))!=null; i++) { if (hascl && NOT(agcontains(g, agtail(e)) && agcontains(g, aghead(e)))) continue; if (ED_weight(e) == 0) continue; if (ND_onstack(aghead(e)) == NOT(false)) { assert(ND_low(aghead(e)) < M.nrows); assert(ND_low(agtail(e)) < M.ncols); M.data[ND_low(aghead(e))][ND_low(agtail(e))]=1; delete_flat_edge(e); i--; if (ED_edge_type(e) == 4) continue; flat_rev(g, e); } else { assert(ND_low(aghead(e)) < M.nrows); assert(ND_low(agtail(e)) < M.ncols); M.data[ND_low(agtail(e))][ND_low(aghead(e))]=1; if (ND_mark(aghead(e)) == 0) flat_search(g, aghead(e)); } } ND_onstack(v, 0); } finally { LEAVING("63ol0ch6cgln1nvl5oiz6n1v0","flat_search"); } } //3 3v5h7z4vqivibvpt913lg8at0 // static void flat_breakcycles(graph_t * g) public static void flat_breakcycles(ST_Agraph_s g) { ENTERING("3v5h7z4vqivibvpt913lg8at0","flat_breakcycles"); try { int i, r, flat; ST_Agnode_s v; for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { flat = 0; for (i = 0; i < GD_rank(g).get(r).n; i++) { v = (ST_Agnode_s) GD_rank(g).get(r).v.get(i); ND_mark(v, 0); ND_onstack(v, 0); ND_low(v, i); if ((ND_flat_out(v).size > 0) && (flat == 0)) { GD_rank(g).plus(r).setPtr("flat", new_matrix(GD_rank(g).get(r).n, GD_rank(g).get(r).n)); flat = 1; } } if (flat!=0) { for (i = 0; i < GD_rank(g).get(r).n; i++) { v = (ST_Agnode_s) GD_rank(g).get(r).v.get(i); if (ND_mark(v) == 0) flat_search(g, v); } } } } finally { LEAVING("3v5h7z4vqivibvpt913lg8at0","flat_breakcycles"); } } //3 d5vb6jiw8mhkaa8gjwn4eqfyn // void allocate_ranks(graph_t * g) public static void allocate_ranks(ST_Agraph_s g) { ENTERING("d5vb6jiw8mhkaa8gjwn4eqfyn","allocate_ranks"); try { // REVIEW 17/01/2016 int r, low, high; __ptr__ cn; ST_Agnode_s n; ST_Agedge_s e; cn = zmalloc(size_t_array_of_integer(GD_maxrank(g) + 2)); /* must be 0 based, not GD_minrank */ for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) { cn.plus(ND_rank(n)).setInt(1+cn.plus(ND_rank(n)).getInt()); for (e = agfstout(g, n); e!=null; e = agnxtout(g, e)) { low = ND_rank(agtail(e)); high = ND_rank(aghead(e)); if (low > high) { int t = low; low = high; high = t; } for (r = low + 1; r < high; r++) cn.plus(r).setInt(1+cn.plus(r).getInt()); } } GD_rank(g, new ST_rank_t.Array2(GD_maxrank(g) + 2)); for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { GD_rank(g).plus(r).setInt("n", cn.plus(r).getInt()); GD_rank(g).plus(r).setInt("an", cn.plus(r).getInt()); ST_Agnode_s.ArrayOfStar tmp = new ST_Agnode_s.ArrayOfStar(cn.plus(r).getInt() + 1); GD_rank(g).plus(r).setPtr("v", tmp); GD_rank(g).plus(r).setPtr("av", tmp); } Memory.free(cn); } finally { LEAVING("d5vb6jiw8mhkaa8gjwn4eqfyn","allocate_ranks"); } } //3 3lxoqxhiri9fgt20zc5jz3aa5 // void install_in_rank(graph_t * g, node_t * n) public static void install_in_rank(ST_Agraph_s g, ST_Agnode_s n) { ENTERING("3lxoqxhiri9fgt20zc5jz3aa5","install_in_rank"); try { int i, r; r = ND_rank(n); i = GD_rank(g).get(r).n; if (GD_rank(g).get(r).an <= 0) { UNSUPPORTED("8qk1xhvvb994zhv9aq10k4v12"); // agerr(AGERR, "install_in_rank, line %d: %s %s rank %d i = %d an = 0\n", UNSUPPORTED("53h8d82ax23hys2k21hjswp72"); // 1034, agnameof(g), agnameof(n), r, i); return; } GD_rank(g).get(r).v.plus(i).setPtr(n); ND_order(n, i); GD_rank(g).plus(r).setInt("n", 1+GD_rank(g).get(r).n); // assert(GD_rank(g)[r].n <= GD_rank(g)[r].an); if (ND_order(n) > GD_rank(Z.z().Root).get(r).an) { UNSUPPORTED("399szcw1txekt1xssyw7s2x07"); // agerr(AGERR, "install_in_rank, line %d: ND_order(%s) [%d] > GD_rank(Root)[%d].an [%d]\n", UNSUPPORTED("9puojrmsk6vb1qc0jtr8ge4g8"); // 1052, agnameof(n), ND_order(n), r, GD_rank(Root)[r].an); return; } if ((r < GD_minrank(g)) || (r > GD_maxrank(g))) { UNSUPPORTED("7o1thnqda767wqpe2lh9mj03t"); // agerr(AGERR, "install_in_rank, line %d: rank %d not in rank range [%d,%d]\n", UNSUPPORTED("d2ugluzf7bmj7osicgitgy3sr"); // 1057, r, GD_minrank(g), GD_maxrank(g)); return; } if (GD_rank(g).get(r).v.plus(ND_order(n)).comparePointer( GD_rank(g).get(r).av.plus(GD_rank(Z.z().Root).get(r).an))>0) { UNSUPPORTED("3eb32nc5czs5auwzz5p5mtl04"); // agerr(AGERR, "install_in_rank, line %d: GD_rank(g)[%d].v + ND_order(%s) [%d] > GD_rank(g)[%d].av + GD_rank(Root)[%d].an [%d]\n", UNSUPPORTED("3qe3qpw5h6vse39xs1ca9sjmo"); // 1062, r, agnameof(n),GD_rank(g)[r].v + ND_order(n), r, r, GD_rank(g)[r].av+GD_rank(Root)[r].an); return; } } finally { LEAVING("3lxoqxhiri9fgt20zc5jz3aa5","install_in_rank"); } } //3 7t49bz6lfcbd9v63ds2x3518z // void build_ranks(graph_t * g, int pass) public static void build_ranks(ST_Agraph_s g, int pass) { ENTERING("7t49bz6lfcbd9v63ds2x3518z","build_ranks"); try { int i, j; ST_Agnode_s n, n0 = null; List otheredges; ST_nodequeue q; q = new_queue(GD_n_nodes(g)); for (n = GD_nlist(g); n!=null; n = ND_next(n)) ND_mark(n, 0); for (i = GD_minrank(g); i <= GD_maxrank(g); i++) GD_rank(g).plus(i).setInt("n", 0); for (n = GD_nlist(g); n!=null; n = ND_next(n)) { otheredges = ((pass == 0) ? ND_in(n).list : ND_out(n).list); if (otheredges.get(0)!= null) continue; if ((ND_mark(n)) == 0) { ND_mark(n, 1); enqueue(q, n); while ((n0 = dequeue(q))!=null) { if (ND_ranktype(n0) != 7) { install_in_rank(g, n0); enqueue_neighbors(q, n0, pass); } else { install_cluster(g, n0, pass, q); } } } } if (dequeue(q)!=null) UNSUPPORTED("1b3hbd5artrq77i58q2o9kgz3"); // agerr(AGERR, "surprise\n"); for (i = GD_minrank(g); i <= GD_maxrank(g); i++) { GD_rank(Z.z().Root).plus(i).setInt("valid", 0); if (GD_flip(g)!=0 && (GD_rank(g).get(i).n > 0)) { int nn, ndiv2; ST_Agnode_s.ArrayOfStar vlist = GD_rank(g).get(i).v; nn = GD_rank(g).get(i).n - 1; ndiv2 = nn / 2; for (j = 0; j <= ndiv2; j++) exchange((ST_Agnode_s)vlist.get(j), (ST_Agnode_s)vlist.plus(nn - j).getPtr()); } } if (EQ(g, dot_root(g)) && ncross(g) > 0) transpose(g, false); free_queue(q); } finally { LEAVING("7t49bz6lfcbd9v63ds2x3518z","build_ranks"); } } //3 bmjlneqxex6a9silzkkidkx6s // void enqueue_neighbors(nodequeue * q, node_t * n0, int pass) public static void enqueue_neighbors(ST_nodequeue q, ST_Agnode_s n0, int pass) { ENTERING("bmjlneqxex6a9silzkkidkx6s","enqueue_neighbors"); try { int i; ST_Agedge_s e; if (pass == 0) { for (i = 0; i < ND_out(n0).size; i++) { e = (ST_Agedge_s) ND_out(n0).getFromList(i); if (((ND_mark(aghead(e)))) == 0) { ND_mark(aghead(e), 1); enqueue(q, aghead(e)); } } } else { for (i = 0; i < ND_in(n0).size; i++) { e = (ST_Agedge_s) ND_in(n0).getFromList(i); if (((ND_mark(agtail(e)))) == 0) { ND_mark(agtail(e), 1); enqueue(q, agtail(e)); } } } } finally { LEAVING("bmjlneqxex6a9silzkkidkx6s","enqueue_neighbors"); } } //3 c8nqj0v20api63pikohsbx92u // static int constraining_flat_edge(Agraph_t *g, Agnode_t *v, Agedge_t *e) public static boolean constraining_flat_edge(ST_Agraph_s g, ST_Agnode_s v, ST_Agedge_s e) { ENTERING("c8nqj0v20api63pikohsbx92u","constraining_flat_edge"); try { if (ED_weight(e) == 0) return false; if (N(inside_cluster(g,agtail(e)))) return false; if (N(inside_cluster(g,aghead(e)))) return false; return NOT(false); } finally { LEAVING("c8nqj0v20api63pikohsbx92u","constraining_flat_edge"); } } //3 46to0pkk188af2dlkik2ab7e3 // static int postorder(graph_t * g, node_t * v, node_t ** list, int r) public static int postorder(ST_Agraph_s g, ST_Agnode_s v, __ptr__ list, int r) { ENTERING("46to0pkk188af2dlkik2ab7e3","postorder"); try { ST_Agedge_s e; int i, cnt = 0; ND_mark(v, NOT(false)); if (ND_flat_out(v).size > 0) { for (i = 0; (e = (ST_Agedge_s) ND_flat_out(v).getFromList(i))!=null; i++) { if (N(constraining_flat_edge(g,v,e))) continue; if ((ND_mark(aghead(e))) == 0) cnt += postorder(g, aghead(e), list.plus(cnt), r); } } assert(ND_rank(v) == r); list.plus(cnt++).setPtr(v); return cnt; } finally { LEAVING("46to0pkk188af2dlkik2ab7e3","postorder"); } } //3 zuxoswju917kyl08a5f0gtp6 // static void flat_reorder(graph_t * g) public static void flat_reorder(ST_Agraph_s g) { ENTERING("zuxoswju917kyl08a5f0gtp6","flat_reorder"); try { int i, j, r, pos, n_search, local_in_cnt, local_out_cnt, base_order; ST_Agnode_s v, t; __ptr__ left, right; ST_Agnode_s.ArrayOfStar temprank = null; ST_Agedge_s flat_e, e; if (GD_has_flat_edges(g) == 0) return; for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { if (GD_rank(g).get(r).n == 0) continue; base_order = ND_order(GD_rank(g).get(r).v.get(0)); for (i = 0; i < GD_rank(g).get(r).n; i++) ND_mark(GD_rank(g).get(r).v.get(i), 0); temprank = ALLOC_Agnode_s(i + 1, temprank); pos = 0; /* construct reverse topological sort order in temprank */ for (i = 0; i < GD_rank(g).get(r).n; i++) { if (GD_flip(g)!=0) v = (ST_Agnode_s) GD_rank(g).get(r).v.get(i); else v = (ST_Agnode_s) GD_rank(g).get(r).v.plus(GD_rank(g).get(r).n - i - 1).getPtr(); local_in_cnt = local_out_cnt = 0; for (j = 0; j < ND_flat_in(v).size; j++) { flat_e = (ST_Agedge_s) ND_flat_in(v).getFromList(j); if (constraining_flat_edge(g,v,flat_e)) local_in_cnt++; } for (j = 0; j < ND_flat_out(v).size; j++) { flat_e = (ST_Agedge_s) ND_flat_out(v).getFromList(j); if (constraining_flat_edge(g,v,flat_e)) local_out_cnt++; } if ((local_in_cnt == 0) && (local_out_cnt == 0)) temprank.plus(pos++).setPtr(v); else { if (((ND_mark(v)) == 0) && (local_in_cnt == 0)) { left = temprank.plus(pos); n_search = postorder(g, v, left, r); pos += n_search; } } } if (pos!=0) { if (GD_flip(g) == 0) { left = temprank; right = temprank.plus(pos - 1); while (left.comparePointer(right) < 0) { t = (ST_Agnode_s) left.getPtr(); left.setPtr(right.getPtr()); right.setPtr(t); left = left.plus(1); right = right.plus(-1); } } for (i = 0; i < GD_rank(g).get(r).n; i++) { v = (ST_Agnode_s) temprank.get(i); GD_rank(g).get(r).v.plus(i).setPtr(v); ND_order(v, i + base_order); } /* nonconstraint flat edges must be made LR */ for (i = 0; i < GD_rank(g).get(r).n; i++) { v = (ST_Agnode_s) GD_rank(g).get(r).v.get(i); if (ND_flat_out(v).listNotNull()) { for (j = 0; (e = (ST_Agedge_s) ND_flat_out(v).getFromList(j))!=null; j++) { if ( ((GD_flip(g) == 0) && (ND_order(aghead(e)) < ND_order(agtail(e)))) || ( (GD_flip(g)!=0) && (ND_order(aghead(e)) > ND_order(agtail(e)) ))) { assert(constraining_flat_edge(g,v,e) == false); delete_flat_edge(e); j--; flat_rev(g, e); } } } } /* postprocess to restore intended order */ } /* else do no harm! */ GD_rank(Z.z().Root).plus(r).setInt("valid", 0); } if (temprank!=null) Memory.free(temprank); } finally { LEAVING("zuxoswju917kyl08a5f0gtp6","flat_reorder"); } } //3 inv6wazjcnh4xkzzphsdcmg4 // static void reorder(graph_t * g, int r, int reverse, int hasfixed) public static void reorder(ST_Agraph_s g, int r, boolean reverse, boolean hasfixed) { ENTERING("inv6wazjcnh4xkzzphsdcmg4","reorder"); try { boolean changed = false; int nelt; boolean muststay, sawclust; __ptr__ vlist = GD_rank(g).get(r).v; __ptr__ lp, rp=null, ep = vlist.plus(GD_rank(g).get(r).n); for (nelt = GD_rank(g).get(r).n - 1; nelt >= 0; nelt--) { lp = vlist; while (lp.comparePointer(ep)<0) { /* find leftmost node that can be compared */ while ((lp.comparePointer(ep) < 0) && (ND_mval(lp.getPtr()) < 0)) lp = lp.plus(1); if (lp.comparePointer(ep) >= 0) break; /* find the node that can be compared */ sawclust = muststay = false; for (rp = lp.plus(1); rp.comparePointer(ep) < 0; rp=rp.plus(1)) { if (sawclust && ND_clust(rp.getPtr())!=null) continue; /* ### */ if (left2right(g, (ST_Agnode_s) lp.getPtr(), (ST_Agnode_s) rp.getPtr())) { muststay = NOT(false); break; } if (ND_mval(rp.getPtr()) >= 0) break; if (ND_clust(rp.getPtr())!=null) sawclust = NOT(false); /* ### */ } if (rp.comparePointer(ep) >= 0) break; if (muststay == false) { int p1 = (int) (ND_mval(lp.getPtr())); int p2 = (int) (ND_mval(rp.getPtr())); if ((p1 > p2) || ((p1 == p2) && (reverse))) { exchange((ST_Agnode_s)lp.getPtr(), (ST_Agnode_s)rp.getPtr()); changed=true; } } lp = rp; } if ((hasfixed == false) && (reverse == false)) ep = ep.plus(-1); } if (changed) { GD_rank(Z.z().Root).get(r).valid= 0; if (r > 0) GD_rank(Z.z().Root).plus(r - 1).getPtr().valid= 0; } } finally { LEAVING("inv6wazjcnh4xkzzphsdcmg4","reorder"); } } //3 14t80owwvm7io4ou6czb9ba9 // static void mincross_step(graph_t * g, int pass) public static void mincross_step(ST_Agraph_s g, int pass) { ENTERING("14t80owwvm7io4ou6czb9ba9","mincross_step"); try { int r, other, first, last, dir; boolean hasfixed, reverse; if ((pass % 4) < 2) reverse = NOT(false); else reverse = false; if ((pass % 2)!=0) { r = GD_maxrank(g) - 1; dir = -1; } /* up pass */ else { r = 1; dir = 1; } /* down pass */ if (pass % 2 == 0) { /* down pass */ first = GD_minrank(g) + 1; if (GD_minrank(g) > GD_minrank(Z.z().Root)) first--; last = GD_maxrank(g); dir = 1; } else { /* up pass */ first = GD_maxrank(g) - 1; last = GD_minrank(g); if (GD_maxrank(g) < GD_maxrank(Z.z().Root)) first++; dir = -1; } for (r = first; r != last + dir; r += dir) { other = r - dir; hasfixed = medians(g, r, other); reorder(g, r, reverse, hasfixed); } transpose(g, NOT(reverse)); } finally { LEAVING("14t80owwvm7io4ou6czb9ba9","mincross_step"); } } //3 aq18oa4k4grixvfjx7r2qnl6r // static int local_cross(elist l, int dir) public static int local_cross(final ST_elist l, int dir) { // WARNING!! STRUCT return local_cross_w_(l.copy(), dir); } private static int local_cross_w_(final ST_elist l, int dir) { ENTERING("aq18oa4k4grixvfjx7r2qnl6r","local_cross"); try { UNSUPPORTED("3jmndo6p8u1x5wp297qpt0jto"); // static int local_cross(elist l, int dir) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2gmuwkiycm22in3d9obd7bzll"); // int i, j, is_out; UNSUPPORTED("bcforqedbns82qhgqkocjbvm"); // int cross = 0; UNSUPPORTED("9b48a157azcrz2ihzqehhpsvs"); // edge_t *e, *f; UNSUPPORTED("8az9seos08f2sa39127q6yo9"); // if (dir > 0) UNSUPPORTED("8xj2loay6suplxyiun7hlye39"); // is_out = NOT(0); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("56xhe3qw67sg923dvr87k8hho"); // is_out = 0; UNSUPPORTED("16t717mqlhfn3egmgor8are83"); // for (i = 0; (e = l.list[i]); i++) { UNSUPPORTED("3lbek06034x2gsimhxwfmgf0r"); // if (is_out) UNSUPPORTED("2pkmgz4cm8lwpwxgcg3znjm90"); // for (j = i + 1; (f = l.list[j]); j++) { UNSUPPORTED("8wj6phwqlmunjcua9abo6093d"); // if ((ND_order(aghead(f)) - ND_order(aghead(e))) UNSUPPORTED("pt12knuv94kokmtrwpdp1m0j"); // * (ED_tail_port(f).p.x - ED_tail_port(e).p.x) < 0) UNSUPPORTED("bw8rwv11yqzss88pad7ljil8a"); // cross += ED_xpenalty(e) * ED_xpenalty(f); UNSUPPORTED("6to1esmb8qfrhzgtr7jdqleja"); // } else UNSUPPORTED("2pkmgz4cm8lwpwxgcg3znjm90"); // for (j = i + 1; (f = l.list[j]); j++) { UNSUPPORTED("bza83c6rmihrkzyllwf0jm4tn"); // if ((ND_order(agtail(f)) - ND_order(agtail(e))) UNSUPPORTED("csrxg0y1azmvde7t833lm13sp"); // * (ED_head_port(f).p.x - ED_head_port(e).p.x) < 0) UNSUPPORTED("bw8rwv11yqzss88pad7ljil8a"); // cross += ED_xpenalty(e) * ED_xpenalty(f); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8dm5o3tsfvxtjilyob6q5ndi1"); // return cross; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("aq18oa4k4grixvfjx7r2qnl6r","local_cross"); } } //static __ptr__ Count; //static int C; //3 bk5nklhfqgg0uwkv7tv6dn8r2 // static int rcross(graph_t * g, int r) public static int rcross(ST_Agraph_s g, int r) { ENTERING("bk5nklhfqgg0uwkv7tv6dn8r2","rcross"); try { int top, bot, cross, max, i, k; ST_Agnode_s v; ST_Agnode_s.ArrayOfStar rtop; cross = 0; max = 0; rtop = GD_rank(g).get(r).v; if (Z.z().C <= GD_rank(Z.z().Root).plus(r + 1).getPtr().n) { Z.z().C = GD_rank(Z.z().Root).plus(r + 1).getPtr().n + 1; Z.z().Count = ALLOC_INT(Z.z().C, Z.z().Count); } for (i = 0; i < GD_rank(g).get(r + 1).n; i++) Z.z().Count.plus(i).setInt(0); for (top = 0; top < GD_rank(g).get(r).n; top++) { ST_Agedge_s e; if (max > 0) { for (i = 0; (e = (ST_Agedge_s) ND_out(rtop.get(top)).getFromList(i))!=null; i++) { for (k = ND_order(aghead(e)) + 1; k <= max; k++) cross += Z.z().Count.plus(k).getInt() * ED_xpenalty(e); } } for (i = 0; (e = (ST_Agedge_s) ND_out(rtop.get(top)).getFromList(i))!=null; i++) { int inv = ND_order(aghead(e)); if (inv > max) max = inv; Z.z().Count.plus(inv).setInt(Z.z().Count.plus(inv).getInt() + ED_xpenalty(e)); } } for (top = 0; top < GD_rank(g).get(r).n; top++) { v = (ST_Agnode_s) GD_rank(g).get(r).v.get(top); if (ND_has_port(v)) cross += local_cross(ND_out(v), 1); } for (bot = 0; bot < GD_rank(g).get(r + 1).n; bot++) { v = (ST_Agnode_s) GD_rank(g).get(r + 1).v.get(bot); if (ND_has_port(v)) cross += local_cross(ND_in(v), -1); } return cross; } finally { LEAVING("bk5nklhfqgg0uwkv7tv6dn8r2","rcross"); } } //3 dbjmz2tnii2pn9sxg26ap6w5r // int ncross(graph_t * g) public static int ncross(ST_Agraph_s g) { ENTERING("dbjmz2tnii2pn9sxg26ap6w5r","ncross"); try { int r, count, nc; g = Z.z().Root; count = 0; for (r = GD_minrank(g); r < GD_maxrank(g); r++) { if (GD_rank(g).get(r).valid!=0) count += GD_rank(g).get(r).cache_nc; else { nc = rcross(g, r); GD_rank(g).get(r).cache_nc = nc; count += nc; GD_rank(g).plus(r).setInt("valid", 1); } } return count; } finally { LEAVING("dbjmz2tnii2pn9sxg26ap6w5r","ncross"); } } //3 8wrsq8a2vooekcm3cdtv5x3ke // static int ordercmpf(int *i0, int *i1) public static int ordercmpf(__ptr__ i0, __ptr__ i1) { ENTERING("8wrsq8a2vooekcm3cdtv5x3ke","ordercmpf"); try { return (i0.getInt()) - (i1.getInt()); } finally { LEAVING("8wrsq8a2vooekcm3cdtv5x3ke","ordercmpf"); } } //3 7397kynkpqf2m1jkpmi8pgf0n // static int flat_mval(node_t * n) public static boolean flat_mval(ST_Agnode_s n) { ENTERING("7397kynkpqf2m1jkpmi8pgf0n","flat_mval"); try { int i; ST_Agedge_s e; List fl; ST_Agnode_s nn; if (ND_flat_in(n).size > 0) { fl = ND_flat_in(n).list; nn = agtail(fl.get(0)); for (i = 1; (e = (ST_Agedge_s) fl.get(i))!=null; i++) if (ND_order(agtail(e)) > ND_order(nn)) nn = agtail(e); if (ND_mval(nn) >= 0) { ND_mval(n, ND_mval(nn) + 1); return false; } } else if (ND_flat_out(n).size > 0) { fl = ND_flat_out(n).list; nn = aghead(fl.get(0)); for (i = 1; (e = (ST_Agedge_s) fl.get(i))!=null; i++) if (ND_order(aghead(e)) < ND_order(nn)) nn = aghead(e); if (ND_mval(nn) > 0) { ND_mval(n, ND_mval(nn) - 1); return false; } } return NOT(false); } finally { LEAVING("7397kynkpqf2m1jkpmi8pgf0n","flat_mval"); } } //3 azvdpixwwxspl31wp7f4k4fmh // static boolean medians(graph_t * g, int r0, int r1) public static boolean medians(ST_Agraph_s g, int r0, int r1) { ENTERING("azvdpixwwxspl31wp7f4k4fmh","medians"); try { int i, j, j0, lm, rm, lspan, rspan; __ptr__ list; ST_Agnode_s n; ST_Agnode_s.ArrayOfStar v; ST_Agedge_s e; boolean hasfixed = false; list = Z.z().TI_list; v = GD_rank(g).get(r0).v; for (i = 0; i < GD_rank(g).get(r0).n; i++) { n = (ST_Agnode_s) v.get(i); j = 0; if (r1 > r0) for (j0 = 0; (e = (ST_Agedge_s) ND_out(n).getFromList(j0))!=null; j0++) { if (ED_xpenalty(e) > 0) list.plus(j++).setInt((256 * ND_order(aghead(e)) + (ED_head_port(e)).order)); } else for (j0 = 0; (e = (ST_Agedge_s) ND_in(n).getFromList(j0))!=null; j0++) { if (ED_xpenalty(e) > 0) list.plus(j++).setInt((256 * ND_order(agtail(e)) + (ED_tail_port(e)).order)); } switch (j) { case 0: ND_mval(n, -1); break; case 1: ND_mval(n, list.plus(0).getInt()); break; case 2: ND_mval(n, (list.plus(0).getInt() + list.plus(1).getInt()) / 2); break; default: qsort(list, j, function(mincross__c.class, "ordercmpf")); if (j % 2!=0) ND_mval(n, list.plus(j / 2).getInt()); else { /* weighted median */ rm = j / 2; lm = rm - 1; rspan = list.plus(j - 1).getInt() - list.plus(rm).getInt(); lspan = list.plus(lm).getInt() - list.plus(0).getInt(); if (lspan == rspan) ND_mval(n, (list.plus(lm).getInt() + list.plus(rm).getInt()) / 2); else { int w = list.plus(lm).getInt() * rspan + list.plus(rm).getInt() * lspan; ND_mval(n, w / (lspan + rspan)); } } } } for (i = 0; i < GD_rank(g).get(r0).n; i++) { n = (ST_Agnode_s) v.get(i); if ((ND_out(n).size == 0) && (ND_in(n).size == 0)) hasfixed |= flat_mval(n); } return hasfixed; } finally { LEAVING("azvdpixwwxspl31wp7f4k4fmh","medians"); } } //3 2vdhpcykq508ma83aif8sxcbd // static int nodeposcmpf(node_t ** n0, node_t ** n1) public static Object nodeposcmpf(__ptr__ n0, __ptr__ n1) { ENTERING("2vdhpcykq508ma83aif8sxcbd","nodeposcmpf"); try { return (ND_order(n0.getPtr()) - ND_order(n1.getPtr())); } finally { LEAVING("2vdhpcykq508ma83aif8sxcbd","nodeposcmpf"); } } //3 87c98ld9c4hv87ekcxdyojx8l // static int edgeidcmpf(edge_t ** e0, edge_t ** e1) public static Object edgeidcmpf(Object... arg) { UNSUPPORTED("apvyql25ya1p7w7i7396gucdg"); // static int edgeidcmpf(edge_t ** e0, edge_t ** e1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9gjc2rit3ezq4il0t5aymk1z"); // return (AGSEQ(*e0) - AGSEQ(*e1)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 40as9opn4mzq4gp4nkmp4dj8w // static int table[3][3] = private static int table[][] = new int[][]{ /* ordinary */ {1, 1, 1}, /* singleton */ {1, 2, 2}, /* virtual */ {1, 2, 4} }; //3 7j638prioxd97f74v1v4adbsf // static int endpoint_class(node_t * n) public static int endpoint_class(ST_Agnode_s n) { ENTERING("7j638prioxd97f74v1v4adbsf","endpoint_class"); try { if (ND_node_type(n) == 1) return 2; if (ND_weight_class(n) <= 1) return 1; return 0; } finally { LEAVING("7j638prioxd97f74v1v4adbsf","endpoint_class"); } } //3 es57bn7ga4wc9tqtcixpn0451 // void virtual_weight(edge_t * e) public static void virtual_weight(ST_Agedge_s e) { ENTERING("es57bn7ga4wc9tqtcixpn0451","virtual_weight"); try { int t; t = table[endpoint_class(agtail(e))][endpoint_class(aghead(e))]; ED_weight(e, ED_weight(e) * t); } finally { LEAVING("es57bn7ga4wc9tqtcixpn0451","virtual_weight"); } } //3 7ru09oqbudpeofsthzveig2m2 // static void mincross_options(graph_t * g) public static void mincross_options(ST_Agraph_s g) { ENTERING("7ru09oqbudpeofsthzveig2m2","mincross_options"); try { CString p; double f; /* set default values */ Z.z().MinQuit = 8; Z.z().MaxIter = 24; Z.z().Convergence = .995; p = agget(g, new CString("mclimit")); if (p!=null && ((f = atof(p)) > 0.0)) { UNSUPPORTED("4iu53eiz077u6joqgwawca8ya"); // MinQuit = ((1)>(MinQuit * f)?(1):(MinQuit * f)); UNSUPPORTED("38po81l36cibw6jc3qlsscpcu"); // MaxIter = ((1)>(MaxIter * f)?(1):(MaxIter * f)); } } finally { LEAVING("7ru09oqbudpeofsthzveig2m2","mincross_options"); } } } plantuml-1.2018.13+ds/src/gen/lib/dotgen/position__c.java000066400000000000000000002236301340005343600230270ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.dotgen; import static gen.lib.cgraph.attr__c.agget; import static gen.lib.cgraph.edge__c.aghead; import static gen.lib.cgraph.edge__c.agtail; import static gen.lib.cgraph.graph__c.agnnodes; import static gen.lib.cgraph.obj__c.agcontains; import static gen.lib.cgraph.obj__c.agroot; import static gen.lib.common.ns__c.rank; import static gen.lib.common.splines__c.selfRightSpace; import static gen.lib.common.utils__c.late_int; import static gen.lib.dotgen.cluster__c.mark_lowclusters; import static gen.lib.dotgen.conc__c.dot_concentrate; import static gen.lib.dotgen.dotinit__c.dot_root; import static gen.lib.dotgen.fastgr__c.fast_edge; import static gen.lib.dotgen.fastgr__c.find_fast_edge; import static gen.lib.dotgen.fastgr__c.virtual_node; import static gen.lib.dotgen.fastgr__c.zapinlist; import static gen.lib.dotgen.flat__c.flat_edges; import static smetana.core.JUtils.EQ; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtils.USHRT_MAX; import static smetana.core.JUtils.atof; import static smetana.core.JUtils.enumAsInt; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.AGINEDGE; import static smetana.core.Macro.AGOUTEDGE; import static smetana.core.Macro.AGTYPE; import static smetana.core.Macro.ALLOC_allocated_ST_Agnode_s; import static smetana.core.Macro.ED_dist; import static smetana.core.Macro.ED_head_port; import static smetana.core.Macro.ED_label; import static smetana.core.Macro.ED_minlen; import static smetana.core.Macro.ED_tail_port; import static smetana.core.Macro.ED_to_orig; import static smetana.core.Macro.ED_weight; import static smetana.core.Macro.GD_bb; import static smetana.core.Macro.GD_border; import static smetana.core.Macro.GD_clust; import static smetana.core.Macro.GD_drawing; import static smetana.core.Macro.GD_exact_ranksep; import static smetana.core.Macro.GD_flip; import static smetana.core.Macro.GD_has_labels; import static smetana.core.Macro.GD_ht1; import static smetana.core.Macro.GD_ht2; import static smetana.core.Macro.GD_label; import static smetana.core.Macro.GD_ln; import static smetana.core.Macro.GD_maxrank; import static smetana.core.Macro.GD_minrank; import static smetana.core.Macro.GD_n_cluster; import static smetana.core.Macro.GD_nlist; import static smetana.core.Macro.GD_nodesep; import static smetana.core.Macro.GD_rank; import static smetana.core.Macro.GD_ranksep; import static smetana.core.Macro.GD_rn; import static smetana.core.Macro.INT_MAX; import static smetana.core.Macro.MAX; import static smetana.core.Macro.MIN; import static smetana.core.Macro.N; import static smetana.core.Macro.ND_UF_size; import static smetana.core.Macro.ND_alg; import static smetana.core.Macro.ND_clust; import static smetana.core.Macro.ND_coord; import static smetana.core.Macro.ND_flat_out; import static smetana.core.Macro.ND_ht; import static smetana.core.Macro.ND_in; import static smetana.core.Macro.ND_inleaf; import static smetana.core.Macro.ND_lw; import static smetana.core.Macro.ND_mval; import static smetana.core.Macro.ND_next; import static smetana.core.Macro.ND_node_type; import static smetana.core.Macro.ND_order; import static smetana.core.Macro.ND_other; import static smetana.core.Macro.ND_out; import static smetana.core.Macro.ND_outleaf; import static smetana.core.Macro.ND_prev; import static smetana.core.Macro.ND_rank; import static smetana.core.Macro.ND_ranktype; import static smetana.core.Macro.ND_rw; import static smetana.core.Macro.ND_save_in; import static smetana.core.Macro.ND_save_out; import static smetana.core.Macro.NOT; import static smetana.core.Macro.ROUND; import static smetana.core.Macro.UNSUPPORTED; import static smetana.core.Macro.aghead; import static smetana.core.Macro.agtail; import static smetana.core.Macro.alloc_elist; import static smetana.core.Macro.free_list; import h.ST_Agedge_s; import h.ST_Agedgeinfo_t; import h.ST_Agedgepair_s; import h.ST_Agnode_s; import h.ST_Agraph_s; import h.ST_aspect_t; import h.ST_point; import h.ST_pointf; import h.ST_rank_t; import h.ratio_t; import smetana.core.CString; import smetana.core.Memory; import smetana.core.Z; public class position__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6knxbdrmgk6294aw61s2lpvvf // static double largeMinlen (double l) public static double largeMinlen(double l) { ENTERING("6knxbdrmgk6294aw61s2lpvvf","largeMinlen"); try { UNSUPPORTED("lt6cippjix5bbvyhkcpl8g7g"); // static double UNSUPPORTED("e2f0xhw6om2fpgt48xyjjg3i"); // largeMinlen (double l) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dad2o3vzemegi5fywxl7hcezk"); // agerr (AGERR, "Edge length %f larger than maximum %u allowed.\nCheck for overwide node(s).\n", l, USHRT_MAX); UNSUPPORTED("dlasv24dnuygpwagcamhyg15w"); // return (double)USHRT_MAX; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("6knxbdrmgk6294aw61s2lpvvf","largeMinlen"); } } //3 ccowbxkwmrj75tojopmhcmubx // static void connectGraph (graph_t* g) public static void connectGraph(ST_Agraph_s g) { ENTERING("ccowbxkwmrj75tojopmhcmubx","connectGraph"); try { int i, j, r, found; ST_Agnode_s tp; ST_Agnode_s hp; ST_Agnode_s sn; ST_Agedge_s e; ST_rank_t.Array2 rp; for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { rp = GD_rank(g).plus(r); found =0; tp = null; for (i = 0; i < rp.getPtr().n; i++) { tp = (ST_Agnode_s) rp.getPtr().v.get(i); if (ND_save_out(tp).listNotNull()) { for (j = 0; (e = (ST_Agedge_s) ND_save_out(tp).getFromList(j))!=null; j++) { if ((ND_rank(aghead(e)) > r) || (ND_rank(agtail(e)) > r)) { found = 1; break; } } if (found!=0) break; } if (ND_save_in(tp).listNotNull()) { for (j = 0; (e = (ST_Agedge_s) ND_save_in(tp).getFromList(j))!=null; j++) { if ((ND_rank(agtail(e)) > r) || (ND_rank(aghead(e)) > r)) { found = 1; break; } } if (found!=0) break; } } if (found!=0 || N(tp)) continue; tp = (ST_Agnode_s) rp.getPtr().v.get(0); if (r < GD_maxrank(g)) hp = (ST_Agnode_s) rp.get(1).v.get(0); else hp = (ST_Agnode_s) rp.plus(-1).getPtr().v.get(0); //assert (hp); sn = virtual_node(g); ND_node_type(sn, 2); make_aux_edge(sn, tp, 0, 0); make_aux_edge(sn, hp, 0, 0); ND_rank(sn, MIN(ND_rank(tp), ND_rank(hp))); } } finally { LEAVING("ccowbxkwmrj75tojopmhcmubx","connectGraph"); } } //3 33snzyd9z0loienur06dnily9 // void dot_position(graph_t * g, aspect_t* asp) public static void dot_position(ST_Agraph_s g, ST_aspect_t asp) { ENTERING("33snzyd9z0loienur06dnily9","dot_position"); try { if (GD_nlist(g) == null) return; /* ignore empty graph */ mark_lowclusters(g); /* we could remove from splines.c now */ set_ycoords(g); if (Z.z().Concentrate) dot_concentrate(g); expand_leaves(g); if (flat_edges(g)!=0) set_ycoords(g); create_aux_edges(g); if (rank(g, 2, nsiter2(g))!=0) { /* LR balance == 2 */ connectGraph (g); //assert(rank(g, 2, nsiter2(g)) == 0); } set_xcoords(g); set_aspect(g, asp); remove_aux_edges(g); /* must come after set_aspect since we now * use GD_ln and GD_rn for bbox width. */ } finally { LEAVING("33snzyd9z0loienur06dnily9","dot_position"); } } //3 90vn63m6v0w9fn9a2dgfxxx3h // static int nsiter2(graph_t * g) public static int nsiter2(ST_Agraph_s g) { ENTERING("90vn63m6v0w9fn9a2dgfxxx3h","nsiter2"); try { int maxiter = INT_MAX; CString s; if ((s = agget(g, new CString("nslimit")))!=null) maxiter = (int)(atof(s) * agnnodes(g)); return maxiter; } finally { LEAVING("90vn63m6v0w9fn9a2dgfxxx3h","nsiter2"); } } //3 5bax8ut6nnk4pr7yxdumk9chl // static int go(node_t * u, node_t * v) public static boolean go(ST_Agnode_s u, ST_Agnode_s v) { ENTERING("5bax8ut6nnk4pr7yxdumk9chl","go"); try { int i; ST_Agedge_s e; if (EQ(u, v)) return NOT(false); for (i = 0; (e = (ST_Agedge_s) ND_out(u).getFromList(i))!=null; i++) { if (go(aghead(e), v)) return NOT(false); } return false; } finally { LEAVING("5bax8ut6nnk4pr7yxdumk9chl","go"); } } //3 9xz8numztzj4qsq85pziahv1k // static int canreach(node_t * u, node_t * v) public static boolean canreach(ST_Agnode_s u, ST_Agnode_s v) { ENTERING("9xz8numztzj4qsq85pziahv1k","canreach"); try { return go(u, v); } finally { LEAVING("9xz8numztzj4qsq85pziahv1k","canreach"); } } //3 4cvgiatny97ou6mhqoq6aqwek // edge_t *make_aux_edge(node_t * u, node_t * v, double len, int wt) public static ST_Agedge_s make_aux_edge(ST_Agnode_s u, ST_Agnode_s v, double len, int wt) { ENTERING("4cvgiatny97ou6mhqoq6aqwek","make_aux_edge"); try { ST_Agedge_s e; ST_Agedgepair_s e2 = new ST_Agedgepair_s(); AGTYPE(e2.in, AGINEDGE); AGTYPE(e2.out, AGOUTEDGE); e2.out.base.setPtr("data", new ST_Agedgeinfo_t()); e = (ST_Agedge_s) e2.out; agtail(e, u); aghead(e, v); if (len > USHRT_MAX) len = largeMinlen (len); ED_minlen(e, ROUND(len)); ED_weight(e, wt); fast_edge(e); return e; } finally { LEAVING("4cvgiatny97ou6mhqoq6aqwek","make_aux_edge"); } } //3 53fvij7oun7aezlb7x66vzuyb // static void allocate_aux_edges(graph_t * g) public static void allocate_aux_edges(ST_Agraph_s g) { ENTERING("53fvij7oun7aezlb7x66vzuyb","allocate_aux_edges"); try { int i, j, n_in; ST_Agnode_s n; /* allocate space for aux edge lists */ for (n = GD_nlist(g); n!=null; n = ND_next(n)) { ND_save_in(n, ND_in(n)); ND_save_out(n, ND_out(n)); for (i = 0; ND_out(n).getFromList(i)!=null; i++); for (j = 0; ND_in(n).getFromList(j)!=null; j++); n_in = i + j; alloc_elist(n_in + 3, ND_in(n)); alloc_elist(3, ND_out(n)); } } finally { LEAVING("53fvij7oun7aezlb7x66vzuyb","allocate_aux_edges"); } } //3 ah28nr6mxpjeosr85bhmzd3si // static void make_LR_constraints(graph_t * g) public static void make_LR_constraints(ST_Agraph_s g) { ENTERING("ah28nr6mxpjeosr85bhmzd3si","make_LR_constraints"); try { int i, j, k; int sw; /* self width */ int m0, m1; double width; int sep[] = new int[2]; int nodesep; /* separation between nodes on same rank */ ST_Agedge_s e, e0, e1, ff; ST_Agnode_s u, v, t0, h0; ST_rank_t.Array2 rank = GD_rank(g); /* Use smaller separation on odd ranks if g has edge labels */ if ((GD_has_labels(g) & (1 << 0))!=0) { sep[0] = GD_nodesep(g); sep[1] = 5; } else { sep[1] = sep[0] = GD_nodesep(g); } /* make edges to constrain left-to-right ordering */ for (i = GD_minrank(g); i <= GD_maxrank(g); i++) { double last; ND_rank(rank.get(i).v.get(0), 0); last = 0; nodesep = sep[i & 1]; for (j = 0; j < rank.get(i).n; j++) { u = (ST_Agnode_s) rank.get(i).v.get(j); ND_mval(u, ND_rw(u)); /* keep it somewhere safe */ if (ND_other(u).size > 0) { /* compute self size */ /* FIX: dot assumes all self-edges go to the right. This * is no longer true, though makeSelfEdge still attempts to * put as many as reasonable on the right. The dot code * should be modified to allow a box reflecting the placement * of all self-edges, and use that to reposition the nodes. * Note that this would not only affect left and right * positioning but may also affect interrank spacing. */ sw = 0; for (k = 0; (e = (ST_Agedge_s) ND_other(u).getFromList(k))!=null; k++) { if (EQ(agtail(e), aghead(e))) { sw += selfRightSpace (e); } } ND_rw(u, ND_rw(u) + sw); /* increment to include self edges */ } v = (ST_Agnode_s) rank.get(i).v.plus(j + 1).getPtr(); if (v!=null) { width = ND_rw(u) + ND_lw(v) + nodesep; e0 = make_aux_edge(u, v, width, 0); ND_rank(v, (int)(last + width)); last = (int)(last + width); } /* constraints from labels of flat edges on previous rank */ if ((e = (ST_Agedge_s) ND_alg(u))!=null) { e0 = (ST_Agedge_s) ND_save_out(u).getFromList(0); e1 = (ST_Agedge_s) ND_save_out(u).getFromList(1); if (ND_order(aghead(e0)) > ND_order(aghead(e1))) { ff = e0; e0 = e1; e1 = ff; } m0 = (ED_minlen(e) * GD_nodesep(g)) / 2; m1 = m0 + ((int)(ND_rw(aghead(e0)) + ND_lw(agtail(e0)))); /* these guards are needed because the flat edges * work very poorly with cluster layout */ if (canreach(agtail(e0), aghead(e0)) == false) make_aux_edge(aghead(e0), agtail(e0), m1, ED_weight(e)); m1 = m0 + ((int)(ND_rw(agtail(e1)) + ND_lw(aghead(e1)))); if (canreach(aghead(e1), agtail(e1)) == false) make_aux_edge(agtail(e1), aghead(e1), m1, ED_weight(e)); } /* position flat edge endpoints */ for (k = 0; k < ND_flat_out(u).size; k++) { e = (ST_Agedge_s) ND_flat_out(u).getFromList(k); if (ND_order(agtail(e)) < ND_order(aghead(e))) { t0 = agtail(e); h0 = aghead(e); } else { t0 = aghead(e); h0 = agtail(e); } width = ND_rw(t0) + ND_lw(h0); m0 = (int) (ED_minlen(e) * GD_nodesep(g) + width); if ((e0 = find_fast_edge(t0, h0))!=null) { /* flat edge between adjacent neighbors * ED_dist contains the largest label width. */ m0 = MAX(m0, (int)(width + GD_nodesep(g) + ROUND(ED_dist(e)))); if (m0 > USHRT_MAX) m0 = (int) largeMinlen (m0); ED_minlen(e0, MAX(ED_minlen(e0), m0)); ED_weight(e0, MAX(ED_weight(e0), ED_weight(e))); } else if (N(ED_label(e))) { /* unlabeled flat edge between non-neighbors * ED_minlen(e) is max of ED_minlen of all equivalent * edges. */ make_aux_edge(t0, h0, m0, ED_weight(e)); } /* labeled flat edges between non-neighbors have already * been constrained by the label above. */ } } } } finally { LEAVING("ah28nr6mxpjeosr85bhmzd3si","make_LR_constraints"); } } //3 6uruo8mutxgcni9fm8jcrw4cr // static void make_edge_pairs(graph_t * g) public static void make_edge_pairs(ST_Agraph_s g) { ENTERING("6uruo8mutxgcni9fm8jcrw4cr","make_edge_pairs"); try { int i, m0, m1; ST_Agnode_s n, sn; ST_Agedge_s e; for (n = GD_nlist(g); n!=null; n = ND_next(n)) { if (ND_save_out(n).listNotNull()) for (i = 0; (e = (ST_Agedge_s) ND_save_out(n).getFromList(i))!=null; i++) { sn = virtual_node(g); ND_node_type(sn, 2); m0 = (int)(ED_head_port(e).p.x - ED_tail_port(e).p.x); if (m0 > 0) m1 = 0; else { m1 = -m0; m0 = 0; } make_aux_edge(sn, agtail(e), m0 + 1, ED_weight(e)); make_aux_edge(sn, aghead(e), m1 + 1, ED_weight(e)); ND_rank(sn, MIN(ND_rank(agtail(e)) - m0 - 1, ND_rank(aghead(e)) - m1 - 1)); } } } finally { LEAVING("6uruo8mutxgcni9fm8jcrw4cr","make_edge_pairs"); } } //3 79v3omwzni0nm3h05l3onjsbz // static void contain_clustnodes(graph_t * g) public static void contain_clustnodes(ST_Agraph_s g) { ENTERING("79v3omwzni0nm3h05l3onjsbz","contain_clustnodes"); try { int c; ST_Agedge_s e; if (NEQ(g, dot_root(g))) { contain_nodes(g); if ((e = find_fast_edge(GD_ln(g),GD_rn(g)))!=null) /* maybe from lrvn()?*/ ED_weight(e, ED_weight(e) + 128); else make_aux_edge(GD_ln(g), GD_rn(g), 1, 128); /* clust compaction edge */ } for (c = 1; c <= GD_n_cluster(g); c++) contain_clustnodes((ST_Agraph_s) GD_clust(g).get(c).getPtr()); } finally { LEAVING("79v3omwzni0nm3h05l3onjsbz","contain_clustnodes"); } } //3 24yfgklubun581fbfyx62lzsm // static int vnode_not_related_to(graph_t * g, node_t * v) public static boolean vnode_not_related_to(ST_Agraph_s g, ST_Agnode_s v) { ENTERING("24yfgklubun581fbfyx62lzsm","vnode_not_related_to"); try { ST_Agedge_s e; if (ND_node_type(v) != 1) return false; for (e = (ST_Agedge_s) ND_save_out(v).getFromList(0); ED_to_orig(e)!=null; e = ED_to_orig(e)); if (agcontains(g, agtail(e))) return false; if (agcontains(g, aghead(e))) return false; return NOT(false); } finally { LEAVING("24yfgklubun581fbfyx62lzsm","vnode_not_related_to"); } } //3 73cdgjl47ohty2va766evbo4 // static void keepout_othernodes(graph_t * g) public static void keepout_othernodes(ST_Agraph_s g) { ENTERING("73cdgjl47ohty2va766evbo4","keepout_othernodes"); try { int i, c, r, margin; ST_Agnode_s u, v; margin = late_int (g, Z.z().G_margin, 8, 0); for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { if (GD_rank(g).get(r).n == 0) continue; v = (ST_Agnode_s) GD_rank(g).get(r).v.get(0); if (v == null) continue; for (i = ND_order(v) - 1; i >= 0; i--) { u = (ST_Agnode_s) GD_rank(dot_root(g)).get(r).v.get(i); /* can't use "is_a_vnode_of" because elists are swapped */ if ((ND_node_type(u) == 0) || vnode_not_related_to(g, u)) { make_aux_edge(u, GD_ln(g), margin + ND_rw(u), 0); break; } } for (i = ND_order(v) + GD_rank(g).get(r).n; i < GD_rank(dot_root(g)).get(r).n; i++) { u = (ST_Agnode_s) GD_rank(dot_root(g)).get(r).v.get(i); if ((ND_node_type(u) == 0) || vnode_not_related_to(g, u)) { make_aux_edge(GD_rn(g), u, margin + ND_lw(u), 0); break; } } } for (c = 1; c <= GD_n_cluster(g); c++) keepout_othernodes((ST_Agraph_s) GD_clust(g).get(c).getPtr()); } finally { LEAVING("73cdgjl47ohty2va766evbo4","keepout_othernodes"); } } //3 c734mx1638sfqtl7vh7itaxyx // static void contain_subclust(graph_t * g) public static void contain_subclust(ST_Agraph_s g) { ENTERING("c734mx1638sfqtl7vh7itaxyx","contain_subclust"); try { int margin, c; ST_Agraph_s subg; margin = late_int (g, Z.z().G_margin, 8, 0); make_lrvn(g); for (c = 1; c <= GD_n_cluster(g); c++) { subg = (ST_Agraph_s) GD_clust(g).get(c).getPtr(); make_lrvn(subg); make_aux_edge(GD_ln(g), GD_ln(subg), margin + GD_border(g)[3].x, 0); make_aux_edge(GD_rn(subg), GD_rn(g), margin + GD_border(g)[1].x, 0); contain_subclust(subg); } } finally { LEAVING("c734mx1638sfqtl7vh7itaxyx","contain_subclust"); } } //3 6oruu1p1b7kxr5moh3kmcmvr3 // static void separate_subclust(graph_t * g) public static void separate_subclust(ST_Agraph_s g) { ENTERING("6oruu1p1b7kxr5moh3kmcmvr3","separate_subclust"); try { int i, j, margin; ST_Agraph_s low, high; ST_Agraph_s left, right; margin = late_int (g, Z.z().G_margin, 8, 0); for (i = 1; i <= GD_n_cluster(g); i++) make_lrvn((ST_Agraph_s) GD_clust(g).get(i).getPtr()); for (i = 1; i <= GD_n_cluster(g); i++) { for (j = i + 1; j <= GD_n_cluster(g); j++) { low = (ST_Agraph_s) GD_clust(g).get(i).getPtr(); high = (ST_Agraph_s) GD_clust(g).get(j).getPtr(); if (GD_minrank(low) > GD_minrank(high)) { ST_Agraph_s temp = low; low = high; high = temp; } if (GD_maxrank(low) < GD_minrank(high)) continue; if (ND_order(GD_rank(low).get(GD_minrank(high)).v.get(0)) < ND_order(GD_rank(high).get(GD_minrank(high)).v.get(0))) { left = low; right = high; } else { left = high; right = low; } make_aux_edge(GD_rn(left), GD_ln(right), margin, 0); } separate_subclust((ST_Agraph_s) GD_clust(g).get(i).getPtr()); } } finally { LEAVING("6oruu1p1b7kxr5moh3kmcmvr3","separate_subclust"); } } //3 8f8gs2zivo4pnd3hmtb9g23x4 // static void pos_clusters(graph_t * g) public static void pos_clusters(ST_Agraph_s g) { ENTERING("8f8gs2zivo4pnd3hmtb9g23x4","pos_clusters"); try { if (GD_n_cluster(g) > 0) { contain_clustnodes(g); keepout_othernodes(g); contain_subclust(g); separate_subclust(g); } } finally { LEAVING("8f8gs2zivo4pnd3hmtb9g23x4","pos_clusters"); } } //3 fywsxto7yvl5wa2dfu7u7jj1 // static void compress_graph(graph_t * g) public static void compress_graph(ST_Agraph_s g) { ENTERING("fywsxto7yvl5wa2dfu7u7jj1","compress_graph"); try { double x; ST_pointf p = new ST_pointf(); if (GD_drawing(g).ratio_kind != enumAsInt(ratio_t.class, "R_COMPRESS")) return; UNSUPPORTED("79oeaf0u32si2chjcpas5whjl"); // p = GD_drawing(g)->size; UNSUPPORTED("6a2ue1i6kvwvpgapb4z8l27jn"); // if (p.x * p.y <= 1) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("5f3k9yz6btwxc8r5t8exytqqt"); // contain_nodes(g); UNSUPPORTED("4mvbrmj6dfhaz3burnpac7zsx"); // if (GD_flip(g) == 0) UNSUPPORTED("dzkztznjq2andjnjzqh8i5tij"); // x = p.x; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("ddzjdkqij3y4gq9i3hikpoqvj"); // x = p.y; UNSUPPORTED("e1xij2jh66kyaiikenemo1qza"); // /* Guard against huge size attribute since max. edge length is USHRT_MAX UNSUPPORTED("5ilmnsqirjhzn5q6s3f9pkgi3"); // * A warning might be called for. Also, one could check that the graph UNSUPPORTED("1nhxkt9jijvhw5gsp2pluh8g8"); // * already fits GD_drawing(g)->size and return immediately. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("dkqac1chvtsaao23vr43xqs5r"); // x = MIN(x,USHRT_MAX); UNSUPPORTED("5es2j3xrdatvha5uea2wlqcxp"); // make_aux_edge(GD_ln(g), GD_rn(g), x, 1000); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("fywsxto7yvl5wa2dfu7u7jj1","compress_graph"); } } //3 b7y0htx4svbhaqb1a12dihlue // static void create_aux_edges(graph_t * g) public static void create_aux_edges(ST_Agraph_s g) { ENTERING("b7y0htx4svbhaqb1a12dihlue","create_aux_edges"); try { allocate_aux_edges(g); make_LR_constraints(g); make_edge_pairs(g); pos_clusters(g); compress_graph(g); } finally { LEAVING("b7y0htx4svbhaqb1a12dihlue","create_aux_edges"); } } //3 euzeilq92ry8a4tcrij5s52t5 // static void remove_aux_edges(graph_t * g) public static void remove_aux_edges(ST_Agraph_s g) { ENTERING("euzeilq92ry8a4tcrij5s52t5","remove_aux_edges"); try { int i; ST_Agnode_s n, nnext, nprev; ST_Agedge_s e; for (n = GD_nlist(g); n!=null; n = ND_next(n)) { for (i = 0; (e = (ST_Agedge_s) ND_out(n).getFromList(i))!=null; i++) { Memory.free(e.base.data); Memory.free(e); } free_list(ND_out(n)); free_list(ND_in(n)); ND_out(n, ND_save_out(n)); ND_in(n, ND_save_in(n)); } /* cannot be merged with previous loop */ nprev = null; for (n = GD_nlist(g); n!=null; n = nnext) { nnext = ND_next(n); if (ND_node_type(n) == 2) { if (nprev!=null) ND_next(nprev, nnext); else GD_nlist(g, nnext); Memory.free(n.base.data); Memory.free(n); } else nprev = n; } ND_prev(GD_nlist(g), null); } finally { LEAVING("euzeilq92ry8a4tcrij5s52t5","remove_aux_edges"); } } //3 1oobmglea9t819y95xeel37h8 // static void set_xcoords(graph_t * g) public static void set_xcoords(ST_Agraph_s g) { ENTERING("1oobmglea9t819y95xeel37h8","set_xcoords"); try { int i, j; ST_Agnode_s v; ST_rank_t.Array2 rank = GD_rank(g); for (i = GD_minrank(g); i <= GD_maxrank(g); i++) { for (j = 0; j < rank.get(i).n; j++) { v = (ST_Agnode_s) rank.get(i).v.get(j); ND_coord(v).x = ND_rank(v); ND_rank(v, i); } } } finally { LEAVING("1oobmglea9t819y95xeel37h8","set_xcoords"); } } //3 6mip7s1k9xt9tp6x6nnsbt34p // static void adjustSimple(graph_t * g, int delta, int margin_total) public static Object adjustSimple(Object... arg) { UNSUPPORTED("6b5zs45snahyh3bzod53vasjx"); // static void adjustSimple(graph_t * g, int delta, int margin_total) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4dxxcgj8emjoyp2vlrcw5xmwl"); // int r, bottom, deltop, delbottom; UNSUPPORTED("6i5o0pm41tgebv48wcngsxwqd"); // graph_t *root = dot_root(g); UNSUPPORTED("2clvms28da6dp56nhcz1fw6l8"); // rank_t *rank = GD_rank(root); UNSUPPORTED("3fkjf35jwcy291suh6fv3lnu"); // int maxr = GD_maxrank(g); UNSUPPORTED("be5w8b0upg8swanznmjl6ml56"); // int minr = GD_minrank(g); UNSUPPORTED("enzyy8zeeg6bsgsuwm86u5bwb"); // bottom = (delta+1) / 2; UNSUPPORTED("9jp6b6z7el15spss761fh4rgx"); // delbottom = GD_ht1(g) + bottom - (rank[maxr].ht1 - margin_total); UNSUPPORTED("ckra1b9nceo8q21bwo5iu3rap"); // if (delbottom > 0) { UNSUPPORTED("3jotxrk6oermksl3is78mj0e2"); // for (r = maxr; r >= minr; r--) { UNSUPPORTED("b905w55w58349wk9aktevaljm"); // if (rank[r].n > 0) UNSUPPORTED("bjuzvkc8hhlni54hkaef0j0xa"); // ND_coord(rank[r].v[0]).y += delbottom; UNSUPPORTED("e9yhkch195gia8gdiu6vb4rbn"); // } UNSUPPORTED("bdmop8bk7tvltc7z16xj07kqn"); // deltop = GD_ht2(g) + (delta-bottom) + delbottom - (rank[minr].ht2 - margin_total); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("cw3vv20i8np95bafexnuhhpdg"); // deltop = GD_ht2(g) + (delta-bottom) - (rank[minr].ht2 - margin_total); UNSUPPORTED("49prm57gvpenehfkcxz9xuxu4"); // if (deltop > 0) { UNSUPPORTED("axexjgvfow9k3x1l6j2my6cd"); // for (r = minr-1; r >= GD_minrank(root); r--) { UNSUPPORTED("b905w55w58349wk9aktevaljm"); // if (rank[r].n > 0) UNSUPPORTED("1nebaz06hwqknqrqcnwf03z2"); // ND_coord(rank[r].v[0]).y += deltop; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7o49wizb9vp55xhz88lycavep"); // GD_ht2(g) += (delta - bottom); UNSUPPORTED("4mq1sot7a9bxpobj9602hyyl5"); // GD_ht1(g) += bottom; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9sv968rni5moio662r9kjzai3 // static void adjustRanks(graph_t * g, int margin_total) public static Object adjustRanks(Object... arg) { UNSUPPORTED("47ywar141vmwjartmboxs38cz"); // static void adjustRanks(graph_t * g, int margin_total) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cbyzaxb8pmtp6lo2y4tajk45s"); // double lht; /* label height */ UNSUPPORTED("3r7yt838qvvliagprkv30uka1"); // double rht; /* height between top and bottom ranks */ UNSUPPORTED("n5e6qzpiyv4zvlemheyvbky7"); // int maxr, minr, margin; UNSUPPORTED("53xzwretgdbd0atozc0w6hagb"); // int c; UNSUPPORTED("7p11k11wgq46szos3u4lfa5a4"); // double delta, ht1, ht2; UNSUPPORTED("39w5issxrjmte1dn2qnt8gpbj"); // rank_t *rank = GD_rank(dot_root(g)); UNSUPPORTED("aerooskq9gwysw6euktdqjmaq"); // if (g == dot_root(g)) UNSUPPORTED("8tm7x791luf0uq7v2q53kfuqk"); // margin = 0; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("182pb9igel0aoytgtoiguek4x"); // margin = late_int (g, G_margin, 8, 0); UNSUPPORTED("8bcey7cvczgf3t3ominh7ye1b"); // ht1 = GD_ht1(g); UNSUPPORTED("1ac5605x86vam4z4spx361rpd"); // ht2 = GD_ht2(g); UNSUPPORTED("99d9j6m0161wdv2tu4wbf3ifi"); // for (c = 1; c <= GD_n_cluster(g); c++) { UNSUPPORTED("6wacplh886lzcey0jjkfo5jcn"); // graph_t *subg = GD_clust(g)[c]; UNSUPPORTED("6jkyxr322md2frf0pic57ak6e"); // adjustRanks(subg, margin+margin_total); UNSUPPORTED("41b09kckthwa070wznf9tneej"); // if (GD_maxrank(subg) == GD_maxrank(g)) UNSUPPORTED("7gbj2fwymn5k7pywbjc1kbhmb"); // ht1 = MAX(ht1, GD_ht1(subg) + margin); UNSUPPORTED("clsf4pg9bdlkzghw3oq7fpo7c"); // if (GD_minrank(subg) == GD_minrank(g)) UNSUPPORTED("9vmpt65t8kavsz1zoorcr5ik"); // ht2 = MAX(ht2, GD_ht2(subg) + margin); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9lx88c3pk4z5zxca5orq7v2yf"); // GD_ht1(g) = ht1; UNSUPPORTED("2p0gs3kpty9mg9ymk70kjekh0"); // GD_ht2(g) = ht2; UNSUPPORTED("34p29mvxtmpuzcgzh4s03lixs"); // if ((g != dot_root(g)) && GD_label(g)) { UNSUPPORTED("ak9x1j2bu2d8zr8tls942u42r"); // lht = MAX(GD_border(g)[3].y, GD_border(g)[1].y); UNSUPPORTED("ehkev01oc7ynzwkbjbzclaqj6"); // maxr = GD_maxrank(g); UNSUPPORTED("2906nnve3dmqroo2jsq13wfex"); // minr = GD_minrank(g); UNSUPPORTED("8s9tksg226ob1ti8o5ljo1gbg"); // rht = ND_coord(rank[minr].v[0]).y - ND_coord(rank[maxr].v[0]).y; UNSUPPORTED("b0dxtg7jama7mgqccujsbb97n"); // delta = lht - (rht + ht1 + ht2); UNSUPPORTED("bfapr2l9berlmq4ubgk0zp7qf"); // if (delta > 0) { UNSUPPORTED("3zllny0pp0nf7gzw7829oqexo"); // adjustSimple(g, delta, margin_total); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a86aoq62oyhhkqpyzz0um3pvq"); // /* update the global ranks */ UNSUPPORTED("1pmq9pca155672xcv1ow2cbfy"); // if (g != dot_root(g)) { UNSUPPORTED("1kgp3b6qifeit9n2i2k8oc8qv"); // rank[GD_minrank(g)].ht2 = MAX(rank[GD_minrank(g)].ht2, GD_ht2(g)); UNSUPPORTED("8f7gccnlt6m8v3k1ijaznaew3"); // rank[GD_maxrank(g)].ht1 = MAX(rank[GD_maxrank(g)].ht1, GD_ht1(g)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 emtrqv582hdma5aajqtjd76m1 // static int clust_ht(Agraph_t * g) public static int clust_ht(ST_Agraph_s g) { ENTERING("emtrqv582hdma5aajqtjd76m1","clust_ht"); try { int c; double ht1, ht2; ST_Agraph_s subg; ST_rank_t.Array2 rank = GD_rank(dot_root(g)); int margin, haveClustLabel = 0; if (EQ(g, dot_root(g))) margin = 8; else margin = late_int (g, Z.z().G_margin, 8, 0); ht1 = GD_ht1(g); ht2 = GD_ht2(g); /* account for sub-clusters */ for (c = 1; c <= GD_n_cluster(g); c++) { subg = (ST_Agraph_s) GD_clust(g).get(c).getPtr(); haveClustLabel |= clust_ht(subg); if (GD_maxrank(subg) == GD_maxrank(g)) ht1 = MAX(ht1, GD_ht1(subg) + margin); if (GD_minrank(subg) == GD_minrank(g)) ht2 = MAX(ht2, GD_ht2(subg) + margin); } /* account for a possible cluster label in clusters */ /* room for root graph label is handled in dotneato_postprocess */ if (NEQ(g, dot_root(g)) && GD_label(g)!=null) { haveClustLabel = 1; if (N(GD_flip(agroot(g)))) { ht1 += GD_border(g)[0].y; ht2 += GD_border(g)[2].y; } } GD_ht1(g, ht1); GD_ht2(g, ht2); /* update the global ranks */ if (NEQ(g, dot_root(g))) { rank.plus(GD_minrank(g)).setDouble("ht2", MAX(rank.get(GD_minrank(g)).ht2, ht2)); rank.plus(GD_maxrank(g)).setDouble("ht1", MAX(rank.get(GD_maxrank(g)).ht1, ht1)); } return haveClustLabel; } finally { LEAVING("emtrqv582hdma5aajqtjd76m1","clust_ht"); } } //3 bp8vmol4ncadervcfossysdtd // static void set_ycoords(graph_t * g) public static void set_ycoords(ST_Agraph_s g) { ENTERING("bp8vmol4ncadervcfossysdtd","set_ycoords"); try { int i, j, r; double ht2, maxht, delta, d0, d1; ST_Agnode_s n; ST_Agedge_s e; ST_rank_t.Array2 rank = GD_rank(g); ST_Agraph_s clust; int lbl; ht2 = maxht = 0; /* scan ranks for tallest nodes. */ for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { for (i = 0; i < rank.get(r).n; i++) { n = (ST_Agnode_s) rank.get(r).v.get(i); /* assumes symmetry, ht1 = ht2 */ ht2 = ND_ht(n) / 2; /* have to look for high self-edge labels, too */ if (ND_other(n).listNotNull()) for (j = 0; (e = (ST_Agedge_s) ND_other(n).getFromList(j))!=null; j++) { if (EQ(agtail(e), aghead(e))) { if (ED_label(e)!=null) ht2 = MAX(ht2, ED_label(e).dimen.y / 2); } } /* update global rank ht */ if (rank.get(r).pht2 < ht2) { rank.plus(r).setDouble("ht2", ht2); rank.plus(r).setDouble("pht2", ht2); } if (rank.get(r).pht1 < ht2) { rank.plus(r).setDouble("ht1", ht2); rank.plus(r).setDouble("pht1", ht2); } /* update nearest enclosing cluster rank ht */ if ((clust = ND_clust(n))!=null) { int yoff = (clust == g ? 0 : late_int (clust, Z.z().G_margin, 8, 0)); if (ND_rank(n) == GD_minrank(clust)) GD_ht2(clust, MAX(GD_ht2(clust), ht2 + yoff)); if (ND_rank(n) == GD_maxrank(clust)) GD_ht1(clust, MAX(GD_ht1(clust), ht2 + yoff)); } } } /* scan sub-clusters */ lbl = clust_ht(g); /* make the initial assignment of ycoords to leftmost nodes by ranks */ maxht = 0; r = GD_maxrank(g); (ND_coord(rank.get(r).v.get(0))).setDouble("y", rank.get(r).ht1); while (--r >= GD_minrank(g)) { d0 = rank.get(r + 1).pht2 + rank.get(r).pht1 + GD_ranksep(g); /* prim node sep */ d1 = rank.get(r + 1).ht2 + rank.get(r).ht1 + 8; /* cluster sep */ delta = MAX(d0, d1); if (rank.get(r).n > 0) /* this may reflect some problem */ (ND_coord(rank.get(r).v.get(0))).setDouble("y", (ND_coord(rank.plus(r + 1).getPtr().v.get(0))).y + delta); maxht = MAX(maxht, delta); } /* If there are cluster labels and the drawing is rotated, we need special processing to * allocate enough room. We use adjustRanks for this, and then recompute the maxht if * the ranks are to be equally spaced. This seems simpler and appears to work better than * handling equal spacing as a special case. */ if (lbl!=0 && GD_flip(g)!=0) { UNSUPPORTED("bxjqk5nu40mwo1156dicr9tur"); // adjustRanks(g, 0); UNSUPPORTED("6vy9qfed3u61pmvy12724s9l4"); // if (GD_exact_ranksep(g)) { /* recompute maxht */ UNSUPPORTED("74f5n6u4x39ngn0gsan7fgzyr"); // maxht = 0; UNSUPPORTED("2pd9g1n9b0746fgt892degls3"); // r = GD_maxrank(g); UNSUPPORTED("8dils3hlxottsbf2iuapvhqeq"); // d0 = (ND_coord(rank[r].v[0])).y; UNSUPPORTED("cw5accmrcan3lqfc789udgcka"); // while (--r >= GD_minrank(g)) { UNSUPPORTED("6bxo7bknt38qh9t31zr7p6kie"); // d1 = (ND_coord(rank[r].v[0])).y; UNSUPPORTED("b1ta7vjm5i7swyklhfwy27w35"); // delta = d1 - d0; UNSUPPORTED("65l8hg0imd48bfdu614k2kylt"); // maxht = MAX(maxht, delta); UNSUPPORTED("5irf6cp6xdzi2ik033azsbauo"); // d0 = d1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } } /* re-assign if ranks are equally spaced */ if (GD_exact_ranksep(g)!=0) { UNSUPPORTED("cyxbyjrdzywkc46nl8lkrngai"); // for (r = GD_maxrank(g) - 1; r >= GD_minrank(g); r--) UNSUPPORTED("5sd5ltavyp6llt0t2t0xmqwj5"); // if (rank[r].n > 0) /* this may reflect the same problem :-() */ UNSUPPORTED("5zoeqpznt31feqxjcx2rg0o1f"); // (ND_coord(rank[r].v[0])).y= UNSUPPORTED("e6dfx5uesysjaefb0djyfp7f"); // (ND_coord(rank[r + 1].v[0])).y + maxht; } /* copy ycoord assignment from leftmost nodes to others */ for (n = GD_nlist(g); n!=null; n = ND_next(n)) ND_coord(n).y = ND_coord(rank.plus(ND_rank(n)).getPtr().v.get(0)).y; } finally { LEAVING("bp8vmol4ncadervcfossysdtd","set_ycoords"); } } //3 9ay2xnnmh407i32pfokujfda5 //static void dot_compute_bb(graph_t * g, graph_t * root) public static void dot_compute_bb(ST_Agraph_s g, ST_Agraph_s root) { ENTERING("9ay2xnnmh407i32pfokujfda5","dot_compute_bb"); try { int r, c; double x, offset; ST_Agnode_s v; final ST_pointf LL = new ST_pointf(); final ST_pointf UR = new ST_pointf(); if (EQ(g, dot_root(g))) { LL.x = INT_MAX; UR.x = -((double)INT_MAX); for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { int rnkn = GD_rank(g).get(r).n; if (rnkn == 0) continue; if ((v = (ST_Agnode_s) GD_rank(g).get(r).v.get(0)) == null) continue; for (c = 1; (ND_node_type(v) != 0) && c < rnkn; c++) v = (ST_Agnode_s) GD_rank(g).get(r).v.get(c); if (ND_node_type(v) == 0) { x = ND_coord(v).x - ND_lw(v); LL.setDouble("x", MIN(LL.x, x)); } else continue; /* At this point, we know the rank contains a NORMAL node */ v = (ST_Agnode_s) GD_rank(g).get(r).v.plus(rnkn - 1).getPtr(); for (c = rnkn-2; ND_node_type(v) != 0; c--) v = (ST_Agnode_s) GD_rank(g).get(r).v.get(c); x = ND_coord(v).x + ND_rw(v); UR.x = MAX(UR.x, x); } offset = 8; for (c = 1; c <= GD_n_cluster(g); c++) { x = (double)(GD_bb(GD_clust(g).plus(c)).LL.x - offset); LL.x = MIN(LL.x, x); x = (double)(GD_bb(GD_clust(g).plus(c)).UR.x + offset); UR.x = MAX(UR.x, x); } } else { LL.x = (double)(ND_rank(GD_ln(g))); UR.x = (double)(ND_rank(GD_rn(g))); } LL.y = ND_coord(GD_rank(root).plus(GD_maxrank(g)).getPtr().v.get(0)).y - GD_ht1(g); UR.y = ND_coord(GD_rank(root).plus(GD_minrank(g)).getPtr().v.get(0)).y + GD_ht2(g); GD_bb(g).setStruct("LL", LL); GD_bb(g).setStruct("UR", UR); } finally { LEAVING("9ay2xnnmh407i32pfokujfda5","dot_compute_bb"); } } //3 dlbpiimh9g9ff9w7wjoabf817 // static void rec_bb(graph_t * g, graph_t * root) public static void rec_bb(ST_Agraph_s g, ST_Agraph_s root) { ENTERING("dlbpiimh9g9ff9w7wjoabf817","rec_bb"); try { int c; for (c = 1; c <= GD_n_cluster(g); c++) rec_bb((ST_Agraph_s) GD_clust(g).get(c).getPtr(), root); dot_compute_bb(g, root); } finally { LEAVING("dlbpiimh9g9ff9w7wjoabf817","rec_bb"); } } //3 2p3nacev7k2jft9xov90nke50 // static void scale_bb(graph_t * g, graph_t * root, double xf, double yf) public static Object scale_bb(Object... arg) { UNSUPPORTED("9zkkf6x8cj12vuzqrjaoxfn8s"); // static void scale_bb(graph_t * g, graph_t * root, double xf, double yf) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("53xzwretgdbd0atozc0w6hagb"); // int c; UNSUPPORTED("7z5fb6iyowsosn1hiz7opeoc6"); // for (c = 1; c <= GD_n_cluster(g); c++) UNSUPPORTED("7leh3r5v7roon4liia73wue7e"); // scale_bb(GD_clust(g)[c], root, xf, yf); UNSUPPORTED("duz0iqmos1i372cztpjtsemab"); // GD_bb(g).LL.x *= xf; UNSUPPORTED("ja25041s2x99bhwj5wcliok0"); // GD_bb(g).LL.y *= yf; UNSUPPORTED("7mpnp4j7m1ymn1zdbxzeh5xxd"); // GD_bb(g).UR.x *= xf; UNSUPPORTED("4ahigy1a10wsl6lvc90lpax5e"); // GD_bb(g).UR.y *= yf; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 53z9yhpfixulhgqsauulkllvc // static void adjustAspectRatio (graph_t* g, aspect_t* asp) public static Object adjustAspectRatio(Object... arg) { UNSUPPORTED("ezldb6r0csirv1fmkq5itw1v2"); // static void adjustAspectRatio (graph_t* g, aspect_t* asp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7rtldqefvdgcf4u50kulbxtvn"); // double AR = (GD_bb(g).UR.x - GD_bb(g).LL.x)/(GD_bb(g).UR.y - GD_bb(g).LL.y); UNSUPPORTED("cve2on8gll5i0vomy8lnwhai2"); // if (Verbose) { UNSUPPORTED("6z0q1m3yc6o11ejsa59eghqag"); // fprintf(stderr, "AR=%0.4lf\t Area= %0.4lf\t", AR, (double)(GD_bb(g).UR.x - GD_bb(g).LL.x)*(GD_bb(g).UR.y - GD_bb(g).LL.y)/10000.0); UNSUPPORTED("2uealcdkjdgg8ne1cijkbagpu"); // fprintf(stderr, "Dummy=%d\n", countDummyNodes(g)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("96mqnzcfbfghxkxkn1x8kdh8i"); // if (AR > 1.1*asp->targetAR) { UNSUPPORTED("6gq7uj15zh138zyae50c8nh2z"); // asp->nextIter = (int)(asp->targetAR * (double)(asp->curIterations - asp->prevIterations)/(AR)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("e1443w2cx49ogpsf5m59zy4fq"); // else if (AR <= 0.8 * asp->targetAR) { UNSUPPORTED("5awa0x1pxpta5wou27bzrtvoc"); // asp->nextIter = -1; UNSUPPORTED("5xdo0sx20rmxgmdkrm1giaige"); // if (Verbose) UNSUPPORTED("du5ztjo6nfo54ailmk1tqs05b"); // fprintf(stderr, "Going to apply another expansion.\n"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("757eq4638npmb5w5e39iemxfo"); // asp->nextIter = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2di5wqm6caczzl6bvqe35ry8y"); // if (Verbose) UNSUPPORTED("29wdml7g4931q8kgah8hgwjd0"); // fprintf(stderr, "next#iter=%d\n", asp->nextIter); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7effq6z6ur101wrch6ttozr26 // static void set_aspect(graph_t * g, aspect_t* asp) public static void set_aspect(ST_Agraph_s g, ST_aspect_t asp) { ENTERING("7effq6z6ur101wrch6ttozr26","set_aspect"); try { double xf = 0.0, yf = 0.0, actual, desired; ST_Agnode_s n; boolean scale_it, filled; ST_point sz = new ST_point(); rec_bb(g, g); if ((GD_maxrank(g) > 0) && (GD_drawing(g).ratio_kind!=0)) { UNSUPPORTED("5wbmy4x78flo2ztfabki9lyjf"); // sz.x = GD_bb(g).UR.x - GD_bb(g).LL.x; UNSUPPORTED("catd6eu5oc282ln95k9zz52f3"); // sz.y = GD_bb(g).UR.y - GD_bb(g).LL.y; /* normalize */ UNSUPPORTED("21zvq2qx1j34j1i1879zyhzpj"); // if (GD_flip(g)) { UNSUPPORTED("d55uzald1tvs7xodnua67pxv6"); // int t = sz.x; UNSUPPORTED("47s1klx0pfzda4e311w53ou7e"); // sz.x = sz.y; UNSUPPORTED("3tx1mj7j0rqw33y24a0gu4ali"); // sz.y = t; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("4ct8ztqxnsskgphsp1v3aw5ec"); // scale_it = NOT(0); UNSUPPORTED("8v772n1u4wqlmskqfswlzcz2o"); // if (GD_drawing(g)->ratio_kind == R_AUTO) UNSUPPORTED("8mtmgag5dxj8ttlcabbpd865p"); // filled = idealsize(g, .5); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("bxtk5e5ls8qsd36eucvhufg9y"); // filled = (GD_drawing(g)->ratio_kind == R_FILL); UNSUPPORTED("2atgu691bmn6h9jvk8lve5qzc"); // if (filled) { UNSUPPORTED("1zx5etcjofceqjvogfn8urkdj"); // /* fill is weird because both X and Y can stretch */ UNSUPPORTED("7ezqjon4u21dwg4qvxssrnwfc"); // if (GD_drawing(g)->size.x <= 0) UNSUPPORTED("dao0fnoi65upcdtr9csqhhy41"); // scale_it = 0; UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("6ifkww34s7php908n9wg0oiju"); // xf = (double) GD_drawing(g)->size.x / (double) sz.x; UNSUPPORTED("6faiikvxwdge2ydblv90976hb"); // yf = (double) GD_drawing(g)->size.y / (double) sz.y; UNSUPPORTED("5xkzvdrdnfd5afhhxgajbywya"); // if ((xf < 1.0) || (yf < 1.0)) { UNSUPPORTED("cvkvyq93xp1itpomhj1r2xlzy"); // if (xf < yf) { UNSUPPORTED("capfpf4tncicsp81elmwvf0l"); // yf = yf / xf; UNSUPPORTED("7sdzyzqj65rbq6edfgf5x6xht"); // xf = 1.0; UNSUPPORTED("d86r93g8nz9a1kfzgi7f8j8nh"); // } else { UNSUPPORTED("emwaipsi6kyqbpk2y26k3cxfw"); // xf = xf / yf; UNSUPPORTED("1s91x56ftedjsc3m32dqgspqn"); // yf = 1.0; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("c48w89y9jw5baxqqucmiyfha7"); // } else if (GD_drawing(g)->ratio_kind == R_EXPAND) { UNSUPPORTED("7ezqjon4u21dwg4qvxssrnwfc"); // if (GD_drawing(g)->size.x <= 0) UNSUPPORTED("dao0fnoi65upcdtr9csqhhy41"); // scale_it = 0; UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("akfs904fsk7cyl8wbv0x7fnvz"); // xf = (double) GD_drawing(g)->size.x / UNSUPPORTED("1ewqbc4kglc2kg1n13euxrxzh"); // (double) GD_bb(g).UR.x; UNSUPPORTED("6fmkpg9ypaxceugi24gklvdra"); // yf = (double) GD_drawing(g)->size.y / UNSUPPORTED("8mskb0mqou89myfbiihsjpbg6"); // (double) GD_bb(g).UR.y; UNSUPPORTED("a2jzgqbpoanzqdqc7vjk32vmz"); // if ((xf > 1.0) && (yf > 1.0)) { UNSUPPORTED("6np8qfg5qnlaypikhw0bdx84j"); // double scale = MIN(xf, yf); UNSUPPORTED("272bmuv1row7l9tla5bhot840"); // xf = yf = scale; UNSUPPORTED("738mi6h8ef0itznt34ngxe25o"); // } else UNSUPPORTED("b5qs3ho2fcywk3sd5cw3m88kw"); // scale_it = 0; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("d7deewhp6akdb13j7ry364hbd"); // } else if (GD_drawing(g)->ratio_kind == R_VALUE) { UNSUPPORTED("fpejwrlknxizaxxibhuyaxdt"); // desired = GD_drawing(g)->ratio; UNSUPPORTED("douwz2voka0puoeooqjn8kijk"); // actual = ((double) sz.y) / ((double) sz.x); UNSUPPORTED("7u9yvuqazzo19geppiphd9rfh"); // if (actual < desired) { UNSUPPORTED("apqq3m2rezfl96zbvk7lut02"); // yf = desired / actual; UNSUPPORTED("8po0oizki4figodjv9xku16gq"); // xf = 1.0; UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("84c3pp9xgnii11clyyxblqmy6"); // xf = actual / desired; UNSUPPORTED("1tr1b9rp1b00pcafss87kadfe"); // yf = 1.0; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6to1esmb8qfrhzgtr7jdqleja"); // } else UNSUPPORTED("csvnhx5mo535o6ue1tg3ktjhs"); // scale_it = 0; UNSUPPORTED("bh2d68e9s7cr7k1bl0h9fmr9a"); // if (scale_it) { UNSUPPORTED("b8symsgdtoq84y3j1151pv0g4"); // if (GD_flip(g)) { UNSUPPORTED("bi983gfofc0blj8r4yetj14kb"); // double t = xf; UNSUPPORTED("69pmocxfvmk0urni4fg0x4na5"); // xf = yf; UNSUPPORTED("cyt895z1pa5arxz4d1kv0hqgq"); // yf = t; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("crtcqz91ff5l8ntjbne40b5x4"); // for (n = GD_nlist(g); n; n = ND_next(n)) { UNSUPPORTED("brs6nych5z9m0a75ixbe5l80o"); // ND_coord(n).x = ROUND(ND_coord(n).x * xf); UNSUPPORTED("cpe0pjsilppgrp2ofysn4y54w"); // ND_coord(n).y = ROUND(ND_coord(n).y * yf); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("8f0d3etdet1pk8ikvltmz5h2s"); // scale_bb(g, g, xf, yf); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } } if (asp!=null) adjustAspectRatio (g, asp); } finally { LEAVING("7effq6z6ur101wrch6ttozr26","set_aspect"); } } //3 41mmud7cyx1rwhd0k7g7weaf8 // static point resize_leaf(node_t * leaf, point lbound) public static Object resize_leaf(Object... arg) { UNSUPPORTED("alcqddrml4aj55twvzwyyvfjh"); // static point resize_leaf(node_t * leaf, point lbound) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dnj5vqe4cb2yzzx75ubwrxvav"); // gv_nodesize(leaf, GD_flip(agraphof(leaf))); UNSUPPORTED("bxig9t3r62l84xejntt3x96kv"); // ND_coord(leaf).y = lbound.y; UNSUPPORTED("bx00ps5hied5a63922sqqpvhi"); // ND_coord(leaf).x = lbound.x + ND_lw(leaf); UNSUPPORTED("euhijhn76fi66yqoh8gxk5nq0"); // lbound.x = lbound.x + ND_lw(leaf) + ND_rw(leaf) + GD_nodesep(agraphof(leaf)); UNSUPPORTED("1xmj5l8g8znua01mljujyh61i"); // return lbound; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4jx34mwc4aby8v45omelmfluv // static point place_leaf(graph_t* ing, node_t * leaf, point lbound, int order) public static Object place_leaf(Object... arg) { UNSUPPORTED("cetlk9m8mjd69vuru3rjho0lw"); // static point place_leaf(graph_t* ing, node_t * leaf, point lbound, int order) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b1ht34ftmnpsuxflrqun4ptkr"); // node_t *leader; UNSUPPORTED("aqfu9qyb55o3lehhaqmxag540"); // graph_t *g = dot_root(ing); UNSUPPORTED("1b5u4ut4j70lu60geogmkv572"); // leader = UF_find(leaf); UNSUPPORTED("3urvo2e4w7312r8scg44o0hqw"); // if (leaf != leader) UNSUPPORTED("azdkjz4shu49j3fzjpazxrpwz"); // fast_nodeapp(leader, leaf); UNSUPPORTED("95h5y689udztblrtgdwc8y2ei"); // ND_order(leaf) = order; UNSUPPORTED("cvsh6pf3vxzxd2zn1u8ykd8hx"); // ND_rank(leaf) = ND_rank(leader); UNSUPPORTED("6k8r94a4chbol18r2rnbi9haj"); // GD_rank(g)[ND_rank(leaf)].v[ND_order(leaf)] = leaf; UNSUPPORTED("7ku2dbhi28rhi6dtag1v4zung"); // return resize_leaf(leaf, lbound); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1lejhh3evsa10auyj7cgqj8ub // static void make_leafslots(graph_t * g) public static void make_leafslots(ST_Agraph_s g) { ENTERING("1lejhh3evsa10auyj7cgqj8ub","make_leafslots"); try { int i, j, r; ST_Agnode_s v; for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { j = 0; for (i = 0; i < GD_rank(g).get(r).n; i++) { v = (ST_Agnode_s) GD_rank(g).get(r).v.get(i); ND_order(v, j); if (ND_ranktype(v) == 6) j = j + ND_UF_size(v); else j++; } if (j <= GD_rank(g).get(r).n) continue; GD_rank(g).plus(r).setPtr("v", ALLOC_allocated_ST_Agnode_s((ST_Agnode_s.ArrayOfStar) GD_rank(g).get(r).v, j + 1)); for (i = GD_rank(g).get(r).n - 1; i >= 0; i--) { v = (ST_Agnode_s) GD_rank(g).get(r).v.get(i); GD_rank(g).get(r).v.plus(ND_order(v)).setPtr(v); } GD_rank(g).plus(r).setInt("n", j); GD_rank(g).get(r).v.plus(j).setPtr(null); } } finally { LEAVING("1lejhh3evsa10auyj7cgqj8ub","make_leafslots"); } } //3 wb2wvxthkr2sp9u8113go3j3 // static void do_leaves(graph_t * g, node_t * leader) public static Object do_leaves(Object... arg) { UNSUPPORTED("5nmyuqyhfqfwbmgdj5aot9fp4"); // static void do_leaves(graph_t * g, node_t * leader) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2bs0wcp6367dz1o5x166ec7l8"); // int j; UNSUPPORTED("4bxv0pw87c31sbbz6x6s1cq9d"); // point lbound; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("b9upgllg8zjx49090hr3afv91"); // if (ND_UF_size(leader) <= 1) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("9m0hiwybw3dr0lcxmgq833heo"); // lbound.x = ND_coord(leader).x - ND_lw(leader); UNSUPPORTED("ev0phf24gpqz3xtvtueq72f7g"); // lbound.y = ND_coord(leader).y; UNSUPPORTED("90r9xqe4faj7b1g8907ord1x3"); // lbound = resize_leaf(leader, lbound); UNSUPPORTED("66ue8mvk3axhgbkcg3xqo94tb"); // if (ND_out(leader).size > 0) { /* in-edge leaves */ UNSUPPORTED("9lq5udq73fgfeqyqsxw6i3pgm"); // n = aghead(ND_out(leader).list[0]); UNSUPPORTED("4vp9ny4udt1jcmibfgpwgrnqo"); // j = ND_order(leader) + 1; UNSUPPORTED("3ml0tasns5tz6d5xc2xdb6nc"); // for (e = agfstin(g, n); e; e = agnxtin(g, e)) { UNSUPPORTED("e2y71fdc15yxylowp6ohlal9a"); // edge_t *e1 = AGMKOUT(e); UNSUPPORTED("ew4udmdawt257gbk5kzmi1n1"); // if ((agtail(e1) != leader) && (UF_find(agtail(e1)) == leader)) { UNSUPPORTED("d2r94m7xk4qa9hn6s2td5nb6h"); // lbound = place_leaf(g, agtail(e1), lbound, j++); UNSUPPORTED("5xk9d4ra447xucksge6c9mgos"); // unmerge_oneway(e1); UNSUPPORTED("4dqun0n52lcyerkebva2hxh15"); // elist_append(e1, ND_in(aghead(e1))); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6owoaz61uf3928omhuf3rqjoa"); // } else { /* out edge leaves */ UNSUPPORTED("4lbkem8hb4jy3gdg6nt3cbtl9"); // n = agtail(ND_in(leader).list[0]); UNSUPPORTED("4vp9ny4udt1jcmibfgpwgrnqo"); // j = ND_order(leader) + 1; UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("38a98cy0214odvsa98hgyce8q"); // if ((aghead(e) != leader) && (UF_find(aghead(e)) == leader)) { UNSUPPORTED("9j9o79r2bdc6npidu38aq0cym"); // lbound = place_leaf(g, aghead(e), lbound, j++); UNSUPPORTED("6wbwzuqqh5vxume7ga2kuejcf"); // unmerge_oneway(e); UNSUPPORTED("dv9vv9pfcd3cibfjn258toxyv"); // elist_append(e, ND_out(agtail(e))); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 alpljm8o6nsam95ly6leelnbp // int ports_eq(edge_t * e, edge_t * f) public static boolean ports_eq(ST_Agedge_s e, ST_Agedge_s f) { ENTERING("alpljm8o6nsam95ly6leelnbp","ports_eq"); try { return ((ED_head_port(e).defined == ED_head_port(f).defined) && (((ED_head_port(e).p.x == ED_head_port(f).p.x) && (ED_head_port(e).p.y == ED_head_port(f).p.y)) || (ED_head_port(e).defined == 0)) && (((ED_tail_port(e).p.x == ED_tail_port(f).p.x) && (ED_tail_port(e).p.y == ED_tail_port(f).p.y)) || (ED_tail_port(e).defined == 0)) ); } finally { LEAVING("alpljm8o6nsam95ly6leelnbp","ports_eq"); } } //3 cfotmdif5xv7n6oauyvzv0qwa // static void expand_leaves(graph_t * g) public static void expand_leaves(ST_Agraph_s g) { ENTERING("cfotmdif5xv7n6oauyvzv0qwa","expand_leaves"); try { int i, d; ST_Agnode_s n; ST_Agedge_s e, f; make_leafslots(g); for (n = GD_nlist(g); n!=null; n = ND_next(n)) { if (ND_inleaf(n)!=null) do_leaves(g, ND_inleaf(n)); if (ND_outleaf(n)!=null) do_leaves(g, ND_outleaf(n)); if (ND_other(n).listNotNull()) for (i = 0; (e = (ST_Agedge_s) ND_other(n).getFromList(i))!=null; i++) { if ((d = ND_rank(aghead(e)) - ND_rank(aghead(e))) == 0) continue; f = ED_to_orig(e); if (ports_eq(e, f) == false) { zapinlist(ND_other(n), e); if (d == 1) fast_edge(e); /*else unitize(e); ### */ i--; } } } } finally { LEAVING("cfotmdif5xv7n6oauyvzv0qwa","expand_leaves"); } } //3 d4b57ugpwxy567pfmxn14ed8d // static void make_lrvn(graph_t * g) public static void make_lrvn(ST_Agraph_s g) { ENTERING("d4b57ugpwxy567pfmxn14ed8d","make_lrvn"); try { ST_Agnode_s ln, rn; if (GD_ln(g)!=null) return; ln = virtual_node(dot_root(g)); ND_node_type(ln, 2); rn = virtual_node(dot_root(g)); ND_node_type(rn, 2); if (GD_label(g)!=null && NEQ(g, dot_root(g)) && N(GD_flip(agroot(g)))) { int w = MAX((int)GD_border(g)[0].x, (int)GD_border(g)[2].x); make_aux_edge(ln, rn, w, 0); } GD_ln(g, ln); GD_rn(g, rn); } finally { LEAVING("d4b57ugpwxy567pfmxn14ed8d","make_lrvn"); } } //3 daz786541idcxnywckcbncazb // static void contain_nodes(graph_t * g) public static void contain_nodes(ST_Agraph_s g) { ENTERING("daz786541idcxnywckcbncazb","contain_nodes"); try { int margin, r; ST_Agnode_s ln, rn, v; margin = late_int (g, Z.z().G_margin, 8, 0); make_lrvn(g); ln = GD_ln(g); rn = GD_rn(g); for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { if (GD_rank(g).get(r).n == 0) continue; v = (ST_Agnode_s) GD_rank(g).get(r).v.get(0); if (v == null) { UNSUPPORTED("1f2esoodtcrdhljk1cq1klyao"); // agerr(AGERR, "contain_nodes clust %s rank %d missing node\n", UNSUPPORTED("7w6lv4ywtczwz2y1mg0p3jdav"); // agnameof(g), r); UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; } make_aux_edge(ln, v, ND_lw(v) + margin + GD_border(g)[3].x, 0); v = (ST_Agnode_s) GD_rank(g).get(r).v.plus(GD_rank(g).get(r).n - 1).getPtr(); make_aux_edge(v, rn, ND_rw(v) + margin + GD_border(g)[1].x, 0); } } finally { LEAVING("daz786541idcxnywckcbncazb","contain_nodes"); } } //3 betdvb8dk8icvqkn6e6y5h94x // static boolean idealsize(graph_t * g, double minallowed) public static Object idealsize(Object... arg) { UNSUPPORTED("74m5dgfkgpr7bq7elj8bk5w6z"); // static boolean idealsize(graph_t * g, double minallowed) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bp9bpmgkh2gsdynqe5wio0i32"); // double xf, yf, f, R; UNSUPPORTED("8404v5b2qtn2x2mlgbyxidbx4"); // pointf b, relpage, margin; UNSUPPORTED("a3ke28asz3w87p4n8bgil541i"); // /* try for one page */ UNSUPPORTED("avi96122npbhja9hwa4goidp"); // relpage = GD_drawing(g)->page; UNSUPPORTED("19uch6jfal0x385xni41gqam6"); // if (relpage.x < 0.001 || relpage.y < 0.001) UNSUPPORTED("52kuioyxcuboss35kg15wudvt"); // return 0; /* no page was specified */ UNSUPPORTED("d6i2metpbkzakq2abzgvcdzle"); // margin = GD_drawing(g)->margin; UNSUPPORTED("asgqm8o7cruxxpfx9lobsif1c"); // relpage = sub_pointf(relpage, margin); UNSUPPORTED("asgqm8o7cruxxpfx9lobsif1c"); // relpage = sub_pointf(relpage, margin); UNSUPPORTED("aqhjsr7rv4ig7d1vagm74jpmo"); // b.x = GD_bb(g).UR.x; UNSUPPORTED("30xemhqjxz13hiyv2o2r8mol1"); // b.y = GD_bb(g).UR.y; UNSUPPORTED("cv2s8vkuet41gdoms8vue473z"); // xf = relpage.x / b.x; UNSUPPORTED("rvfej1l4o57i17le73vt80cf"); // yf = relpage.y / b.y; UNSUPPORTED("4f2ksj9hf0fi9wnzrz20eswmo"); // if ((xf >= 1.0) && (yf >= 1.0)) UNSUPPORTED("e64anddwrzfgr4xoopjelwqg1"); // return 0; /* fits on one page */ UNSUPPORTED("9vakpuy3iri2q9upsuy7lqhln"); // f = MIN(xf, yf); UNSUPPORTED("ccu6nxd64lwxm1h8x0sbrkdv7"); // xf = yf = MAX(f, minallowed); UNSUPPORTED("yc64sd7yr28zgjqrr734fc7i"); // R = ceil((xf * b.x) / relpage.x); UNSUPPORTED("aht5rw6872hwmg7vaop0eairh"); // xf = ((R * relpage.x) / b.x); UNSUPPORTED("asw2ato73u7m4kb07x2mr2snv"); // R = ceil((yf * b.y) / relpage.y); UNSUPPORTED("76j6b15q20gswxka8cglflbym"); // yf = ((R * relpage.y) / b.y); UNSUPPORTED("49gpvau7p2bvvkp6oemyqyjev"); // GD_drawing(g)->size.x = b.x * xf; UNSUPPORTED("7gewumkvzgtqon1jqxp8yf0kk"); // GD_drawing(g)->size.y = b.y * yf; UNSUPPORTED("8fwlqtemsmckleh6946lyd8mw"); // return NOT(0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/dotgen/rank__c.java000066400000000000000000002420541340005343600221170ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.dotgen; import static gen.lib.cgraph.attr__c.agget; import static gen.lib.cgraph.edge__c.agfstout; import static gen.lib.cgraph.edge__c.aghead; import static gen.lib.cgraph.edge__c.agnxtout; import static gen.lib.cgraph.edge__c.agsubedge; import static gen.lib.cgraph.id__c.agnameof; import static gen.lib.cgraph.node__c.agfstnode; import static gen.lib.cgraph.node__c.agnxtnode; import static gen.lib.cgraph.obj__c.agcontains; import static gen.lib.cgraph.obj__c.agdelete; import static gen.lib.cgraph.subg__c.agfstsubg; import static gen.lib.cgraph.subg__c.agnxtsubg; import static gen.lib.common.input__c.do_graph_label; import static gen.lib.common.ns__c.rank; import static gen.lib.common.utils__c.UF_find; import static gen.lib.common.utils__c.UF_singleton; import static gen.lib.common.utils__c.UF_union; import static gen.lib.common.utils__c.maptoken; import static gen.lib.dotgen.acyclic__c.acyclic_; import static gen.lib.dotgen.aspect__c.rank3; import static gen.lib.dotgen.class1__c.class1_; import static gen.lib.dotgen.decomp__c.decompose; import static gen.lib.dotgen.dotinit__c.dot_root; import static smetana.core.JUtils.EQ; import static smetana.core.JUtils.LOG2; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtils.strncmp; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.ED_minlen; import static smetana.core.Macro.ED_to_orig; import static smetana.core.Macro.ED_to_virt; import static smetana.core.Macro.GD_clust; import static smetana.core.Macro.GD_comp; import static smetana.core.Macro.GD_flags; import static smetana.core.Macro.GD_has_labels; import static smetana.core.Macro.GD_leader; import static smetana.core.Macro.GD_maxrank; import static smetana.core.Macro.GD_maxset; import static smetana.core.Macro.GD_minrank; import static smetana.core.Macro.GD_minset; import static smetana.core.Macro.GD_n_cluster; import static smetana.core.Macro.GD_nlist; import static smetana.core.Macro.GD_parent; import static smetana.core.Macro.GD_ranksep; import static smetana.core.Macro.GD_set_type; import static smetana.core.Macro.MAXSHORT; import static smetana.core.Macro.N; import static smetana.core.Macro.ND_clust; import static smetana.core.Macro.ND_in; import static smetana.core.Macro.ND_mark; import static smetana.core.Macro.ND_next; import static smetana.core.Macro.ND_node_type; import static smetana.core.Macro.ND_out; import static smetana.core.Macro.ND_rank; import static smetana.core.Macro.ND_ranktype; import static smetana.core.Macro.UNSUPPORTED; import static smetana.core.Macro.ZALLOC_ST_Agraph_s; import h.ST_Agedge_s; import h.ST_Agnode_s; import h.ST_Agraph_s; import h.ST_aspect_t; import h.ST_elist; import h.ST_point; import h.ST_pointf; import smetana.core.CString; import smetana.core.Memory; import smetana.core.Z; public class rank__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3f1re3nfkhxwjjb90kppwuupr // static void renewlist(elist * L) public static void renewlist(ST_elist L) { ENTERING("3f1re3nfkhxwjjb90kppwuupr","renewlist"); try { int i; for (i = L.size; i >= 0; i--) L.list.set(i, null); L.size = 0; } finally { LEAVING("3f1re3nfkhxwjjb90kppwuupr","renewlist"); } } //3 1xov2qhuxj1f9nbzu3xsa6679 // static void cleanup1(graph_t * g) public static void cleanup1(ST_Agraph_s g) { ENTERING("1xov2qhuxj1f9nbzu3xsa6679","cleanup1"); try { ST_Agnode_s n; ST_Agedge_s e, f; int c; for (c = 0; c < GD_comp(g).size; c++) { GD_nlist(g, GD_comp(g).getFromList(c)); for (n = GD_nlist(g); n!=null; n = ND_next(n)) { renewlist(ND_in(n)); renewlist(ND_out(n)); ND_mark(n, 0); } } for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) { for (e = agfstout(g, n); e!=null; e = agnxtout(g, e)) { f = ED_to_virt(e); /* Null out any other references to f to make sure we don't * handle it a second time. For example, parallel multiedges * share a virtual edge. */ if (f!=null && (EQ(e, ED_to_orig(f)))) { ST_Agedge_s e1, f1; ST_Agnode_s n1; for (n1 = agfstnode(g); n1!=null; n1 = agnxtnode(g, n1)) { for (e1 = agfstout(g, n1); e1!=null; e1 = agnxtout(g, e1)) { if (NEQ(e, e1)) { f1 = ED_to_virt(e1); if (f1!=null && EQ(f, f1)) { ED_to_virt(e1, null); } } } } Memory.free(f.base.data); Memory.free(f); } ED_to_virt(e, null); } } GD_comp(g).resetList(); GD_comp(g).size = 0; } finally { LEAVING("1xov2qhuxj1f9nbzu3xsa6679","cleanup1"); } } //3 bxjf5g7g953ii1hfodl1j0y4u // static void edgelabel_ranks(graph_t * g) public static void edgelabel_ranks(ST_Agraph_s g) { ENTERING("bxjf5g7g953ii1hfodl1j0y4u","edgelabel_ranks"); try { ST_Agnode_s n; ST_Agedge_s e; if ((GD_has_labels(g) & (1 << 0))!=0) { for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) for (e = agfstout(g, n); e!=null; e = agnxtout(g, e)) ED_minlen(e, ED_minlen(e) * 2); GD_ranksep(g, (GD_ranksep(g) + 1) / 2); } } finally { LEAVING("bxjf5g7g953ii1hfodl1j0y4u","edgelabel_ranks"); } } //3 9kjpoxcxoy3nhqd9rflwclo7c // static void collapse_rankset(graph_t * g, graph_t * subg, int kind) public static Object collapse_rankset(Object... arg) { UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void UNSUPPORTED("8hizp29cxh1rnp84yrlv4nl8x"); // collapse_rankset(graph_t * g, graph_t * subg, int kind) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5yrhx4blosxo5xnc1nh1kzhfs"); // node_t *u, *v; UNSUPPORTED("nbvmqthk0lqbm00ekylf0l0g"); // u = v = agfstnode(subg); UNSUPPORTED("5q27ub494lpst2s18bizunri0"); // if (u) { UNSUPPORTED("97vrl7utckj5ct78d81xyhhjl"); // ND_ranktype(u) = kind; UNSUPPORTED("99ruvdyom1mcyir0v7i8zq8eh"); // while ((v = agnxtnode(subg, v))) { UNSUPPORTED("7f9cf0wfrirgdoty4qy5pfuj9"); // UF_union(u, v); UNSUPPORTED("5jt25she9etuqjk6nrkrt3059"); // ND_ranktype(v) = ND_ranktype(u); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9ty5l2g646lrkxz43tcnhcsk8"); // switch (kind) { UNSUPPORTED("b8vgbvwzllfs4lrqmmqyr1spk"); // case 2: UNSUPPORTED("1640m8as34e90xhvvtl877cmo"); // case 3: UNSUPPORTED("2crlxhvtrgd5ohsriopqywv1m"); // if (GD_minset(g) == NULL) UNSUPPORTED("9py54j3v52y5qevrsi1omdoq7"); // GD_minset(g) = u; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("1cqwn2xb41g0dsm2oltj15dsd"); // GD_minset(g) = UF_union(GD_minset(g), u); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("495y0cnvj5vci19wsufg88rrq"); // case 4: UNSUPPORTED("1wjv2f7dql1ddky1us3a7q5jq"); // case 5: UNSUPPORTED("1myv9cwrp9n535g9xsalgmg7n"); // if (GD_maxset(g) == NULL) UNSUPPORTED("45gr04d25a1qxrh4hm1kiip5v"); // GD_maxset(g) = u; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("d5a4ohz8nh8xso8ovij23zsxi"); // GD_maxset(g) = UF_union(GD_maxset(g), u); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9ty5l2g646lrkxz43tcnhcsk8"); // switch (kind) { UNSUPPORTED("1640m8as34e90xhvvtl877cmo"); // case 3: UNSUPPORTED("j5ay8vao16zse2bq0etmlhua"); // ND_ranktype(GD_minset(g)) = kind; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1wjv2f7dql1ddky1us3a7q5jq"); // case 5: UNSUPPORTED("9dtrubjv4hiv1k3dq24skxdb8"); // ND_ranktype(GD_maxset(g)) = kind; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 65qi5f0bxp6d6vahhlcolpk88 // static int rank_set_class(graph_t * g) public static int rank_set_class(ST_Agraph_s g) { ENTERING("65qi5f0bxp6d6vahhlcolpk88","rank_set_class"); try { CString name[] = new CString[] { new CString("same"), new CString("min"), new CString("source"), new CString("max"), new CString("sink"), null }; int class_[] = new int[] { 1, 2, 3, 4, 5, 0 }; int val; if (is_cluster(g)) return 7; val = maptoken(agget(g, new CString("rank")), name, class_); GD_set_type(g, val); return val; } finally { LEAVING("65qi5f0bxp6d6vahhlcolpk88","rank_set_class"); } } //3 5189iviqj57iztftckz86y6jj // static int make_new_cluster(graph_t * g, graph_t * subg) public static int make_new_cluster(ST_Agraph_s g, ST_Agraph_s subg) { ENTERING("5189iviqj57iztftckz86y6jj","make_new_cluster"); try { int cno; GD_n_cluster(g, GD_n_cluster(g)+1); cno = GD_n_cluster(g); GD_clust(g, ZALLOC_ST_Agraph_s((ST_Agraph_s.Array) GD_clust(g), cno + 1)); GD_clust(g).plus(cno).setPtr(subg); do_graph_label(subg); return cno; } finally { LEAVING("5189iviqj57iztftckz86y6jj","make_new_cluster"); } } //3 9lvm2ufqjzl2bsbpo0zg9go58 // static void node_induce(graph_t * par, graph_t * g) public static void node_induce(ST_Agraph_s par, ST_Agraph_s g) { ENTERING("9lvm2ufqjzl2bsbpo0zg9go58","node_induce"); try { ST_Agnode_s n, nn; ST_Agedge_s e; int i; LOG2("node_induce"); /* enforce that a node is in at most one cluster at this level */ for (n = agfstnode(g); n!=null; n = nn) { nn = agnxtnode(g, n); if (ND_ranktype(n)!=0) { agdelete(g, n); continue; } for (i = 1; i < GD_n_cluster(par); i++) if (agcontains((ST_Agraph_s) GD_clust(par).get(i).getPtr(), n)) break; if (i < GD_n_cluster(par)) agdelete(g, n); ND_clust(n, null); } for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) { for (e = agfstout(dot_root(g), n); e!=null; e = agnxtout(dot_root(g), e)) { if (agcontains(g, aghead(e))) agsubedge(g,e,true); } } } finally { LEAVING("9lvm2ufqjzl2bsbpo0zg9go58","node_induce"); } } //3 650rxyqioihwhhqkex61prwfs // void dot_scan_ranks(graph_t * g) public static Object dot_scan_ranks(Object... arg) { UNSUPPORTED("347dderd02mvlozoheqo4ejwo"); // void UNSUPPORTED("3qe2zolxii33gr1krcjkgygwm"); // dot_scan_ranks(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dkbxmqzr28yu8rswd5vubd3ha"); // node_t *n, *leader = NULL; UNSUPPORTED("65ovv0jsp2kemyp7179cotrqh"); // GD_minrank(g) = MAXSHORT; UNSUPPORTED("4rx9wnlw0uumqfzcjtyg9rpfl"); // GD_maxrank(g) = -1; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("68vv0lam9vxeuk3fg60ad5w6g"); // if (GD_maxrank(g) < ND_rank(n)) UNSUPPORTED("2v65dy95gqvsnppoelwwl8ayh"); // GD_maxrank(g) = ND_rank(n); UNSUPPORTED("3ozq6tqfxcegom34qkyrrxnfg"); // if (GD_minrank(g) > ND_rank(n)) UNSUPPORTED("duyud2jy9uf1rbcis84c3lsj6"); // GD_minrank(g) = ND_rank(n); UNSUPPORTED("5j9c428shih0wjw2salkxw0qm"); // if (leader == NULL) UNSUPPORTED("73jlqlf2bn3kx7i020menpfcw"); // leader = n; UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("bwqhlzu5ifbhdg1jral42ycdx"); // if (ND_rank(n) < ND_rank(leader)) UNSUPPORTED("7h663p7xpn4qn3l6bs6vxze7i"); // leader = n; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5j1zsofmtglx1esxwbstti1un"); // GD_leader(g) = leader; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2rbs5deyvlh5s7lkhv6zouqbe // static void cluster_leader(graph_t * clust) public static void cluster_leader(ST_Agraph_s clust) { ENTERING("2rbs5deyvlh5s7lkhv6zouqbe","cluster_leader"); try { ST_Agnode_s leader, n; int maxrank = 0; /* find number of ranks and select a leader */ leader = null; for (n = GD_nlist(clust); n!=null; n = ND_next(n)) { if ((ND_rank(n) == 0) && (ND_node_type(n) == 0)) leader = n; if (maxrank < ND_rank(n)) maxrank = ND_rank(n); } assert(leader != null); GD_leader(clust, leader); for (n = agfstnode(clust); n!=null; n = agnxtnode(clust, n)) { //assert((ND_UF_size(n) <= 1) || (n == leader)); UF_union(n, leader); ND_ranktype(n, 7); } } finally { LEAVING("2rbs5deyvlh5s7lkhv6zouqbe","cluster_leader"); } } //3 f3sl627dqmre3kru883bpdxc3 // static void collapse_cluster(graph_t * g, graph_t * subg) public static void collapse_cluster(ST_Agraph_s g, ST_Agraph_s subg) { ENTERING("f3sl627dqmre3kru883bpdxc3","collapse_cluster"); try { if (GD_parent(subg)!=null) { return; } GD_parent(subg, g); node_induce(g, subg); if (agfstnode(subg) == null) return; make_new_cluster(g, subg); if (Z.z().CL_type == 100) { dot1_rank(subg, null); cluster_leader(subg); } else UNSUPPORTED("1os84mtyrb110i4sd8bdjrwk"); // dot_scan_ranks(subg); } finally { LEAVING("f3sl627dqmre3kru883bpdxc3","collapse_cluster"); } } //3 din4qnipewrwnelaimzvlplft // static void collapse_sets(graph_t *rg, graph_t *g) public static void collapse_sets(ST_Agraph_s rg, ST_Agraph_s g) { ENTERING("din4qnipewrwnelaimzvlplft","collapse_sets"); try { int c; ST_Agraph_s subg; for (subg = agfstsubg(g); subg!=null; subg = agnxtsubg(subg)) { c = rank_set_class(subg); if (c!=0) { if ((c == 7) && Z.z().CL_type == 100) collapse_cluster(rg, subg); else collapse_rankset(rg, subg, c); } else collapse_sets(rg, subg); } } finally { LEAVING("din4qnipewrwnelaimzvlplft","collapse_sets"); } } //3 5n9mgh7vlru5mb1j9oienvbvs // static void find_clusters(graph_t * g) public static Object find_clusters(Object... arg) { UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void UNSUPPORTED("cdsgmo50taekqgk95mfn25930"); // find_clusters(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8uujemixuhlf040icq3zsh7j8"); // graph_t *subg; UNSUPPORTED("39msf2samfrjyh2h1a0nh0bnq"); // for (subg = agfstsubg(dot_root(g)); subg; subg = agnxtsubg(subg)) { UNSUPPORTED("zmexivcsx1b4oppz6cjwhzd9"); // if (GD_set_type(subg) == 7) UNSUPPORTED("xqwyd1xyo86onxfw4s7p8at4"); // collapse_cluster(g, subg); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 12fw0esv4unfin6waf9mknc1o // static void set_minmax(graph_t * g) public static void set_minmax(ST_Agraph_s g) { ENTERING("12fw0esv4unfin6waf9mknc1o","set_minmax"); try { int c; GD_minrank(g, GD_minrank(g) + ND_rank(GD_leader(g))); GD_maxrank(g, GD_maxrank(g) + ND_rank(GD_leader(g))); for (c = 1; c <= GD_n_cluster(g); c++) set_minmax((ST_Agraph_s) GD_clust(g).get(c).getPtr()); } finally { LEAVING("12fw0esv4unfin6waf9mknc1o","set_minmax"); } } //3 3bcr1748gqnu8ogb73jeja7ly // static point minmax_edges(graph_t * g) public static ST_point minmax_edges(ST_Agraph_s g) { // WARNING!! STRUCT return (ST_point) minmax_edges_w_(g).copy(); } private static ST_point minmax_edges_w_(ST_Agraph_s g) { ENTERING("3bcr1748gqnu8ogb73jeja7ly","minmax_edges"); try { ST_Agnode_s n; ST_Agedge_s e; final ST_point slen = new ST_point(); slen.setInt("x", 0); slen.setInt("y", 0); if ((GD_maxset(g) == null) && (GD_minset(g) == null)) return slen; UNSUPPORTED("d0tnzm7aw9504y1w1oqoesw64"); // if ((((Agraphinfo_t*)(((Agobj_t*)(g))->data))->minset) != NULL) UNSUPPORTED("9esfh1bqntzgyk7zcq16k9f96"); // (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->minset) = UF_find((((Agraphinfo_t*)(((Agobj_t*)(g))->data))->minset)); UNSUPPORTED("2szhe8u8hvuy7p23r4p4zcb83"); // if ((((Agraphinfo_t*)(((Agobj_t*)(g))->data))->maxset) != NULL) UNSUPPORTED("tufrhwafgfvg5vepfqo9dpwg"); // (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->maxset) = UF_find((((Agraphinfo_t*)(((Agobj_t*)(g))->data))->maxset)); UNSUPPORTED("3num56yubfb33g0m56jntiy0x"); // if ((n = (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->maxset))) { UNSUPPORTED("d60rrtpfeuylcbp2490sojfjq"); // slen.y = ((((Agnodeinfo_t*)(((Agobj_t*)((((Agraphinfo_t*)(((Agobj_t*)(g))->data))->maxset)))->data))->ranktype) == 5); UNSUPPORTED("79ls52ss65f22xrsubkcofzz"); // while ((e = (((Agnodeinfo_t*)(((Agobj_t*)(n))->data))->out).list[0])) { UNSUPPORTED("chd9prkphze2z32e98mbxhqyd"); // assert(((((((Agobj_t*)(e))->tag).objtype) == 2? (e): ((e)-1))->node) == UF_find(((((((Agobj_t*)(e))->tag).objtype) == 2? (e): ((e)-1))->node))); UNSUPPORTED("829yx3b7rjn7ptz89mz4dj5yo"); // reverse_edge(e); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8us4psjv2ebkgcp54fvjbuhj8"); // if ((n = (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->minset))) { UNSUPPORTED("7uri9lp9wjgo20ram4gfo974w"); // slen.x = ((((Agnodeinfo_t*)(((Agobj_t*)((((Agraphinfo_t*)(((Agobj_t*)(g))->data))->minset)))->data))->ranktype) == 3); UNSUPPORTED("5up69q1rp9ts32jvunwg9hlrr"); // while ((e = (((Agnodeinfo_t*)(((Agobj_t*)(n))->data))->in).list[0])) { UNSUPPORTED("4t476gsg37fhfa2fdrokupx2c"); // assert(((((((Agobj_t*)(e))->tag).objtype) == 3? (e): ((e)+1))->node) == UF_find(((((((Agobj_t*)(e))->tag).objtype) == 3? (e): ((e)+1))->node))); UNSUPPORTED("829yx3b7rjn7ptz89mz4dj5yo"); // reverse_edge(e); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("erz19oifq072tdfzgz6dxa9i4"); // return slen; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("3bcr1748gqnu8ogb73jeja7ly","minmax_edges"); } } //3 1rmlm1wo3t94wyet9rlwrmith // static int minmax_edges2(graph_t * g, point slen) public static boolean minmax_edges2(ST_Agraph_s g, final ST_point slen) { // WARNING!! STRUCT return minmax_edges2_w_(g, (ST_point) slen.copy()); } private static boolean minmax_edges2_w_(ST_Agraph_s g, final ST_point slen) { ENTERING("1rmlm1wo3t94wyet9rlwrmith","minmax_edges2"); try { ST_Agnode_s n; ST_Agedge_s e = null; if ((GD_maxset(g)!=null) || (GD_minset(g)!=null)) { UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("8y47p29z0c2f1xpkrsb8w8re8"); // if (n != UF_find(n)) UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; UNSUPPORTED("49yt5gs5xlk2yzmiulvp7iqrd"); // if (((((Agnodeinfo_t*)(((Agobj_t*)(n))->data))->out).size == 0) && (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->maxset) && (n != (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->maxset))) { UNSUPPORTED("9ksut17itonzpk3hp57jn4d1s"); // e = virtual_edge(n, (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->maxset), NULL); UNSUPPORTED("7dlot3nkpploeywkumjt3erop"); // (((Agedgeinfo_t*)(((Agobj_t*)(e))->data))->minlen) = slen.y; UNSUPPORTED("5ddkb181unkbg63gxqjx85fzq"); // (((Agedgeinfo_t*)(((Agobj_t*)(e))->data))->weight) = 0; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("5b66s1jsuwe7l2e8p6o1xpnab"); // if (((((Agnodeinfo_t*)(((Agobj_t*)(n))->data))->in).size == 0) && (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->minset) && (n != (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->minset))) { UNSUPPORTED("c00g90uqqonkk08nncvi45c8f"); // e = virtual_edge((((Agraphinfo_t*)(((Agobj_t*)(g))->data))->minset), n, NULL); UNSUPPORTED("cxdsqlq2h35nyz65uc4eifchp"); // (((Agedgeinfo_t*)(((Agobj_t*)(e))->data))->minlen) = slen.x; UNSUPPORTED("5ddkb181unkbg63gxqjx85fzq"); // (((Agedgeinfo_t*)(((Agobj_t*)(e))->data))->weight) = 0; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } } return (e != null); } finally { LEAVING("1rmlm1wo3t94wyet9rlwrmith","minmax_edges2"); } } //3 3vpthwso788idvycelpnqijys // void rank1(graph_t * g) public static void rank1(ST_Agraph_s g) { ENTERING("3vpthwso788idvycelpnqijys","rank1"); try { int maxiter = Integer.MAX_VALUE; int c; CString s; if ((s = agget(g, new CString("nslimit1")))!=null) UNSUPPORTED("9tp2zk1tsr4ce9rwsr0is9u3o"); // maxiter = atof(s) * agnnodes(g); for (c = 0; c < GD_comp(g).size; c++) { //GD_nlist(g, GD_comp(g).list.get(c)); GD_nlist(g, GD_comp(g).getFromList(c)); rank(g, (GD_n_cluster(g) == 0 ? 1 : 0), maxiter); /* TB balance */ } } finally { LEAVING("3vpthwso788idvycelpnqijys","rank1"); } } //3 cdh8wnb99v90dy6efpbzmrjix // static void expand_ranksets(graph_t * g, aspect_t* asp) public static void expand_ranksets(ST_Agraph_s g, ST_aspect_t asp) { ENTERING("cdh8wnb99v90dy6efpbzmrjix","expand_ranksets"); try { int c; ST_Agnode_s n, leader; if ((n = agfstnode(g))!=null) { GD_minrank(g, MAXSHORT); GD_maxrank(g, -1); while (n!=null) { leader = UF_find(n); /* The following works because ND_rank(n) == 0 if n is not in a * cluster, and ND_rank(n) = the local rank offset if n is in * a cluster. */ if (NEQ(leader, n) && (N(asp) || (ND_rank(n) == 0))) ND_rank(n, ND_rank(n) + ND_rank(leader)); if (GD_maxrank(g) < ND_rank(n)) GD_maxrank(g, ND_rank(n)); if (GD_minrank(g) > ND_rank(n)) GD_minrank(g, ND_rank(n)); if (ND_ranktype(n)!=0 && (ND_ranktype(n) != 6)) UF_singleton(n); n = agnxtnode(g, n); } if (EQ(g, dot_root(g))) { if (Z.z().CL_type == 100) { for (c = 1; c <= GD_n_cluster(g); c++) set_minmax((ST_Agraph_s) GD_clust(g).get(c).getPtr()); } else { find_clusters(g); } } } else { GD_maxrank(g, 0); GD_minrank(g, 0); } } finally { LEAVING("cdh8wnb99v90dy6efpbzmrjix","expand_ranksets"); } } //3 2o4rmb4o6f6zh46ak3se91rwr // static void dot1_rank(graph_t * g, aspect_t* asp) public static void dot1_rank(ST_Agraph_s g, ST_aspect_t asp) { ENTERING("2o4rmb4o6f6zh46ak3se91rwr","dot1_rank"); try { final ST_point p = new ST_point(); edgelabel_ranks(g); if (asp!=null) { UNSUPPORTED("kh7e20nqwuserrnpf3zpvuyl"); // init_UF_size(g); UNSUPPORTED("d88j5oswhz0d3yvd4wlvxohmu"); // initEdgeTypes(g); } collapse_sets(g,g); /*collapse_leaves(g); */ class1_(g); p.___(minmax_edges(g)); decompose(g, 0); if (asp!=null && ((GD_comp(g).size > 1)||(GD_n_cluster(g) > 0))) { UNSUPPORTED("evcjt85irnaa02v8cam07i009"); // asp->badGraph = 1; UNSUPPORTED("45nxv6kczal9hnytkfcyt2jk8"); // asp = NULL; } acyclic_(g); if (minmax_edges2(g, p)) UNSUPPORTED("800vpyk6y4hcx2txwyrr2boxu"); // decompose(g, 0); if (asp!=null) rank3(g, asp); else rank1(g); expand_ranksets(g, asp); cleanup1(g); } finally { LEAVING("2o4rmb4o6f6zh46ak3se91rwr","dot1_rank"); } } //3 asyfujgwqa407ffvqn5psbtsc // void dot_rank(graph_t * g, aspect_t* asp) public static void dot_rank(ST_Agraph_s g, ST_aspect_t asp) { ENTERING("asyfujgwqa407ffvqn5psbtsc","dot_rank"); try { if (agget (g, new CString("newrank"))!=null) { GD_flags(g, GD_flags(g) | (1 << 4)); dot2_rank (g, asp); } else dot1_rank (g, asp); //if (Verbose) //fprintf (stderr, "Maxrank = %d, minrank = %d\n", (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->maxrank), (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->minrank)); } finally { LEAVING("asyfujgwqa407ffvqn5psbtsc","dot_rank"); } } //3 cdncou6d2ng5i48rd1mk2cpnw // int is_cluster(graph_t * g) public static boolean is_cluster(ST_Agraph_s g) { ENTERING("cdncou6d2ng5i48rd1mk2cpnw","is_cluster"); try { return (strncmp(agnameof(g), new CString("cluster"), 7) == 0); } finally { LEAVING("cdncou6d2ng5i48rd1mk2cpnw","is_cluster"); } } //3 29qzn29glqnhg14z5cwt9i8ds // static void set_parent(graph_t* g, graph_t* p) public static Object set_parent(Object... arg) { UNSUPPORTED("blcrnfwfdmb15y0sduplfd1kd"); // static void set_parent(graph_t* g, graph_t* p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("761elco9es28q1el1h87c9q8w"); // GD_parent(g) = p; UNSUPPORTED("84dx27r05ns2c0pm7idum25td"); // make_new_cluster(p, g); UNSUPPORTED("65op19ofyxj4vywwg8hovy2yh"); // node_induce(p, g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3qlca4afaxtwu0r2v22ccpfy9 // static int is_empty(graph_t * g) public static Object is_empty(Object... arg) { UNSUPPORTED("1bkrdpgwmb75nr2g9ooqfc79r"); // static int is_empty(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8bgakhvkt8exvi70zpvdvwrt4"); // return (!agfstnode(g)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 sxmrpf4e3wi4vzeiu486heyw // static int is_a_strong_cluster(graph_t * g) public static Object is_a_strong_cluster(Object... arg) { UNSUPPORTED("251zndmdq92kg3zmfr3akrrmn"); // static int is_a_strong_cluster(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ecz4e03zumggc8tfymqvirexq"); // int rv; UNSUPPORTED("9l9qe4o3ak62d2r6cbq90e5g"); // char *str = agget(g, "compact"); UNSUPPORTED("5zgcjj66562k7c4z26hmps9jr"); // /* rv = mapBool((str), TRUE); */ UNSUPPORTED("7k6ls7carz5knwiocbejouapm"); // rv = mapBool((str), 0); UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 954bo7mrh993f96ujb8u3e8vt // static int rankset_kind(graph_t * g) public static Object rankset_kind(Object... arg) { UNSUPPORTED("5vyg261oak77cq7e9dmvw2omc"); // static int rankset_kind(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("70l71erfhd26e1u7dnnxpa6i"); // char *str = agget(g, "rank"); UNSUPPORTED("4ml2m315k80oi1eww739kxwgi"); // if (str && str[0]) { UNSUPPORTED("7j0qc9ibr6niawo611kvm2swb"); // if (!strcmp(str, "min")) UNSUPPORTED("avnuwo0ld6vqw4bdve4ku0kwr"); // return 2; UNSUPPORTED("8q0yyecb20k2nm2qnluagpkcv"); // if (!strcmp(str, "source")) UNSUPPORTED("1xt8eg4imiwilo2bv2i5shg7g"); // return 3; UNSUPPORTED("7dkmgopul9nxw7arr5odhh641"); // if (!strcmp(str, "max")) UNSUPPORTED("ajqfmduyeyu16131ii3itnjx7"); // return 4; UNSUPPORTED("4f7keu82iifj10rf0thee5c4s"); // if (!strcmp(str, "sink")) UNSUPPORTED("f45x5jzpirzixrsp3utlgrddo"); // return 5; UNSUPPORTED("kjtw0fdz1jophwulunsrgzdb"); // if (!strcmp(str, "same")) UNSUPPORTED("btmwubugs9vkexo4yb7a5nqel"); // return 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ds4c38px5ikyzcv8pbtfcfg8h"); // return 6; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ej4vtw2e6g22jzlypo03buuob // static int is_nonconstraint(edge_t * e) public static Object is_nonconstraint(Object... arg) { UNSUPPORTED("cdj60nbfp2uc9emgj9bb9tuq4"); // static int is_nonconstraint(edge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5bdi9u1cut03m2rbxpkmjg38w"); // char *constr; UNSUPPORTED("ipmkcv3n8rnco04rgte3qrlh"); // if (E_constr && (constr = agxget(e, E_constr))) { UNSUPPORTED("cnlkffmn4nysfcmoyktn3wvrx"); // if (constr[0] && mapbool(constr) == 0) UNSUPPORTED("9qhn9m3123s8n6wwxjfo8awlm"); // return NOT(0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8pb7znv8q3ikfulus8sprsrb8 // static node_t *find(node_t * n) public static Object find(Object... arg) { UNSUPPORTED("420nqb6oiuhh8qfg7ick8eb5j"); // static node_t *find(node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dxloerh79kcplsvqy37g3kwx1"); // node_t *set; UNSUPPORTED("ch7ucg4bhoyhb0yswbbtjy53"); // if ((set = ND_set(n))) { UNSUPPORTED("e20g6f3inc2t1acfqffb0ksqe"); // if (set != n) UNSUPPORTED("3lalmwvgf54uou021ltj0hfqg"); // set = ND_set(n) = find(set); UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("45wb5d7uba8g13ojkskeug5v2"); // set = ND_set(n) = n; UNSUPPORTED("d5jffopzvq1b1jnhb3jadtkkb"); // return set; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 tgndl91vjf2dvnepj15uye32 // static node_t *union_one(node_t * leader, node_t * n) public static Object union_one(Object... arg) { UNSUPPORTED("bk1ys5rvc0fqcssw437mw03pk"); // static node_t *union_one(node_t * leader, node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("vkwoakpy0gnbvzgy8gprpluu"); // if (n) UNSUPPORTED("879p5fay2s7f829lo6qaxs62y"); // return (ND_set(find(n)) = find(leader)); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("o1psslvh23yuu288xx1nzbv6"); // return leader; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1ku7zqljp4yk6j8pqxa19ko4u // static node_t *union_all(graph_t * g) public static Object union_all(Object... arg) { UNSUPPORTED("1bddf3dbho07f9di3ae5tdn2z"); // static node_t *union_all(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("d5wzfazsul6ns71kurzu097zq"); // node_t *n, *leader; UNSUPPORTED("42x5vqk9aw9a2ld3duvpmp7u9"); // n = agfstnode(g); UNSUPPORTED("b23lxt0h34yyivnau77kavofl"); // if (!n) UNSUPPORTED("bp96fem54xcxrw16cmnlpell9"); // return n; UNSUPPORTED("c7r16vtue9uiodzk7n9ybdegz"); // leader = find(n); UNSUPPORTED("1azt0yldbuvzvyhftheine5bv"); // while ((n = agnxtnode(g, n))) UNSUPPORTED("aygpegbyw6isjunzjiq2efa8e"); // union_one(leader, n); UNSUPPORTED("d2vvjehoyl5rcjodzjl8q0xne"); // return leader; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dehfujiq2i24w0y9qcoq88gbd // static void compile_samerank(graph_t * ug, graph_t * parent_clust) public static Object compile_samerank(Object... arg) { UNSUPPORTED("52xc1gml0ynibrpu4r03l9cs"); // static void compile_samerank(graph_t * ug, graph_t * parent_clust) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5prtalowcftfpc3phfgtdwxe1"); // graph_t *s; /* subgraph being scanned */ UNSUPPORTED("6rya07j39ddlbnek0cawgbdxq"); // graph_t *clust; /* cluster that contains the rankset */ UNSUPPORTED("d5wzfazsul6ns71kurzu097zq"); // node_t *n, *leader; UNSUPPORTED("3j62rndf411nak99bxbvwogwg"); // if (is_empty(ug)) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("116sd790xqr0sm9prs44dhdi9"); // if (is_a_cluster(ug)) { UNSUPPORTED("anfjvlosf3592vmzm64wp9ukv"); // clust = ug; UNSUPPORTED("a4nj79aw8gc4rsc6qh4h1j3ca"); // if (parent_clust) { UNSUPPORTED("2cme4svj15jnccy2a5my2k0vk"); // GD_level(ug) = GD_level(parent_clust) + 1; UNSUPPORTED("92dkw1fscsyjwrbkjnllcmsiz"); // set_parent(ug, parent_clust); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("1f3tsi2calw640ylv89zufnqg"); // GD_level(ug) = 0; UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("f2eqknbcu7dkt0mk3aa0nseps"); // clust = parent_clust; UNSUPPORTED("2jowbcd45wf29ysq00oxpb9qh"); // /* process subgraphs of this subgraph */ UNSUPPORTED("cpub3vrdy1soy50cezvowuqp8"); // for (s = agfstsubg(ug); s; s = agnxtsubg(s)) UNSUPPORTED("6y2vizzx42iva8zf3ndgfxuoo"); // compile_samerank(s, clust); UNSUPPORTED("4st45szka4kxyf5afpt9r2lr7"); // /* process this subgraph as a cluster */ UNSUPPORTED("116sd790xqr0sm9prs44dhdi9"); // if (is_a_cluster(ug)) { UNSUPPORTED("4pm26v2jo8qeolmy8246h5zal"); // for (n = agfstnode(ug); n; n = agnxtnode(ug, n)) { UNSUPPORTED("dpma84q2zbh96nqex4fp8bs5a"); // if (ND_clust(n) == 0) UNSUPPORTED("9ov8qga72kqj7lnxefrlneehb"); // ND_clust(n) = ug; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b6vj39735t21yl5ayiouei3ea"); // /* process this subgraph as a rankset */ UNSUPPORTED("bt28cwea3vaqopki07c2rians"); // switch (rankset_kind(ug)) { UNSUPPORTED("33l7a58zp8vj6fuliwdkk2nkn"); // case 3: UNSUPPORTED("btl4oqew40wl0bqc9bhe1qshq"); // GD_has_sourcerank(clust) = NOT(0); /* fall through */ UNSUPPORTED("4u5xz2u3urj13y0aw30fdyup5"); // case 2: UNSUPPORTED("9shvnosp4rfl2zcu1mk8mt6k"); // leader = union_all(ug); UNSUPPORTED("6o42rb3i5w3jv1861oa077ahy"); // GD_minrep(clust) = union_one(leader, GD_minrep(clust)); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("94bjfk0blg9ugkinwopclju8t"); // case 5: UNSUPPORTED("b9tzw03kknh7ged56o6llxdh0"); // GD_has_sinkrank(clust) = NOT(0); /* fall through */ UNSUPPORTED("7gwyze795m9aa2915n3bou49x"); // case 4: UNSUPPORTED("9shvnosp4rfl2zcu1mk8mt6k"); // leader = union_all(ug); UNSUPPORTED("dumvmo0mkc9khfmooiadflzuz"); // GD_maxrep(clust) = union_one(leader, GD_maxrep(clust)); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("d0gk15gzj4wz8nv54zbr285hm"); // case 1: UNSUPPORTED("9shvnosp4rfl2zcu1mk8mt6k"); // leader = union_all(ug); UNSUPPORTED("aukepn75qomcnwetlwyvziwx1"); // /* do we need to record these ranksets? */ UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("4ak4rwp0nsvc9n89y3dnvoiy9"); // case 6: UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("b7b3qf9gm8yinsl7rq2tcvamg"); // default: /* unrecognized - warn and do nothing */ UNSUPPORTED("dsg015rva622f29whl6b5ner1"); // agerr(AGWARN, "%s has unrecognized rank=%s", agnameof(ug), UNSUPPORTED("7gjdlew6rtq0dsdxc6uyc7v48"); // agget(ug, "rank")); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8z2hxrvowojvpioiz41x8djhw"); // /* a cluster may become degenerate */ UNSUPPORTED("bg6be1cr97nd4blhxwc8577cz"); // if (is_a_cluster(ug) && GD_minrep(ug)) { UNSUPPORTED("7z1ki4lb1ja4hai3qi68hlg72"); // if (GD_minrep(ug) == GD_maxrep(ug)) { UNSUPPORTED("6d3xnrwrzibz1hajej296nhj4"); // node_t *up = union_all(ug); UNSUPPORTED("bisonxzfe0vx9x9xtsvv27rq9"); // GD_minrep(ug) = up; UNSUPPORTED("esz48qzeb3f3oomg8wb4drmrn"); // GD_maxrep(ug) = up; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6mzsthkzz214du9ljfc7ijlf3 // static graph_t *dot_lca(graph_t * c0, graph_t * c1) public static Object dot_lca(Object... arg) { UNSUPPORTED("egnw42d8jhfdyl5zqlzqffv17"); // static graph_t *dot_lca(graph_t * c0, graph_t * c1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8qmvk29gersospxrjeukh5zdn"); // while (c0 != c1) { UNSUPPORTED("9395225iwl078vpfdl5fz3q1i"); // if (GD_level(c0) >= GD_level(c1)) UNSUPPORTED("ud0xxtx626m6p44f5ybl28oz"); // c0 = GD_parent(c0); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("1z7wsarh0nlwq4y04yizw1pbj"); // c1 = GD_parent(c1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("aqd6v9mqxnbx6er4fkhkmhusr"); // return c0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7fwe6cym6k60fw6f2gkbftvh8 // static int is_internal_to_cluster(edge_t * e) public static Object is_internal_to_cluster(Object... arg) { UNSUPPORTED("esoedecj682cdsbz3i9026zfo"); // static int is_internal_to_cluster(edge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bf7f1i4wj7cvj82os2h0somln"); // graph_t *par, *ct, *ch; UNSUPPORTED("pzh3wmhacvb8baamh8d0x2j5"); // ct = ND_clust(agtail(e)); UNSUPPORTED("1yxzewahgac4khyfwgegotstb"); // ch = ND_clust(aghead(e)); UNSUPPORTED("c0hxl5pgz9bgngw9cw54a6y8z"); // if (ct == ch) UNSUPPORTED("bp2y18pqq5n09006utwifdyxo"); // return NOT(0); UNSUPPORTED("b4gos5u06phmhqll71bg7znsl"); // par = dot_lca(ct, ch); UNSUPPORTED("32a491a5jyr0gaudx2odlyl1x"); // /* if (par == agroot(par)) */ UNSUPPORTED("4ugp2o11w5qr2tr0vjcqlm5xu"); // /* return FALSE; */ UNSUPPORTED("1vb9z2lsj8ote2lis1nzqfq98"); // if ((par == ct) || (par == ch)) UNSUPPORTED("bp2y18pqq5n09006utwifdyxo"); // return NOT(0); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 ca279jzn1n2k40bv7mz55ccx7 // static node_t* Last_node //private static Agnode_s Last_node; //3 6odjfuoywf6x6xpuz14xn1w07 // static node_t* makeXnode (graph_t* G, char* name) public static Object makeXnode(Object... arg) { UNSUPPORTED("bpc5db7ozsqpc73t2xl0qmpnr"); // static node_t* makeXnode (graph_t* G, char* name) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("as7pt6rau89ac05ml4zp39xgj"); // node_t *n = agnode(G, name, 1); UNSUPPORTED("6b9ymcqm4d2w42w6dvlhb7hio"); // alloc_elist(4, ND_in(n)); UNSUPPORTED("b0ocdkprm41g10emqffwvovpd"); // alloc_elist(4, ND_out(n)); UNSUPPORTED("e32lwhe8aj8zbofa5hl91g94x"); // if (Last_node) { UNSUPPORTED("ctnbewkujd0gitkeptmdjrc5e"); // ND_prev(n) = Last_node; UNSUPPORTED("efpj513jkepv1eb6ehj5cyuqy"); // ND_next(Last_node) = n; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("d73xo1uhf9960attqraecy18q"); // ND_prev(n) = NULL; UNSUPPORTED("bd7fe5nmcvdfwgbbuzoxzk59n"); // GD_nlist(G) = n; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7gutgf5zbme88t9ueyzvir9yh"); // Last_node = n; UNSUPPORTED("9tl9ztdpfpeb900t5gagch4eg"); // ND_next(n) = NULL; UNSUPPORTED("69hc24ic55i66g8tf2ne42327"); // return n; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cd3kauuz11z03xym1la7ze5e6 // static void compile_nodes(graph_t * g, graph_t * Xg) public static Object compile_nodes(Object... arg) { UNSUPPORTED("12jh8m3jnppgzqcx642zkv20x"); // static void compile_nodes(graph_t * g, graph_t * Xg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dm6k18yfspisvs0pl8f3kp9j4"); // /* build variables */ UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("hibhvgkp511r6u6ips8yb0un"); // Last_node = NULL; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("2f2poxq5fr9k7bgerylsq6dkm"); // if (find(n) == n) UNSUPPORTED("9xe9wxas5cxrrzpmqtkfavbuj"); // ND_rep(n) = makeXnode (Xg, agnameof(n)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("cfjmkdzc5nj1nbp2ckl0mejra"); // if (ND_rep(n) == 0) UNSUPPORTED("2u4sgiv3zkgh3t4r1ksk76oyl"); // ND_rep(n) = ND_rep(find(n)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e1guv5kmb9i30k71e66mdxo3y // static void merge(edge_t * e, int minlen, int weight) public static Object merge(Object... arg) { UNSUPPORTED("1npguevtdh47xfz698yahzrqb"); // static void merge(edge_t * e, int minlen, int weight) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("acr0hvlhebqp3iieup5bti0r6"); // ED_minlen(e) = MAX(ED_minlen(e), minlen); UNSUPPORTED("eq9oxzgg08304c8ph77144cpu"); // ED_weight(e) += weight; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c6dqhr5u2wv75vxz5cgbkui // static void strong(graph_t * g, node_t * t, node_t * h, edge_t * orig) public static Object strong(Object... arg) { UNSUPPORTED("6vzggze9zva4h232s9hd64r27"); // static void strong(graph_t * g, node_t * t, node_t * h, edge_t * orig) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("bqayp53mx8tl3a9owcil2sfpy"); // if ((e = (agedge(g,t,h,NULL,0))) || UNSUPPORTED("4bkprvzfmfr1nlqmvqcd1xpg"); // (e = (agedge(g,h,t,NULL,0))) || (e = agedge(g, t, h, 0, 1))) UNSUPPORTED("9otcshlag9drzks2p4q4bz1z8"); // merge(e, ED_minlen(orig), ED_weight(orig)); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("1qsfg1so4d9ee0f799ylbtkyp"); // agerr(AGERR, "ranking: failure to create strong constraint edge between nodes %s and %s\n", UNSUPPORTED("347820654uihcls8om0v8c3g1"); // agnameof(t), agnameof(h)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a1kjm11iwgfl824pakzcm8kuu // static void weak(graph_t * g, node_t * t, node_t * h, edge_t * orig) public static Object weak(Object... arg) { UNSUPPORTED("e0f6tf4pkq822l7f10u2xromd"); // static void weak(graph_t * g, node_t * t, node_t * h, edge_t * orig) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("aigogf44ojtcesuy4xs7inqbn"); // node_t *v; UNSUPPORTED("9b48a157azcrz2ihzqehhpsvs"); // edge_t *e, *f; UNSUPPORTED("3kkq8fnz3moxvyriighzr9v70"); // static int id; UNSUPPORTED("hbaoyuj2oi8c7iuzviuukgb7"); // char buf[100]; UNSUPPORTED("5n9mmbpgpmin1li1s5wxfn0j7"); // for (e = agfstin(g, t); e; e = agnxtin(g, e)) { UNSUPPORTED("blrs1fuvxzbs20bdqz7btw4yt"); // /* merge with existing weak edge (e,f) */ UNSUPPORTED("cccrsacwb6lshsxm8g9vpqdvo"); // v = agtail(e); UNSUPPORTED("657evjbfij6x36pli6d9g15lg"); // if ((f = agfstout(g, v)) && (aghead(f) == h)) { UNSUPPORTED("6cprbghvenu9ldc0ez1ifc63q"); // return; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dhdmfarapbytpy4h24lgqslbi"); // if (!e) { UNSUPPORTED("blf0483ca5ufq6yh26qqww4wv"); // sprintf (buf, "_weak_%d", id++); UNSUPPORTED("9gu1nn0ir6yx53fj7kawo6xtw"); // v = makeXnode(g, buf); UNSUPPORTED("7us6c9ykrtln0besnd67v5cer"); // e = agedge(g, v, t, 0, 1); UNSUPPORTED("atd2wygaazfzcta0bus6bs4uu"); // f = agedge(g, v, h, 0, 1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7nn4pn4dj4nuo71wfp1byijpx"); // ED_minlen(e) = MAX(ED_minlen(e), 0); /* effectively a nop */ UNSUPPORTED("drqgauf89xr1mpyydaxqfg694"); // ED_weight(e) += ED_weight(orig) * 1000; UNSUPPORTED("halhvp8h6olsu4tb4b5zb8ys"); // ED_minlen(f) = MAX(ED_minlen(f), ED_minlen(orig)); UNSUPPORTED("dyyu1myirsx00xvfvqq97f6dt"); // ED_weight(f) += ED_weight(orig); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 68dc7hsp2siu9in566grx5h8l // static void compile_edges(graph_t * ug, graph_t * Xg) public static Object compile_edges(Object... arg) { UNSUPPORTED("57s72j3dqfa0fdsi9zu6yqbxe"); // static void compile_edges(graph_t * ug, graph_t * Xg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("1dgz401xgus10wp90qpgfmm84"); // node_t *Xt, *Xh; UNSUPPORTED("c37x0xox8y9eba9wy6d00j14i"); // graph_t *tc, *hc; UNSUPPORTED("lp2eyq9typ14npscbcmds97c"); // /* build edge constraints */ UNSUPPORTED("1rgbf8esuu21jsnjy0ozcv2nx"); // for (n = agfstnode(ug); n; n = agnxtnode(ug, n)) { UNSUPPORTED("36jgu4l53q07scrzxtbzu9ws1"); // Xt = ND_rep(n); UNSUPPORTED("1huyj2j0jo6l60j1121l0cenn"); // for (e = agfstout(ug, n); e; e = agnxtout(ug, e)) { UNSUPPORTED("eihgt2jen0ohii72jzayossof"); // if (is_nonconstraint(e)) UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; UNSUPPORTED("21s68hvg9tcok9mc1yj0cxyo8"); // Xh = ND_rep(find(aghead(e))); UNSUPPORTED("5c9s9jmoqhby2u29zb0g9neqn"); // if (Xt == Xh) UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; UNSUPPORTED("enlmoet02jwyseh462fspj7kr"); // tc = ND_clust(agtail(e)); UNSUPPORTED("47ba8c5wv42664v4uk20dcxui"); // hc = ND_clust(aghead(e)); UNSUPPORTED("7o1ut6pe3ws38101s6x9jv08k"); // if (is_internal_to_cluster(e)) { UNSUPPORTED("61gy4yt9v1l4586kvpqtacmur"); // /* determine if graph requires reversed edge */ UNSUPPORTED("cuivzwkiwyl1njm43k0v3zig3"); // if ((find(agtail(e)) == GD_maxrep(ND_clust(agtail(e)))) UNSUPPORTED("9xxo59da6q1v90ljd3h8apc3j"); // || (find(aghead(e)) == GD_minrep(ND_clust(aghead(e))))) { UNSUPPORTED("4mdqa1pib7sml5socnk5zj1jn"); // node_t *temp = Xt; UNSUPPORTED("edto6lxzuam8lv9gvigp2bnnh"); // Xt = Xh; UNSUPPORTED("edahfvolx6t8a93b1jzop0prz"); // Xh = temp; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("eap1t3wskyfghhrwqv5fzgiye"); // strong(Xg, Xt, Xh, e); UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("73tu1coi87ooqzro2vtdezlut"); // if (is_a_strong_cluster(tc) || is_a_strong_cluster(hc)) UNSUPPORTED("1qlyasf525g29jx5adouyjjaf"); // weak(Xg, Xt, Xh, e); UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("dtnnxvw72r9ajw35rh6sh0twe"); // strong(Xg, Xt, Xh, e); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1nzwhja8l48xyfliiyqjsvegu // static void compile_clusters(graph_t* g, graph_t* Xg, node_t* top, node_t* bot) public static Object compile_clusters(Object... arg) { UNSUPPORTED("4w43o1w7rtbr7a1ewf1ai3ynx"); // static void compile_clusters(graph_t* g, graph_t* Xg, node_t* top, node_t* bot) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("tppzioyoeodu2sq7fsqife44"); // node_t *rep; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("evmjaaqcnbnbnogx8aaw70ura"); // graph_t *sub; UNSUPPORTED("73bera1w406yjis65313aefau"); // if (is_a_cluster(g) && is_a_strong_cluster(g)) { UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("cpkj2qkslx3blfoouey105509"); // if (agfstin(g, n) == 0) { UNSUPPORTED("eqsuud7jsawkoiswwrrru1r3a"); // rep = ND_rep(find(n)); UNSUPPORTED("4fbgaoqhx6tmezixpndizn8ee"); // if (!top) top = makeXnode(Xg,"\177top"); UNSUPPORTED("bp6fj85jbfmup51iezb1m0ceo"); // agedge(Xg, top, rep, 0, 1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("f5bjshz39kvzzthd7dqnbg81p"); // if (agfstout(g, n) == 0) { UNSUPPORTED("eqsuud7jsawkoiswwrrru1r3a"); // rep = ND_rep(find(n)); UNSUPPORTED("46t01tbbri501pur6cw0iwvs3"); // if (!bot) bot = makeXnode(Xg,"\177bot"); UNSUPPORTED("5hobrjtzylmppobf8pdnq7rhk"); // agedge(Xg, rep, bot, 0, 1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6qtb53kac7myad1p5cy3wf89i"); // if (top && bot) { UNSUPPORTED("2ydmagof3r394ooo3v0twq5us"); // e = agedge(Xg, top, bot, 0, 1); UNSUPPORTED("5s7xl2rvkq0dxxapwrubcmv9p"); // merge(e, 0, 1000); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bkafc0cyfhu7g619r30g2vtmg"); // for (sub = agfstsubg(g); sub; sub = agnxtsubg(sub)) UNSUPPORTED("br6bnlza0f68fwkd0sbsfznv5"); // compile_clusters(sub, Xg, top, bot); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 93ycqhupenif7m6n70yj2rptv // static void reverse_edge2(graph_t * g, edge_t * e) public static Object reverse_edge2(Object... arg) { UNSUPPORTED("aa57ihhjujmpk9d1fjnh7uhn2"); // static void reverse_edge2(graph_t * g, edge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("32j70piql6r327tbseq7o0k28"); // edge_t *rev; UNSUPPORTED("ankp6nch7e9a18lqb2heot7yf"); // rev = (agedge(g,aghead(e),agtail(e),NULL,0)); UNSUPPORTED("8c5hijvd5kr4lynpc8zoa0b9l"); // if (!rev) UNSUPPORTED("3tf0rz74jsukbjti74suklmrr"); // rev = agedge(g, aghead(e), agtail(e), 0, 1); UNSUPPORTED("a37ttwpda0n66ej1agvpbx9u"); // merge(rev, ED_minlen(e), ED_weight(e)); UNSUPPORTED("ae7ymr0zymf63zpp3vzny1kw5"); // agdelete(g, e); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 75994nd7ifrh2xjk0eei7kj04 // static void dfs(graph_t * g, node_t * v) public static Object dfs(Object... arg) { UNSUPPORTED("e728nuv7n4wyffryp1y6ny8no"); // static void dfs(graph_t * g, node_t * v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9b48a157azcrz2ihzqehhpsvs"); // edge_t *e, *f; UNSUPPORTED("9cx417bj13sr8qn5zfj0zllwm"); // node_t *w; UNSUPPORTED("701du899u3x4bjilnoar3a2me"); // if (ND_mark(v)) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("3dxrqgsmycugkp3qprexbuawx"); // ND_mark(v) = NOT(0); UNSUPPORTED("9z9a3g70rwq874kmknu0re0w0"); // ND_onstack(v) = NOT(0); UNSUPPORTED("3twcq4i177ymcmm9hj6l996fr"); // for (e = agfstout(g, v); e; e = f) { UNSUPPORTED("9oaziib9dhmc3xyk6ku5rco5a"); // f = agnxtout(g, e); UNSUPPORTED("bqi3fu38n0i7mblfl3ycwdjuo"); // w = aghead(e); UNSUPPORTED("1pq8rawujka41xkc0ujz0c4jl"); // if (ND_onstack(w)) UNSUPPORTED("cxzlqoajcjsygpeg1218t5uh8"); // reverse_edge2(g, e); UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("1w7s47988wvu89n176ee6lnii"); // if (ND_mark(w) == 0) UNSUPPORTED("d5xmvav6dfdviu7ikabr84w6g"); // dfs(g, w); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8o0qmsv6vkvey8j3nrtn0z3nd"); // ND_onstack(v) = 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dt90swbhv55qox6i9anmtxctb // static void break_cycles(graph_t * g) public static Object break_cycles(Object... arg) { UNSUPPORTED("d7jjxsr59cimfe921b021ndni"); // static void break_cycles(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("16hw9gw0dz2w7mrtba0eoqrdi"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("3hbdxz1mh0xcb0h1e1gea41u4"); // ND_mark(n) = ND_onstack(n) = 0; UNSUPPORTED("16hw9gw0dz2w7mrtba0eoqrdi"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("15bqemmbeo0l42s4hi394weuz"); // dfs(g, n); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8wnczo1mkpxdobt1qmszr6m9f // static void setMinMax (graph_t* g, int doRoot) public static Object setMinMax(Object... arg) { UNSUPPORTED("5hvfkvu5sx7btm870992ll8rq"); // static void setMinMax (graph_t* g, int doRoot) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1cpavh3irbeilfgefcbzvnl04"); // int c, v; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("eygm2jbvlhvevem9cgvzdsnoi"); // node_t* leader; UNSUPPORTED("8lepc7wxus3ce9jmpjg54nxtw"); // /* Do child clusters */ UNSUPPORTED("7z5fb6iyowsosn1hiz7opeoc6"); // for (c = 1; c <= GD_n_cluster(g); c++) UNSUPPORTED("8r4qwge4bz0777mdq5rt0ojei"); // setMinMax(GD_clust(g)[c], 0); UNSUPPORTED("3x63fs1jyz7xhzx9gygufh7wx"); // if (!GD_parent(g) && !doRoot) // root graph UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("65ovv0jsp2kemyp7179cotrqh"); // GD_minrank(g) = MAXSHORT; UNSUPPORTED("4rx9wnlw0uumqfzcjtyg9rpfl"); // GD_maxrank(g) = -1; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("5wsvwyjckf81tdlqonfb9nvhu"); // v = ND_rank(n); UNSUPPORTED("bbcqt8euig2s31zz814pp52cw"); // if (GD_maxrank(g) < v) UNSUPPORTED("3cfkrpa6pt2hni0tkp45ybvtz"); // GD_maxrank(g) = v; UNSUPPORTED("3vjkf11cl59z0q8i5mfju17se"); // if (GD_minrank(g) > v) { UNSUPPORTED("cze1fj82fd8cmalgawkse3gy"); // GD_minrank(g) = v; UNSUPPORTED("73jlqlf2bn3kx7i020menpfcw"); // leader = n; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5j1zsofmtglx1esxwbstti1un"); // GD_leader(g) = leader; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1rsds60zu7vl5g6sqr3ielup6 // static void readout_levels(graph_t * g, graph_t * Xg, int ncc) public static Object readout_levels(Object... arg) { UNSUPPORTED("5rkflwuoyx87w4zl80k9x22hy"); // static void readout_levels(graph_t * g, graph_t * Xg, int ncc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("889z71siph20icfcbycjqnicp"); // node_t *xn; UNSUPPORTED("a76n98ruj81c10y11ge1t5f71"); // int* minrk = NULL; UNSUPPORTED("8kdgedl9jvch9df0ltm68vfas"); // int doRoot = 0; UNSUPPORTED("65ovv0jsp2kemyp7179cotrqh"); // GD_minrank(g) = MAXSHORT; UNSUPPORTED("4rx9wnlw0uumqfzcjtyg9rpfl"); // GD_maxrank(g) = -1; UNSUPPORTED("almasgzi7eeks0c5qj1cne0ma"); // if (ncc > 1) { UNSUPPORTED("bbuxsg26kpzb2fl660hjri9l8"); // int i; UNSUPPORTED("dl79ga1rb2mw8udgcp9s69msx"); // minrk = (int*)zmalloc((ncc+1)*sizeof(int)); UNSUPPORTED("2e6gemf3dl8erdtw782hcarc0"); // for (i = 1; i <= ncc; i++) UNSUPPORTED("dd010jlvkjz1z7fowihz8s25o"); // minrk[i] = MAXSHORT; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("dfofew00g6pxf2nxt4l881l0i"); // xn = ND_rep(find(n)); UNSUPPORTED("qp65iwqtnpliswz9lpihtuzc"); // ND_rank(n) = ND_rank(xn); UNSUPPORTED("68vv0lam9vxeuk3fg60ad5w6g"); // if (GD_maxrank(g) < ND_rank(n)) UNSUPPORTED("2v65dy95gqvsnppoelwwl8ayh"); // GD_maxrank(g) = ND_rank(n); UNSUPPORTED("3ozq6tqfxcegom34qkyrrxnfg"); // if (GD_minrank(g) > ND_rank(n)) UNSUPPORTED("duyud2jy9uf1rbcis84c3lsj6"); // GD_minrank(g) = ND_rank(n); UNSUPPORTED("5hf6jaqj5exe9r41fzbjl28ys"); // if (minrk) { UNSUPPORTED("2m02fq9wavpk0rfm07klg50p0"); // ND_hops(n) = ND_hops(xn); UNSUPPORTED("1kpcg7olwm9sb9fw0cw9xov8p"); // minrk[ND_hops(n)] = MIN(minrk[ND_hops(n)],ND_rank(n)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6grm8jag5924kjntwhi98yt6v"); // if (minrk) { UNSUPPORTED("eg21iwn9eqyjsoisl58nl8i36"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("1xy7cyvcmd5jh134wfd4hkd73"); // ND_rank(n) -= minrk[ND_hops(n)]; UNSUPPORTED("3h50jqntcutttxjjqk9e7qrp9"); // /* Non-uniform shifting, so recompute maxrank/minrank of root graph */ UNSUPPORTED("7cxmg4tvzh3us2wx1hpur4ify"); // doRoot = 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("19s4z0qdne7jghr6qco9pewkb"); // else if (GD_minrank(g) > 0) { /* should never happen */ UNSUPPORTED("ekheljktcnka7fv7odg7w4w0b"); // int delta = GD_minrank(g); UNSUPPORTED("eg21iwn9eqyjsoisl58nl8i36"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("6xuxsgiblao234kr6ifzzngj"); // ND_rank(n) -= delta; UNSUPPORTED("205yra8usg0d60ou7fdef8sb8"); // GD_minrank(g) -= delta; UNSUPPORTED("1l0r03kgtm5wfa9w1tb2o6pst"); // GD_maxrank(g) -= delta; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bfa83r7gfvl4so45ea11h6hs8"); // setMinMax(g, doRoot); UNSUPPORTED("1oeld9qf035o8gav2314scxai"); // /* release fastgraph memory from Xg */ UNSUPPORTED("4uue9kqy9xt1y7qinhilyp73p"); // for (n = agfstnode(Xg); n; n = agnxtnode(Xg, n)) { UNSUPPORTED("6uowedfybay0zqxujx4izx5eb"); // free_list(ND_in(n)); UNSUPPORTED("9ma0k3ktcua915egahxrgo1f"); // free_list(ND_out(n)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("13jrnqbzc7n4ujm1kc140syrh"); // free(ND_alg(agfstnode(g))); UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("6acp2mmds4i0gjn21ospjdm1i"); // ND_alg(n) = NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("xlaantr4lfd0cf3p6fhyfjii"); // if (minrk) UNSUPPORTED("2quf4kce4g997p8lptbe0s678"); // free (minrk); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6wyn9t7y4rni0tldyaap4zsg4 // static void dfscc(graph_t * g, node_t * n, int cc) public static Object dfscc(Object... arg) { UNSUPPORTED("9rlus4sokq2q7mrelfhcyeq9t"); // static void dfscc(graph_t * g, node_t * n, int cc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("6xj79bn6cjnne89udj4eccjbq"); // if (ND_hops(n) == 0) { UNSUPPORTED("2ug68j3zfpl1hhipj43mlacw4"); // ND_hops(n) = cc; UNSUPPORTED("8gbd6b2ssf51om8neirzzr6rw"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) UNSUPPORTED("1petrc5reriuz99j26l6kvk9g"); // dfscc(g, aghead(e), cc); UNSUPPORTED("c9yz11pm5cux1tvh62xx2kwle"); // for (e = agfstin(g, n); e; e = agnxtin(g, e)) UNSUPPORTED("4gm4tqnmznd5xu1jmel9vdwu0"); // dfscc(g, agtail(e), cc); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4n4sn2k04eosjc6v3amau8l89 // static int connect_components(graph_t * g) public static Object connect_components(Object... arg) { UNSUPPORTED("93546dpzyvd2lgopztw3kyszh"); // static int connect_components(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3zjt2iwedrvoc4tjrhcgrj2kp"); // int cc = 0; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("16hw9gw0dz2w7mrtba0eoqrdi"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("5yepsj8ho954ywprktudr66m8"); // ND_hops(n) = 0; UNSUPPORTED("16hw9gw0dz2w7mrtba0eoqrdi"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("12mke9q9ufte7dz3juk9xj03o"); // if (ND_hops(n) == 0) UNSUPPORTED("1hzimiukrcikr5ja8r8jsy6mg"); // dfscc(g, n, ++cc); UNSUPPORTED("16hhes6efkztzuw8ooeyr7duq"); // if (cc > 1) { UNSUPPORTED("aen3uv1t10s8e76c30y8j0051"); // node_t *root = makeXnode(g, "\177root"); UNSUPPORTED("bzbr2vqual2twjcg2p2sffsd4"); // int ncc = 1; UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("eci2j6e8io07039308zl0no88"); // if (ND_hops(n) == ncc) { UNSUPPORTED("7rj8qzz8d2u85i7gf6c4rs62m"); // (void) agedge(g, root, n, 0, 1); UNSUPPORTED("cgm8ehtyoyn2ybwnrxvfx1cv8"); // ncc++; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("95z6nz9mlol4p31l239u0zyz1"); // return (cc); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lj0r4q3ulap7ly9cvvqn3d0t // static void add_fast_edges (graph_t * g) public static Object add_fast_edges(Object... arg) { UNSUPPORTED("9od2j2a8s9ki669jghjqrkcym"); // static void add_fast_edges (graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("1xm961cuv38vb1rckbyfsk5a8"); // elist_append(e, ND_out(n)); UNSUPPORTED("30covjl73nxramgd8lw1apbkm"); // elist_append(e, ND_in(aghead(e))); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2xyhunzw903dytfpyy63oznhz // static void my_init_graph(Agraph_t *g, Agobj_t *graph, void *arg) public static Object my_init_graph(Object... arg) { UNSUPPORTED("3s5gmr0i7qaf8sa79h9ek2t42"); // static void my_init_graph(Agraph_t *g, Agobj_t *graph, void *arg) UNSUPPORTED("12ubgsqsc8d2oeobshclx2e9m"); // { int *sz = arg; agbindrec(graph,"level graph rec",sz[0],NOT(0)); } throw new UnsupportedOperationException(); } //3 1vibj3ycvfkl07m1a2dzr3qf3 // static void my_init_node(Agraph_t *g, Agobj_t *node, void *arg) public static Object my_init_node(Object... arg) { UNSUPPORTED("448m4h3oktm1kylrq3iss782r"); // static void my_init_node(Agraph_t *g, Agobj_t *node, void *arg) UNSUPPORTED("3mooa3mwczxhc97acdygow0sx"); // { int *sz = arg; agbindrec(node,"level node rec",sz[1],NOT(0)); } throw new UnsupportedOperationException(); } //3 avor9syqevkn2jo4yf8whbg5f // static void my_init_edge(Agraph_t *g, Agobj_t *edge, void *arg) public static Object my_init_edge(Object... arg) { UNSUPPORTED("bo6poh3fcfvu02sod3dyzjhsi"); // static void my_init_edge(Agraph_t *g, Agobj_t *edge, void *arg) UNSUPPORTED("4f0jw3wys20zimucjor8qrhzg"); // { int *sz = arg; agbindrec(edge,"level edge rec",sz[2],NOT(0)); } throw new UnsupportedOperationException(); } //1 46nx7przjp7fn42o28hqdaj9k // static Agcbdisc_t mydisc = //1 9quqxw3oujl7u6bymimr5be7t // int infosizes[] = //3 590k5zi3mrpwbc3lib0w3rmr2 // void dot2_rank(graph_t * g, aspect_t* asp) public static Object dot2_rank(Object... arg) { UNSUPPORTED("d8gu9ua6rerpv9vz9ctco1ca2"); // void dot2_rank(graph_t * g, aspect_t* asp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("23k65agnd27tv4ix9teds9e2t"); // int ssize; UNSUPPORTED("dx1unsp79t4ji8dh8idt48jrc"); // int ncc, maxiter = INT_MAX; UNSUPPORTED("8yytudftst76763qgnjebkzhm"); // char *s; UNSUPPORTED("dxlxz9md3d6r12wog4x5sc7td"); // graph_t *Xg; UNSUPPORTED("hibhvgkp511r6u6ips8yb0un"); // Last_node = NULL; UNSUPPORTED("ey4p0fjtw4ac18jh9svmzjs23"); // Xg = agopen("level assignment constraints", Agstrictdirected, 0); UNSUPPORTED("e4j7z7nfe33svydzyn4w6abcy"); // agbindrec(Xg,"level graph rec",sizeof(Agraphinfo_t),NOT(0)); UNSUPPORTED("4j4bkw2k5v7xlf7ycqcrz8qip"); // agpushdisc(Xg,&mydisc,infosizes); UNSUPPORTED("d4pjn5ef0ywzmhe2fshhm8bvn"); // edgelabel_ranks(g); UNSUPPORTED("e0rdg08m66a12fiixgkjnyrbj"); // if ((s = agget(g, "nslimit1"))) UNSUPPORTED("9tp2zk1tsr4ce9rwsr0is9u3o"); // maxiter = atof(s) * agnnodes(g); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("dapt7hf1vwq593la2oydyrv27"); // maxiter = INT_MAX; UNSUPPORTED("62k95fm4s1z2wzcyg28ir0x7u"); // compile_samerank(g, 0); UNSUPPORTED("bh9imh5owlj1c9ad7mime392x"); // compile_nodes(g, Xg); UNSUPPORTED("3kxtahvovojtzi6qqnrricpoo"); // compile_edges(g, Xg); UNSUPPORTED("9twf7u3r2hzeic9w0gmvh10bc"); // compile_clusters(g, Xg, 0, 0); UNSUPPORTED("cwrov5g30logh4g9omvkblonh"); // break_cycles(Xg); UNSUPPORTED("3ficrpbhiwichejg6n1hshz7k"); // ncc = connect_components(Xg); UNSUPPORTED("9x72se4xuqwfv27jlqpmivrwb"); // add_fast_edges (Xg); UNSUPPORTED("2yazmwrpb1ni51wuck3ruvi2j"); // if (asp) { UNSUPPORTED("8ow3lzc6gh107g9bcn4szm7hj"); // init_UF_size(Xg); UNSUPPORTED("9503vlimf1i2zv76ua88ooepc"); // initEdgeTypes(Xg); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b65fc1791mzxccp9zzxi8vk12"); // if ((s = agget(g, "searchsize"))) UNSUPPORTED("aqd144wenl3zq15bwc41u9aha"); // ssize = atoi(s); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("2n4z8w1w3il45lik0kraspkud"); // ssize = -1; UNSUPPORTED("aotd35u0hficqt6hlkw8xof03"); // rank2(Xg, 1, maxiter, ssize); UNSUPPORTED("4x9mvgxbdou6xj4n98rwzucgi"); // /* fastgr(Xg); */ UNSUPPORTED("8un6x92pzddrzsnq8y95af4m6"); // readout_levels(g, Xg, ncc); UNSUPPORTED("6rs6sp7mefzzbf02kfmvycnaq"); // agclose(Xg); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/dotgen/sameport__c.java000066400000000000000000001011101340005343600230010ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.dotgen; import static gen.lib.cgraph.attr__c.agattr; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.AGEDGE; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agedge_s; import h.ST_Agnode_s; import h.ST_Agraph_s; import h.ST_pointf; import smetana.core.CString; import smetana.core.Z; public class sameport__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eu2yvovb9xx4rzic3gllij2bv // void dot_sameports(graph_t * g) public static void dot_sameports(ST_Agraph_s g) { ENTERING("eu2yvovb9xx4rzic3gllij2bv","dot_sameports"); try { ST_Agnode_s n; ST_Agedge_s e; CString id; //same_t samehead[5]; //same_t sametail[5]; int n_samehead; /* number of same_t groups on current node */ int n_sametail; /* number of same_t groups on current node */ int i; Z.z().E_samehead = agattr(g, AGEDGE, new CString("samehead"),null); Z.z().E_sametail = agattr(g, AGEDGE, new CString("sametail"),null); if (N(Z.z().E_samehead!=null || Z.z().E_sametail!=null)) return; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("4roxmr5lxkjz6gn1j9mndurq2"); // n_samehead = n_sametail = 0; UNSUPPORTED("8oxob1qbbkbjh0jjcogk42jfl"); // for (e = agfstedge(g, n); e; e = agnxtedge(g, e, n)) { UNSUPPORTED("4gy7rakqurxvound05crezka2"); // if (aghead(e) == agtail(e)) continue; /* Don't support same* for loops */ UNSUPPORTED("2r5fkddp1ey0fvpok2scgkk99"); // if (aghead(e) == n && E_samehead && UNSUPPORTED("d38ofiemhq37ykyauh9wync84"); // (id = agxget(e, E_samehead))[0]) UNSUPPORTED("18y7dy98psh7ultlx0jugsfu2"); // n_samehead = sameedge(samehead, n_samehead, n, e, id); UNSUPPORTED("5snv0fee5roi91irdwv8x51xi"); // else if (agtail(e) == n && E_sametail && UNSUPPORTED("8xvjbvzldkn1yksprzfexgsjs"); // (id = agxget(e, E_sametail))[0]) UNSUPPORTED("cdn1fgq1pke9ekyar2b4r6e91"); // n_sametail = sameedge(sametail, n_sametail, n, e, id); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c96gtgvp5uw8ktp389l2s9l4u"); // for (i = 0; i < n_samehead; i++) { UNSUPPORTED("b2s9feywib1q9pxw4h31yz6dk"); // if (samehead[i].l.size > 1) UNSUPPORTED("1xvsmwfz2hihjki8tsqiaa1g8"); // sameport(n, &samehead[i].l, samehead[i].arr_len); UNSUPPORTED("cpzvkkchr60qet357b9gg1e5q"); // free_list(samehead[i].l); UNSUPPORTED("6cnsuklvjftdyhzat6za4qggi"); // /* I sure hope I don't need to free the char* id */ UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9ktz8j6cseb5w7jkfhrj5r19t"); // for (i = 0; i < n_sametail; i++) { UNSUPPORTED("5vcqm1irqrqcg4f6ldrqkikq8"); // if (sametail[i].l.size > 1) UNSUPPORTED("dcjzqns8bm1o766uqi8dy72qf"); // sameport(n, &sametail[i].l, sametail[i].arr_len); UNSUPPORTED("13a7frulpyheo0h4ajbfja7ph"); // free_list(sametail[i].l); UNSUPPORTED("6cnsuklvjftdyhzat6za4qggi"); // /* I sure hope I don't need to free the char* id */ UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("eu2yvovb9xx4rzic3gllij2bv","dot_sameports"); } } //3 e6phoefj4ujntgmpiclbnmliw // static int sameedge(same_t * same, int n_same, node_t * n, edge_t * e, char *id) public static Object sameedge(Object... arg) { UNSUPPORTED("4pviw1spiyvhdz8yvl4ho6qkx"); // static int sameedge(same_t * same, int n_same, node_t * n, edge_t * e, char *id) UNSUPPORTED("bz7wamuuo5855unp564487v13"); // /* register E in the SAME structure of N under ID. Uses static int N_SAME */ UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ddmbnep3k060w2rgslisky5vw"); // int i, sflag, eflag, flag; UNSUPPORTED("4yhtj0buzrukmv0lwrz77s5oa"); // for (i = 0; i < n_same; i++) UNSUPPORTED("6htdinsa3h8aamp1e6pvd6ig5"); // if ((*(same[i].id)==*(id)&&!strcmp(same[i].id,id))) { UNSUPPORTED("bqrcn2qjykhnd6fuwneng85h"); // elist_append(e, same[i].l); UNSUPPORTED("g5anfkdhikcxt42clvstq6hm"); // goto set_arrow; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8ac5s7v71vxuj2d2r4t989b1c"); // if (++n_same > 5) { UNSUPPORTED("c29filv0jivh50blpbuqjk5ib"); // n_same--; UNSUPPORTED("3uf43hfdusyzm1vp3dq12qu29"); // agerr(AGERR, "too many (> %d) same{head,tail} groups for node %s\n", UNSUPPORTED("ciwytw61x3j4anugbarxaa7m"); // 5, agnameof(n)); UNSUPPORTED("3lrnrroeosc48ilq0azgtzyna"); // return n_same; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("36d7os443e3k5gf7g7zvi3vfs"); // alloc_elist(1, same[i].l); UNSUPPORTED("3s0n702bprlxue4xtghqv3nad"); // elist_fastapp(e, same[i].l); UNSUPPORTED("cwxcw0cnsxpwkd7l94pmw1dfg"); // same[i].id = id; UNSUPPORTED("4y2b9aw2a57zud1ncpiw2fihn"); // same[i].n_arr = 0; UNSUPPORTED("2lemlhm6qdqemg83e6xwyzd01"); // same[i].arr_len = 0; UNSUPPORTED("3k68ve2sycumnr4ncfzymgyli"); // set_arrow: UNSUPPORTED("4028w60fcyzgcb6qh4kf8090j"); // arrow_flags(e, &sflag, &eflag); UNSUPPORTED("1rkfoax4tin2ccbtpc8w1tnpv"); // if ((flag = aghead(e) == n ? eflag : sflag)) UNSUPPORTED("bhh3lvo0knve8fiod7js8o8oy"); // same[i].arr_len = UNSUPPORTED("b7yh5042d5o8u6iso9bm39glf"); // /* only consider arrows if there's exactly one arrow */ UNSUPPORTED("5r1jxkep2wvpcpjz1e6n0dxo7"); // (++same[i].n_arr == 1) ? arrow_length(e, flag) : 0; UNSUPPORTED("59a2z18u4tje6r407a6psdqy8"); // return n_same; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2mnqx0mihpyo94rckzyvqd3ha // static void sameport(node_t * u, elist * l, double arr_len) public static Object sameport(Object... arg) { UNSUPPORTED("5h4o73bwixguohs97owrtr8ef"); // static void sameport(node_t * u, elist * l, double arr_len) UNSUPPORTED("d5nznmmgnjszlfjdd61kps3jx"); // /* make all edges in L share the same port on U. The port is placed on the UNSUPPORTED("bo9mbi1sf1ycc8zr8zucow3sz"); // node boundary and the average angle between the edges. FIXME: this assumes UNSUPPORTED("4jpc10q4iiglyfgqc4t0rvtce"); // naively that the edges are straight lines, which is wrong if they are long. UNSUPPORTED("wh2ex8xlk21eu1y33pacj3v2"); // In that case something like concentration could be done. UNSUPPORTED("4c9tqu2byiozzo2mzc1fbvda9"); // An arr_port is also computed that's ARR_LEN away from the node boundary. UNSUPPORTED("atdcc5pbds8mqzssaq6v0r6rw"); // It's used for edges that don't themselves have an arrow. UNSUPPORTED("bnetqzovnscxile7ao44kc0qd"); // */ UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("aigogf44ojtcesuy4xs7inqbn"); // node_t *v; UNSUPPORTED("9b48a157azcrz2ihzqehhpsvs"); // edge_t *e, *f; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("e39yybz8f8dk5960upp4t7e85"); // double x = 0, y = 0, x1, y1, x2, y2, r; UNSUPPORTED("cmzlbdlia0ky3ulmkmhw731vo"); // port prt; UNSUPPORTED("lnwbe9uftcv8uw5w72tyaim6"); // int sflag, eflag; UNSUPPORTED("3s75qjxnr416bs4xwntk5wjey"); // /* Compute the direction vector (x,y) of the average direction. We compute UNSUPPORTED("168uvy6red5coj19cfwdg74w4"); // with direction vectors instead of angles because else we have to first UNSUPPORTED("byd7rdw7ogomu0h8xa3cngptx"); // bring the angles within PI of each other. av(a,b)!=av(a,b+2*PI) */ UNSUPPORTED("7qdtxp882tja3q4pjpimsdpz2"); // for (i = 0; i < l->size; i++) { UNSUPPORTED("9a2w9ypg4zbrmt9mwxerl9ku9"); // e = l->list[i]; UNSUPPORTED("dmcddmsjj52vhbo0p72d20r7x"); // if (aghead(e) == u) UNSUPPORTED("4gg5n60ynsciy3te5bmvsjdu0"); // v = agtail(e); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("39bh91n8ucstjr8vmtx3ynvcd"); // v = aghead(e); UNSUPPORTED("3bzvithkkr721ghsi2ljswz41"); // x1 = ND_coord(v).x - ND_coord(u).x; UNSUPPORTED("2b884aalfpupcphtkwlw7fh1p"); // y1 = ND_coord(v).y - ND_coord(u).y; UNSUPPORTED("2bo8vt6om92qnyd8ajsur7839"); // r = hypot(x1, y1); UNSUPPORTED("8ldeax6x9cgrmbfybuxbl5n3o"); // x += x1 / r; UNSUPPORTED("lvaxvfnj6g12uz2apxvc32bt"); // y += y1 / r; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a1mnn3lz9vym0mycdnjtnqt50"); // r = hypot(x, y); UNSUPPORTED("en33l6y6hjb8cbouawh4qgny1"); // x /= r; UNSUPPORTED("7ogy0bdt0ghq60m7dyzb48vku"); // y /= r; UNSUPPORTED("1zwmby4z9dnptpyvedi7zqx1y"); // /* (x1,y1),(x2,y2) is a segment that must cross the node boundary */ UNSUPPORTED("aezmu3kg51jsv6vuj8yl2vgx0"); // x1 = ND_coord(u).x; UNSUPPORTED("b9lds1fhngov0656kxk71v6o"); // y1 = ND_coord(u).y; /* center of node */ UNSUPPORTED("a47id67bq23txqyol6w89ohg8"); // r = MAX(ND_lw(u) + ND_rw(u), ND_ht(u) + GD_ranksep(agraphof(u))); /* far away */ UNSUPPORTED("632ifec281b8hg0vql6w66fd0"); // x2 = x * r + ND_coord(u).x; UNSUPPORTED("tpm4a8o4c87dctdvop70l3gg"); // y2 = y * r + ND_coord(u).y; UNSUPPORTED("9axcwk1yl7elzq5ch7zzsg2b"); // { /* now move (x1,y1) to the node boundary */ UNSUPPORTED("6qp76u7xiuyi81ocft3zna7rw"); // pointf curve[4]; /* bezier control points for a straight line */ UNSUPPORTED("d2banip9m2nhni4tcg0ub95sb"); // curve[0].x = x1; UNSUPPORTED("jy2q28s2gzpbigtocfoo6cy6"); // curve[0].y = y1; UNSUPPORTED("90jm80vushtpjetfmrlks5tr6"); // curve[1].x = (2 * x1 + x2) / 3; UNSUPPORTED("ah6xwuv1rqq311cmwhnrs4p7g"); // curve[1].y = (2 * y1 + y2) / 3; UNSUPPORTED("5nzdtvblt406q4j887woceaso"); // curve[2].x = (2 * x2 + x1) / 3; UNSUPPORTED("8ccq8nqc6cwcgqyrls16i5n1x"); // curve[2].y = (2 * y2 + y1) / 3; UNSUPPORTED("9e73i3zoi98jcem56ovsw95mw"); // curve[3].x = x2; UNSUPPORTED("bt1idr0p5w37ehw0ca5qvh2d0"); // curve[3].y = y2; UNSUPPORTED("4hvdnsqv9gvg89n449ivew89w"); // shape_clip(u, curve); UNSUPPORTED("e8zqbvvz0hnmxynqrsi4tq6z9"); // x1 = curve[0].x - ND_coord(u).x; UNSUPPORTED("10uhdsyhabakyucrrlkpxmy39"); // y1 = curve[0].y - ND_coord(u).y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ftxzqcd66xy9t3i1shc08phg"); // /* compute PORT on the boundary */ UNSUPPORTED("egqrua11zla4ilqnv8fe2rqa9"); // prt.p.x = ROUND(x1); UNSUPPORTED("3j43h2ta90714rhr89dxd9bly"); // prt.p.y = ROUND(y1); UNSUPPORTED("72f3ncaut57fflmrrrd7g625i"); // prt.bp = 0; UNSUPPORTED("86dw0xu09q0vf963rwyhthsga"); // prt.order = UNSUPPORTED("bi7e99txixk5vn16uz1ewze60"); // (256 * (ND_lw(u) + prt.p.x)) / (ND_lw(u) + ND_rw(u)); UNSUPPORTED("2ssajop92yd2a8y22o22ea36z"); // prt.constrained = 0; UNSUPPORTED("6oy9nbi9ensh5cuoda16glfkk"); // prt.defined = NOT(0); UNSUPPORTED("9vfrhc8s3bav5vsioug70ec8a"); // prt.clip = 0; UNSUPPORTED("58u5npq8vw06285kpx39zg9us"); // prt.dyna = 0; UNSUPPORTED("26hzjlrn2f97g04rs41bxd6cp"); // prt.theta = 0; UNSUPPORTED("6r9ivoxmq49o3gv1yto4zyvi3"); // prt.side = 0; UNSUPPORTED("aujriwmmb49o2fxrmsjoedap6"); // prt.name = NULL; UNSUPPORTED("3ff91qop4adzc4f4h1lnljqyp"); // /* assign one of the ports to every edge */ UNSUPPORTED("7qdtxp882tja3q4pjpimsdpz2"); // for (i = 0; i < l->size; i++) { UNSUPPORTED("9a2w9ypg4zbrmt9mwxerl9ku9"); // e = l->list[i]; UNSUPPORTED("84n057olv326z2v8k45silocb"); // arrow_flags(e, &sflag, &eflag); UNSUPPORTED("2csv6mfvww0031xz126km61c5"); // for (; e; e = ED_to_virt(e)) { /* assign to all virt edges of e */ UNSUPPORTED("9rrwjg2l48y4n9w7ymrr9udrs"); // for (f = e; f; UNSUPPORTED("cd9trmrmocvmp9gcd5yhpi8j2"); // f = ED_edge_type(f) == 1 && UNSUPPORTED("c609sm2glgudtov2qxajroomq"); // ND_node_type(aghead(f)) == 1 && UNSUPPORTED("ez0iln0wthfexsk2addlvf968"); // ND_out(aghead(f)).size == 1 ? UNSUPPORTED("3c7kng7zq5tuk7q0g4368f83a"); // ND_out(aghead(f)).list[0] : NULL) { UNSUPPORTED("au8chupq2urgaefasiz9q9p4"); // if (aghead(f) == u) UNSUPPORTED("9n4w8egcjmjwmkgptavq9x8on"); // ED_head_port(f) = prt; UNSUPPORTED("ckzw343313p1917g5yol8mget"); // if (agtail(f) == u) UNSUPPORTED("es5btobfx5kd4ziscx7ym4kf7"); // ED_tail_port(f) = prt; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("9rrwjg2l48y4n9w7ymrr9udrs"); // for (f = e; f; UNSUPPORTED("cd9trmrmocvmp9gcd5yhpi8j2"); // f = ED_edge_type(f) == 1 && UNSUPPORTED("9po6nu7kgaeigs2afm08whv2o"); // ND_node_type(agtail(f)) == 1 && UNSUPPORTED("49xjryc5nmnom413y2dy0v7gh"); // ND_in(agtail(f)).size == 1 ? UNSUPPORTED("91kaqt4bbz94s6de4uf9wept7"); // ND_in(agtail(f)).list[0] : NULL) { UNSUPPORTED("au8chupq2urgaefasiz9q9p4"); // if (aghead(f) == u) UNSUPPORTED("9n4w8egcjmjwmkgptavq9x8on"); // ED_head_port(f) = prt; UNSUPPORTED("ckzw343313p1917g5yol8mget"); // if (agtail(f) == u) UNSUPPORTED("es5btobfx5kd4ziscx7ym4kf7"); // ED_tail_port(f) = prt; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("d7reofoel6ngjj7zza32cdi0w"); // ND_has_port(u) = NOT(0); /* kinda pointless, because mincross is already done */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/fdpgen/000077500000000000000000000000001340005343600176345ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/gen/lib/fdpgen/clusteredges__c.java000066400000000000000000001056231340005343600236400ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.fdpgen; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class clusteredges__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cazo65w26cb7zxlhvziqega3u // static void addObj(objlist * l, Ppoly_t * obj) public static Object addObj(Object... arg) { UNSUPPORTED("68ir75ozfvgoainxyrw5vv6u"); // static void addObj(objlist * l, Ppoly_t * obj) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("56aokw43ym6k5yrowmz4auad6"); // if (l->sz == l->cnt) { UNSUPPORTED("9w4469475x6atzc9cxogvrgf0"); // if (l->obs) { UNSUPPORTED("aodoni8dj9928k2u2pvprijoo"); // l->sz *= 2; UNSUPPORTED("9lucolec5stqwgfeiajr80rd0"); // l->obs = RALLOC(l->sz, l->obs, Ppoly_t *); UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("6155khghdropbhobvg4z91wtz"); // l->obs = (Ppoly_t **)gmalloc((100)*sizeof(Ppoly_t *)); UNSUPPORTED("2kyhgdz2n2rqq9v50pve6mrcc"); // l->sz = 100; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9fec1if3p7yqy365qx9r0tgnd"); // l->obs[l->cnt++] = obj; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2hc0lli1r9xqarid48ykcsmrb // static void freeObjlist(objlist * l) public static Object freeObjlist(Object... arg) { UNSUPPORTED("5rlrs2szsmt9tyh4nxy15b6nm"); // static void freeObjlist(objlist * l) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7e3dhprbb95exqm0bcdah0xm"); // if (l) { UNSUPPORTED("497v1edoyig8dqncswxyve9hv"); // free(l->obs); UNSUPPORTED("asw773mx15gzsz3jglklf2cy0"); // free(l); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 db462cnfr9mcvhrrbcq5kjb3c // static void resetObjlist(objlist * l) public static Object resetObjlist(Object... arg) { UNSUPPORTED("bkfjyf4x65xmnacovlbfl7irl"); // static void resetObjlist(objlist * l) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("sdwhemlfzdg8pxghx7xntzqk"); // l->cnt = 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7u5410kfyxwz50qdc35k0biva // static Ppoly_t *makeClustObs(graph_t * g, expand_t* pm) public static Object makeClustObs(Object... arg) { UNSUPPORTED("1atdy1ccj3vpva8swri61dxuh"); // static Ppoly_t *makeClustObs(graph_t * g, expand_t* pm) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("n3ntnupxz7s82qxid8l5zqh7"); // Ppoly_t *obs = (Ppoly_t*)zmalloc(sizeof(Ppoly_t)); UNSUPPORTED("2lzsl1e035wt5epd1h8f4bn8m"); // boxf bb; UNSUPPORTED("bkqli6ffyitb67sucragfrm1n"); // boxf newbb; UNSUPPORTED("21zakluzci2pyeegdamklrhah"); // Ppoint_t ctr; UNSUPPORTED("3pb1rp6yt77fdctds9bv6t2q4"); // bb = GD_bb(g); UNSUPPORTED("76n2ysymty762fc53vtvx69tb"); // obs->pn = 4; UNSUPPORTED("1nhlegzatoioft31pryhg7git"); // obs->ps = (Ppoint_t*)zmalloc((4)*sizeof(Ppoint_t)); UNSUPPORTED("6kdtobe8mpjvnkwsrxtbqzry0"); // ctr.x = (bb.UR.x + bb.LL.x) / 2.0; UNSUPPORTED("52v681rkx2cyhu5tj7bl6b87q"); // ctr.y = (bb.UR.y + bb.LL.y) / 2.0; UNSUPPORTED("b9ylh019dga6kmwgg8s918v2b"); // if (pm->doAdd) { UNSUPPORTED("2jzl6aoalcx6szthm1yfscowk"); // newbb.UR.x = bb.UR.x + pm->x; UNSUPPORTED("ti2qjcce1u6duftqdkaez2ha"); // newbb.UR.y = bb.UR.y + pm->y; UNSUPPORTED("4xk2pvd5wdu2oqhcd96hku34h"); // newbb.LL.x = bb.LL.x - pm->x; UNSUPPORTED("a194yx3lgzokre6nw7edhwl0g"); // newbb.LL.y = bb.LL.y - pm->y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("9iveb47ye8bn2ufeytxql6j8o"); // double deltax = pm->x - 1.0; UNSUPPORTED("33o91x85qnvttc9p0urfisnn9"); // double deltay = pm->y - 1.0; UNSUPPORTED("57q4i6f9mewdma9hnw006mhcf"); // newbb.UR.x = pm->x * bb.UR.x - deltax * ctr.x; UNSUPPORTED("3anxiwmvjxkga8exnqnpa7ryy"); // newbb.UR.y = pm->y * bb.UR.y - deltay * ctr.y; UNSUPPORTED("6lsi4f3jib8g8rgb30okpoaiq"); // newbb.LL.x = pm->x * bb.LL.x - deltax * ctr.x; UNSUPPORTED("aumjykojfbh0nmb4yjmj24v4g"); // newbb.LL.y = pm->y * bb.LL.y - deltay * ctr.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("wl74iy49jslxcn6y04gz6lh6"); // /* CW order */ UNSUPPORTED("6lurznrzif0rqk9j3nnydvf9l"); // obs->ps[0].x = newbb.LL.x; UNSUPPORTED("ezndie34wvqtl89309tiv0qzm"); // obs->ps[0].y = newbb.LL.y; UNSUPPORTED("alhjwe58p3zhewutc80g6owl"); // obs->ps[1].x = newbb.LL.x; UNSUPPORTED("b92a4mym5jehuzrijjz8fx1tf"); // obs->ps[1].y = newbb.UR.y; UNSUPPORTED("7zlq35pok991k3uqnzlrjrd22"); // obs->ps[2].x = newbb.UR.x; UNSUPPORTED("dicjthx9ai41sc20rp2zrdy2c"); // obs->ps[2].y = newbb.UR.y; UNSUPPORTED("9eh3ezpywhc0lvjx9azkomdp2"); // obs->ps[3].x = newbb.UR.x; UNSUPPORTED("89s7csqkxbkhvlh3ryr2mpej"); // obs->ps[3].y = newbb.LL.y; UNSUPPORTED("6h5c8fawl46f3z6k52c5evlck"); // return obs; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2tuxeyw0y73k5wh1niznsmt5r // static void addGraphObjs(objlist * l, graph_t * g, void *tex, void *hex, expand_t* pm) public static Object addGraphObjs(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("9ppvdniopgcaxvsicl8xxyash"); // addGraphObjs(objlist * l, graph_t * g, void *tex, void *hex, expand_t* pm) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5wyi0wasd5kecf6rhsqdjk7v2"); // graph_t *sg; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("afg3odhlqg7cs72be9dopel53"); // if (((ND_clust(n)) == g) && (n != tex) && (n != hex) UNSUPPORTED("5kytxdtwbd0v3ca7a34qluom7"); // && !(ND_clustnode(n))) { UNSUPPORTED("1o7vmgytpeh209omedfz7wilg"); // addObj(l, makeObstacle(n, pm, 0)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7naa6f8pevjidfr7m41eli6xj"); // for (i = 1; i <= GD_n_cluster(g); i++) { UNSUPPORTED("5va1fb20aidhd4ogxkydxr82v"); // sg = GD_clust(g)[i]; UNSUPPORTED("b98h20dc2b9r360etgk7ifsts"); // if ((sg != tex) && (sg != hex)) { UNSUPPORTED("4luk87lqntyj05goqup0cvyly"); // addObj(l, makeClustObs(sg, pm)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dnf5oh64u2taegrsdrqjwzjtl // static void raiseLevel(objlist * l, int maxlvl, void *ex, int minlvl, graph_t ** gp, expand_t* pm) public static Object raiseLevel(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("cffe7klesfnzw4ihflgw1kcx2"); // raiseLevel(objlist * l, int maxlvl, void *ex, int minlvl, graph_t ** gp, UNSUPPORTED("cv6gwbc45ynoxegpiqrlc2xmc"); // expand_t* pm) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("aaouwma9zh64fj26pawnrmy0p"); // graph_t *g = *gp; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("eh1xg7smmmszocw99zkv3a594"); // for (i = maxlvl; i > minlvl; i--) { UNSUPPORTED("4o6m0fsp2ufber2muchghzceh"); // addGraphObjs(l, g, ex, NULL, pm); UNSUPPORTED("2xhhwh2osv9qp0iz6tkqhkbjf"); // ex = g; UNSUPPORTED("3roly1bhe7j0bcti8qwa0ybiw"); // g = (((gdata*)(GD_alg(g)))->parent); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bupe6i1evov3u4g754y05h4c3"); // *gp = (graph_t *) ex; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1j5lpgrus3ksq04e4n13s4yfg // static objlist *objectList(edge_t * ep, expand_t* pm) public static Object objectList(Object... arg) { UNSUPPORTED("afy03o9x8nl4yzvaizo1dscco"); // static objlist *objectList(edge_t * ep, expand_t* pm) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("75zd1aauvrffvfdpyfwwcoswd"); // node_t *h = aghead(ep); UNSUPPORTED("br3wb25zvrbmmm732vy1lixsy"); // node_t *t = agtail(ep); UNSUPPORTED("hf0qw8fizjiqe82qyzeqwkfg"); // graph_t *hg = (ND_clust(h)); UNSUPPORTED("4wvcxq0r8t7vnjbb8f985m0r4"); // graph_t *tg = (ND_clust(t)); UNSUPPORTED("6tujxck9mfc4xr1sngv012c0q"); // int hlevel; UNSUPPORTED("a4drnmepoxpz8ds5apcwe53nc"); // int tlevel; UNSUPPORTED("b963c6bsts6y4pmam1dfutk1q"); // void *hex; /* Objects to be excluded from list */ UNSUPPORTED("39nw57ol4dfiath5kwuh1ms6j"); // void *tex; UNSUPPORTED("evjwqb60yu11cr2t3w4w8gz9q"); // objlist *list = (objlist*)zmalloc(sizeof(objlist)); UNSUPPORTED("ehs9zskwfbobvbp4e1jc9gh2r"); // /* If either endpoint is a cluster node, we move up one level */ UNSUPPORTED("dutddcq97o2fasizi03xeqj5k"); // if ((ND_clustnode(h))) { UNSUPPORTED("bxzk3hw9ey0f3bfnv6wti4fk4"); // hex = hg; UNSUPPORTED("augf1sgt6l2ix99x9b08g8wzz"); // hg = (((gdata*)(GD_alg(hg)))->parent); UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("616d768zb2wgz3eg67szch1ld"); // hex = h; UNSUPPORTED("bx8ud3i22jfi2yp76cyl0gz7z"); // if ((ND_clustnode(t))) { UNSUPPORTED("bt0av95w1kbo7oy03hadoiwu7"); // tex = tg; UNSUPPORTED("dgktvvmo6c3p47c8wk7x50sa1"); // tg = (((gdata*)(GD_alg(tg)))->parent); UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("bt7neotqw8vmtctxgkppgj1vk"); // tex = t; UNSUPPORTED("6jekyhq0r4t21vi40i2swnbbl"); // hlevel = (((gdata*)(GD_alg(hg)))->level); UNSUPPORTED("4wub4zmd7w34rplc5o7l499wo"); // tlevel = (((gdata*)(GD_alg(tg)))->level); UNSUPPORTED("4o25v8wcis0loju3kjakvcut0"); // if (hlevel > tlevel) { UNSUPPORTED("abqhza09xtoj2awnzzuaj0uct"); // raiseLevel(list, hlevel, hex, tlevel, &hg, pm); UNSUPPORTED("bxzk3hw9ey0f3bfnv6wti4fk4"); // hex = hg; UNSUPPORTED("augf1sgt6l2ix99x9b08g8wzz"); // hg = (((gdata*)(GD_alg(hg)))->parent); UNSUPPORTED("alm7w50a8u7dgdn5qzfgtx9l"); // } else if (tlevel > hlevel) { UNSUPPORTED("c0ph47igemykx602d77ndmzr3"); // raiseLevel(list, tlevel, tex, hlevel, &tg, pm); UNSUPPORTED("bt0av95w1kbo7oy03hadoiwu7"); // tex = tg; UNSUPPORTED("dgktvvmo6c3p47c8wk7x50sa1"); // tg = (((gdata*)(GD_alg(tg)))->parent); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6gfz0blpmhfhryh0miheyhwmw"); // /* hg and tg always have the same level */ UNSUPPORTED("4cqw2xpgdoy4yuz900dtzfr1r"); // while (hg != tg) { UNSUPPORTED("80mk8v0cx150evwxng8ymnaz"); // addGraphObjs(list, hg, NULL, hex, pm); UNSUPPORTED("1qlnt7mo46ts0saenbfjbofo5"); // addGraphObjs(list, tg, tex, NULL, pm); UNSUPPORTED("bxzk3hw9ey0f3bfnv6wti4fk4"); // hex = hg; UNSUPPORTED("augf1sgt6l2ix99x9b08g8wzz"); // hg = (((gdata*)(GD_alg(hg)))->parent); UNSUPPORTED("bt0av95w1kbo7oy03hadoiwu7"); // tex = tg; UNSUPPORTED("dgktvvmo6c3p47c8wk7x50sa1"); // tg = (((gdata*)(GD_alg(tg)))->parent); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("86qllxibrbyszf6r61j4hu0kl"); // addGraphObjs(list, tg, tex, hex, pm); UNSUPPORTED("1a5vgaasp2bunvu19mvepzcny"); // return list; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dgkvqt2x290bk07kz6s531cuo // int compoundEdges(graph_t * g, expand_t* pm, int edgetype) public static Object compoundEdges(Object... arg) { UNSUPPORTED("bvb0sqdwsn4omgjuez7agj54o"); // int compoundEdges(graph_t * g, expand_t* pm, int edgetype) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("8i0kwb8r6a2sj6nuvcy3bg9rx"); // node_t *head; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("7pmvaj5a5w3pee9zkh22s4jt5"); // edge_t *e0; UNSUPPORTED("86j3yivva2m3p6g760sw6i0cg"); // objlist *objl = NULL; UNSUPPORTED("djnngdue38swhvzvoqm5166v6"); // path *P = NULL; UNSUPPORTED("dvk7iox35qj3qa3xbspg5hqnn"); // vconfig_t *vconfig; UNSUPPORTED("en7ch189nkys76f42mlo1s5zz"); // int rv = 0; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("dgi8r72g1zk34a8ly7d64gncs"); // head = aghead(e); UNSUPPORTED("7uq3zfs24n5p1ihf2wifv4b1l"); // if ((n == head) && ED_count(e)) { /* self arc */ UNSUPPORTED("a5pr04ndliead24094tmar1ml"); // if (!P) { UNSUPPORTED("3g11syr88ddnmz3lq6kmj0e3n"); // P = (path*)zmalloc(sizeof(path)); UNSUPPORTED("8dqikeo83rdwy8rnrg37xxbk9"); // P->boxes = (boxf*)zmalloc((agnnodes(g) + 20 * 2 * 9)*sizeof(boxf)); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("es85wqx90iunzzrxy2k42tf99"); // makeSelfArcs(P, e, GD_nodesep(g)); UNSUPPORTED("cx6gnk6ll0lr8dfgovw0z3lur"); // } else if (ED_count(e)) { UNSUPPORTED("eqplgkahppm0zko85vi46hab4"); // objl = objectList(e, pm); UNSUPPORTED("6fd50jntewhnp34pz0b3aajmu"); // if (Plegal_arrangement(objl->obs, objl->cnt)) { UNSUPPORTED("1qiv0092hkt9k6zxbquairfjf"); // vconfig = Pobsopen(objl->obs, objl->cnt); UNSUPPORTED("dxywoqtwov4um1apdcswwb7zq"); // if (!vconfig) { UNSUPPORTED("9xl0srrgybppyi6ol0y50yyy0"); // agerr(AGWARN, "compoundEdges: could not construct obstacles - falling back to straight line edges\n"); UNSUPPORTED("cqc3m4qhi46li5mfx2qdexj8q"); // rv = 1; UNSUPPORTED("91ilj0e8yph90t7k4ijuq5rb0"); // continue; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else { UNSUPPORTED("3mulqmfnxjxs42xwnb59mqt6y"); // if (Verbose) UNSUPPORTED("3iwc3dzplzj2jkbze5cd6zfh9"); // fprintf(stderr, UNSUPPORTED("9iegisgtluexa2sr114kytpqc"); // "nodes touch - falling back to straight line edges\n"); UNSUPPORTED("e6aksd0p810vl5p3c3h5lovai"); // rv = 1; UNSUPPORTED("2yi9az7ibt7j9bwztjilyo0v2"); // continue; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("e4oyynu5hf90ng4f0r2us3wmc"); // /* For efficiency, it should be possible to copy the spline UNSUPPORTED("36zsk1mialyq6t7ivlj6q1yhl"); // * from the first edge to the rest. However, one has to deal UNSUPPORTED("f0ndikqn12reipr44xzqc0ykk"); // * with change in direction, different arrowheads, labels, etc. UNSUPPORTED("edw1ss2r31mqgsvca2gowi52v"); // */ UNSUPPORTED("1hznlgq1yzt68zolmi2w25f5w"); // for (e0 = e; e0; e0 = ED_to_virt(e0)) { UNSUPPORTED("1y9zs9um7yp6dcgn46nvokkpe"); // ED_path(e0) = UNSUPPORTED("4fkrs58bve6iqkgwp7h0bhgoi"); // getPath(e0, vconfig, 0, objl->obs, objl->cnt); UNSUPPORTED("6bohug52xb2tutfbvdn6syse0"); // makeSpline(g, e0, objl->obs, objl->cnt, 0); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("706x5p8ey0bol4upbc7p6frj3"); // resetObjlist(objl); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ofxvx8hqutive5l908wrhawa"); // freeObjlist(objl); UNSUPPORTED("4hk7dqllv8ni5iyynz17a2zrw"); // if (P) { UNSUPPORTED("cemgtepdat8xa7jzngmujlly1"); // free(P->boxes); UNSUPPORTED("dgq5kszfp504quv2x88lenes3"); // free(P); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/fdpgen/comp__c.java000066400000000000000000000654261340005343600221130ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.fdpgen; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class comp__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 exy2l03ceq9zw4vf01bbd4d3o // typedef unsigned int packval_t //3 3wxd4nol8sdk1izeau40e12lc // static void dfs(Agraph_t * g, Agnode_t * n, Agraph_t * out, char *marks) public static Object dfs(Object... arg) { UNSUPPORTED("dwem5syem1fups7zf2l7f5y01"); // static void dfs(Agraph_t * g, Agnode_t * n, Agraph_t * out, char *marks) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("cbgfck2y57x0eyijt2684hs46"); // Agnode_t *other; UNSUPPORTED("ezj8fvmaq6dn90bmzmo87qnm4"); // (marks[ND_id(n)]) = 1; UNSUPPORTED("bgrddosnxu9lc4f03vw6vnggv"); // agsubnode(out,n,1); UNSUPPORTED("dcuhjbsiioawp6zspvonwd4px"); // for (e = agfstedge(g, n); e; e = agnxtedge(g, e, n)) { UNSUPPORTED("9lpc3hmx5rkbpyq1ngqm2e9ll"); // if ((other = agtail(e)) == n) UNSUPPORTED("6r89rozzmm23ba9w3rvcsuqzj"); // other = aghead(e); UNSUPPORTED("4iqzo6mw9ngjyk6xve5fxl3qj"); // if (!(marks[ND_id(other)])) UNSUPPORTED("6yfk0mbr13kxutkwu7j7scg3z"); // dfs(g, other, out, marks); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 b0kgq3gcod0aeoboli87hdowh // static int C_cnt = 0 //3 dk8v4s29y4lqqa5yfgmgawohy // graph_t **findCComp(graph_t * g, int *cnt, int *pinned) public static Object findCComp(Object... arg) { UNSUPPORTED("1t3w31ofjtfgxiomyr6leku62"); // graph_t **findCComp(graph_t * g, int *cnt, int *pinned) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("8uujemixuhlf040icq3zsh7j8"); // graph_t *subg; UNSUPPORTED("78gq1jdufena2r9rigvse5178"); // char name[128]; UNSUPPORTED("azrybezo3qgwcugn67vwwsfjq"); // int c_cnt = 0; UNSUPPORTED("f2dt0a0nzfee7j8nqcycasjdy"); // char *marks; UNSUPPORTED("dj8wp6znctlnc9ae1rgvqwtj0"); // bport_t *pp; UNSUPPORTED("8hqi7khjhietsxup488fqrvwe"); // graph_t **comps; UNSUPPORTED("5wu5b4gtzhb4lm85gxf9z12lj"); // graph_t **cp; UNSUPPORTED("92buvw4cj80pu14nq2qqel9ub"); // int pinflag = 0; UNSUPPORTED("dq3faqa6qbjxl9chbr58vuex2"); // /* fprintf (stderr, "comps of %s starting at %d \n", g->name, c_cnt); */ UNSUPPORTED("6kbc1217he2quh22i34jhmw22"); // marks = (char*)zmalloc((agnnodes(g))*sizeof(char)); /* freed below */ UNSUPPORTED("989ybqq7bs6sjhctufsdu30y5"); // /* Create component based on port nodes */ UNSUPPORTED("arzhsqp3brokvqx05l8jfw34z"); // subg = 0; UNSUPPORTED("ac4pgb337ukder3sujg5h9q5t"); // if ((pp = (((gdata*)(GD_alg(g)))->ports))) { UNSUPPORTED("9p8s2eohajaqdl4mczna0s983"); // sprintf(name, "cc%s_%d", agnameof(g), c_cnt++ + C_cnt); UNSUPPORTED("9i5sv6x6r0p1qrp7ty1mc00ea"); // subg = agsubg(g, name,1); UNSUPPORTED("5n5jfmilqbkyayq7lh6xh7s9m"); // agbindrec(subg, "Agraphinfo_t", sizeof(Agraphinfo_t), NOT(0)); UNSUPPORTED("9yqqv6kvxc925xh9tnhrftd06"); // GD_alg(subg) = (void *) (gdata*)zmalloc(sizeof(gdata)); UNSUPPORTED("4ociwu00qk6aoto1zgcrr4elp"); // (((gdata*)(GD_alg(subg)))->ports) = pp; UNSUPPORTED("38c98uts6nnk0rayxcv13666d"); // (((gdata*)(GD_alg(subg)))->nports) = (((gdata*)(GD_alg(g)))->nports); UNSUPPORTED("8g3u41gyjy3xgu6no88qltcot"); // for (; pp->n; pp++) { UNSUPPORTED("2bjcen08xkp1cb1ru9ncv3ezs"); // if ((marks[ND_id(pp->n)])) UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; UNSUPPORTED("d5txkv4bhocgj35bmkcm0b1vj"); // dfs(g, pp->n, subg, marks); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2nfrlvbwd355cpcvpx1uolgpd"); // /* Create/extend component based on pinned nodes */ UNSUPPORTED("bkxd6kh6mxs8em68sr95l9jyq"); // /* Note that ports cannot be pinned */ UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("bdqqgre8keh4qdlqrfhuh8cpb"); // if ((marks[ND_id(n)])) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("agw2fc76qwvm6ocrl4vmuiapv"); // if (ND_pinned(n) != 3) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("7l15bq07ecygidzbwavui39f0"); // if (!subg) { UNSUPPORTED("2cz3u5akxwje0q6gj4ok1cdzf"); // sprintf(name, "cc%s_%d", agnameof(g), c_cnt++ + C_cnt); UNSUPPORTED("275mxlgljq0ig5t02qautmnhy"); // subg = agsubg(g, name,1); UNSUPPORTED("6vwf6t5b0bzzu3xsveq6yyuvo"); // agbindrec(subg, "Agraphinfo_t", sizeof(Agraphinfo_t), NOT(0)); UNSUPPORTED("esue60nq75q8btod0krfr7vie"); // GD_alg(subg) = (void *) (gdata*)zmalloc(sizeof(gdata)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("ab5icv3nb6wdj9zx38y7q1af3"); // pinflag = 1; UNSUPPORTED("ee35kbvoh52bly4vf6i610a1l"); // dfs(g, n, subg, marks); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dzulue3lttopupuz464kf1lm0"); // if (subg) UNSUPPORTED("8gblfruxmc6fa94vsjn14gh7k"); // nodeInduce(subg); UNSUPPORTED("9xhrumkhlsx4ct87at2fnxvje"); // /* Pick up remaining components */ UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("bdqqgre8keh4qdlqrfhuh8cpb"); // if ((marks[ND_id(n)])) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("ddp8f7g25wx0qchz3a2w0kgt7"); // sprintf(name, "cc%s+%d", agnameof(g), c_cnt++ + C_cnt); UNSUPPORTED("9i5sv6x6r0p1qrp7ty1mc00ea"); // subg = agsubg(g, name,1); UNSUPPORTED("3r9xp1t6fdie66rze9q0tv6v0"); // agbindrec(subg, "Agraphinfo_t", sizeof(Agraphinfo_t), NOT(0)); //node custom data UNSUPPORTED("9yqqv6kvxc925xh9tnhrftd06"); // GD_alg(subg) = (void *) (gdata*)zmalloc(sizeof(gdata)); UNSUPPORTED("ee35kbvoh52bly4vf6i610a1l"); // dfs(g, n, subg, marks); UNSUPPORTED("8gblfruxmc6fa94vsjn14gh7k"); // nodeInduce(subg); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("18dltpx3tu2pqvilaktop4ad5"); // free(marks); UNSUPPORTED("cu7zqck3rhc3afqhr0foi0m05"); // C_cnt += c_cnt; UNSUPPORTED("a7n5zesoh5kzlhdz7rg32y9hu"); // if (cnt) UNSUPPORTED("23d0dv93w9s983tu0k7elewtw"); // *cnt = c_cnt; UNSUPPORTED("6howpdzencjv7b5n10thwlg1d"); // if (pinned) UNSUPPORTED("6kh8e01nm3b6v444qvzsxpb9t"); // *pinned = pinflag; UNSUPPORTED("d5ngoekhsqlhhhlia2x11hgqx"); // /* freed in layout */ UNSUPPORTED("39hmtpztikfd0e1o8smgla7kf"); // comps = cp = (graph_t **)zmalloc((c_cnt + 1)*sizeof(graph_t *)); UNSUPPORTED("92vjk6rjnnnji7bcczz51lwfx"); // for (subg = agfstsubg(g); subg; subg = agnxtsubg(subg)) { UNSUPPORTED("d3hurhvw5zilk1i6yygjxph4i"); // *cp++ = subg; UNSUPPORTED("cd4x12weu20efbi2fts8474md"); // c_cnt--; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1l6qy19soaj9ggx3hd2btwwz4"); // assert(c_cnt == 0); UNSUPPORTED("dzrgvvzfrht1b5nmfcyc94b0o"); // *cp = 0; UNSUPPORTED("745wm3c5sblj16fadasnxf1r0"); // return comps; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/fdpgen/dbg__c.java000066400000000000000000000035601340005343600217000ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.fdpgen; public class dbg__c { } plantuml-1.2018.13+ds/src/gen/lib/fdpgen/fdpinit__c.java000066400000000000000000000716771340005343600226170ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.fdpgen; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class fdpinit__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 f3e0cgrfbxtmm17pgxr2cduj // static void initialPositions(graph_t * g) public static Object initialPositions(Object... arg) { UNSUPPORTED("esw1s5txtkrnu1rq1heu3tcse"); // static void initialPositions(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("embgw30vqico8gdmn2r6ywcb0"); // node_t *np; UNSUPPORTED("74210hb6op2fnqz19qbx7ngwz"); // attrsym_t *possym; UNSUPPORTED("4xvjup0t4i1teu5lezu8k7ebt"); // attrsym_t *pinsym; UNSUPPORTED("evvfote9pox5gpnsuk75gu9zi"); // double *pvec; UNSUPPORTED("aexhdud6z2wbwwi73yppp0ynl"); // char *p; UNSUPPORTED("wrvu9u7a8j6i6y6552zncxfk"); // char c; UNSUPPORTED("1b5dcjh2a9g5zp8c3gpg13sg1"); // possym = agattr(g,AGNODE, "pos", NULL); UNSUPPORTED("3eb0ujxfacue4y5vg6rgwnsir"); // if (!possym) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("4eh9a5dorzn9gh1cq1joh60da"); // pinsym = agattr(g,AGNODE, "pin", NULL); UNSUPPORTED("9p1urpmsbdtel9f0hyftha4vp"); // for (i = 0; (np = GD_neato_nlist(g)[i]); i++) { UNSUPPORTED("82hus3nxk252ryfmgsj0jd4oe"); // p = agxget(np, possym); UNSUPPORTED("2jgl1gjczjnfj98lx3fumetzb"); // if (p[0]) { UNSUPPORTED("nlhfvpbbwzdx6jcdqg6ibdes"); // pvec = ND_pos(np); UNSUPPORTED("8wtaqjit9awt7xd08vuifknry"); // c = '\0'; UNSUPPORTED("1u1tfrl07xhxpprnxuslpv871"); // if (sscanf(p, "%lf,%lf%c", pvec, pvec + 1, &c) >= 2) { UNSUPPORTED("aywxrq10m6uazx25fiwcfs46u"); // if (PSinputscale > 0.0) { UNSUPPORTED("7si28y5woaw38yg693vh15d32"); // int i; UNSUPPORTED("bvgbqo619j5i3oq2sqvbzu4y2"); // for (i = 0; i < 2; i++) UNSUPPORTED("2oeepwgdoynykl1trrb0p94wm"); // pvec[i] = pvec[i] / PSinputscale; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("7djjlwbyom7gt69719c2ge441"); // ND_pinned(np) = 1; UNSUPPORTED("bjsz2shzg2mue2wxe8yrvtkrp"); // if ((c == '!') UNSUPPORTED("238kv6u6hkwuawnjm6dx78ej9"); // || (pinsym && mapbool(agxget(np, pinsym)))) UNSUPPORTED("5vhe98mbf3x3wwvl7dgaiyysi"); // ND_pinned(np) = 3; UNSUPPORTED("afk9bpom7x393euamnvwwkx6b"); // } else UNSUPPORTED("18zn34qcs4vsdhhh831gn9vc9"); // fprintf(stderr, UNSUPPORTED("cvnihzmupmxdhfo91phffr4iz"); // "Warning: node %s, position %s, expected two floats\n", UNSUPPORTED("8vr7f9s0nt8dkq7nt7fi7td6m"); // agnameof(np), p); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eycycj92hbah3h1imwibcgg3l // static void init_edge(edge_t * e, attrsym_t * E_len) public static Object init_edge(Object... arg) { UNSUPPORTED("5chfc4167yxwq5u0yf9jtf5am"); // static void init_edge(edge_t * e, attrsym_t * E_len) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9egiculslq6sjkjl1r3i2xhyw"); // agbindrec(e, "Agedgeinfo_t", sizeof(Agedgeinfo_t), NOT(0)); //node custom data UNSUPPORTED("6asvm3mgvrgkcyl9tgnl3h63l"); // ED_factor(e) = late_double(e, E_weight, 1.0, 0.0); UNSUPPORTED("5874wxxfzdznlt3lo55st6eph"); // ED_dist(e) = late_double(e, E_len, fdp_parms->K, 0.0); UNSUPPORTED("dwvquwksg1mxo6dxl7r7gaxpe"); // common_init_edge(e); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 egbpmyvr9o80vaci8zr1y9n7g // static void init_node(node_t * n) public static Object init_node(Object... arg) { UNSUPPORTED("dfmrunqjpz6te9temyeon7r7v"); // static void init_node(node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8n5p3ldt0mx3i3tvjjmpm15le"); // common_init_node(n); UNSUPPORTED("ayxex1urbqyoea700lpxltl6l"); // ND_pos(n) = (double*)zmalloc((GD_ndim(agraphof(n)))*sizeof(double)); UNSUPPORTED("axannqky1100m3o7i9up0h4i7"); // gv_nodesize(n, GD_flip(agraphof(n))); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 492ger2hkdmjpreugs1rmtqii // void fdp_init_node_edge(graph_t * g) public static Object fdp_init_node_edge(Object... arg) { UNSUPPORTED("7ng2gj5lv35z4xskaobhf7j7m"); // void fdp_init_node_edge(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6h1xqgehy44gsat105vaw9u8e"); // attrsym_t *E_len; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("5u3xxjr10ujhhn53156wch9ow"); // int nn; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("990mg1wm4x3ml804cdp4f62sb"); // /* ndata* alg; */ UNSUPPORTED("c23zlqic6a88lbl9vw9fsm73r"); // aginit(g, AGNODE, "Agnodeinfo_t", sizeof(Agnodeinfo_t), NOT(0)); UNSUPPORTED("erjahdn9un5js4yg5l9izpj7u"); // processClusterEdges(g); UNSUPPORTED("4d0qmlrvhtb8f9v7jt8x6o30n"); // /* Get node count after processClusterEdges(), as this function may UNSUPPORTED("39up5s15uvyc7wguh1chdya40"); // * add new nodes. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("6r0jyge14l6tevl2zdwwqb38s"); // nn = agnnodes(g); UNSUPPORTED("1jmigyhvbvc50ig7tvyz8r3h0"); // /* alg = N_NEW(nn, ndata); */ UNSUPPORTED("45z3wlw30d4v3obmp251psyml"); // GD_neato_nlist(g) = (node_t **)zmalloc((nn + 1)*sizeof(node_t *)); UNSUPPORTED("9bt5ega0wnm605esgklnofthl"); // for (i = 0, n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("4otfzd04ih23fldz5z9kjz13r"); // init_node (n); UNSUPPORTED("57olun5nyb91u25vsjs21iqpz"); // /* ND_alg(n) = alg + i; */ UNSUPPORTED("6fp8pp1mhoz2oz6b7bjmnivdq"); // GD_neato_nlist(g)[i] = n; UNSUPPORTED("9ku3nzm6ui1ttnjtw2tlxeape"); // ND_id(n) = i++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8luf7vywtg9kvvk1yugl5rnrj"); // E_len = agattr(g,AGEDGE, "len", NULL); UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("afzh0se3bdul27kfeb72zmccv"); // init_edge(e, E_len); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("68vimdeays5ksioyhl9g0a64u"); // initialPositions(g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8xyco70otbzpy5o0gn0ccbh81 // static void cleanup_subgs(graph_t * g) public static Object cleanup_subgs(Object... arg) { UNSUPPORTED("84hk43pxgtn24h4d5ia4mibtn"); // static void cleanup_subgs(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8uujemixuhlf040icq3zsh7j8"); // graph_t *subg; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("7naa6f8pevjidfr7m41eli6xj"); // for (i = 1; i <= GD_n_cluster(g); i++) { UNSUPPORTED("cpbcovu6u9jpbhniuwko58sge"); // subg = GD_clust(g)[i]; UNSUPPORTED("7yh9n8er7gmkbcvlm9ycl42jp"); // free_label(GD_label(subg)); UNSUPPORTED("1lpwhqj7l6h0eiutrhkf2i3i6"); // if (GD_alg(subg)) { UNSUPPORTED("109zmijlgkrcmnkcf5quh13se"); // free((((gdata*)(GD_alg(subg)))->ports)); UNSUPPORTED("25vpswadzwfupxfn703fb46m5"); // free(GD_alg(subg)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3gp1a1mkjuw28fwl3bc0rwzkf"); // cleanup_subgs(subg); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a5yc031gavhkkx3wq5g726g76"); // free (GD_clust(g)); UNSUPPORTED("8rovagjt3lviwrx7aa3axkgwc"); // if (g != agroot(g)) UNSUPPORTED("jhltskmtad5k9xortu6d6gql"); // agdelrec(g, "Agraphinfo_t"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bnzpam8o3xnj3b7f516ic3nvd // static void fdp_cleanup_graph(graph_t * g) public static Object fdp_cleanup_graph(Object... arg) { UNSUPPORTED("e14i566vhsvk5mmi72i9cyrym"); // static void fdp_cleanup_graph(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4l9vavpqrn41woq5aj74iefbp"); // cleanup_subgs(g); UNSUPPORTED("dxp41biia9zas5nfacx5m4vhp"); // free(GD_neato_nlist(g)); UNSUPPORTED("n2gf06weiher7ar8g5amqip1"); // free(GD_alg(g)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7jmdev7p125ntxi63iz9b6p04 // void fdp_cleanup(graph_t * g) public static Object fdp_cleanup(Object... arg) { UNSUPPORTED("bnvo5l60gvjkaw227hbmo7zuw"); // void fdp_cleanup(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("5otoqd7o1zz8ni50urywr7yjy"); // gv_cleanup_edge(e); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("ec2wg4tpq1npq2mtdbc154ylh"); // gv_cleanup_node(n); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("evkzftlt6qna42mjdlknscgk5"); // fdp_cleanup_graph(g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/fdpgen/grid__c.java000066400000000000000000000761371340005343600221030ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.fdpgen; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class grid__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 48p9xkptvlsxtb58ffyzjbdrn // static block_t *newBlock(int size) public static Object newBlock(Object... arg) { UNSUPPORTED("cqgp9t633c4vidjdixwk62b8x"); // static block_t *newBlock(int size) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("95ide6up3fa3s5xowco8ih2g7"); // block_t *newb; UNSUPPORTED("21xtar9o7c5sw48e7jv8o2f68"); // newb = (block_t*)gmalloc(sizeof(block_t)); UNSUPPORTED("er72usde489r8t38im7xyffgd"); // newb->next = 0; UNSUPPORTED("bfs7wf3xzbwhtv7x2g5cr3lcp"); // newb->mem = (cell*)gmalloc((size)*sizeof(cell)); UNSUPPORTED("77q90euct9sn46uzd5qr13611"); // newb->endp = newb->mem + size; UNSUPPORTED("8jjwt46o919i2b5oo9jqz6g2h"); // newb->cur = newb->mem; UNSUPPORTED("dfk4c476i87s9isvbvzpxvmhk"); // return newb; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1xzd2mgk4xjc5b9hmcv72lyv6 // static void freeBlock(block_t * b) public static Object freeBlock(Object... arg) { UNSUPPORTED("b8d6imvvp6lydokdtr2rhempo"); // static void freeBlock(block_t * b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4itlioqs70mihymynwfmznxvd"); // if (b) { UNSUPPORTED("av0qnyr2at3ebsltm59bkmgri"); // block_t *next = b->next; UNSUPPORTED("cm5cwn22f12c1plyhxex1an5v"); // free(b->mem); UNSUPPORTED("wg03d53tifx6b8xxlazj2y66"); // free(b); UNSUPPORTED("79t7h3r6ynnwnpdmjg4vsmesg"); // freeBlock(next); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dwz1fog5nktaeg1ryc2wyk40s // static cell *getCell(Grid * g) public static Object getCell(Object... arg) { UNSUPPORTED("8uzl60unaw1orsi1po0j9a0ut"); // static cell *getCell(Grid * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ao9xdgmlrsclq6kqohovivqwe"); // cell *cp; UNSUPPORTED("d1zkaxy757i5imyupkpiscaph"); // block_t *bp = g->cellCur; /* current block */ UNSUPPORTED("7ze7jw2uphs568sjmewq9uk4c"); // if (bp->cur == bp->endp) { /* current block is full */ UNSUPPORTED("1uqfbvmtqqjgymjtij5qofscl"); // if (bp->next == 0) { UNSUPPORTED("e6n3vvoi4bmf5x1j8jnf8dxxe"); // bp->next = newBlock(2 * (bp->endp - bp->mem)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1am3lqqsk187zkoqvdmaz621v"); // bp = g->cellCur = bp->next; UNSUPPORTED("79uvfoqwkd9pziekx02rqdd7i"); // bp->cur = bp->mem; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("aifisi1jld6nxlwnsuwuccfuy"); // cp = bp->cur++; UNSUPPORTED("az4lr3wfzqu3df9wce5kcyady"); // return cp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a6oz4rf4ts6rry8veop9yyim7 // static int ijcmpf(Dt_t * d, gridpt * p1, gridpt * p2, Dtdisc_t * disc) public static Object ijcmpf(Object... arg) { UNSUPPORTED("qqmv1dxqcqyeh7lttfs5l1ov"); // static int ijcmpf(Dt_t * d, gridpt * p1, gridpt * p2, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1wmjkf3r3rua2n9n6v1glz64z"); // int diff; UNSUPPORTED("6z29omss9ay00bqf6xael7t6t"); // (void) d; UNSUPPORTED("8l8wg6vltx6d7vc9dzqb6n3wi"); // (void) disc; UNSUPPORTED("ce3bx4bdswb0p58b461byzfps"); // if ((diff = (p1->i - p2->i))) UNSUPPORTED("bq5dcp2mozeoz1g1zcxcu5h27"); // return diff; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("eeqlt2jh61y7nvci218gnox6b"); // return (p1->j - p2->j); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 5s4sj50h3vdrqw1wswkqpule7 // static Grid *_grid //3 dbgusqi6yak0s3w8po4yfwlew // static void *newCell(Dt_t * d, void *obj, Dtdisc_t * disc) public static Object newCell(Object... arg) { UNSUPPORTED("a8p5x7a752ihuz53ssf35670w"); // static void *newCell(Dt_t * d, void *obj, Dtdisc_t * disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dd28b94hbwrv5c3yq6npacxxu"); // cell *cellp = (cell *) obj; UNSUPPORTED("eu3li4jorpplvuws8ukseoh0f"); // cell *newp; UNSUPPORTED("8l8wg6vltx6d7vc9dzqb6n3wi"); // (void) disc; UNSUPPORTED("96hm6wof9428lgosvgu7yxvbc"); // newp = getCell(_grid); UNSUPPORTED("1uoj9xhbbmz92x537ikscy72z"); // newp->p.i = cellp->p.i; UNSUPPORTED("81yllhqexfyf0e2w7ifmycjc7"); // newp->p.j = cellp->p.j; UNSUPPORTED("9mpisqlyz5gwc22v3dykoc2kb"); // newp->nodes = 0; UNSUPPORTED("4enxnv484o23jodrkf81rxdg0"); // return newp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 btvo93i71mj5s7jx37y7gpy0q // static node_list *newNode(Grid * g, Agnode_t * n, node_list * nxt) public static Object newNode(Object... arg) { UNSUPPORTED("ehleji79hws4ndms74ucrfug8"); // static node_list *newNode(Grid * g, Agnode_t * n, node_list * nxt) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("kv1qgi81221bvfutkp6848gs"); // node_list *newp; UNSUPPORTED("bxz8t60ho4syqfxokqwjomd70"); // newp = g->listCur++; UNSUPPORTED("732w7veecg92msg7cxi48mx18"); // newp->node = n; UNSUPPORTED("6udm0lve1wrpnonls06gpijkr"); // newp->next = nxt; UNSUPPORTED("4enxnv484o23jodrkf81rxdg0"); // return newp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 cp8gjlfyqcmfdqxvn4slvnmpl // static Dtdisc_t gridDisc = //3 dq3rb6lltgxkztrppf4e4ob0a // Grid *mkGrid(int cellHint) public static Object mkGrid(Object... arg) { UNSUPPORTED("9u1txx36o09gsufmfta5bh4xd"); // Grid *mkGrid(int cellHint) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eclpdj3kal4j8s4p5xnir9cqf"); // Grid *g; UNSUPPORTED("80ack44l9uaf0bmvg194jqe48"); // g = (Grid*)gmalloc(sizeof(Grid)); UNSUPPORTED("3ybxv0gvukf27njzufcqqo81a"); // _grid = g; /* see comment above */ UNSUPPORTED("ak5cvv3gc1lfiql31r16xnq4v"); // g->data = dtopen(&gridDisc, Dtoset); UNSUPPORTED("4gem6adq1i3ecl23otyak99c9"); // g->listMem = 0; UNSUPPORTED("1nipmfwxobw0s6w14g6dr5foh"); // g->listSize = 0; UNSUPPORTED("chv70wjlygxy67t8tybh66cwf"); // g->cellMem = newBlock(cellHint); UNSUPPORTED("2syri7q5tc0jyvwq8ecyfo3vr"); // return g; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6bd29u5mwagwt7ghjyyccorh1 // void adjustGrid(Grid * g, int nnodes) public static Object adjustGrid(Object... arg) { UNSUPPORTED("baeey6xmz933iy3d36anps428"); // void adjustGrid(Grid * g, int nnodes) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e4nu416e8phfhoe9opmjt6zxk"); // int nsize; UNSUPPORTED("e7egb5b9opseomve33z4nopvk"); // if (nnodes > g->listSize) { UNSUPPORTED("402jdeovmofgfjapuyzda90w3"); // nsize = MAX(nnodes, 2 * (g->listSize)); UNSUPPORTED("18otakb57uiccyf9ze0ckh1ou"); // if (g->listMem) UNSUPPORTED("cgvx3psdqmzfsscsi6k5qry2c"); // free(g->listMem); UNSUPPORTED("7lk84snr3t4u3ycduwbfdkuo2"); // g->listMem = (node_list*)gmalloc((nsize)*sizeof(node_list)); UNSUPPORTED("2v7eyjzzl6jefj3hhetn64pxo"); // g->listSize = nsize; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 amb9vt2m5v9s58v2odngax7wv // void clearGrid(Grid * g) public static Object clearGrid(Object... arg) { UNSUPPORTED("e7s6yogkps2xb76gikyo7hurp"); // void clearGrid(Grid * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6zxdah94hm76bo0zhiwt1vf9q"); // (*(((Dt_t*)(g->data))->searchf))((g->data),(void*)(0),0000100); UNSUPPORTED("379e5nuyb9hsd83249pxe9zl0"); // g->listCur = g->listMem; UNSUPPORTED("57510i3xz9n6gyrcri6m2x31v"); // g->cellCur = g->cellMem; UNSUPPORTED("8houbh0qth244ekpzfyghstms"); // g->cellCur->cur = g->cellCur->mem; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9pepovt0gwd2trihhc2b9d7kf // void delGrid(Grid * g) public static Object delGrid(Object... arg) { UNSUPPORTED("2hljfnpiz5yvaz8r14pmxlgyx"); // void delGrid(Grid * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3h7tk3hujmu6hb01n5p4qb399"); // dtclose(g->data); UNSUPPORTED("75a1xgp2awtr3p9seu6lq7tor"); // freeBlock(g->cellMem); UNSUPPORTED("ek2bqwr219isf5zhfqksg81yv"); // free(g->listMem); UNSUPPORTED("4r69ldzt3t7hqa8bckw1rmbk4"); // free(g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1cotlm44aq5nf1awt6rlrt73f // void addGrid(Grid * g, int i, int j, Agnode_t * n) public static Object addGrid(Object... arg) { UNSUPPORTED("cw8y5dhctcam2kaat5iu7dt32"); // void addGrid(Grid * g, int i, int j, Agnode_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f2dlaown2kdact6tryrhjt4wp"); // cell *cellp; UNSUPPORTED("6bzsq12nf65b3f8dvi83to0ev"); // cell key; UNSUPPORTED("afbyqq6mkn219h05byghxl4nd"); // key.p.i = i; UNSUPPORTED("egewjz5xsyhudbf0fb3vd8qyb"); // key.p.j = j; UNSUPPORTED("bqrlni0ru8q9ywz6u62wjfkw3"); // cellp = (*(((Dt_t*)(g->data))->searchf))((g->data),(void*)(&key),0000001); UNSUPPORTED("cu3pr0ujlmxmo3hxkmzouhk3h"); // cellp->nodes = newNode(g, n, cellp->nodes); UNSUPPORTED("85z5t8b0aaiij1mlbipg4mw5d"); // if (Verbose >= 3) { UNSUPPORTED("9jniybnacu91k5lj5tsrc1wuq"); // fprintf(stderr, "grid(%d,%d): %s\n", i, j, agnameof(n)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4g0z7jopk0t99z409uj832wp5 // void walkGrid(Grid * g, int (*walkf) (Dt_t *, cell *, Grid *)) public static Object walkGrid(Object... arg) { UNSUPPORTED("7tlnrgcgro6algvrxp8r7gtmk"); // void walkGrid(Grid * g, int (*walkf) (Dt_t *, cell *, Grid *)) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f3rit8rz1s1ghahuis92gm6k1"); // dtwalk(g->data, (walkfn_t) walkf, g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dku539xf3no0yqw8yd7nxcbt6 // cell *findGrid(Grid * g, int i, int j) public static Object findGrid(Object... arg) { UNSUPPORTED("32b65siusleul2gdaegn2mm9f"); // cell *findGrid(Grid * g, int i, int j) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6bzsq12nf65b3f8dvi83to0ev"); // cell key; UNSUPPORTED("afbyqq6mkn219h05byghxl4nd"); // key.p.i = i; UNSUPPORTED("egewjz5xsyhudbf0fb3vd8qyb"); // key.p.j = j; UNSUPPORTED("2pi5ab8p3o6tsbggtnotsl4ax"); // return ((cell *) (*(((Dt_t*)(g->data))->searchf))((g->data),(void*)(&key),0000004)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1z3w6m5x4gw4pr5cibsbv8ew5 // int gLength(cell * p) public static Object gLength(Object... arg) { UNSUPPORTED("1udy11biurmpvqgnt7nc07594"); // int gLength(cell * p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bsj3r19ko668lwj5fqk8tlbhc"); // int len = 0; UNSUPPORTED("deylrmnd4q7aqkk29acrjt3j0"); // node_list *nodes = p->nodes; UNSUPPORTED("3h2gfuk0qna3lemnipafx7eu9"); // while (nodes) { UNSUPPORTED("1blvazlbh0hbzpw2y1i3ejivl"); // len++; UNSUPPORTED("d4fniru4onrxa8hv51ov2h6dj"); // nodes = nodes->next; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ji4xmwppaalf0z5xzgfw9h36"); // return len; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/fdpgen/layout__c.java000066400000000000000000002400211340005343600224540ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.fdpgen; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; import smetana.core.jmp_buf; public class layout__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 exy2l03ceq9zw4vf01bbd4d3o // typedef unsigned int packval_t //1 540u5gu9i0x1wzoxqqx5n2vwp // static jmp_buf jbuf private static jmp_buf jbuf = new jmp_buf(); //3 cyfvrx8rigx5zgh4a4b53zpnh // static void finalCC(graph_t * g, int c_cnt, graph_t ** cc, point * pts, graph_t * rg, layout_info* infop) public static Object finalCC(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("5j5ejv8p34k05gcm75fmh1xhf"); // finalCC(graph_t * g, int c_cnt, graph_t ** cc, point * pts, graph_t * rg, UNSUPPORTED("4pqsw04lulyzrk7rq7bblsonr"); // layout_info* infop) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9b4o90u710skovvrp9jqdgitp"); // attrsym_t * G_width = infop->G_width; UNSUPPORTED("bqvw4kmde2f4oa4oi0h9hydsn"); // attrsym_t * G_height = infop->G_height; UNSUPPORTED("e75aepnaqkzqf68ewt7a4zqfi"); // graph_t *cg; UNSUPPORTED("a78eza87s0b98d5urftsa25st"); // box b, bb; UNSUPPORTED("8l1eldlly6rdv04k0fzzkmb68"); // boxf bbf; UNSUPPORTED("tkw5izt69wl0695g5qfi9sug"); // point pt; UNSUPPORTED("15vcjwivk85sj24txzc1mf1gj"); // int margin; UNSUPPORTED("uxzh5927shath4hsa8qeq0vg"); // graph_t **cp = cc; UNSUPPORTED("dgxbjvgw9qxehkxtda1tet15c"); // point *pp = pts; UNSUPPORTED("93l4pivvf6nscv0y64nax0dq7"); // int isRoot = (rg == infop->rootg); UNSUPPORTED("tv1kheyodc68lbqkk90hbfrp"); // int isEmpty = 0; UNSUPPORTED("ebsljzk06lfmoo5yrjxixc0op"); // /* compute graph bounding box in points */ UNSUPPORTED("as51hq9p7apf0yper42ncmv5d"); // if (c_cnt) { UNSUPPORTED("hdi48v81u3904xw6mr33ncuu"); // cg = *cp++; UNSUPPORTED("doqnyqj8oanwl6cloo1nprp6f"); // BF2B(GD_bb(cg), bb); UNSUPPORTED("5aaxht3vfvg8txbt3utwmslrp"); // if (c_cnt > 1) { UNSUPPORTED("9t8rt3bdzsa84ucezrmt14ub6"); // pt = *pp++; UNSUPPORTED("d4he392l7lu60f0c3cfgxrxdc"); // bb.LL.x += pt.x; UNSUPPORTED("4depz3wycfkln7j4l5xklhc9u"); // bb.LL.y += pt.y; UNSUPPORTED("4107b6l6fs0ipw7clehsluvj7"); // bb.UR.x += pt.x; UNSUPPORTED("89fikk6obhaq1qqenedqkj3ee"); // bb.UR.y += pt.y; UNSUPPORTED("3yuvbcdyw38sj04mc19gsblta"); // while ((cg = *cp++)) { UNSUPPORTED("5pgtu6u0dsae0m5olw147upw7"); // BF2B(GD_bb(cg), b); UNSUPPORTED("sk2e9ft63ktyi9torljewy1d"); // pt = *pp++; UNSUPPORTED("exwmgih14x6egeiqtbdao9oig"); // b.LL.x += pt.x; UNSUPPORTED("6s65g13bf25olokd3e9mkk2r0"); // b.LL.y += pt.y; UNSUPPORTED("b947zhl0549npzprxodym6pnv"); // b.UR.x += pt.x; UNSUPPORTED("egzsssfx1cuziklqf0gbha0pg"); // b.UR.y += pt.y; UNSUPPORTED("8tx35iz0n5i30gl1aoykewx2a"); // bb.LL.x = MIN(bb.LL.x, b.LL.x); UNSUPPORTED("1y9hace0nolseswt8ndb04qzp"); // bb.LL.y = MIN(bb.LL.y, b.LL.y); UNSUPPORTED("448anewcsr42vjlqt7bu41gml"); // bb.UR.x = MAX(bb.UR.x, b.UR.x); UNSUPPORTED("8186gsf6v091wiyyfl50wo3pz"); // bb.UR.y = MAX(bb.UR.y, b.UR.y); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("et2gdc4td9f7dgpy4vi5nubcj"); // } else { /* empty graph */ UNSUPPORTED("1usofyibgze1w58108ljx8vlk"); // bb.LL.x = 0; UNSUPPORTED("2x25hiswosyet6n52bfoj0bgb"); // bb.LL.y = 0; UNSUPPORTED("8odqguy5gqxsc924fzt8tugyj"); // bb.UR.x = late_int(rg, G_width, (ROUND((0.75)*72)), 3); UNSUPPORTED("1bcc9n645fsrh3v9qouu2mnnt"); // bb.UR.y = late_int(rg, G_height, (ROUND((0.5)*72)), 3); UNSUPPORTED("oy1o6qaafscd06oaah6skuq8"); // isEmpty = 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8bafmwpwdcr8mxkd0349uwj8n"); // if (GD_label(rg)) { UNSUPPORTED("2g3x5xo2qnpun7vilpctpknlc"); // point p; UNSUPPORTED("bo6u5udaa5jm0by3gh04omxwd"); // int d; UNSUPPORTED("dmkzb0rxnfsoon56m8o6st0o1"); // isEmpty = 0; UNSUPPORTED("7fm4t6vqmkowryalb4olpluvi"); // PF2P(GD_label(rg)->dimen, p); UNSUPPORTED("60137a9c14v715u0roc06c7f0"); // d = p.x - (bb.UR.x - bb.LL.x); UNSUPPORTED("ut9vmlliumj6hoam9erca50j"); // if (d > 0) { /* height of label added below */ UNSUPPORTED("dzc85pslju1xdcidb5xsgd63n"); // d /= 2; UNSUPPORTED("5lr6tdfl85phpnr2cjc94rmfk"); // bb.LL.x -= d; UNSUPPORTED("eiysf7bb0jo4knxnnsptfd17o"); // bb.UR.x += d; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dds8500ykadjn0z2mcnznhjfg"); // if (isRoot || isEmpty) UNSUPPORTED("8tm7x791luf0uq7v2q53kfuqk"); // margin = 0; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("182pb9igel0aoytgtoiguek4x"); // margin = late_int (g, G_margin, 8, 0); UNSUPPORTED("dwo09u5p3lixrxqu485pwy6r7"); // pt.x = -bb.LL.x + margin; UNSUPPORTED("3tyf1d65hn5e7kko770etaay1"); // pt.y = -bb.LL.y + margin + GD_border(rg)[0].y; UNSUPPORTED("dze4vn5sf7tdouljozbaukja6"); // bb.LL.x = 0; UNSUPPORTED("5zsax7rqaxnemqxnwgiyn72ga"); // bb.LL.y = 0; UNSUPPORTED("c4rw2sm67jiequg14myrfct0h"); // bb.UR.x += pt.x + margin; UNSUPPORTED("e61322oo73i9nj7nipw8m2zv"); // bb.UR.y += pt.y + margin + GD_border(rg)[2].y; UNSUPPORTED("7tzvnafah7jf93mzxqs95rwrr"); // /* translate nodes */ UNSUPPORTED("as51hq9p7apf0yper42ncmv5d"); // if (c_cnt) { UNSUPPORTED("egz9kmr1h0lairr84fdl6xyb4"); // cp = cc; UNSUPPORTED("1vvyrx201r2ig8es037wn2mfh"); // pp = pts; UNSUPPORTED("c5isnr2v3wtcqtcbjku7pygr1"); // while ((cg = *cp++)) { UNSUPPORTED("8hzx2qlxefkohtl8vzpf4yzof"); // point p; UNSUPPORTED("d55u571q0xu2m8hidf7qm4i0h"); // node_t *n; UNSUPPORTED("ej168lfnr08xgzgaf1gsii95s"); // pointf del; UNSUPPORTED("2u09xj9tpivs6e840bfjna2zc"); // if (pp) { UNSUPPORTED("1rmxuvgazhdv7nv3q5deh14ci"); // p = *pp++; UNSUPPORTED("7w2yxcg7syqzmsu21h1rdu7gv"); // p.x += pt.x; UNSUPPORTED("ct8eacmyhxwe4itxmq5ksle6c"); // p.y += pt.y; UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("q29o1awbh8ddg8k9cz591mwc"); // p = pt; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("9wya7e1n1v02ba29i88qevv7d"); // del.x = ((p.x)/(double)72); UNSUPPORTED("2r2n5gssapyxktpmw0tiaplpt"); // del.y = ((p.y)/(double)72); UNSUPPORTED("bhlsqxfst7yx1df4cylgi92p6"); // for (n = agfstnode(cg); n; n = agnxtnode(cg, n)) { UNSUPPORTED("7ljco3d2d5dh0dhrs9qoqvvia"); // ND_pos(n)[0] += del.x; UNSUPPORTED("41qrgy6u1jqqw1qpjqg4c6657"); // ND_pos(n)[1] += del.y; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("exoex2j0qrw664qhzf4cxauq1"); // bbf.LL.x = ((bb.LL.x)/(double)72); UNSUPPORTED("7yprpz6bhlv15uimyl9x7mwyf"); // bbf.LL.y = ((bb.LL.y)/(double)72); UNSUPPORTED("42ps8exnijgn7j0xn3omzdsbp"); // bbf.UR.x = ((bb.UR.x)/(double)72); UNSUPPORTED("2kied7iqt4m348v7idvxdzrfr"); // bbf.UR.y = ((bb.UR.y)/(double)72); UNSUPPORTED("4bavz003b6k3610qxalof3nls"); // (((gdata*)(GD_alg(g)))->bb) = bbf; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 byskndejdx3u2hdwh3qbm4apq // static node_t *mkDeriveNode(graph_t * dg, char *name) public static Object mkDeriveNode(Object... arg) { UNSUPPORTED("74hp673smot0qq6e71pnny6um"); // static node_t *mkDeriveNode(graph_t * dg, char *name) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cuxjodqo53rx3gt9t353c352r"); // node_t *dn; UNSUPPORTED("9rsk130zxprz1jr0i0wnjspka"); // dn = agnode(dg, name,1); UNSUPPORTED("2pahd30hmnc5ga3juber1p8rc"); // agbindrec(dn, "Agnodeinfo_t", sizeof(Agnodeinfo_t), NOT(0)); //node custom data UNSUPPORTED("2pbxy8q5lnf7p7rgcaw6q8wky"); // ND_alg(dn) = (void *) (dndata*)zmalloc(sizeof(dndata)); /* free in freeDeriveNode */ UNSUPPORTED("at012b854w3r2woadh9tov0wf"); // ND_pos(dn) = (double*)gmalloc((GD_ndim(dg))*sizeof(double)); UNSUPPORTED("39wajg9uefc99hzbtsfg9trto"); // /* fprintf (stderr, "Creating %s\n", dn->name); */ UNSUPPORTED("7h1byav4bse2wj5qnw2q1myd4"); // return dn; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3iz2r401jxiz372cjszyuoanq // static void freeDeriveNode(node_t * n) public static Object freeDeriveNode(Object... arg) { UNSUPPORTED("1whqjlpv0n0dca6sq85o9cdae"); // static void freeDeriveNode(node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5074s0w7ptt9jifu6hn9mei67"); // free(ND_alg(n)); UNSUPPORTED("dblzkmbbygvj7xygvxtoq8tio"); // free(ND_pos(n)); UNSUPPORTED("akue26s9c0sd4k550tyw3sk5n"); // agdelrec(n, "Agnodeinfo_t"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 29x3224gy6v4xzpd3raiirugf // static void freeGData(graph_t * g) public static Object freeGData(Object... arg) { UNSUPPORTED("4qayy728oj2bq4zy8lej3fsth"); // static void freeGData(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("n2gf06weiher7ar8g5amqip1"); // free(GD_alg(g)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cf633ztfyd6ttfwuav4giyi76 // static void freeDerivedGraph(graph_t * g, graph_t ** cc) public static Object freeDerivedGraph(Object... arg) { UNSUPPORTED("cgyg74gyxx6sheskknx21gz3l"); // static void freeDerivedGraph(graph_t * g, graph_t ** cc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e75aepnaqkzqf68ewt7a4zqfi"); // graph_t *cg; UNSUPPORTED("cuxjodqo53rx3gt9t353c352r"); // node_t *dn; UNSUPPORTED("302ixhh6hnlijtkp0oelxikef"); // node_t *dnxt; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("7febwjhfjikg0bvb24i85inl3"); // while ((cg = *cc++)) { UNSUPPORTED("cijqtcfm7sci705u1z4k582tp"); // freeGData(cg); UNSUPPORTED("xmk71ie22xvx7nhgngqacfp9"); // agdelrec(cg, "Agraphinfo_t"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9ef1tmkqo6s5sssnuq8lfknqq"); // if ((((gdata*)(GD_alg(g)))->ports)) UNSUPPORTED("8af0kjmbjyg70lta4awrjjesc"); // free((((gdata*)(GD_alg(g)))->ports)); UNSUPPORTED("cwxxae37yzne0ly0kop5ml6mx"); // freeGData(g); UNSUPPORTED("c2ncz5mhklw8a78yq0pq0wmo"); // agdelrec(g, "Agraphinfo_t"); UNSUPPORTED("4rp7mjl1clntxri8tw8pytsbj"); // for (dn = agfstnode(g); dn; dn = dnxt) { UNSUPPORTED("31j4zdjpamckm6fc2s29x82k1"); // dnxt = agnxtnode(g, dn); UNSUPPORTED("3y0pwms7qy4blq5v99c8qjteh"); // for (e = agfstout(g, dn); e; e = agnxtout(g, e)) { UNSUPPORTED("4xbv3tolbid1n0zz7n3eamn00"); // free (ED_to_virt(e)); UNSUPPORTED("8w3d3ji4u0lki4coi2qpmpskg"); // agdelrec(e, "Agedgeinfo_t"); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("f4nskiqzun441c5ex40ie8gw0"); // freeDeriveNode(dn); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ego3r1tvwrpv2hie8y9p8vq4z"); // agclose(g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 84isuvczdhvikhhnui9e3kzra // static void evalPositions(graph_t * g, graph_t* rootg) public static Object evalPositions(Object... arg) { UNSUPPORTED("1oa3ftxfgwenys84ezoeabexx"); // static void evalPositions(graph_t * g, graph_t* rootg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("8uujemixuhlf040icq3zsh7j8"); // graph_t *subg; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("2lzsl1e035wt5epd1h8f4bn8m"); // boxf bb; UNSUPPORTED("4s8yf152w1bykvv0sazjkgfxz"); // boxf sbb; UNSUPPORTED("an5yuorm1sh0abvgomq1s0db9"); // bb = (((gdata*)(GD_alg(g)))->bb); UNSUPPORTED("2cvzps80tb9p8pvei2bhwj0us"); // /* translate nodes in g */ UNSUPPORTED("31atml91kblm6c59dury75e81"); // if (g != rootg) { UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("5jodw5fl7pfp4w8nn8t3x81jr"); // if ((ND_clust(n)) != g) UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; UNSUPPORTED("4jnp2t03todyz1wxbgdvmlesd"); // ND_pos(n)[0] += bb.LL.x; UNSUPPORTED("228b94b3kuel3j0i7j3cz181h"); // ND_pos(n)[1] += bb.LL.y; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7ogmi241wudfqnsslcsy6hjus"); // /* translate top-level clusters and recurse */ UNSUPPORTED("7naa6f8pevjidfr7m41eli6xj"); // for (i = 1; i <= GD_n_cluster(g); i++) { UNSUPPORTED("cpbcovu6u9jpbhniuwko58sge"); // subg = GD_clust(g)[i]; UNSUPPORTED("dm5tht2ocq023it8nf3hu6qh5"); // if (g != rootg) { UNSUPPORTED("7405elpmfo8oyjglcsdlje8uw"); // sbb = (((gdata*)(GD_alg(subg)))->bb); UNSUPPORTED("7ed3aflu4lv2rtcdee3mijand"); // sbb.LL.x += bb.LL.x; UNSUPPORTED("7ghwc2c7027s57f40x9doldp8"); // sbb.LL.y += bb.LL.y; UNSUPPORTED("czucbxjkl4ejgixorzhl9szxi"); // sbb.UR.x += bb.LL.x; UNSUPPORTED("68wba2rnx2qf1yb1zwl7emyom"); // sbb.UR.y += bb.LL.y; UNSUPPORTED("6vyufad5w3ewjk847wfvet74d"); // (((gdata*)(GD_alg(subg)))->bb) = sbb; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("bj0ndzvvsqfftb69nsf5gwgo"); // evalPositions(subg, rootg); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6ptl3bkajdnlcqjtcc65lvzn4 // static void initCList(clist_t * clist) public static Object initCList(Object... arg) { UNSUPPORTED("426b4jcrii041onjvleavkg6a"); // static void initCList(clist_t * clist) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("64bbojzoaaau1t7cl5l5hxdbc"); // clist->cl = 0; UNSUPPORTED("auxbos07f2t0rtf8w8sziaka1"); // clist->sz = 0; UNSUPPORTED("27dd5xcxwffb51e9kt8smvs5v"); // clist->cnt = 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 39dqbok6w7dzecbztpcwr2sss // static void addCluster(clist_t * clist, graph_t * subg) public static Object addCluster(Object... arg) { UNSUPPORTED("ch4ooh4zms6v4wnaeg3mu7crr"); // static void addCluster(clist_t * clist, graph_t * subg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ecw34rlkdj1yxbju8tntke1q7"); // clist->cnt++; UNSUPPORTED("11sdiyvywz6e8huzmiae0luxe"); // if (clist->cnt >= clist->sz) { UNSUPPORTED("bw2tzb3640mp9g0yqkt1qriuo"); // clist->sz += 10; UNSUPPORTED("3br43nvgjghg5cl8w55jb575c"); // clist->cl = RALLOC(clist->sz, clist->cl, graph_t *); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2ppf11sr4a47a0hsns9fy4ss"); // clist->cl[clist->cnt] = subg; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 blvez04enibnb1urti8nypr3m // static char *portName(graph_t * g, bport_t * p) public static Object portName(Object... arg) { UNSUPPORTED("2okvscqwpqqezrovvu7ckzyu4"); // static char *portName(graph_t * g, bport_t * p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2l3sv6t0gt2fzfwgwp413xane"); // edge_t *e = p->e; UNSUPPORTED("7sdvsuo2rbo6of75bzleek8qf"); // node_t *h = aghead(e); UNSUPPORTED("7jj1xtfi4cbw5y6yhlzh0mli4"); // node_t *t = agtail(e); UNSUPPORTED("8sd9gndpjspq37480rd49es9t"); // static char buf[1000 + 1]; UNSUPPORTED("41orbbs9l9t5osihlly2avycl"); // int len = 8; UNSUPPORTED("2kipzrn24xz111kc3wsad5y0a"); // len += strlen(agnameof(g)) + strlen(agnameof(h)) + strlen(agnameof(t)); UNSUPPORTED("5oxm695jqpgfl1ixyyoi3befn"); // if (len >= 1000) UNSUPPORTED("8e5b7vlvn7ipfcpws1u55nbno"); // sprintf(buf, "_port_%s_%s_%s_%ld", agnameof(g), agnameof(t), agnameof(h), UNSUPPORTED("22t9pdxhzto354ya2hq6wuba4"); // (unsigned long)AGSEQ(e)); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("e6kgc72n0x7sdm9oybcsvjew7"); // sprintf(buf, "_port_%s_(%d)_(%d)_%ld",agnameof(g), ND_id(t), ND_id(h), UNSUPPORTED("22t9pdxhzto354ya2hq6wuba4"); // (unsigned long)AGSEQ(e)); UNSUPPORTED("5jfpogdyby101eyuw2dhtb5cg"); // return buf; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9xly1bqcrp9nnod8k5jfwbp5g // static void chkPos(graph_t* g, node_t* n, layout_info* infop, boxf* bbp) public static Object chkPos(Object... arg) { UNSUPPORTED("3o5p4sqo0s46cn3vz2s0dfh29"); // static void chkPos(graph_t* g, node_t* n, layout_info* infop, boxf* bbp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("aexhdud6z2wbwwi73yppp0ynl"); // char *p; UNSUPPORTED("d8yqhxb1cnge86592ge3ahdkf"); // char *pp; UNSUPPORTED("2lzsl1e035wt5epd1h8f4bn8m"); // boxf bb; UNSUPPORTED("wrvu9u7a8j6i6y6552zncxfk"); // char c; UNSUPPORTED("em08bsddr0lwo4o5yqu8utzgq"); // graph_t *parent; UNSUPPORTED("8m5vv3nw7eyhv8rf2b8p0zzie"); // attrsym_t *G_coord = infop->G_coord; UNSUPPORTED("429m2pc45k6skac7p443tbpac"); // p = agxget(g, G_coord); UNSUPPORTED("3f1sat0g6anyggfla96go23ep"); // if (p[0]) { UNSUPPORTED("7hmevhd9t0vhoilb7b7z5rtru"); // if (g != infop->rootg) { UNSUPPORTED("zq8n2wn96yv1mbobk1qu5rmj"); // parent =agparent(g); UNSUPPORTED("89aks9kqee96aw168b43hfrtq"); // pp = agxget(parent, G_coord); UNSUPPORTED("9dhvu3xnw93fbt644b52o03to"); // if ((pp == p) || !strcmp(p, pp)) UNSUPPORTED("6bj8inpmr5ulm16jmfxsstjtn"); // return; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cr1dg3johqjxamg5latzq2tdv"); // c = '\0'; UNSUPPORTED("ej59cehhf9pgaw8t6st82pwfv"); // if (sscanf(p, "%lf,%lf,%lf,%lf%c", UNSUPPORTED("9o8oz4nmdyu2kqdek3kb6q226"); // &bb.LL.x, &bb.LL.y, &bb.UR.x, &bb.UR.y, &c) >= 4) { UNSUPPORTED("4lxmr7172n4y4nnubzchbq96t"); // if (PSinputscale > 0.0) { UNSUPPORTED("1c7k9urwuwp7p7vxoy4q7r4sp"); // bb.LL.x /= PSinputscale; UNSUPPORTED("441y7dez7jdhtc56rhx61f0tv"); // bb.LL.y /= PSinputscale; UNSUPPORTED("65wvxshjtzdc9zocf9xsl2gvv"); // bb.UR.x /= PSinputscale; UNSUPPORTED("5v7ndgkjn1ruevu0a06twp7mc"); // bb.UR.y /= PSinputscale; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("9qnr8qmbz7pf3mmpebux0p08m"); // if (c == '!') UNSUPPORTED("a2of0q0fgez6ppasmwdujr5lc"); // ND_pinned(n) = 3; UNSUPPORTED("3nlo9d762yf47jmo6mddv2rhj"); // else if (c == '?') UNSUPPORTED("6jh0kyj5b3x2wq1r7hzqizihz"); // ND_pinned(n) = 2; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("56ez5c0ki8jup5kllwhd9zxdc"); // ND_pinned(n) = 1; UNSUPPORTED("a5ap9hnosv5rv8rwk7ba8won1"); // *bbp = bb; UNSUPPORTED("6to1esmb8qfrhzgtr7jdqleja"); // } else UNSUPPORTED("ezi6sqatds0b2fgekxfupde82"); // agerr(AGWARN, "graph %s, coord %s, expected four doubles\n", UNSUPPORTED("5hu65ilq398d3ey6pxk0s0em9"); // agnameof(g), p); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5fn3mtocch1b26irypnr09t9m // static void addEdge(edge_t * de, edge_t * e) public static Object addEdge(Object... arg) { UNSUPPORTED("1grpxuhc4kibkdljhpys1kapl"); // static void addEdge(edge_t * de, edge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e5trxwbwododl3veoj1lp6b7c"); // short cnt = ED_count(de); UNSUPPORTED("5iu5ll9p8cttx85mphqz03ncq"); // edge_t **el; UNSUPPORTED("1bndnrccbbggbh4tnw3a6zabs"); // el = (edge_t **) (ED_to_virt(de)); UNSUPPORTED("eoxhjwtyx2ujqsjoaaarclfrj"); // el = ALLOC(cnt + 1, el, edge_t *); UNSUPPORTED("1ttlm7ew26jwfoq2o0170ns27"); // el[cnt] = e; UNSUPPORTED("8teacoxlhsm20661x85b70o6c"); // ED_to_virt(de) = (edge_t *) el; UNSUPPORTED("b3lq6k9r48uakki9aciefl1b0"); // ED_count(de)++; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7agb5w2cnyvb0z8q9nihjbsxp // static void copyAttr (graph_t* g, graph_t* dg, char* attr) public static Object copyAttr(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("9hbiavk3r6a6bq4cvcry8dscw"); // copyAttr (graph_t* g, graph_t* dg, char* attr) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2na6lh852kcxird2ho1vichf5"); // char* ov_val; UNSUPPORTED("848o3cjndi1v3xpwjjiebzbvp"); // Agsym_t* ov; UNSUPPORTED("ca8z7ma72fqedls8lj4qi01ra"); // if ((ov = agattr(g,AGRAPH, attr, NULL))) { UNSUPPORTED("emj7axj812hks27wjzvj3e5yt"); // ov_val = agxget(g,ov); UNSUPPORTED("3pu4oq8u9tlqnjo0bc5vcowjl"); // ov = agattr(dg,AGRAPH, attr, NULL); UNSUPPORTED("2rypj3m1cr0g1qbrw8fbn1q6g"); // if (ov) UNSUPPORTED("9l6gavxujo2qkhfh7jwwgriu0"); // agxset (dg, ov, ov_val); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("3iuelryhfjpm6rm2im7gc5j5z"); // agattr(dg, AGRAPH, attr, ov_val); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6vdt9ftxoj8z4xb5zvray3g1m // static graph_t *deriveGraph(graph_t * g, layout_info * infop) public static Object deriveGraph(Object... arg) { UNSUPPORTED("2sd6al0j42gndvdmp4rzw18jd"); // static graph_t *deriveGraph(graph_t * g, layout_info * infop) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("36r1dzbbxcnyuanwl0580q4nw"); // graph_t *dg; UNSUPPORTED("cuxjodqo53rx3gt9t353c352r"); // node_t *dn; UNSUPPORTED("8uujemixuhlf040icq3zsh7j8"); // graph_t *subg; UNSUPPORTED("4tltvvpkm9lkmh7xst5u0auxy"); // char name[100]; UNSUPPORTED("dj8wp6znctlnc9ae1rgvqwtj0"); // bport_t *pp; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("8u0qg8saz2tni323ov8v7ym8g"); // edge_t *de; UNSUPPORTED("cbj0me372w66gi341wwhu1uxz"); // int i, id = 0; UNSUPPORTED("5o8czyuixfuavbsljaqx0o0co"); // sprintf(name, "_dg_%d", infop->gid++); UNSUPPORTED("41xjj6amd58fjieqo5xy29iwq"); // if (Verbose >= 2) UNSUPPORTED("2jw7n9j1r26v41dzbriysfuph"); // fprintf(stderr, "derive graph %s of %s\n", name, agnameof(g)); UNSUPPORTED("ass9x7oye1kqh43r99fe134rc"); // dg = agopen("derived", Agstrictdirected,((Agdisc_t *)0)); UNSUPPORTED("8u7x1w8qeiknrzdmu54br8hgh"); // agbindrec(dg, "Agraphinfo_t", sizeof(Agraphinfo_t), NOT(0)); UNSUPPORTED("1drj83vu125frg9jj9i95swg0"); // GD_alg(dg) = (void *) (gdata*)zmalloc(sizeof(gdata)); /* freed in freeDeriveGraph */ UNSUPPORTED("4d4xxxlu1ervuob2lrn7bp8w7"); // GD_ndim(dg) = GD_ndim(g); UNSUPPORTED("ad3gj6lsuor2yei2uael49jhb"); // /* Copy attributes from g. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("134w8vcs8qk4v9vf1z1wp9vg0"); // copyAttr(g,dg,"overlap"); UNSUPPORTED("5fwoygmjkymrgxdkfmkutsvuz"); // copyAttr(g,dg,"sep"); UNSUPPORTED("433rnj6ixonm6y9ctmp9h9lgs"); // copyAttr(g,dg,"K"); UNSUPPORTED("449dsc5wrhyuj3iwozcdd7sdd"); // /* create derived nodes from clusters */ UNSUPPORTED("7naa6f8pevjidfr7m41eli6xj"); // for (i = 1; i <= GD_n_cluster(g); i++) { UNSUPPORTED("9ddxwk9qkst1jg6m81vwuwn81"); // boxf fix_bb = {{ MAXDOUBLE, MAXDOUBLE },{ -MAXDOUBLE, -MAXDOUBLE }}; UNSUPPORTED("cpbcovu6u9jpbhniuwko58sge"); // subg = GD_clust(g)[i]; UNSUPPORTED("cxmz2wd4fqxujrjcaogvck4n7"); // do_graph_label(subg); UNSUPPORTED("d25721erilxnl8e6wgtvwwf4j"); // dn = mkDeriveNode(dg, agnameof(subg)); UNSUPPORTED("2p0a7ndqiu7hj4i6qiv1snx4l"); // ND_clust(dn) = subg; UNSUPPORTED("6nxi4co9zclo5acd9emsgntyw"); // ND_id(dn) = id++; UNSUPPORTED("bt358jfwmn2uq27qg8kgtungu"); // if (infop->G_coord) UNSUPPORTED("7f7y9g4k5ts6wgqw0qenbhtu0"); // chkPos(subg, dn, infop, &fix_bb); UNSUPPORTED("cy3v8r735frrrifffladjezdu"); // for (n = agfstnode(subg); n; n = agnxtnode(subg, n)) { UNSUPPORTED("1xlso3piaeev0go6meyr8boiz"); // (ND_next(n)) = dn; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("80rcuwseddkt07frvwz9n17vt"); // if (ND_pinned(dn)) { UNSUPPORTED("8a2zdxi6udoat007cfp9w4bkw"); // ND_pos(dn)[0] = (fix_bb.LL.x + fix_bb.UR.x) / 2; UNSUPPORTED("c69q3ml4t91kgitsc44ogkoa5"); // ND_pos(dn)[1] = (fix_bb.LL.y + fix_bb.UR.y) / 2; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("617ecq2paqeo8ldlt01h7q0oz"); // /* create derived nodes from remaining nodes */ UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("2ix5xgrr9i5zasv51xrt8rdxb"); // if (!(ND_next(n))) { UNSUPPORTED("chh77aumtkozm98s2n3hq6ntm"); // if ((ND_clust(n)) && ((ND_clust(n)) != (((gdata*)(GD_alg(g)))->parent))) { UNSUPPORTED("eox2yyzidryds7lm2todgq3g2"); // agerr (AGERR, "node \"%s\" is contained in two non-comparable clusters \"%s\" and \"%s\"\n", agnameof(n), agnameof(g), agnameof((ND_clust(n)))); UNSUPPORTED("5igby0q9jkycahnikpdleoyio"); // longjmp (jbuf, 1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("8dikkgctkq3s35v4tz9q2ejit"); // (ND_clust(n)) = g; UNSUPPORTED("9rhp942iykmc0yotzfkotd12d"); // if ((ND_clustnode(n))) UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; UNSUPPORTED("bv8j18oa5brhrd164npw7573f"); // dn = mkDeriveNode(dg, agnameof(n)); UNSUPPORTED("1xlso3piaeev0go6meyr8boiz"); // (ND_next(n)) = dn; UNSUPPORTED("2agpwv8n236x82s259zsvvbjc"); // ND_id(dn) = id++; UNSUPPORTED("3tgv5xfy7e1q5y0rl8zogrrsz"); // ND_width(dn) = ND_width(n); UNSUPPORTED("32riuc0tbefhrw67o8opdcooo"); // ND_height(dn) = ND_height(n); UNSUPPORTED("7hfs579l04890tsdi5zlthon2"); // ND_lw(dn) = ND_lw(n); UNSUPPORTED("cwno1a7tk3plxczie8ckeo13v"); // ND_rw(dn) = ND_rw(n); UNSUPPORTED("eueztzwym8i21m59nw8oo4il7"); // ND_ht(dn) = ND_ht(n); UNSUPPORTED("3lmyb3a76s2d2fy2t62go74vl"); // ND_shape(dn) = ND_shape(n); UNSUPPORTED("2xf64jj50n2mfjsjxqv38kqvb"); // ND_shape_info(dn) = ND_shape_info(n); UNSUPPORTED("6b4uf9mvh7xmc7zlfisy84j5z"); // if (ND_pinned(n)) { UNSUPPORTED("3wkwtu9wns6c4a2skfpx1c4ox"); // ND_pos(dn)[0] = ND_pos(n)[0]; UNSUPPORTED("319nx1xdjcjnbkoi5vxe2wowp"); // ND_pos(dn)[1] = ND_pos(n)[1]; UNSUPPORTED("42b5qiqttjn7ragj9irug02py"); // ND_pinned(dn) = ND_pinned(n); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("jq9juku0mxk2dheeaietg5jj"); // (((dndata*)(ND_alg(dn)))->dn) = n; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("e8fak2kgyre9b18od8wyrjlw2"); // /* add edges */ UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("ak952thd788dbr90m2fvaklyu"); // edge_t *e; UNSUPPORTED("25r3mrk84sqvejk2q2dd81aa1"); // node_t *hd; UNSUPPORTED("bp7hjq9fr800l7cjn5hojjyos"); // node_t *tl = (ND_next(n)); UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("bkfde9mm61hzm3azi6xouz3pv"); // hd = (ND_next(aghead(e))); UNSUPPORTED("2zvgmnv71vkplklm2dmwu24o6"); // if (hd == tl) UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; UNSUPPORTED("7yvps7igfif7acnwp70cumlel"); // if (hd > tl) UNSUPPORTED("1g6uo9qs73mwhukefmo4sngv5"); // de = agedge(dg, tl, hd, NULL,1); UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("1022owhcb88r8unps1boedbh4"); // de = agedge(dg, hd, tl, NULL,1); UNSUPPORTED("7hwwfug2934h5tg5e3qmi8m3w"); // agbindrec(de, "Agedgeinfo_t", sizeof(Agedgeinfo_t), NOT(0)); UNSUPPORTED("22z76uz4xfa28nyk5h3d1gsj3"); // ED_dist(de) = ED_dist(e); UNSUPPORTED("bcw18t5zay7blame1o4bs12tq"); // ED_factor(de) = ED_factor(e); UNSUPPORTED("c9nabs4xy7r0fpfmurplkrldy"); // /* fprintf (stderr, "edge %s -- %s\n", tl->name, hd->name); */ UNSUPPORTED("8625nhoiscdsh67j2rus26bgp"); // (((dndata*)(ND_alg(hd)))->wdeg)++; UNSUPPORTED("1arf55zpaosytbk2doe07hiqh"); // (((dndata*)(ND_alg(tl)))->wdeg)++; UNSUPPORTED("3sndhzronf938mbr4kohylk4l"); // if ((ED_to_virt(de) == 0)) { UNSUPPORTED("dp31c14fxs9t515jf1j36ihhw"); // (((dndata*)(ND_alg(hd)))->deg)++; UNSUPPORTED("eymwfx8dwyyyryw89ninijw61"); // (((dndata*)(ND_alg(tl)))->deg)++; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("cic1cuypauxmkiv3txyydlocu"); // addEdge(de, e); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5tn7h1exp6stahb3elxmbtchg"); // /* transform ports */ UNSUPPORTED("ac4pgb337ukder3sujg5h9q5t"); // if ((pp = (((gdata*)(GD_alg(g)))->ports))) { UNSUPPORTED("34rzfa5kqpuclqyhx08ql0nhp"); // bport_t *pq; UNSUPPORTED("5a0euc7zkzo97d75q8yv5hf9t"); // node_t *m; UNSUPPORTED("b3nm6dhki6i23iyz1l344asp2"); // int sz = (((gdata*)(GD_alg(g)))->nports); UNSUPPORTED("6ppwml6ylufuxfg2zrxs0z2ru"); // /* freed in freeDeriveGraph */ UNSUPPORTED("axu3u8881pm5plosjerpfoefx"); // (((gdata*)(GD_alg(dg)))->ports) = pq = (bport_t*)zmalloc((sz + 1)*sizeof(bport_t)); UNSUPPORTED("11mr8ytde2yz4td1bzjpdypro"); // sz = 0; UNSUPPORTED("ejmu2tqe004hmad7z3uen9sbd"); // while (pp->e) { UNSUPPORTED("1dd25u4wqgu3t9n27w1glf2z4"); // m = (ND_next(pp->n)); UNSUPPORTED("d4z9wura62xq75gxmoywpoeos"); // /* Create port in derived graph only if hooks to internal node */ UNSUPPORTED("8j32lcooudgseo85a0j51vz55"); // if (m) { UNSUPPORTED("am8i6svk94imehfp9byv7j5wc"); // dn = mkDeriveNode(dg, portName(g, pp)); UNSUPPORTED("aciu287d4ri031b89kgg3xz6x"); // sz++; UNSUPPORTED("bhfdahdflxt9gaf1pj0afw7jy"); // ND_id(dn) = id++; UNSUPPORTED("3aues0xosdqt23ymmjcziopg4"); // if (dn > m) UNSUPPORTED("7em53cu4xxwoel9gqq82t7lle"); // de = agedge(dg, m, dn, NULL,1); UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("e951yp20hzuifh083f6spalcu"); // de = agedge(dg, dn, m, NULL,1); UNSUPPORTED("2j1ohh7g5vwkdgxp5t9t3ny2"); // agbindrec(de, "Agedgeinfo_t", sizeof(Agedgeinfo_t), NOT(0)); UNSUPPORTED("5fe058fybewaey90x4td3ppc9"); // ED_dist(de) = ED_dist(pp->e); UNSUPPORTED("7a43n1n8dskthaivv69xyb698"); // ED_factor(de) = ED_factor(pp->e); UNSUPPORTED("3f4oahnf205anxmrm685rba8f"); // addEdge(de, pp->e); UNSUPPORTED("9tchk5ojkcxw2gm68riqvjif8"); // (((dndata*)(ND_alg(dn)))->wdeg)++; UNSUPPORTED("9q4bhzgr7c0e098pbmmvhqmg0"); // (((dndata*)(ND_alg(m)))->wdeg)++; UNSUPPORTED("7j33x9kn3fots2djc9yah9goz"); // (((dndata*)(ND_alg(dn)))->deg)++; /* ports are unique, so this will be the first and */ UNSUPPORTED("55lin4yd4sfuoga01gowno3xn"); // (((dndata*)(ND_alg(m)))->deg)++; /* only time the edge is touched. */ UNSUPPORTED("b0lwy0fznsomw5chpbt1nj5h0"); // pq->n = dn; UNSUPPORTED("bykxehfnrgknuf93a5cvk1qyd"); // pq->alpha = pp->alpha; UNSUPPORTED("9r66gr9ec26zwd6yk7l3f05a"); // pq->e = de; UNSUPPORTED("4ylj4yiwdkddsiqns5j3vq7m3"); // pq++; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("4t42c85s64mps71a1sjc7yoey"); // pp++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5bhygv54mbde0tmajhaqwxznv"); // (((gdata*)(GD_alg(dg)))->nports) = sz; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7t6k0j9ffr522l0t8a1atpxqy"); // return dg; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 33v5v2wokaumqudm0d0qlk1t6 // static int ecmp(const void *v1, const void *v2) public static Object ecmp(Object... arg) { UNSUPPORTED("cglhxc83kobq6uvln39iefpub"); // static int ecmp(const void *v1, const void *v2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2s7x8car3i6c4lrri2g00b10o"); // erec *e1 = (erec *) v1; UNSUPPORTED("ea12jvnp6iz8kr6o8prqn92b5"); // erec *e2 = (erec *) v2; UNSUPPORTED("esrrdcedcjc2527zw88yyq6l3"); // if (e1->alpha > e2->alpha) UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("29zqx7u24t3hbc2w6nsv43a6z"); // else if (e1->alpha < e2->alpha) UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("8ix5otcc1qjwrnv4bmhq4d4qo"); // else if (e1->dist2 > e2->dist2) UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("8rbp65y6jnfq1kcqsvoq98f9g"); // else if (e1->dist2 < e2->dist2) UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9yzpataeczxhgj2u09bsbpk1k // static erec *getEdgeList(node_t * n, graph_t * g) public static Object getEdgeList(Object... arg) { UNSUPPORTED("4js6nnzf22zxc98rmxu2sy0m5"); // static erec *getEdgeList(node_t * n, graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5wjozc08ggypzjbs49uzfopou"); // erec *erecs; UNSUPPORTED("zc25c5rgocmjnco9wlpa090t"); // int deg = (((dndata*)(ND_alg(n)))->deg); UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("an5v3e2oy9hxck46bwp0l8a0k"); // double dx, dy; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("8rdaar71kdkz8cpsoil3hqta0"); // node_t *m; UNSUPPORTED("cbmm4fkvgxlhv0t133owcx0jn"); // /* freed in expandCluster */ UNSUPPORTED("250grrs502e0mg71llqz7y3ey"); // erecs = (erec*)zmalloc((deg + 1)*sizeof(erec)); UNSUPPORTED("9z3er49pc4h2rxja5r9grdo0h"); // i = 0; UNSUPPORTED("dcuhjbsiioawp6zspvonwd4px"); // for (e = agfstedge(g, n); e; e = agnxtedge(g, e, n)) { UNSUPPORTED("cyvbvhb35lmo87fsomu1d96zj"); // if (aghead(e) == n) UNSUPPORTED("d7s4k8dv2n952zh2uzy586rlg"); // m = agtail(e); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("1f958q8a7vsixzpgoltd50ck9"); // m = aghead(e); UNSUPPORTED("230hngcg1h0kimh2x9qmw8aa6"); // dx = ND_pos(m)[0] - ND_pos(n)[0]; UNSUPPORTED("cp7yivxkc1o2123e3fj4fld40"); // dy = ND_pos(m)[1] - ND_pos(n)[1]; UNSUPPORTED("ebc0qzcdpyvo9hv477ji0d4ld"); // erecs[i].e = e; UNSUPPORTED("9ot3jasi873r93jjz3q7k0xl"); // erecs[i].alpha = atan2(dy, dx); UNSUPPORTED("ai500wq75tl9pns9eu0ebhnp2"); // erecs[i].dist2 = dx * dx + dy * dy; UNSUPPORTED("chd2f5z6rt19lbaye25ej7q6j"); // i++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("eo3y5e9msr0sbf98a9oq70rlx"); // assert(i == deg); UNSUPPORTED("4jcqtkewsctxthnbzmwkgsef1"); // qsort(erecs, deg, sizeof(erec), ecmp); UNSUPPORTED("19r2qn10360fdoz0ctd9swuhi"); // /* ensure no two angles are equal */ UNSUPPORTED("6xfuj7a6ekpi0iz8v543s6enb"); // if (deg >= 2) { UNSUPPORTED("3y61w6tgxj0gpwvw3bw2rtq34"); // int j; UNSUPPORTED("armuznkqp0y34r5qokhqwfiiw"); // double a, inc, delta, bnd; UNSUPPORTED("5or0zebpgtvozlmal8j2q1ymh"); // i = 0; UNSUPPORTED("b9y24dq92kvg4bpwzicghrrl9"); // while (i < deg - 1) { UNSUPPORTED("a8npf73y75uu4rqo3f0hnw1hj"); // a = erecs[i].alpha; UNSUPPORTED("2rrc6js2pfjyzqzzjj6rg6kpa"); // j = i + 1; UNSUPPORTED("7yy089fn32r4vqha2r41wd3ia"); // while ((j < deg) && (erecs[j].alpha == a)) UNSUPPORTED("ebt0qwigtq6akhjzerdy8d52b"); // j++; UNSUPPORTED("6owp0mbm26f3nqj1fmbqw05yl"); // if (j == i + 1) UNSUPPORTED("3c95efoun51kjpyj1cz86clhq"); // i = j; UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("1mjvaixyabzfkloamfs33m997"); // if (j == deg) UNSUPPORTED("93m0uslkw81crhho73k7j0iyw"); // bnd = M_PI; /* all values equal up to end */ UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("38sca4776wdqbui5fjgg0rhj"); // bnd = erecs[j].alpha; UNSUPPORTED("ekjte0x5h4d5chvnzxb8syu3g"); // delta = (bnd - a) / (j - i); UNSUPPORTED("9vvs5ywf8o7pulajli26ynshh"); // if (delta > (M_PI/90)) UNSUPPORTED("dlu9lh11lmhhkokx86hq43rek"); // delta = (M_PI/90); UNSUPPORTED("cl85s8tfki4o6j9rxhi27ibob"); // inc = 0; UNSUPPORTED("an7nwlp3eq8f7mnv3seg9zcoz"); // for (; i < j; i++) { UNSUPPORTED("2dznixqoe5fhu0xxwy0li9j0j"); // erecs[i].alpha += inc; UNSUPPORTED("31c8klms0zg7ed5pbia4p7ue7"); // inc += delta; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4c2yyc1h799tvjuqrd5sikjsk"); // return erecs; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5f5sxn4g2wwqsa042183bnkkb // static int genPorts(node_t * n, erec * er, bport_t * pp, int idx, double bnd) public static Object genPorts(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("a7opwz89ty2fab6t5020fxepv"); // genPorts(node_t * n, erec * er, bport_t * pp, int idx, double bnd) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dxz8gujppjqsa63merjuwp9ak"); // node_t *other; UNSUPPORTED("6iv4xusq3ncisurzdtlt8lhe9"); // int cnt; UNSUPPORTED("nvb8xxeb5opdi1chqigr5ll8"); // edge_t *e = er->e; UNSUPPORTED("bdbvy4bgsn8d0vzx18gusxheq"); // edge_t *el; UNSUPPORTED("54sqpcif3uwzim5rzj2yfvcv"); // edge_t **ep; UNSUPPORTED("etdgofjtpee3ial3gmpgysso0"); // double angle, delta; UNSUPPORTED("u5aovpvnb8qg67qiutwqcinb"); // int i, j, inc; UNSUPPORTED("7x9qeha2xtvr3yc8vzkquaayt"); // cnt = ED_count(e); UNSUPPORTED("6qn90nw5pl3r7g62aowp7ktsb"); // if (aghead(e) == n) UNSUPPORTED("5a60qbv8r5b666nfetu7fbotj"); // other = agtail(e); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("ddn2u7jjuy674veth7q72p0sb"); // other = aghead(e); UNSUPPORTED("ancvozx0amrnu89ky41goacj3"); // delta = (bnd - er->alpha) / cnt; UNSUPPORTED("5iv4gni7wdiw3u34jy7iefzel"); // angle = er->alpha; UNSUPPORTED("524im1x5zfkbrj2y3uvtc0o2q"); // if (delta > (M_PI/90)) UNSUPPORTED("5hvdfsr5lwj48jc8ne066wis3"); // delta = (M_PI/90); UNSUPPORTED("dmzdo20j5ywmevv4pucm657dl"); // if (n < other) { UNSUPPORTED("efntztef5scb94lalziv9p74c"); // i = idx; UNSUPPORTED("59w8ipq1hfgjppab0ne4vt5rn"); // inc = 1; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("9108b9iyl0c19by2pv8n8pxm5"); // i = idx + cnt - 1; UNSUPPORTED("a7uocrd0csmarv70416d9ro6d"); // inc = -1; UNSUPPORTED("1d5i6ukso5ctxozysewfhh2ji"); // angle += delta * (cnt - 1); UNSUPPORTED("9mml7cxrkh63582n90i7pmpri"); // delta = -delta; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4jwzdjf4m5joh6ns1sik7sefr"); // ep = (edge_t **) (el = ED_to_virt(e)); UNSUPPORTED("87erwse4muo7uek029fa7troo"); // for (j = 0; j < ED_count(e); j++, ep++) { UNSUPPORTED("6vqzt3ohw6lxk2qzpwjo6b3yu"); // el = *ep; UNSUPPORTED("4c8uyhenmzmpllixxgxerkicn"); // pp[i].e = el; UNSUPPORTED("aqj2zus52vmgjzmi8fjoaj8fy"); // pp[i].n = ((ND_next(agtail(el))) == n ? agtail(el) : aghead(el)); UNSUPPORTED("7j2e3e5y1jlynpdt66xosutmf"); // pp[i].alpha = angle; UNSUPPORTED("2zobp3cnpuyfg0efxtuusws2c"); // i += inc; UNSUPPORTED("aeyh09i9hn8lki7e6pkmnl3t7"); // angle += delta; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ahjledpa6jcj7ra1dv3nto2b0"); // return (idx + cnt); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1pzmadkv6kzksm5zd4naotpzn // static graph_t *expandCluster(node_t * n, graph_t * cg) public static Object expandCluster(Object... arg) { UNSUPPORTED("riju9qc2n42gxw3wilvyq5zs"); // static graph_t *expandCluster(node_t * n, graph_t * cg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2wfwicsc3edie6yyd9xhtjbnv"); // erec *es; UNSUPPORTED("1pmrh42jv7qy6796ro7kb0kvf"); // erec *ep; UNSUPPORTED("3kc67b1kq37hwnadtpynyn0w1"); // erec *next; UNSUPPORTED("f5k50h9iahfqirvly6e9mlu39"); // graph_t *sg = ND_clust(n); UNSUPPORTED("dj8wp6znctlnc9ae1rgvqwtj0"); // bport_t *pp; UNSUPPORTED("6spducho5ji2ipuw64ubl7x70"); // int sz = (((dndata*)(ND_alg(n)))->wdeg); UNSUPPORTED("716hjbifedt25yhusduvy5hlt"); // int idx = 0; UNSUPPORTED("7zng16j5qq8oz1p14ahsi4o2b"); // double bnd; UNSUPPORTED("8eti18xdz2mo8tqmx9hea5gj"); // if (sz != 0) { UNSUPPORTED("5ee465jmjebzumoi8t37ajkni"); // /* freed in cleanup_subgs */ UNSUPPORTED("dhgbh72vlj9t041pgvr8b4pz1"); // pp = (bport_t*)zmalloc((sz + 1)*sizeof(bport_t)); UNSUPPORTED("6uv9zk4so2vyd8eyt5yk7u224"); // /* create sorted list of edges of n */ UNSUPPORTED("5h94e1eoc5lgyf8oryr168kk7"); // es = ep = getEdgeList(n, cg); UNSUPPORTED("5pjygnv0w421soihur3j2n19s"); // /* generate ports from edges */ UNSUPPORTED("cv0otlibqhj5qkcyd9j21cjyw"); // while (ep->e) { UNSUPPORTED("16gz4mmyn1cns1ghgi4jnxtjz"); // next = ep + 1; UNSUPPORTED("epalo8tlkkido0vcxo64ti05o"); // if (next->e) UNSUPPORTED("8wo10h6flofq3f62vy4o7kbfs"); // bnd = next->alpha; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("biobr00aq48njyaoumysv2mdt"); // bnd = 2 * M_PI + es->alpha; UNSUPPORTED("dzv1s960k4mmyjifb39ofyf4w"); // idx = genPorts(n, ep, pp, idx, bnd); UNSUPPORTED("77abayl2usgy0cb19tv6lfa0a"); // ep = next; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("7pzx73jx9fdlfpom5fvuisf30"); // assert(idx == sz); UNSUPPORTED("5yg1wxrsyr26qkpfg5hb6ox69"); // (((gdata*)(GD_alg(sg)))->ports) = pp; UNSUPPORTED("2pte1i8la6fqapoqo9i6jq2jd"); // (((gdata*)(GD_alg(sg)))->nports) = sz; UNSUPPORTED("4vjbnrhp6sp81ysgpigk0w9fe"); // free(es); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1jw141gg4omv8r72xcbl5ln0o"); // return sg; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 y2v1e8mlrtal0inmqimbmwil // static void setClustNodes(graph_t* root) public static Object setClustNodes(Object... arg) { UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void UNSUPPORTED("a1xr13co28v2x7itvx57ckyjv"); // setClustNodes(graph_t* root) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2lzsl1e035wt5epd1h8f4bn8m"); // boxf bb; UNSUPPORTED("2n9wv2dwa543h4bdjd6u9qil3"); // graph_t* p; UNSUPPORTED("43ygqm2wusmc5ufanrf2tywuv"); // pointf ctr; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("3qdhpefftpzkhd1uimovgz5jh"); // double w, h, h_pts; UNSUPPORTED("d0p8olt4t1x5mfdfjmckju3y8"); // double h2, w2; UNSUPPORTED("d9xe8rt1gktknfj0nxqb22eba"); // pointf *vertices; UNSUPPORTED("8uyptmsbxy8cnb2yc5e1zjy93"); // for (n = agfstnode(root); n; n = agnxtnode(root, n)) { UNSUPPORTED("4b1hbbxns6t6oevwjsbv4513z"); // if (!(ND_clustnode(n))) continue; UNSUPPORTED("2m6wdm3211yoi47ht9uwrwgsm"); // p = (ND_clust(n)); UNSUPPORTED("5b9nka9jqnnowwqftn354445m"); // bb = (((gdata*)(GD_alg(p)))->bb); /* bbox in parent cluster's coordinates */ UNSUPPORTED("ehx0x2r1iwiwqns4hwag5ww6q"); // w = bb.UR.x - bb.LL.x; UNSUPPORTED("ecqr8i6dhetdps522wjdfb2c"); // h = bb.UR.y - bb.LL.y; UNSUPPORTED("aqt54dcfuupky9j2d2wlh5rd8"); // ctr.x = w / 2.0; UNSUPPORTED("vyxkz174l2mhl7ztncntmmsz"); // ctr.y = h / 2.0; UNSUPPORTED("1olcqhh2kmzq3hpz80wh71gcr"); // w2 = ((w / 2.0)*(double)72); UNSUPPORTED("c25hsrybs7p3ee3xen5qd13gj"); // h2 = ((h / 2.0)*(double)72); UNSUPPORTED("lcz07cdtav0i5pkdm4ulyeif"); // h_pts = ((h)*(double)72); UNSUPPORTED("bw4ulfhcuzvtfy8f1a0fjmiug"); // ND_pos(n)[0] = ctr.x; UNSUPPORTED("ec6oo47jscvlloh5x7u26ompb"); // ND_pos(n)[1] = ctr.y; UNSUPPORTED("6as0e9whx5epwmgr5h91oood0"); // ND_width(n) = w; UNSUPPORTED("exytwm9csyh4wkam8a94p7hd7"); // ND_height(n) = h; UNSUPPORTED("2izyeakwnte2k0f1rym0focld"); // /* ND_xsize(n) = POINTS(w); */ UNSUPPORTED("928hx9xiah08q2u08vu7ukgpt"); // ND_lw(n) = ND_rw(n) = w2; UNSUPPORTED("d0yspu392ttmkkqljtfb2eskr"); // ND_ht(n) = h_pts; UNSUPPORTED("22vsci7n08rkutzk5kh2yhl7c"); // vertices = ((polygon_t *) ND_shape_info(n))->vertices; UNSUPPORTED("dtnoqplb6f5t6rjoetdbn7dpt"); // vertices[0].x = ND_rw(n); UNSUPPORTED("no8acgmdosrbl407jbxil2zz"); // vertices[0].y = h2; UNSUPPORTED("5l5suyq7b3qoi5470ao9b1ihn"); // vertices[1].x = -ND_lw(n); UNSUPPORTED("4edoiulp1b902plttl0pprjs9"); // vertices[1].y = h2; UNSUPPORTED("b0yvqxi6n1vwbsngtqj8o03fp"); // vertices[2].x = -ND_lw(n); UNSUPPORTED("exj9asgcw08vxfr39ityozdfc"); // vertices[2].y = -h2; UNSUPPORTED("79hj8e9phwhpt992ut5q0iczf"); // vertices[3].x = ND_rw(n); UNSUPPORTED("93e6r0lx82k87elewlj8r4an5"); // vertices[3].y = -h2; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2uewd3mw1hgw96jr7xtn0ic0j // static void layout(graph_t * g, layout_info * infop) public static Object layout(Object... arg) { UNSUPPORTED("9wf2yhzjprzwjjvfeh8z88me2"); // static UNSUPPORTED("dh8zvn9r31zuya7cuy1pahkna"); // void layout(graph_t * g, layout_info * infop) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("88zvgip6mka5eie52temi7ynd"); // point *pts = NULL; UNSUPPORTED("36r1dzbbxcnyuanwl0580q4nw"); // graph_t *dg; UNSUPPORTED("cuxjodqo53rx3gt9t353c352r"); // node_t *dn; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("e75aepnaqkzqf68ewt7a4zqfi"); // graph_t *cg; UNSUPPORTED("5wyi0wasd5kecf6rhsqdjk7v2"); // graph_t *sg; UNSUPPORTED("9qoemozuf8uc27tr5yncxluhz"); // graph_t **cc; UNSUPPORTED("8gobe9nq2l5rtdvjoqtow0smk"); // graph_t **pg; UNSUPPORTED("bgwb4n61b6v6hggxzjxkzyyhh"); // int c_cnt; UNSUPPORTED("d8w902k7y57534m1l3mqq9o65"); // int pinned; UNSUPPORTED("737jd5uo7xo54hyd5aao8g0aw"); // xparams xpms; UNSUPPORTED("cve2on8gll5i0vomy8lnwhai2"); // if (Verbose) { UNSUPPORTED("rheewzyfvag1kqk93eajs451"); // fprintf (stderr, "layout %s\n", agnameof(g)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("cixz5s3nezkl0juedeg7g84v"); // /* initialize derived node pointers */ UNSUPPORTED("16hw9gw0dz2w7mrtba0eoqrdi"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("b11q9bnts0snyhhzbw1jj9miy"); // (ND_next(n)) = 0; UNSUPPORTED("7hk4syj6pc3qquqkt2x0z7ia3"); // dg = deriveGraph(g, infop); UNSUPPORTED("1ed3c4bs6xzjsg99joywylwdz"); // cc = pg = findCComp(dg, &c_cnt, &pinned); UNSUPPORTED("bzg4jbqclh75xauf8ahwwlqeu"); // while ((cg = *pg++)) { UNSUPPORTED("6p7xfvlw6j6ymy8dd4rtsex4c"); // fdp_tLayout(cg, &xpms); UNSUPPORTED("4kwu1qpsymozefbkw7esfkp0s"); // for (n = agfstnode(cg); n; n = agnxtnode(cg, n)) { UNSUPPORTED("19hq5zcwrpz3kbanolctt1rga"); // if (ND_clust(n)) { UNSUPPORTED("ehq21whkkcc52880147xdb98t"); // pointf pt; UNSUPPORTED("f3yuqnp4vbccljwzhl5z97asc"); // sg = expandCluster(n, cg); /* attach ports to sg */ UNSUPPORTED("cpdfu4kunfnauzugdp79ygbed"); // layout(sg, infop); UNSUPPORTED("8vfg96ob62g74ognc7r4pyolw"); // /* bb.LL == origin */ UNSUPPORTED("9og4fo5ydbv2iekdwdiithgp7"); // ND_width(n) = (((gdata*)(GD_alg(sg)))->bb).UR.x; UNSUPPORTED("ar5b8mgij9tdpbvonzvniy4w9"); // ND_height(n) = (((gdata*)(GD_alg(sg)))->bb).UR.y; UNSUPPORTED("m7uq67pf5n4kny8dsfqyvlgz"); // pt.x = 72 * (((gdata*)(GD_alg(sg)))->bb).UR.x; UNSUPPORTED("7qqo12s2ly8pftx69v9ho2fpx"); // pt.y = 72 * (((gdata*)(GD_alg(sg)))->bb).UR.y; UNSUPPORTED("6su2k057bgfgqwapl1bq6re22"); // ND_rw(n) = ND_lw(n) = pt.x/2; UNSUPPORTED("37rbzv83unu3wx38yhpqt3mfm"); // ND_ht(n) = pt.y; UNSUPPORTED("1lbnffsi0sqewlhnfr306b5os"); // } else if ((!(((dndata*)(ND_alg(n)))->dn) && !ND_clust(n))) UNSUPPORTED("12ovzyxhse31ofvnedz9rnbmi"); // agdelete(cg, n); /* remove ports from component */ UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2hwmcp6r05fwoszwknajwr4e"); // /* Remove overlaps */ UNSUPPORTED("bd30sghv773eh25e8172kcp79"); // if (agnnodes(cg) >= 2) { UNSUPPORTED("dde6icyk8p097navhq7n3d4rv"); // if (g == infop->rootg) UNSUPPORTED("o91hsoxdu3977z0no3btqze1"); // normalize (cg); UNSUPPORTED("9us3yztqv6awyy06jb3151pyz"); // fdp_xLayout(cg, &xpms); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6mqatxukn8l6algw6wnicdq1h"); // /* set bounding box but don't use ports */ UNSUPPORTED("6n9q6i2oz0h5lg51ne8sgdjd7"); // /* setBB (cg); */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ach533dwiyc833o0pcf45m8ey"); // /* At this point, each connected component has its nodes correctly UNSUPPORTED("dtlaursnpahyf5yquwl2hogzu"); // * positioned. If we have multiple components, we pack them together. UNSUPPORTED("cm4nzlpqz8bqyrm7er7yidp10"); // * All nodes will be moved to their new positions. UNSUPPORTED("8y4iimz4emw890c9cxiq368e7"); // * NOTE: packGraphs uses nodes in components, so if port nodes are UNSUPPORTED("8fxnvrdauinzrmk5b92vzkmwb"); // * not removed, it won't work. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("2dnakiplqvzvuwlmi04ym76w5"); // /* Handle special cases well: no ports to real internal nodes UNSUPPORTED("3ngzsmdezip2r5y6yu5ven665"); // * Place cluster edges separately, after layout. UNSUPPORTED("d7ob3q5h2kihofcd4ddnyn9ge"); // * How to combine parts, especially with disparate components? UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("69t9ynphg2g4zqbfhks86yntc"); // if (c_cnt > 1) { UNSUPPORTED("3i3alyfv4qh2fz47okmy66eyf"); // boolean *bp; UNSUPPORTED("rf0rb7e28dtuppfrbea2pr6i"); // if (pinned) { UNSUPPORTED("c0t0fbfp6yuwwowbu3c3qzmmf"); // bp = (boolean*)zmalloc((c_cnt)*sizeof(boolean)); UNSUPPORTED("3bzp377yjo1rz02ji0pcubqdg"); // bp[0] = NOT(0); UNSUPPORTED("6to1esmb8qfrhzgtr7jdqleja"); // } else UNSUPPORTED("e3vi166v7e69g73awva2677ii"); // bp = 0; UNSUPPORTED("6oq7dybkkhotxhmrffm6zq654"); // infop->pack.fixed = bp; UNSUPPORTED("3kwssq0p8kfzn8oj843c4sadv"); // pts = putGraphs(c_cnt, cc, NULL, &infop->pack); UNSUPPORTED("ba9wjjntjmbkmsqme4dmd6vly"); // if (bp) UNSUPPORTED("12zvaavn1p29dn5i0f00qjmvj"); // free(bp); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("b6puqm8dbf47p8okgmwft9wm8"); // pts = NULL; UNSUPPORTED("80omcjjgczpgh78ubtnewnqeo"); // if (c_cnt == 1) UNSUPPORTED("d1p8uifde77cs8ru5l0jthcor"); // compute_bb(cc[0]); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8uqxq2wibo1qumfk9jb959hw0"); // /* set bounding box of dg and reposition nodes */ UNSUPPORTED("a49nqy0s2t1fsx52x7a00ng6m"); // finalCC(dg, c_cnt, cc, pts, g, infop); UNSUPPORTED("1yomvtf3njcprecdmp7eq33o7"); // free (pts); UNSUPPORTED("4rqo60r491fsqgbni456x6hci"); // /* record positions from derived graph to input graph */ UNSUPPORTED("b0scw6vikd2qnty4kh34khl6q"); // /* At present, this does not record port node info */ UNSUPPORTED("7nwtte44n9k20ku652pjxaf79"); // /* In fact, as noted above, we have removed port nodes */ UNSUPPORTED("9v9aifyc1wn6fmqno12jtgowg"); // for (dn = agfstnode(dg); dn; dn = agnxtnode(dg, dn)) { UNSUPPORTED("6ta70illj6ohfmqkcmf1wmybj"); // if ((sg = ND_clust(dn))) { UNSUPPORTED("burgcn0sab271m2e67b9vs4e8"); // (((gdata*)(GD_alg(sg)))->bb).LL.x = ND_pos(dn)[0] - ND_width(dn) / 2; UNSUPPORTED("45rvs2t96msophfe1x3mvh9uc"); // (((gdata*)(GD_alg(sg)))->bb).LL.y = ND_pos(dn)[1] - ND_height(dn) / 2; UNSUPPORTED("1alcqvbu6g0lg3qq1qd411k4n"); // (((gdata*)(GD_alg(sg)))->bb).UR.x = (((gdata*)(GD_alg(sg)))->bb).LL.x + ND_width(dn); UNSUPPORTED("296pr00pchso0t5tx7ml91gjg"); // (((gdata*)(GD_alg(sg)))->bb).UR.y = (((gdata*)(GD_alg(sg)))->bb).LL.y + ND_height(dn); UNSUPPORTED("5tzeb32o52lqrqrfnrsdvlp6w"); // } else if ((n = (((dndata*)(ND_alg(dn)))->dn))) { UNSUPPORTED("1topwhb5x9qma92g5gds1klvz"); // ND_pos(n)[0] = ND_pos(dn)[0]; UNSUPPORTED("dvh5pxzw5ug0vj9xh6t0kbzmx"); // ND_pos(n)[1] = ND_pos(dn)[1]; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("96o7eqvvi7yfzjh5cihnlmik1"); // (((gdata*)(GD_alg(g)))->bb) = (((gdata*)(GD_alg(dg)))->bb); UNSUPPORTED("55phil4i9byyqk021s75t7jm5"); // /* clean up temp graphs */ UNSUPPORTED("3oko0jiuaxgco73omavewl6ul"); // freeDerivedGraph(dg, cc); UNSUPPORTED("799nquje2u0787f1v6vg7jeo4"); // free(cc); UNSUPPORTED("cve2on8gll5i0vomy8lnwhai2"); // if (Verbose) { UNSUPPORTED("egyar87ti23k1trkd58y9x5mn"); // fprintf (stderr, "end %s\n", agnameof(g)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e6vpkhzs8vppi1ddy6378h69x // static void setBB(graph_t * g) public static Object setBB(Object... arg) { UNSUPPORTED("9gihlzux5i75iigxxvzci8y95"); // static void setBB(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("2lzsl1e035wt5epd1h8f4bn8m"); // boxf bb; UNSUPPORTED("66b1xztgh3k2s120ukvbxb0oe"); // bb.LL.x = 72 * (((gdata*)(GD_alg(g)))->bb).LL.x; UNSUPPORTED("pkikrl9ki5yy5rjpuhzhi6a4"); // bb.LL.y = 72 * (((gdata*)(GD_alg(g)))->bb).LL.y; UNSUPPORTED("33pghp4flcuky4frryba6nm6n"); // bb.UR.x = 72 * (((gdata*)(GD_alg(g)))->bb).UR.x; UNSUPPORTED("btca3fazt152tlo4fumfshra6"); // bb.UR.y = 72 * (((gdata*)(GD_alg(g)))->bb).UR.y; UNSUPPORTED("8pjanfm12ixxbeb7k86g3z5p4"); // GD_bb(g) = bb; UNSUPPORTED("7naa6f8pevjidfr7m41eli6xj"); // for (i = 1; i <= GD_n_cluster(g); i++) { UNSUPPORTED("elctwbyabxid1y9nbaea8sjun"); // setBB(GD_clust(g)[i]); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dn6oox23u0h8iskougokslo7e // void init_info(graph_t * g, layout_info * infop) public static Object init_info(Object... arg) { UNSUPPORTED("2lc3y7r4ks1cm6hql04o6t4hh"); // void init_info(graph_t * g, layout_info * infop) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("nw5y54zwq0b2slyao5wjz11m"); // infop->G_coord = agattr(g,AGRAPH, "coords", NULL); UNSUPPORTED("9p4le4vmrhg113rhwle53g00s"); // infop->G_width = agattr(g,AGRAPH, "width", NULL); UNSUPPORTED("a3bto8c232ov09lrrt8ffqjc0"); // infop->G_height = agattr(g, AGRAPH,"height", NULL); UNSUPPORTED("56qpputejr9qv8j4odoy6niiq"); // infop->rootg = g; UNSUPPORTED("1et75ypywlqixo81s24gievh1"); // infop->gid = 0; UNSUPPORTED("713zzachlarjpl7ntk2ri17xs"); // infop->pack.mode = getPackInfo(g, l_node, 8 / 2, &(infop->pack)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5hmw0raf7fo7e1651a9c86ux6 // static void mkClusters (graph_t * g, clist_t* pclist, graph_t* parent) public static Object mkClusters(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("2eeb6d0sgy6unuutphirljrg0"); // mkClusters (graph_t * g, clist_t* pclist, graph_t* parent) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("33i6ihl97ygnd0nu3vshtyus2"); // graph_t* subg; UNSUPPORTED("91n1af2pl9y3luspzlro6hvdn"); // clist_t list; UNSUPPORTED("2yst7zq83i4vw7r2zd3r3obg8"); // clist_t* clist; UNSUPPORTED("7uhikpp332vk10cbtpsbobb3w"); // if (pclist == NULL) { UNSUPPORTED("1kigmw3i0vf7adlel77srggyr"); // clist = &list; UNSUPPORTED("7q1y8ow8ah030fwaax0yka8dy"); // initCList(clist); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("2q6kb44buc8u4fiiy6rp8mde0"); // clist = pclist; UNSUPPORTED("8us9duq9qebqx3gvmv2fhsz0s"); // for (subg = agfstsubg(g); subg; subg = agnxtsubg(subg)) UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("6wyv62qz1rfx3aa2yjoud4bb7"); // if (!strncmp(agnameof(subg), "cluster", 7)) { UNSUPPORTED("20b6qijqfhqydfwqqvyon57vd"); // agbindrec(subg, "Agraphinfo_t", sizeof(Agraphinfo_t), NOT(0)); UNSUPPORTED("p26065ja2s9vjrvvkxphqak"); // GD_alg(subg) = (void *) (gdata*)zmalloc(sizeof(gdata)); /* freed in cleanup_subgs */ UNSUPPORTED("3qq65xelnxow982faji3nenpa"); // GD_ndim(subg) = GD_ndim(parent); UNSUPPORTED("3qr6sbufeim9aivvukgupx9a3"); // (((gdata*)(GD_alg(subg)))->level) = (((gdata*)(GD_alg(parent)))->level) + 1; UNSUPPORTED("dzlcmy7mlo7g4wu0zvt1l1sv"); // (((gdata*)(GD_alg(subg)))->parent) = parent; UNSUPPORTED("bm1io3f9athvso30b940cla38"); // addCluster(clist, subg); UNSUPPORTED("dz15beivtnurizqg4yb0m8rr9"); // mkClusters(subg, NULL, subg); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("ddr2v8k95yipuuxr863ke1923"); // mkClusters(subg, clist, parent); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7uhikpp332vk10cbtpsbobb3w"); // if (pclist == NULL) { UNSUPPORTED("bqzv2ql6ssjrc7lsmutbooo9n"); // GD_n_cluster(g) = list.cnt; UNSUPPORTED("bsoxsryrl38t4p726ewlt8yr1"); // if (list.cnt) UNSUPPORTED("872193cmr79m1328w6lutgco7"); // GD_clust(g) = RALLOC(list.cnt + 1, list.cl, graph_t*); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7oqb0h6e96vm35r62xv92siyl // void fdp_init_graph(Agraph_t * g) public static Object fdp_init_graph(Object... arg) { UNSUPPORTED("621hzpi43swuc9vu12w0otup0"); // void fdp_init_graph(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6vmhwvwf0v01vufgz8qcmh7jb"); // setEdgeType (g, (1 << 1)); UNSUPPORTED("3tux5uqf6wyphewj4a0h8vq7s"); // GD_alg(g) = (void *) (gdata*)zmalloc(sizeof(gdata)); /* freed in cleanup_graph */ UNSUPPORTED("11cpzbmfepql0mlmxdvdo8quh"); // GD_ndim(g) = late_int(g, agattr(g,AGRAPH, "dim", NULL), 2, 2); UNSUPPORTED("5hw8vplqatvcs4dw99m6zzbbk"); // Ndim = GD_ndim(g) = MIN(GD_ndim(g), 10); UNSUPPORTED("amlqsqhvjj73xf83yl2mywxer"); // mkClusters (g, NULL, g); UNSUPPORTED("8tbconrtghd0w4280y1tkzkvx"); // fdp_initParams(g); UNSUPPORTED("33lin92n8p2oh85qu0o1hqfcd"); // fdp_init_node_edge(g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1hxcjip1yvpy0vhiewttmat3j // void fdpLayout(graph_t * g) public static Object fdpLayout(Object... arg) { UNSUPPORTED("5ru9qe1nkqhsen6gakyhzl1ng"); // void fdpLayout(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3jv589is1bq9fpn36dwhl6isb"); // layout_info info; UNSUPPORTED("anrb4m1f1yn0xk25k5mc990zu"); // init_info(g, &info); UNSUPPORTED("3upqmz8ajc4vakmhu805h1nid"); // layout(g, &info); UNSUPPORTED("2e4rkfcememj12fx7tqwo25cy"); // setClustNodes(g); UNSUPPORTED("8lkjllp8rvxmyhf0fjdcgql3g"); // evalPositions(g,g); UNSUPPORTED("2yd4d5risg5xlhmke0mny96lg"); // /* Set bbox info for g and all clusters. This is needed for UNSUPPORTED("7so57s6gz0qrbj48s1eakmyr5"); // * spline drawing. We already know the graph bbox is at the origin. UNSUPPORTED("3my4yyass50pbs1pq6igaklqg"); // * On return from spline drawing, all bounding boxes should be correct. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("6n08gtkj0lfkzg6sfp4v5uv33"); // setBB(g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9zkwo8rvwdaqntt5ydgovptz9 // static void fdpSplines (graph_t * g) public static Object fdpSplines(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("ahpw08he4of3u3skdihhfb5m1"); // fdpSplines (graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("61qimfo86uhktkmgc2eifmw44"); // int trySplines = 0; UNSUPPORTED("cx1drb9eui5nioe70lvmlgm79"); // int et = (GD_flags(g) & (7 << 1)); UNSUPPORTED("d2c1pvg1dcyjaomjapjw58o8k"); // if (et != (1 << 1)) { UNSUPPORTED("c7ki4bp5938htpzwurqejskt2"); // if (et == (6 << 1)) { UNSUPPORTED("7x5gv7elnffza5po9q275o72c"); // trySplines = splineEdges(g, compoundEdges, (5 << 1)); UNSUPPORTED("7afs76n061qxddl4wd0mx7syj"); // /* When doing the edges again, accept edges done by compoundEdges */ UNSUPPORTED("28gf4qun1djy3on0kdkalq4wd"); // if (trySplines) UNSUPPORTED("f2wu54s3ntexz8vxnbbybck31"); // Nop = 2; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5iqpclxiba6in78dwhhfrkh7j"); // if (trySplines || (et != (6 << 1))) { UNSUPPORTED("3qn4hkiudvmupsge77wfj3h3w"); // if ((GD_flags(g) & 1)) { UNSUPPORTED("5l8jenkv77ax02t47zzxyv1k0"); // agerr(AGWARN, UNSUPPORTED("71igsnumhcmopapvl2ht62nhw"); // "splines and cluster edges not supported - using line segments\n"); UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("bckhi2az2g64mgp2okezfc8cm"); // spline_edges1(g, et); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("44lb25xxc9dc38to4r88d3e7i"); // Nop = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("edduytjcanjblib6cohib6vvl"); // if (State < 1) UNSUPPORTED("5g20bnuugvhmfkeu6mwq9admo"); // spline_edges1(g, (1 << 1)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 f3fkbzm2by9n9gfyca5lm4mzf // void fdp_layout(graph_t * g) public static Object fdp_layout(Object... arg) { UNSUPPORTED("a64yhnsx9rfi5rarfg5ajgxvx"); // void fdp_layout(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1por4locm3w6858i1hecz1ua5"); // /* Agnode_t* n; */ UNSUPPORTED("6n1wvk34us0rs8w6bpl2j60jb"); // double save_scale = PSinputscale; UNSUPPORTED("3pp4o4xb7kzgf0eutciesk63j"); // PSinputscale = get_inputscale (g); UNSUPPORTED("d3r3xu1e0xm8eldryvatkn73d"); // fdp_init_graph(g); UNSUPPORTED("ci9r8sj8tbc6yer5c8cebb0cm"); // if (setjmp(jbuf)) { UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ewx6xn7zd488a9txulkv17tcd"); // fdpLayout(g); UNSUPPORTED("8gq1pwiarmm40a109fontod36"); // neato_set_aspect(g); UNSUPPORTED("6ea8nkfyo4o4tnrlq1fr5lk19"); // if ((GD_flags(g) & (7 << 1)) != (0 << 1)) fdpSplines (g); UNSUPPORTED("dlehwmfi69wv6xm8yxld35dtj"); // gv_postprocess(g, 0); UNSUPPORTED("cfv32gj5wy5tzsqp22byr9tbf"); // PSinputscale = save_scale; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/fdpgen/tlayout__c.java000066400000000000000000001615271340005343600226550ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.fdpgen; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class tlayout__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 3re0e5qgyflcireefp7lbqns8 // static parms_t parms //3 ap3ziys4lgccfv5b9hoqgoh0g // static double cool(double temp, int t) public static Object cool(Object... arg) { UNSUPPORTED("5sgre4bc2ydv6l6svk8ek0txc"); // static double cool(double temp, int t) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dw9g5rx4w1ndvm14dmyd1mvas"); // return ((parms.T0) * ((parms.maxIters) - t)) / (parms.maxIters); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1hfj27tv640d0ffqfnm4vb1rz // static void reset_params(void) public static Object reset_params(Object... arg) { UNSUPPORTED("75qf9l8ygyuzzh8vd1n83vj0z"); // static void reset_params(void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c8a8jp11ftz446uf6uszgoze8"); // (parms.T0) = -1.0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3nh9css07393fmibnbovph2hs // static int init_params(graph_t * g, xparams * xpms) public static Object init_params(Object... arg) { UNSUPPORTED("48xs4ljefx0vremqgw3ve2odl"); // static int init_params(graph_t * g, xparams * xpms) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6c0or74do22mjnqxo3amn9k4o"); // int ret = 0; UNSUPPORTED("crp6otfgw6p0ubcoh1qm3lb05"); // if ((parms.T0) == -1.0) { UNSUPPORTED("yl9q627kjvgs8jal076bp3sd"); // int nnodes = agnnodes(g); UNSUPPORTED("5s1s7y81lrpy2vnfgv10ur6ri"); // (parms.T0) = (parms.Tfact) * (parms.K) * sqrt(nnodes) / 5; UNSUPPORTED("6bhqrgwycmijdx6y0w0h24lje"); // ret = 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bea2sjliujeywzkofbu5g6wrm"); // xpms->T0 = cool((parms.T0), (parms.pass1)); UNSUPPORTED("15szw8lxycu1ph1797eh963av"); // xpms->K = (parms.K); UNSUPPORTED("bb08968msejsgq6ax6cukmdqq"); // xpms->C = (parms.C); UNSUPPORTED("ajd01g9u5dg1lmf1dc37lh7n5"); // xpms->numIters = (parms.maxIters) - (parms.pass1); UNSUPPORTED("7c02dgjlmmmvkkyv8re4trtae"); // if ((parms.numIters) >= 0) { UNSUPPORTED("b7eb7h431oevllb0el5ljwhf5"); // if ((parms.numIters) <= (parms.pass1)) { UNSUPPORTED("1k1km56qkkjfno0nynnso12qb"); // (parms.loopcnt) = (parms.numIters); UNSUPPORTED("7orupvg2v93yn9ayi6934agib"); // xpms->loopcnt = 0; UNSUPPORTED("clivi4vn6ilbnz8nzb0yczlkz"); // } else if ((parms.numIters) <= (parms.maxIters)) { UNSUPPORTED("195qeklys8cc9ohbnb5jijys"); // (parms.loopcnt) = (parms.pass1); UNSUPPORTED("4gno9zp0ukr0oiqr36ju16pr2"); // xpms->loopcnt = (parms.numIters) - (parms.pass1); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("d2ke7mqdgmzme2foml7d52wyi"); // (parms.loopcnt) = (parms.pass1); UNSUPPORTED("72avjgv71z4fub3c90yugg1be"); // xpms->loopcnt = xpms->numIters; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("f3b7mj138albdr4lodyomke0z"); // return ret; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 67nwkqs1o8ak0ust8y6xuptkc // void fdp_initParams(graph_t * g) public static Object fdp_initParams(Object... arg) { UNSUPPORTED("1lc6n2kc85uu13nos0984xf29"); // void fdp_initParams(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dhkv7nf2l5so3osfttpwqe9jb"); // (parms.useGrid) = (fdp_parms->useGrid); UNSUPPORTED("7emjshxcasuzcjusb8bbxzdf7"); // (parms.useNew) = (fdp_parms->useNew); UNSUPPORTED("4mrcfc63ungaf44a4vj2uro2c"); // (parms.numIters) = (fdp_parms->numIters); UNSUPPORTED("1nx5n5st3t3nnx7yqzo6ozup6"); // (parms.unscaled) = (fdp_parms->unscaled); UNSUPPORTED("j5zv0n6wl3u586ysr1qqerue"); // (parms.Cell) = 0.0; UNSUPPORTED("dprq8f5x3ovtoay3nlztqt4pw"); // (parms.C) = (fdp_parms->C); UNSUPPORTED("5decfbdk7yhmkg3xgrg7f71sk"); // (parms.Tfact) = (fdp_parms->Tfact); UNSUPPORTED("36qd34h5uzomu0sxgh57rwyb1"); // (parms.maxIters) = late_int(g, agattr(g,AGRAPH, "maxiter", NULL), 600, 0); UNSUPPORTED("1ekk36jjcc8amkk8t0kk5xzqw"); // (fdp_parms->K) = (parms.K) = late_double(g, agattr(g,AGRAPH, "K", NULL), 0.3, 0.0); UNSUPPORTED("5w12po5gw20qkeg6lm9wuqf8b"); // if ((fdp_parms->T0) == -1.0) { UNSUPPORTED("5ei2wdbmgw6tsc1knlgsi5est"); // (parms.T0) = late_double(g, agattr(g,AGRAPH, "T0", NULL), -1.0, 0.0); UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("ey5pnbvbq4sdlnwyww4ufkgdl"); // (parms.T0) = (fdp_parms->T0); UNSUPPORTED("2dwfvel7mvtxuo89r4qyi9nd1"); // (parms.seed) = 1; UNSUPPORTED("chz814s9ux42fqrmt8jyt4bbo"); // (parms.smode) = setSeed (g, INIT_RANDOM, &(parms.seed)); UNSUPPORTED("1ziuxskpjtlf6j1n77u8fazho"); // if ((parms.smode) == INIT_SELF) { UNSUPPORTED("562i07uf5ntbjykofj7kehkl4"); // agerr(AGWARN, "fdp does not support start=self - ignoring\n"); UNSUPPORTED("3a789qzz25t3knjgbg1p6pmmc"); // (parms.seed) = INIT_RANDOM; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("73xh7m64drhf1ddu78yp29z9r"); // (parms.pass1) = ((parms.unscaled) * (parms.maxIters)) / 100; UNSUPPORTED("8iuaxpbl74yddrfynyul5uc8i"); // (parms.K2) = (parms.K) * (parms.K); UNSUPPORTED("5mn14gy4taomtxfb9fvba9s6"); // if ((parms.useGrid)) { UNSUPPORTED("8ukoelkh4qqn1mp0ues4sqdax"); // if ((parms.Cell) <= 0.0) UNSUPPORTED("2hn437nbrh7orkpd3flaakc4q"); // (parms.Cell) = 3 * (parms.K); UNSUPPORTED("evqkx9xtnwhnmrs6eak9kct5j"); // (parms.Cell2) = (parms.Cell) * (parms.Cell); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1mwp8luigyyz0ugh8bwajvy1p // static void doRep(node_t * p, node_t * q, double xdelta, double ydelta, double dist2) public static Object doRep(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("ci8iet8xei7zuq6iwdwmnfie2"); // doRep(node_t * p, node_t * q, double xdelta, double ydelta, double dist2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7xmrzkoismbw37gye9vc6jbi9"); // double force; UNSUPPORTED("6ri5yxqbfur0r77yjjezxcpf1"); // double dist; UNSUPPORTED("9eyts7dlroeintksamasblz0m"); // while (dist2 == 0.0) { UNSUPPORTED("a1kln2sh5ckxy9qbqw7ur6m89"); // xdelta = 5 - rand() % 10; UNSUPPORTED("5utygemiryo6q9jilsrhyspq1"); // ydelta = 5 - rand() % 10; UNSUPPORTED("9cv1lvbstloqs0iz3qbvzcbmx"); // dist2 = xdelta * xdelta + ydelta * ydelta; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2n97ejly0ms3mgkyc9mfw25dq"); // if ((parms.useNew)) { UNSUPPORTED("l1nxn0z1e5oz3ibg3ruc80qz"); // dist = sqrt(dist2); UNSUPPORTED("5hk3sr13w9lnqpnp9r7m0lswq"); // force = (parms.K2) / (dist * dist2); UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("ew8igrf3420bqug5dgydzcj44"); // force = (parms.K2) / dist2; UNSUPPORTED("ez9csfef9y6to70k15uttsiav"); // if ((!(((dndata*)(ND_alg(p)))->dn) && !ND_clust(p)) && (!(((dndata*)(ND_alg(q)))->dn) && !ND_clust(q))) UNSUPPORTED("dakbbyvagw597rpiubgw87lde"); // force *= 10.0; UNSUPPORTED("evkb6fsw3t47cwgrg7xefbqgt"); // (((dndata*)(ND_alg(q)))->disp)[0] += xdelta * force; UNSUPPORTED("47honvuz7ve5pvt9lba48wv53"); // (((dndata*)(ND_alg(q)))->disp)[1] += ydelta * force; UNSUPPORTED("adgrqasjyy2ekyp2z2g84w46v"); // (((dndata*)(ND_alg(p)))->disp)[0] -= xdelta * force; UNSUPPORTED("4ynq3yqyvpqd2e9jy2ky9g7m3"); // (((dndata*)(ND_alg(p)))->disp)[1] -= ydelta * force; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1l5u1c7g8sv7pkutpmed1onix // static void applyRep(Agnode_t * p, Agnode_t * q) public static Object applyRep(Object... arg) { UNSUPPORTED("djgrzdg0i7c81rt5ozd4fy6hy"); // static void applyRep(Agnode_t * p, Agnode_t * q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("fwy8i5zbwxhddxrcwdkd8w1g"); // double xdelta, ydelta; UNSUPPORTED("1gexoq8hut0hmb4k5ef2tvif7"); // xdelta = ND_pos(q)[0] - ND_pos(p)[0]; UNSUPPORTED("bwmnzroxk4eq5fdyzazcmagjs"); // ydelta = ND_pos(q)[1] - ND_pos(p)[1]; UNSUPPORTED("2od246ddg7nl8jg2vbe8w04jx"); // doRep(p, q, xdelta, ydelta, xdelta * xdelta + ydelta * ydelta); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6f5oevq3a3fan12vx9fd8sxig // static void doNeighbor(Grid * grid, int i, int j, node_list * nodes) public static Object doNeighbor(Object... arg) { UNSUPPORTED("9f2tkmlc1n9h3w8lqufgwmcu6"); // static void doNeighbor(Grid * grid, int i, int j, node_list * nodes) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bhnwogekrkz0g5g73xj7vst6t"); // cell *cellp = findGrid(grid, i, j); UNSUPPORTED("j7t2j63o6ph4jsh8zms26jia"); // node_list *qs; UNSUPPORTED("79qovd7yt2ksk0181m08pcblr"); // Agnode_t *p; UNSUPPORTED("26lkxbr2p03cdcyjp6mi5cdx0"); // Agnode_t *q; UNSUPPORTED("fwy8i5zbwxhddxrcwdkd8w1g"); // double xdelta, ydelta; UNSUPPORTED("a48uqm39jxw8xxk12bzq76zhe"); // double dist2; UNSUPPORTED("tvnd12y5b19iotifqmutyeto"); // if (cellp) { UNSUPPORTED("c22my4o1dz0d0w2h43rfo0whg"); // for (; nodes != 0; nodes = nodes->next) { UNSUPPORTED("e56s6kjmmhjpytxlariesqqdw"); // p = nodes->node; UNSUPPORTED("5rq3ugymaj6pf0dvsx6dz5w4h"); // for (qs = cellp->nodes; qs != 0; qs = qs->next) { UNSUPPORTED("1mj1hju2nppgtuoqv8ol5rvwr"); // q = qs->node; UNSUPPORTED("d26xtmkxvpccm7sq2vb7etugl"); // xdelta = (ND_pos(q))[0] - (ND_pos(p))[0]; UNSUPPORTED("5swigfg8ax2mrrfeth3ty0g2"); // ydelta = (ND_pos(q))[1] - (ND_pos(p))[1]; UNSUPPORTED("bmdm7zgfvy74ykfhpqs4mv0jz"); // dist2 = xdelta * xdelta + ydelta * ydelta; UNSUPPORTED("12ef6u3079vohtjab5738nb2o"); // if (dist2 < (parms.Cell2)) UNSUPPORTED("np3ryxjwz0n7fopro629q72k"); // doRep(p, q, xdelta, ydelta, dist2); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cs1mbkztfifrfwd3mxcwg1c2d // static int gridRepulse(Dt_t * dt, cell * cellp, Grid * grid) public static Object gridRepulse(Object... arg) { UNSUPPORTED("dmawgb7u402yluzrrnfgssfuf"); // static int gridRepulse(Dt_t * dt, cell * cellp, Grid * grid) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("esxthhmuxuie3avpfm2495114"); // node_list *nodes = cellp->nodes; UNSUPPORTED("6w5k8ca6easfov2mqqlrdb0dh"); // int i = cellp->p.i; UNSUPPORTED("3s6odfuh8voqpi0e47rmmpr95"); // int j = cellp->p.j; UNSUPPORTED("5t1k1070z2y2ulal5irpeh13r"); // node_list *p; UNSUPPORTED("26ois8lzf5gf4rlc7j1v07nrk"); // node_list *q; UNSUPPORTED("f47xyq0g5jc32mlw2w6176cj8"); // (void) dt; UNSUPPORTED("7bt8fvdfprnhldu94wzsjr1p8"); // for (p = nodes; p != 0; p = p->next) { UNSUPPORTED("9dtqsbgqhq08w8uqr6q8iu1zo"); // for (q = nodes; q != 0; q = q->next) UNSUPPORTED("3mqa4rk942u6cme7lx916c3e7"); // if (p != q) UNSUPPORTED("f4yngxzrsobxrx4qdgnbjuu7y"); // applyRep(p->node, q->node); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("39oj5x7p4uzn9pmrn291fb89e"); // doNeighbor(grid, i - 1, j - 1, nodes); UNSUPPORTED("4x5ymv4kpnjjlwgslb8y54wsf"); // doNeighbor(grid, i - 1, j, nodes); UNSUPPORTED("92c3ombzuprs207hb0839euz4"); // doNeighbor(grid, i - 1, j + 1, nodes); UNSUPPORTED("7x17d3x93lfyweou33msckmp3"); // doNeighbor(grid, i, j - 1, nodes); UNSUPPORTED("axuq727bu6dm67ozulydd2z8b"); // doNeighbor(grid, i, j + 1, nodes); UNSUPPORTED("aprvh8muazan9bg5c6s7zyh3k"); // doNeighbor(grid, i + 1, j - 1, nodes); UNSUPPORTED("6re8faddp09jcpaw086aebyak"); // doNeighbor(grid, i + 1, j, nodes); UNSUPPORTED("4vnxtoqrs66b93cw2r079w5uc"); // doNeighbor(grid, i + 1, j + 1, nodes); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cj85ae9twpl1qbvg8q1a5tkoy // static void applyAttr(Agnode_t * p, Agnode_t * q, Agedge_t * e) public static Object applyAttr(Object... arg) { UNSUPPORTED("awgsi6lurgqk8uwub4vivjq1j"); // static void applyAttr(Agnode_t * p, Agnode_t * q, Agedge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("fwy8i5zbwxhddxrcwdkd8w1g"); // double xdelta, ydelta; UNSUPPORTED("7xmrzkoismbw37gye9vc6jbi9"); // double force; UNSUPPORTED("6ri5yxqbfur0r77yjjezxcpf1"); // double dist; UNSUPPORTED("a48uqm39jxw8xxk12bzq76zhe"); // double dist2; UNSUPPORTED("1gexoq8hut0hmb4k5ef2tvif7"); // xdelta = ND_pos(q)[0] - ND_pos(p)[0]; UNSUPPORTED("bwmnzroxk4eq5fdyzazcmagjs"); // ydelta = ND_pos(q)[1] - ND_pos(p)[1]; UNSUPPORTED("cmcav5u77frmj6i50z471aqvo"); // dist2 = xdelta * xdelta + ydelta * ydelta; UNSUPPORTED("9eyts7dlroeintksamasblz0m"); // while (dist2 == 0.0) { UNSUPPORTED("a1kln2sh5ckxy9qbqw7ur6m89"); // xdelta = 5 - rand() % 10; UNSUPPORTED("5utygemiryo6q9jilsrhyspq1"); // ydelta = 5 - rand() % 10; UNSUPPORTED("9cv1lvbstloqs0iz3qbvzcbmx"); // dist2 = xdelta * xdelta + ydelta * ydelta; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dh786i3lrxpciiafxwi5hohar"); // dist = sqrt(dist2); UNSUPPORTED("4ba6s6456ep2phb9pwqjbc4b9"); // if ((parms.useNew)) UNSUPPORTED("87l88wtd7xyepuhmf35a6bbw2"); // force = (ED_factor(e) * (dist - ED_dist(e))) / dist; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("8wx917t05wq9rcvtqmvooz31z"); // force = (ED_factor(e) * dist) / ED_dist(e); UNSUPPORTED("ef256m9rw2e3kva0vy4mrt4pn"); // (((dndata*)(ND_alg(q)))->disp)[0] -= xdelta * force; UNSUPPORTED("de0dfwmddjz26z7cw76x9uejs"); // (((dndata*)(ND_alg(q)))->disp)[1] -= ydelta * force; UNSUPPORTED("9us8cvhguukd2iasv7c2crzho"); // (((dndata*)(ND_alg(p)))->disp)[0] += xdelta * force; UNSUPPORTED("e4teme92uacnxx36to3g3mdco"); // (((dndata*)(ND_alg(p)))->disp)[1] += ydelta * force; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6klhq8hd2uw9zsfrxwtv1ocnk // static void updatePos(Agraph_t * g, double temp, bport_t * pp) public static Object updatePos(Object... arg) { UNSUPPORTED("2u9aj6rjmowhmurab0vf3r69l"); // static void updatePos(Agraph_t * g, double temp, bport_t * pp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("sg55m1c2s3xuubzzp8n0sw3f"); // double temp2; UNSUPPORTED("25uak17ioz04l0iqfpc2rqjmq"); // double len2; UNSUPPORTED("65672t6c1pgmsnn9zxy9mwvwd"); // double x, y, d; UNSUPPORTED("an5v3e2oy9hxck46bwp0l8a0k"); // double dx, dy; UNSUPPORTED("amlnzp2bleh099q3wlzlmj8zn"); // temp2 = temp * temp; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("20k00hmq2eea97ngndk1rg61o"); // if (ND_pinned(n) & 2) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("1gq3st2z4k9zoet70m3v6x80b"); // dx = (((dndata*)(ND_alg(n)))->disp)[0]; UNSUPPORTED("aodqj11npmkk0fsuybgf620ln"); // dy = (((dndata*)(ND_alg(n)))->disp)[1]; UNSUPPORTED("5qw5xdnfn43mxsapjp20js30k"); // len2 = dx * dx + dy * dy; UNSUPPORTED("66bgqva7s9uk7ly4ar3frkuh1"); // /* limit by temperature */ UNSUPPORTED("baq9cdzymvavytsen7guap4p5"); // if (len2 < temp2) { UNSUPPORTED("e7qusmcrgbdr7i06hhwr6283y"); // x = ND_pos(n)[0] + dx; UNSUPPORTED("1m9xpejjuhy1uxvymyx53pxff"); // y = ND_pos(n)[1] + dy; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("9docoydbw13ckdwmcicezwzu8"); // double fact = temp / (sqrt(len2)); UNSUPPORTED("3qb2m4ym37kunjqqvftkozjbo"); // x = ND_pos(n)[0] + dx * fact; UNSUPPORTED("4xldvbdbn4zcpg8itxhyo9mgc"); // y = ND_pos(n)[1] + dy * fact; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("ewgha6n93ins88bgq7rcr4y1o"); // /* if ports, limit by boundary */ UNSUPPORTED("2tfzz986e4p2bid5m9sdnwfl7"); // if (pp) { UNSUPPORTED("2h2fbkvwazh0sjetv7njnauhb"); // d = sqrt((x * x) / (parms.Wd2) + (y * y) / (parms.Ht2)); UNSUPPORTED("ebgj1his6d8t4264yeael6ol7"); // if ((!(((dndata*)(ND_alg(n)))->dn) && !ND_clust(n))) { UNSUPPORTED("asq65gxobhrigft4q2hps44ae"); // ND_pos(n)[0] = x / d; UNSUPPORTED("c1q4rpgqya1cg62hjsznhcx7k"); // ND_pos(n)[1] = y / d; UNSUPPORTED("3zvvzyjqdnyczr8j3l63hduy7"); // } else if (d >= 1.0) { UNSUPPORTED("d0mnxdfz9aqy4chwtknduvqhm"); // ND_pos(n)[0] = 0.95 * x / d; UNSUPPORTED("3n2nm2hlcv949f84l1yk1ouvn"); // ND_pos(n)[1] = 0.95 * y / d; UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("bzcs5gjg4p7i9fed154arg1dl"); // ND_pos(n)[0] = x; UNSUPPORTED("62gf754isfr8v6h4kxxwi7it"); // ND_pos(n)[1] = y; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("430348dqvn3b36o02ezqbp1uw"); // ND_pos(n)[0] = x; UNSUPPORTED("d4yvjj58oi9ryj1jplnst6s5g"); // ND_pos(n)[1] = y; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2n34xldqlccwhpm8nh1rljs3p // static void gAdjust(Agraph_t * g, double temp, bport_t * pp, Grid * grid) public static Object gAdjust(Object... arg) { UNSUPPORTED("556yrn9aufakg2ifo3g1h6pwf"); // static void gAdjust(Agraph_t * g, double temp, bport_t * pp, Grid * grid) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("f1vdo4z4mtgqh7lb8t6qfv8gu"); // if (temp <= 0.0) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("644hq2ff42fduad6ofrcnnr3z"); // clearGrid(grid); UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("d4x7a0ncmwpuitrfyisphry1f"); // (((dndata*)(ND_alg(n)))->disp)[0] = (((dndata*)(ND_alg(n)))->disp)[1] = 0; UNSUPPORTED("5390epov6m7vcinu815ghkhf2"); // addGrid(grid, ((int)floor((ND_pos(n))[0] / (parms.Cell))), ((int)floor((ND_pos(n))[1] / (parms.Cell))), UNSUPPORTED("23mwr8qy9p56xnfsgsetr6kdu"); // n); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("8gbd6b2ssf51om8neirzzr6rw"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) UNSUPPORTED("2rz6z5yfu3wqj4z4t81p4m1a5"); // if (n != aghead(e)) UNSUPPORTED("9jgj9dhgjvujbr4f06kroynor"); // applyAttr(n, aghead(e), e); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3f3jqejsuoefgdz3m3vpdl620"); // walkGrid(grid, gridRepulse); UNSUPPORTED("6ucbf08xinzfcptpt2mc495jh"); // updatePos(g, temp, pp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3tt7ro82g74d4dhvgbd5rb9yf // static void adjust(Agraph_t * g, double temp, bport_t * pp) public static Object adjust(Object... arg) { UNSUPPORTED("lv445mknryp4zqtin641m8cs"); // static void adjust(Agraph_t * g, double temp, bport_t * pp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("4rip97cgvbcrlgycxl0wajpuh"); // Agnode_t *n1; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("f1vdo4z4mtgqh7lb8t6qfv8gu"); // if (temp <= 0.0) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("d4x7a0ncmwpuitrfyisphry1f"); // (((dndata*)(ND_alg(n)))->disp)[0] = (((dndata*)(ND_alg(n)))->disp)[1] = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("d5vhk45d87pvhm7ey0xmi5all"); // for (n1 = agnxtnode(g, n); n1; n1 = agnxtnode(g, n1)) { UNSUPPORTED("5r2borrugfgx76x385o64g6uq"); // applyRep(n, n1); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("2rz6z5yfu3wqj4z4t81p4m1a5"); // if (n != aghead(e)) UNSUPPORTED("9jgj9dhgjvujbr4f06kroynor"); // applyAttr(n, aghead(e), e); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6ucbf08xinzfcptpt2mc495jh"); // updatePos(g, temp, pp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5udrim0k65x88jcd6im7jsk0m // static pointf initPositions(graph_t * g, bport_t * pp) public static Object initPositions(Object... arg) { UNSUPPORTED("5zigfg3p1puzt2mnml8cp2xq9"); // static pointf initPositions(graph_t * g, bport_t * pp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7ne6dk4gevmg9bpajywpl0sld"); // int nG = agnnodes(g) - (((gdata*)(GD_alg(g)))->nports); UNSUPPORTED("cmbn2mebw9i4zvae8o1naka1f"); // double size; UNSUPPORTED("4dnqwjhhs92m1h2q7ld3cpbxw"); // Agnode_t *np; UNSUPPORTED("84res63gkgrpokqhvh08l25gq"); // int n_pos = 0; /* no. of nodes with position info */ UNSUPPORTED("as3veqd6dj01fepy5iqhc3cwb"); // box bb = { {0, 0}, {0, 0} }; UNSUPPORTED("p0gtnc9vtxwu59vjacxfq8q2"); // pointf ctr; /* center of boundary ellipse */ UNSUPPORTED("3cikqmw6ngedc2tcueu4k6kpn"); // long local_seed; UNSUPPORTED("f10pmsxbkh8gwvxc87ikaru1r"); // double PItimes2 = M_PI * 2.0; UNSUPPORTED("73rfwkv8ws65l7qgnz7jw27gf"); // for (np = agfstnode(g); np; np = agnxtnode(g, np)) { UNSUPPORTED("2p5byh0c6jasf3brw2ocfjljl"); // if (ND_pinned(np)) { UNSUPPORTED("b67kqz24hhewea5tyda1wyaeh"); // if (n_pos) { UNSUPPORTED("2ox2wzszwg6uksxze1jyo984e"); // bb.LL.x = MIN(ND_pos(np)[0], bb.LL.x); UNSUPPORTED("19mnog7trnfv3bhe0e066xv21"); // bb.LL.y = MIN(ND_pos(np)[1], bb.LL.y); UNSUPPORTED("7w96keir9silerc8qngpqjosk"); // bb.UR.x = MAX(ND_pos(np)[0], bb.UR.x); UNSUPPORTED("7k6ussgds4bd3z6eesr8fepbd"); // bb.UR.y = MAX(ND_pos(np)[1], bb.UR.y); UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("cprc9p2lim8mn728cjqcd9t8r"); // bb.UR.x = bb.LL.x = ND_pos(np)[0]; UNSUPPORTED("58a3mthmfxdro6hqr8iaekbzo"); // bb.UR.y = bb.LL.y = ND_pos(np)[1]; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("39bza2s3i3py75vnpuv0lahjr"); // n_pos++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("be13vd6vbtkm7vgtqhjrm3pnj"); // size = (parms.K) * (sqrt((double) nG) + 1.0); UNSUPPORTED("dyxxnbmtkvjmqulh7thgktg4s"); // (parms.Wd) = (parms.Ht) = 1.2 * (size / 2.0); UNSUPPORTED("5eg3rzhm9wggbsty8r3wbvqcy"); // if (n_pos == 1) { UNSUPPORTED("aqxuib6x0ru2lex5kbbxipidc"); // ctr.x = bb.LL.x; UNSUPPORTED("c2lyy587nd1u5om969mofy0lc"); // ctr.y = bb.LL.y; UNSUPPORTED("d6bvkxrex3rfetbazxs07ui79"); // } else if (n_pos > 1) { UNSUPPORTED("2o5vlil7etjeflp3478cnk1t1"); // double alpha, area, width, height, quot; UNSUPPORTED("e2bursa13trq43it5r42b5wxl"); // ctr.x = (bb.LL.x + bb.UR.x) / 2.0; UNSUPPORTED("8lkxdcp40t9kxlgfv6bmgopxw"); // ctr.y = (bb.LL.y + bb.UR.y) / 2.0; UNSUPPORTED("3j4sganaq9068n1er45ib9t0w"); // width = 1.2 * (bb.UR.x - bb.LL.x); UNSUPPORTED("31cw3gk0lnuv66j4rb6b76ujq"); // height = 1.2 * (bb.UR.y - bb.LL.y); UNSUPPORTED("9a1dqbpz59walt2lnrapoj8w9"); // area = 4.0 * (parms.Wd) * (parms.Ht); UNSUPPORTED("7sqr95ttttva9uhvsz8m37gb8"); // quot = (width * height) / area; UNSUPPORTED("aqxjptqp5qo65pns1mqxi1lvp"); // if (quot >= 1.0) { /* If bbox has large enough area, use it */ UNSUPPORTED("12mid8wvcpmwh4m3zoym9p3r6"); // (parms.Wd) = width / 2.0; UNSUPPORTED("4qrpy054cs5u0vzvebcrn5dda"); // (parms.Ht) = height / 2.0; UNSUPPORTED("c3u6g89kxfo9iluy5yos1quyx"); // } else if (quot > 0.0) { /* else scale up to have enough area */ UNSUPPORTED("dr733vgdfmc172xhjf47jwaxm"); // quot = 2.0 * sqrt(quot); UNSUPPORTED("8ogpn0wn3ja6jhfkziqwlr6ay"); // (parms.Wd) = width / quot; UNSUPPORTED("8ft1ybryais2vfkvvcur2sxgk"); // (parms.Ht) = height / quot; UNSUPPORTED("8of28fn1ted6krkmk2yjpau60"); // } else { /* either width or height is 0 */ UNSUPPORTED("2jkl72eptn2faso4y1tmn9uze"); // if (width > 0) { UNSUPPORTED("ckrjc637785ohj82zmyw9e5ik"); // height = area / width; UNSUPPORTED("eqttpym94omzt6oujyzbqa0n5"); // (parms.Wd) = width / 2.0; UNSUPPORTED("5jplytikh5trxma41nredtj3z"); // (parms.Ht) = height / 2.0; UNSUPPORTED("gseug6cie81aibj66xfmvo8j"); // } else if (height > 0) { UNSUPPORTED("8e54vo4hp4yrklm62vgkn5v5n"); // width = area / height; UNSUPPORTED("eqttpym94omzt6oujyzbqa0n5"); // (parms.Wd) = width / 2.0; UNSUPPORTED("5jplytikh5trxma41nredtj3z"); // (parms.Ht) = height / 2.0; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6hle4w7nbewioh1h57a8j8cvt"); // /* If width = height = 0, use Wd and Ht as defined above for UNSUPPORTED("7kk74syx1ba2ernmbirp3uwr9"); // * the case the n_pos == 0. UNSUPPORTED("20m1lc1moer8x00tx9ceto0iw"); // */ UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3o6kj172y1xphtpj6jabh2e94"); // /* Construct enclosing ellipse */ UNSUPPORTED("c0l603qzgyy1ql72a9qrgdals"); // alpha = atan2((parms.Ht), (parms.Wd)); UNSUPPORTED("bbydl25432avreznfwgihdyfq"); // (parms.Wd) = (parms.Wd) / cos(alpha); UNSUPPORTED("3f6cb7sp9a4of125y0697hp9n"); // (parms.Ht) = (parms.Ht) / sin(alpha); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("74pm3pn6axjjr00p1dklum3ja"); // ctr.x = ctr.y = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3pog5nekvf3aruzlqlqacxbn2"); // (parms.Wd2) = (parms.Wd) * (parms.Wd); UNSUPPORTED("9ppyltk2jjqg9furyd77w6fkd"); // (parms.Ht2) = (parms.Ht) * (parms.Ht); UNSUPPORTED("373lcxow3iqe10bnh9zo88csa"); // /* Set seed value */ UNSUPPORTED("w2sxuedcee1wo3s82gme86q1"); // if ((parms.smode) == INIT_RANDOM) UNSUPPORTED("j2hetou7f381kf2tbyh0rukg"); // local_seed = (parms.seed); UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("12svuafktwb2m6pdhnicft7ub"); // local_seed = getpid() ^ time(NULL); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("215ot7whw18pm35pop5udep50"); // srand(local_seed); UNSUPPORTED("dxe9gllri26lww3f475hmq5nv"); // /* If ports, place ports on and nodes within an ellipse centered at origin UNSUPPORTED("60rwp4z0fh34nnarv4wfcspx6"); // * with halfwidth Wd and halfheight Ht. UNSUPPORTED("1l0ild17ow39w4dmixs71gawy"); // * If no ports, place nodes within a rectangle centered at origin UNSUPPORTED("aircln8xkn5pw90ncdh2nng3a"); // * with halfwidth Wd and halfheight Ht. Nodes with a given position UNSUPPORTED("co3h8562l1uwhysdbeef7tn3u"); // * are translated. Wd and Ht are set to contain all positioned points. UNSUPPORTED("2hb260bbb3rvns3j0rfqnr4z"); // * The reverse translation will be applied to all UNSUPPORTED("bwk8qf4fezca0u8904a51fsgb"); // * nodes at the end of the layout. UNSUPPORTED("9tiugqaffj1brmkrm9mufk3cj"); // * TODO: place unfixed points using adjacent ports or fixed pts. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("7x3hp5csomjoow8l3cdyqhlp8"); // if (pp) { UNSUPPORTED("e5k8d4zlp85wal3b0r02pdece"); // /* fprintf (stderr, "initPos %s ctr (%g,%g) Wd %g Ht %g\n", g->name, ctr.x, ctr.y, Wd, Ht); */ UNSUPPORTED("28fuw97soxmhn0392piuj5ivk"); // while (pp->e) { /* position ports on ellipse */ UNSUPPORTED("ct66kbzehcaoegmxd9hvb8twk"); // np = pp->n; UNSUPPORTED("33uoc3m7i8cwcxcw7n38fx2w7"); // ND_pos(np)[0] = (parms.Wd) * cos(pp->alpha) + ctr.x; UNSUPPORTED("43in1oaf03hy0xtdyq6z7ecz"); // ND_pos(np)[1] = (parms.Ht) * sin(pp->alpha) + ctr.y; UNSUPPORTED("24z7oorb6gt8mp5y06u5kqb3x"); // ND_pinned(np) = 1; UNSUPPORTED("c2lbmfsz86m50be60annui55t"); // /* fprintf (stderr, "%s pt (%g,%g) %g\n", np->name, ND_pos(np)[0], ND_pos(np)[1], pp->alpha); */ UNSUPPORTED("4t42c85s64mps71a1sjc7yoey"); // pp++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1731abd7psvbovg3sdrrz3alu"); // for (np = agfstnode(g); np; np = agnxtnode(g, np)) { UNSUPPORTED("6spla98dm5djs2srzlwnx02sv"); // if ((!(((dndata*)(ND_alg(np)))->dn) && !ND_clust(np))) UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; UNSUPPORTED("acza7ojsifjul54q5l29o3te7"); // if (ND_pinned(np)) { UNSUPPORTED("bu6tbcasyqkgeqjew2fi9bit2"); // ND_pos(np)[0] -= ctr.x; UNSUPPORTED("88ypktdzp7sxkfmj7plhbudbh"); // ND_pos(np)[1] -= ctr.y; UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("4f01a8ivg0evqlhaplulzh9ek"); // pointf p = { 0.0, 0.0 }; UNSUPPORTED("e7zdyie228r4jun06bay4grdk"); // int cnt = 0; UNSUPPORTED("8i69mg2gjp2bd2vd19kwy3vox"); // node_t *op; UNSUPPORTED("39iaqnad631pzrqic9r3emgwy"); // edge_t *ep; UNSUPPORTED("aw2lxucqcgjz8l1b9e12bcsdd"); // for (ep = agfstedge(g, np); ep; ep = agnxtedge(g, ep, np)) { UNSUPPORTED("b5s94n8kk03c84n5vt353ibcy"); // if (aghead(ep) == agtail(ep)) UNSUPPORTED("91ilj0e8yph90t7k4ijuq5rb0"); // continue; UNSUPPORTED("z31psezyu92bc3yi9dvq6tc4"); // op = (aghead(ep) == np ? agtail(ep) : aghead(ep)); UNSUPPORTED("1y3r5jidx8ix3zux535zj5pyi"); // if (!(ND_pinned(op) > 0)) UNSUPPORTED("91ilj0e8yph90t7k4ijuq5rb0"); // continue; UNSUPPORTED("4ef5myoqgaf9zgbcn2wujxw1a"); // if (cnt) { UNSUPPORTED("7lebyzde5wb7xt11nsqzupefh"); // p.x = (p.x * cnt + ND_pos(op)[0]) / (cnt + 1); UNSUPPORTED("f0rtqxd7s2m0x7hxoa13q9kwj"); // p.y = (p.y * cnt + ND_pos(op)[1]) / (cnt + 1); UNSUPPORTED("d86r93g8nz9a1kfzgi7f8j8nh"); // } else { UNSUPPORTED("c0sc4z04s46uhshkw3ozqvnmd"); // p.x = ND_pos(op)[0]; UNSUPPORTED("eiuhticsuick7ct9uaxwjdsqo"); // p.y = ND_pos(op)[1]; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("ah6qookjy3kxxu2ll7p2wqkr5"); // cnt++; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("3ky7wkxaat443ni0lypyci7ds"); // if (cnt > 1) { UNSUPPORTED("5hf76y58zaxsd5yfbwr67v1pl"); // ND_pos(np)[0] = p.x; UNSUPPORTED("65iv8m1taebcnnh2f9dl3tzvd"); // ND_pos(np)[1] = p.y; UNSUPPORTED("22fwdoz45bfh8gcgd0uvdzwqi"); // /* fprintf (stderr, "%s 1 (%g,%g)\n", np->name, p.x, p.y); */ UNSUPPORTED("cuhpsk6avu7u4s1o3uouiyrwn"); // } else if (cnt == 1) { UNSUPPORTED("bshbnvfbvodmqx28tn1ekh68u"); // ND_pos(np)[0] = 0.98 * p.x + 0.1 * ctr.x; UNSUPPORTED("7es44punnuei8vk9a6zi6mfcr"); // ND_pos(np)[1] = 0.9 * p.y + 0.1 * ctr.y; UNSUPPORTED("ewww84n7ov6xly1rad9dphi8m"); // /* fprintf (stderr, "%s %d (%g,%g)\n", np->name, cnt, ND_pos(np)[0], ND_pos(np)[1]); */ UNSUPPORTED("a47jqpic91ky93e1ohxv590l5"); // } else { UNSUPPORTED("4m9h4qwahwza1l0lhm457zudx"); // double angle = PItimes2 * drand48(); UNSUPPORTED("3rvzprwz2t47pyqh60oqsw17j"); // double radius = 0.9 * drand48(); UNSUPPORTED("at7x0p3otimkmhsxqkambua5t"); // ND_pos(np)[0] = radius * (parms.Wd) * cos(angle); UNSUPPORTED("8e62lq0w9ogdd5bpizalws1x8"); // ND_pos(np)[1] = radius * (parms.Ht) * sin(angle); UNSUPPORTED("6p3ya6o9y82x4xvoubqk3sn9r"); // /* fprintf (stderr, "%s 0 (%g,%g)\n", np->name, ND_pos(np)[0], ND_pos(np)[1]); */ UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("7djjlwbyom7gt69719c2ge441"); // ND_pinned(np) = 1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("cj35dr9ue5hdfys90rl806ohk"); // if (n_pos) { /* If positioned nodes */ UNSUPPORTED("10u5z5m937fskvpiibijz5mn3"); // for (np = agfstnode(g); np; np = agnxtnode(g, np)) { UNSUPPORTED("1zfcoj5p8ibbitj9jx20klypu"); // if (ND_pinned(np)) { UNSUPPORTED("8r9mj2cdquw9apcge0rrsdvo4"); // ND_pos(np)[0] -= ctr.x; UNSUPPORTED("5p6xqo5ilca5hndjyy1rixyo6"); // ND_pos(np)[1] -= ctr.y; UNSUPPORTED("a47jqpic91ky93e1ohxv590l5"); // } else { UNSUPPORTED("4zftore6zkehqgal2xf22rsxm"); // ND_pos(np)[0] = (parms.Wd) * (2.0 * drand48() - 1.0); UNSUPPORTED("bi87ypmmvt5js8xtssxgkcztn"); // ND_pos(np)[1] = (parms.Ht) * (2.0 * drand48() - 1.0); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("7q4mtrigf95au3k1wtqedxeie"); // } else { /* No ports or positions; place randomly */ UNSUPPORTED("10u5z5m937fskvpiibijz5mn3"); // for (np = agfstnode(g); np; np = agnxtnode(g, np)) { UNSUPPORTED("8y3ekg5ooz7pty0anyx14u1a0"); // ND_pos(np)[0] = (parms.Wd) * (2.0 * drand48() - 1.0); UNSUPPORTED("9ytn7cf1z9nt38i4r4qxkfb8y"); // ND_pos(np)[1] = (parms.Ht) * (2.0 * drand48() - 1.0); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("48suit55vfvla133oj7youe6x"); // return ctr; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 63jai1t1xyfwqxq5g2yca6qwo // void dumpstat(graph_t * g) public static Object dumpstat(Object... arg) { UNSUPPORTED("20tbhzs2675qjcj5182bnwe3"); // void dumpstat(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("an5v3e2oy9hxck46bwp0l8a0k"); // double dx, dy; UNSUPPORTED("carv9c7ltra9s7bn7325yl1ca"); // double l, max2 = 0.0; UNSUPPORTED("embgw30vqico8gdmn2r6ywcb0"); // node_t *np; UNSUPPORTED("akibnb2rnde6cxd49pthk2vaf"); // edge_t *ep; UNSUPPORTED("73rfwkv8ws65l7qgnz7jw27gf"); // for (np = agfstnode(g); np; np = agnxtnode(g, np)) { UNSUPPORTED("237pehjbrsfpqsziagl7ruflr"); // dx = (((dndata*)(ND_alg(np)))->disp)[0]; UNSUPPORTED("3k3sgrq13y7dqtox9yw9buweb"); // dy = (((dndata*)(ND_alg(np)))->disp)[1]; UNSUPPORTED("2f9eablv6mecibn7seya1pzo1"); // l = dx * dx + dy * dy; UNSUPPORTED("4qnd3kdyfpakhf236u1fc7u3n"); // if (l > max2) UNSUPPORTED("8f9u1ocg2krmsv0et27dgbsho"); // max2 = l; UNSUPPORTED("djec9oesza03ze2suze0ecri6"); // fprintf(stderr, "%s: (%f,%f) (%f,%f)\n", agnameof(np), UNSUPPORTED("2dwhsgsw146t923oie4ner05n"); // ND_pos(np)[0], ND_pos(np)[1], (((dndata*)(ND_alg(np)))->disp)[0], (((dndata*)(ND_alg(np)))->disp)[1]); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("atgvw5qqam8q772joifsaroa6"); // fprintf(stderr, "max delta = %f\n", sqrt(max2)); UNSUPPORTED("73rfwkv8ws65l7qgnz7jw27gf"); // for (np = agfstnode(g); np; np = agnxtnode(g, np)) { UNSUPPORTED("9ogvgwje5yfel4p010a2ngel2"); // for (ep = agfstout(g, np); ep; ep = agnxtout(g, ep)) { UNSUPPORTED("iwctvaad280jc0xmmwtwb8t4"); // dx = ND_pos(np)[0] - ND_pos(aghead(ep))[0]; UNSUPPORTED("a0kmxxudbdd32pjrdm7h80n7j"); // dy = ND_pos(np)[1] - ND_pos(aghead(ep))[1]; UNSUPPORTED("2luk1bzlvxvsu4yaq14jpq63e"); // fprintf(stderr, " %s -- %s (%f)\n", agnameof(np), UNSUPPORTED("5mdn4gi1x1ejrr8dc8ptp7j2b"); // agnameof(aghead(ep)), sqrt(dx * dx + dy * dy)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d496llwnjlxt7wx0sw80xr3h // void fdp_tLayout(graph_t * g, xparams * xpms) public static Object fdp_tLayout(Object... arg) { UNSUPPORTED("4vartheayhc02p8abhpueur8k"); // void fdp_tLayout(graph_t * g, xparams * xpms) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("4yyiedehyodxqynt9nk46f3qx"); // int reset; UNSUPPORTED("5nprjii4b4t1tqwfa7blveqzl"); // bport_t *pp = (((gdata*)(GD_alg(g)))->ports); UNSUPPORTED("cdwiwyvrwcamy7fd5h8v4ctix"); // double temp; UNSUPPORTED("afeqt1r4ifq10hbcu0lkvgtcc"); // Grid *grid; UNSUPPORTED("43ygqm2wusmc5ufanrf2tywuv"); // pointf ctr; UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("9glfmd12pu2aocf0x89qyiagz"); // reset = init_params(g, xpms); UNSUPPORTED("51hmas0k3ztao4lklbnmgb1z4"); // temp = (parms.T0); UNSUPPORTED("e6aongyerd2z90gw4058nn9no"); // ctr = initPositions(g, pp); UNSUPPORTED("5mn14gy4taomtxfb9fvba9s6"); // if ((parms.useGrid)) { UNSUPPORTED("9gg2q890dm8rk01ln2soy9q07"); // grid = mkGrid(agnnodes(g)); UNSUPPORTED("99u5ex4brl0v72kblltu29qrp"); // adjustGrid(grid, agnnodes(g)); UNSUPPORTED("2fwoci0dajsurbv4llksgko0m"); // for (i = 0; i < (parms.loopcnt); i++) { UNSUPPORTED("8jwip4lpb66zrs8yg95kcyksu"); // temp = cool(temp, i); UNSUPPORTED("54329047fhts0pe5obmee52ea"); // gAdjust(g, temp, pp, grid); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("4j3wd9re4wtkkphmr45m55lv2"); // delGrid(grid); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("2fwoci0dajsurbv4llksgko0m"); // for (i = 0; i < (parms.loopcnt); i++) { UNSUPPORTED("8jwip4lpb66zrs8yg95kcyksu"); // temp = cool(temp, i); UNSUPPORTED("767555czr5rvuel3gvb17yhzz"); // adjust(g, temp, pp); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7n6pc2ga10preyiyao295oubn"); // if ((ctr.x != 0.0) || (ctr.y != 0.0)) { UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("a5q2n8etykpay9dc2nx2w6mbz"); // ND_pos(n)[0] += ctr.x; UNSUPPORTED("hr4c300wuhcjouckus3x3s8z"); // ND_pos(n)[1] += ctr.y; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("943t36gae0nxvl615sqll9s1g"); // /* dumpstat (g); */ UNSUPPORTED("d4menyaoqjljh2lz18bl9t9se"); // if (reset) UNSUPPORTED("7goawf09215kg8vtuk4nqmodn"); // reset_params(); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/fdpgen/xlayout__c.java000066400000000000000000001133141340005343600226500ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.fdpgen; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class xlayout__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 cvpqgsec3tmr0h6kegatvdo2o // static xparams xParams = //1 8f9xdlbcpihdbur9naj231v5t // static double K2 //1 5aob4wghdkq1e28nt4oyrvddh // static expand_t X_marg //1 7l32vac8fp98do10cuqzpsl4l // static double X_nonov //1 e5ye4unps2rfrha39ipukbu5e // static double X_ov //3 5bxdoearankwgwnh7ieev1f2t // void pr2graphs(Agraph_t *g0, Agraph_t *g1) public static Object pr2graphs(Object... arg) { UNSUPPORTED("8ob5e3tj3qqkxk707z4sva7dz"); // void pr2graphs(Agraph_t *g0, Agraph_t *g1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("m4sd0gipecvy276t1dajif14"); // fprintf(stderr,"%s",agnameof(g0)); UNSUPPORTED("aq42dms9d1zaqtfyso8yls5l6"); // fprintf(stderr,"(%s)",agnameof(g1)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9ezskcr89rqd729rtrbqk4blk // static double RAD(Agnode_t * n) public static Object RAD(Object... arg) { UNSUPPORTED("oc162pur08qfqvc6kkdwcgw"); // static double RAD(Agnode_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("anaablhvhkpfruhh6q7k9lfwn"); // double w = (X_marg.doAdd ? (ND_width(n)/2.0 + X_marg.x): ND_width(n)*X_marg.x/2.0); UNSUPPORTED("zp1pznlvmbw2pfi4j7brjwh5"); // double h = (X_marg.doAdd ? (ND_height(n)/2.0 + X_marg.y): ND_height(n)*X_marg.y/2.0); UNSUPPORTED("9trl22mhp4axgmgirik14gr6u"); // return sqrt(w * w + h * h); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 35nd9lhu27rtjq5z85w20sqxk // static void xinit_params(graph_t* g, int n, xparams * xpms) public static Object xinit_params(Object... arg) { UNSUPPORTED("2yuaxdm4eoik8go49xh4jyliq"); // static void xinit_params(graph_t* g, int n, xparams * xpms) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7d3dcu9gn67sf4j6ofdlzd9e2"); // xParams.K = xpms->K; UNSUPPORTED("bzscxmdiib054y1b13fn8y6vb"); // xParams.numIters = xpms->numIters; UNSUPPORTED("96uw87kt0m77qnixaozfrlmeb"); // xParams.T0 = xpms->T0; UNSUPPORTED("edcnua4znlcko2ncehdp01ux9"); // xParams.loopcnt = xpms->loopcnt; UNSUPPORTED("cmz7xoetbuvn90unm99tcjrhz"); // if (xpms->C > 0.0) UNSUPPORTED("44asfxa3iqq1cwctk3z80y6mn"); // xParams.C = xpms->C; UNSUPPORTED("74kcpkkqnpr70f5ns8e0ylhwy"); // K2 = xParams.K * xParams.K; UNSUPPORTED("9y1fegjaeqd8rpw0k4gxl17ry"); // if (xParams.T0 == 0.0) UNSUPPORTED("9g259lfbcjl150015cll6r9jn"); // xParams.T0 = xParams.K * sqrt(n) / 5; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4evkrutya1m77f44ifcv5ul6k // static double cool(int t) public static Object cool(Object... arg) { UNSUPPORTED("95xloz3za5b4e2j9eok82tdtc"); // static double cool(int t) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("16z464o3q66yekgwi2p39a8pb"); // return (xParams.T0 * (xParams.numIters - t)) / xParams.numIters; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6jgb6820mp4qkxw4s0i7ep80q // static int overlap(node_t * p, node_t * q) public static Object overlap(Object... arg) { UNSUPPORTED("1gajvytagqemoeeempry9wuse"); // static int overlap(node_t * p, node_t * q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("fwy8i5zbwxhddxrcwdkd8w1g"); // double xdelta, ydelta; UNSUPPORTED("2kjx8618avzvxvykmg255vf7n"); // int ret; UNSUPPORTED("1gexoq8hut0hmb4k5ef2tvif7"); // xdelta = ND_pos(q)[0] - ND_pos(p)[0]; UNSUPPORTED("a56zgftjqv6dl2mm95rkt5mh0"); // if (xdelta < 0) UNSUPPORTED("f1yrmo110089rce2g7b5jgxi2"); // xdelta = -xdelta; UNSUPPORTED("bwmnzroxk4eq5fdyzazcmagjs"); // ydelta = ND_pos(q)[1] - ND_pos(p)[1]; UNSUPPORTED("6p9797iiupvo9d8qdjagdayiw"); // if (ydelta < 0) UNSUPPORTED("6q3ayjopnn4trdnypm5ntd819"); // ydelta = -ydelta; UNSUPPORTED("a1v2usm8o9axh44ndj4urb3vc"); // ret = ((xdelta <= ((X_marg.doAdd ? (ND_width(p)/2.0 + X_marg.x): ND_width(p)*X_marg.x/2.0) + (X_marg.doAdd ? (ND_width(q)/2.0 + X_marg.x): ND_width(q)*X_marg.x/2.0))) && (ydelta <= ((X_marg.doAdd ? (ND_height(p)/2.0 + X_marg.y): ND_height(p)*X_marg.y/2.0) + (X_marg.doAdd ? (ND_height(q)/2.0 + X_marg.y): ND_height(q)*X_marg.y/2.0)))); UNSUPPORTED("f3b7mj138albdr4lodyomke0z"); // return ret; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8pxjya6r06g8bxhmlw8bd0fsn // static int cntOverlaps(graph_t * g) public static Object cntOverlaps(Object... arg) { UNSUPPORTED("31o5xe9u8gbzv8w7pouydcktx"); // static int cntOverlaps(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("enbpte8r795n45mzb78meqjac"); // node_t *p; UNSUPPORTED("aic5rmpwe0z0iycem3zwnz54z"); // node_t *q; UNSUPPORTED("behjm5bjsenezpg3f7cncvteu"); // int cnt = 0; UNSUPPORTED("1tf4b5zc506wr6frwwc6uiqh1"); // for (p = agfstnode(g); p; p = agnxtnode(g, p)) { UNSUPPORTED("cr44g0ehxj0z2z6zs1l1joab"); // for (q = agnxtnode(g, p); q; q = agnxtnode(g, q)) { UNSUPPORTED("2p4utan0wd6zdw72yy5h9mse2"); // cnt += overlap(p, q); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3zkt5kbq3sockq663o3s3ync7"); // return cnt; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4gtfyi31c5pyuram2ujkjtuxb // static int doRep(node_t * p, node_t * q, double xdelta, double ydelta, double dist2) public static Object doRep(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("ci8iet8xei7zuq6iwdwmnfie2"); // doRep(node_t * p, node_t * q, double xdelta, double ydelta, double dist2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("283tteroothnz184tu51u1gqa"); // int ov; UNSUPPORTED("7xmrzkoismbw37gye9vc6jbi9"); // double force; UNSUPPORTED("d8u93tbiftet7gnascai5xf56"); // /* double dout, din; */ UNSUPPORTED("engxau4wuazigk2udq499mfjr"); // /* double factor; */ UNSUPPORTED("9eyts7dlroeintksamasblz0m"); // while (dist2 == 0.0) { UNSUPPORTED("a1kln2sh5ckxy9qbqw7ur6m89"); // xdelta = 5 - rand() % 10; UNSUPPORTED("5utygemiryo6q9jilsrhyspq1"); // ydelta = 5 - rand() % 10; UNSUPPORTED("9cv1lvbstloqs0iz3qbvzcbmx"); // dist2 = xdelta * xdelta + ydelta * ydelta; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2teit5gznfwgcf6yt9p4yi8b6"); // if ((ov = overlap(p, q))) UNSUPPORTED("1ji431yv135ypqsxj7mfuq6kz"); // force = X_ov / dist2; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("3jh1msv7a592c7w2o1htjy9f2"); // force = X_nonov / dist2; UNSUPPORTED("evkb6fsw3t47cwgrg7xefbqgt"); // (((dndata*)(ND_alg(q)))->disp)[0] += xdelta * force; UNSUPPORTED("47honvuz7ve5pvt9lba48wv53"); // (((dndata*)(ND_alg(q)))->disp)[1] += ydelta * force; UNSUPPORTED("adgrqasjyy2ekyp2z2g84w46v"); // (((dndata*)(ND_alg(p)))->disp)[0] -= xdelta * force; UNSUPPORTED("4ynq3yqyvpqd2e9jy2ky9g7m3"); // (((dndata*)(ND_alg(p)))->disp)[1] -= ydelta * force; UNSUPPORTED("82m5sgzq9tf80cg4je6sb0dt3"); // return ov; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 vo7a7zssw9meiu7cbd9bc2w2 // static int applyRep(Agnode_t * p, Agnode_t * q) public static Object applyRep(Object... arg) { UNSUPPORTED("42w4fs067face6ybhdbc4dm7e"); // static int applyRep(Agnode_t * p, Agnode_t * q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("fwy8i5zbwxhddxrcwdkd8w1g"); // double xdelta, ydelta; UNSUPPORTED("1gexoq8hut0hmb4k5ef2tvif7"); // xdelta = ND_pos(q)[0] - ND_pos(p)[0]; UNSUPPORTED("bwmnzroxk4eq5fdyzazcmagjs"); // ydelta = ND_pos(q)[1] - ND_pos(p)[1]; UNSUPPORTED("abv0h9yqlurn14oo0x5uv9zy4"); // return doRep(p, q, xdelta, ydelta, xdelta * xdelta + ydelta * ydelta); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e7n8inn8axpewkqle5kltm5vc // static void applyAttr(Agnode_t * p, Agnode_t * q) public static Object applyAttr(Object... arg) { UNSUPPORTED("3ae1kegpe2zjt3moizp0poajn"); // static void applyAttr(Agnode_t * p, Agnode_t * q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("fwy8i5zbwxhddxrcwdkd8w1g"); // double xdelta, ydelta; UNSUPPORTED("7xmrzkoismbw37gye9vc6jbi9"); // double force; UNSUPPORTED("6ri5yxqbfur0r77yjjezxcpf1"); // double dist; UNSUPPORTED("ctt5nlvrv7m0w0nxaxij6cj8o"); // double dout; UNSUPPORTED("c8ob5j0wpqrszphxp6loxhay1"); // double din; UNSUPPORTED("4cwjdr47kafqn8kx0zhzvpr5d"); // if (overlap(p, q)) { UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1gexoq8hut0hmb4k5ef2tvif7"); // xdelta = ND_pos(q)[0] - ND_pos(p)[0]; UNSUPPORTED("bwmnzroxk4eq5fdyzazcmagjs"); // ydelta = ND_pos(q)[1] - ND_pos(p)[1]; UNSUPPORTED("bw1sesuw4cy90zcv9krq4bph2"); // dist = sqrt(xdelta * xdelta + ydelta * ydelta); UNSUPPORTED("2v56dw0jdzzlhxk831vkn0s6z"); // din = RAD(p) + RAD(q); UNSUPPORTED("3pghx81y2dpapjaw4o5itdft3"); // dout = dist - din; UNSUPPORTED("3f80v9p7jk2aow03la9ntwhhj"); // force = (dout * dout) / ((xParams.K + din) * dist); UNSUPPORTED("ef256m9rw2e3kva0vy4mrt4pn"); // (((dndata*)(ND_alg(q)))->disp)[0] -= xdelta * force; UNSUPPORTED("de0dfwmddjz26z7cw76x9uejs"); // (((dndata*)(ND_alg(q)))->disp)[1] -= ydelta * force; UNSUPPORTED("9us8cvhguukd2iasv7c2crzho"); // (((dndata*)(ND_alg(p)))->disp)[0] += xdelta * force; UNSUPPORTED("e4teme92uacnxx36to3g3mdco"); // (((dndata*)(ND_alg(p)))->disp)[1] += ydelta * force; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 72lfwy94e8xghh1pg6o51jx5d // static int adjust(Agraph_t * g, double temp) public static Object adjust(Object... arg) { UNSUPPORTED("bblnro80uf4l58mz89n7uwroc"); // static int adjust(Agraph_t * g, double temp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("4rip97cgvbcrlgycxl0wajpuh"); // Agnode_t *n1; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("sg55m1c2s3xuubzzp8n0sw3f"); // double temp2; UNSUPPORTED("83zpklqoz4hkcpabg6bg1meo4"); // double len; UNSUPPORTED("25uak17ioz04l0iqfpc2rqjmq"); // double len2; UNSUPPORTED("101m7lg3fvv7bt3cqnrr3ugkz"); // double disp[2]; /* incremental displacement */ UNSUPPORTED("dh4blwzy2gol2haq0zvq0r4mt"); // int overlaps = 0; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("d4x7a0ncmwpuitrfyisphry1f"); // (((dndata*)(ND_alg(n)))->disp)[0] = (((dndata*)(ND_alg(n)))->disp)[1] = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("8cdovd65kzu7c0gyi9f0vjomk"); // int ov; UNSUPPORTED("d5vhk45d87pvhm7ey0xmi5all"); // for (n1 = agnxtnode(g, n); n1; n1 = agnxtnode(g, n1)) { UNSUPPORTED("5d1miakuqe3pufhyrg2nfemab"); // ov = applyRep(n, n1); UNSUPPORTED("7p6d73ee50u1l78lhlmnrroih"); // /* if (V && ov) */ UNSUPPORTED("d8rl8vfx944ljvxg4cz14lwoq"); // /* fprintf (stderr,"%s ov %s\n", n->name, n1->name); */ UNSUPPORTED("6ihxid42li0vto0p3fy18ygc5"); // overlaps += ov; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("9xhw7ldujjd4t38b8enpnbcbe"); // applyAttr(n,aghead(e)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5j0o204tpirp5i0dda3kpel8c"); // if (overlaps == 0) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("amlnzp2bleh099q3wlzlmj8zn"); // temp2 = temp * temp; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("etksonx8xl1ocsnrpk6da3ob1"); // if (ND_pinned(n) == 3) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("46f36xeqr50orzwaaehnyahja"); // disp[0] = (((dndata*)(ND_alg(n)))->disp)[0]; UNSUPPORTED("7vl0plbi2jk05jpu82kk9vkxk"); // disp[1] = (((dndata*)(ND_alg(n)))->disp)[1]; UNSUPPORTED("6fr8xh0dd39sdf9ksk754u0uv"); // len2 = disp[0] * disp[0] + disp[1] * disp[1]; UNSUPPORTED("baq9cdzymvavytsen7guap4p5"); // if (len2 < temp2) { UNSUPPORTED("eylgn5y6582ba3grgy9oubk2r"); // ND_pos(n)[0] += disp[0]; UNSUPPORTED("5w0804th0mpm0jxustn7azku9"); // ND_pos(n)[1] += disp[1]; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("9eeklbdqa894l9ixhki8ipa39"); // /* to avoid sqrt, consider abs(x) + abs(y) */ UNSUPPORTED("4wg0pbkksylkittc56p4xy5y7"); // len = sqrt(len2); UNSUPPORTED("bbb6yt3aurbnw54oonsao9aco"); // ND_pos(n)[0] += (disp[0] * temp) / len; UNSUPPORTED("coudu8xt3dyzuw0r88wv26yk4"); // ND_pos(n)[1] += (disp[1] * temp) / len; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("eku6aljbiz6b4mrk8fh010m8o"); // return overlaps; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ebgb1mbfxrbsgxba0h76yoghu // static int x_layout(graph_t * g, xparams * pxpms, int tries) public static Object x_layout(Object... arg) { UNSUPPORTED("d8r2vtws8cszfcp0lp6lpsdtr"); // static int x_layout(graph_t * g, xparams * pxpms, int tries) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("j2awxnit81f2pqilevoqwbi7"); // int try; UNSUPPORTED("283tteroothnz184tu51u1gqa"); // int ov; UNSUPPORTED("cdwiwyvrwcamy7fd5h8v4ctix"); // double temp; UNSUPPORTED("brufdedflymb56undhz1cvxzw"); // int nnodes = agnnodes(g); UNSUPPORTED("bfnlke01bf5uxsciju0esym0d"); // int nedges = agnedges(g); UNSUPPORTED("9paqg2y24fs0c7o8fshi8r9gb"); // double K; UNSUPPORTED("737jd5uo7xo54hyd5aao8g0aw"); // xparams xpms; UNSUPPORTED("39wpa4jkntkm79hvns271igky"); // X_marg = sepFactor (g); UNSUPPORTED("ad4bj6umsvvvn9iafmyfski0v"); // if (X_marg.doAdd) { UNSUPPORTED("1h84n92mhpi0w98m7y86cl09m"); // X_marg.x = ((X_marg.x)/(double)72); /* sepFactor is in points */ UNSUPPORTED("9ue6xcyhni986kwvxugnza6h5"); // X_marg.y = ((X_marg.y)/(double)72); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a0v0gkh4wqz2jv2jt98llzuzy"); // ov = cntOverlaps(g); UNSUPPORTED("3uozzdw2fmo6jyna2cqdv2kri"); // if (ov == 0) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("9by4tgha5w5entt0s1o6syehv"); // try = 0; UNSUPPORTED("93av4lg9y3aedu1bn00moi8mn"); // xpms = *pxpms; UNSUPPORTED("17eaxg4hlw5ok3b139srbiy37"); // K = xpms.K; UNSUPPORTED("w7qba5butfj3jdoufrabtvld"); // while (ov && (try < tries)) { UNSUPPORTED("ctek1x05f6b50pk0hokcaoeoq"); // xinit_params(g, nnodes, &xpms); UNSUPPORTED("d36bht2b7d3wsqamzk5bp13bn"); // X_ov = xParams.C * K2; UNSUPPORTED("7jigut7zop8kgoolvtmty4hbj"); // X_nonov = (nedges*X_ov*2.0)/(nnodes*(nnodes-1)); UNSUPPORTED("jsk5uethwlbnb51ehgow3soh"); // for (i = 0; i < xParams.loopcnt; i++) { UNSUPPORTED("44wdm4c0q0pht0o3u6v5i07px"); // temp = cool(i); UNSUPPORTED("2iwdbgfwhz54bkmiukcxxvpz5"); // if (temp <= 0.0) UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("aenxo7m2fi02ngnhda071yjwl"); // ov = adjust(g, temp); UNSUPPORTED("9p3cpbzv9p8k1ka57xqhalk4s"); // if (ov == 0) UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("4o9sjijafemzfi2l116taidm7"); // try++; UNSUPPORTED("br971gk7pewl58gm56w8ubyx2"); // xpms.K += K; /* increase distance */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("82m5sgzq9tf80cg4je6sb0dt3"); // return ov; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7za1p2k71h4y3ogllxkyx2ih5 // void fdp_xLayout(graph_t * g, xparams * xpms) public static Object fdp_xLayout(Object... arg) { UNSUPPORTED("8t1bcmgwg6m0lep3eprv8adb7"); // void fdp_xLayout(graph_t * g, xparams * xpms) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4o4ua8zjnqs0c2322m5lyi6a4"); // int tries; UNSUPPORTED("1m8fw6ftw1xq6k4uyghckh81h"); // char* ovlp = agget (g, "overlap"); UNSUPPORTED("4ktkev652k4fyfzl4rmv5049p"); // char* cp; UNSUPPORTED("2wtobqhf44rke68jbttqcua4a"); // char* rest; UNSUPPORTED("cve2on8gll5i0vomy8lnwhai2"); // if (Verbose) { UNSUPPORTED("2ccn2srthr0pt1isjelqgdyii"); // fprintf (stderr, "xLayout "); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("11agdz7dh5ieet8ctmk1umnfv"); // if (!ovlp || (*ovlp == '\0')) { UNSUPPORTED("910m35r8c28nhc79emy2xg5xv"); // ovlp = "9:prism"; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ebztm1i3wjnjwd5ujqq4ovjz0"); // /* look for optional ":" or "number:" */ UNSUPPORTED("f3qk7qrm8j0z7wfwtlqrw9vz3"); // if ((cp = strchr(ovlp, ':')) && ((cp == ovlp) || isdigit(*ovlp))) { UNSUPPORTED("7wgdzf2gqck3j2qyt8jfply93"); // cp++; UNSUPPORTED("50lz7fpr4xwh0sg144lh8bsa9"); // rest = cp; UNSUPPORTED("4yn5gen1je7znx1qfggjf49if"); // tries = atoi (ovlp); UNSUPPORTED("1wypiyf7bw4lnnglss90nuhq2"); // if (tries < 0) tries = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("1ptbm9147387jdxujy59wugbp"); // tries = 0; UNSUPPORTED("64lbvqheko14zbss8st4mnx7u"); // rest = ovlp; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("cve2on8gll5i0vomy8lnwhai2"); // if (Verbose) { UNSUPPORTED("3w0rxu0bhoiq71ksp1um5148m"); // fprintf (stderr, "tries = %d, mode = %s\n", tries, rest); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3u031ze4x604nx7ic6wal9vqk"); // if (tries && !x_layout(g, xpms, tries)) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("6k7hqqqf1pb0lcyjk0boq5680"); // removeOverlapAs(g, rest); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/gvc/000077500000000000000000000000001340005343600171505ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/gen/lib/gvc/gvbuffstderr__c.java000066400000000000000000000114261340005343600231630ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.gvc; import static smetana.core.Macro.UNSUPPORTED; public class gvbuffstderr__c { //3 8e1sa6f5ejc0r49gfiuv32aul // void *buffstderr(void) public static Object buffstderr(Object... arg) { UNSUPPORTED("bel1uzbdqhzbiuqj5bt2lxzqq"); // void *buffstderr(void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("aexhdud6z2wbwwi73yppp0ynl"); // char *p; UNSUPPORTED("38cr9skhy4jrzhg3wj3bc20yu"); // struct buff_s *b; UNSUPPORTED("28m0s1mo38itho1au29oy5rv9"); // assert ((b = malloc(sizeof(struct buff_s)))); UNSUPPORTED("6rlbco8yzervnvmq2m0r611c1"); // assert ((b->template = strdup("/tmp/stderr_buffer_XXXXXX"))); UNSUPPORTED("bcqwp3my2rhtv5cf0oviy8odz"); // assert ((p = mktemp(b->template))); UNSUPPORTED("aw4nnvbir9iy1nuq4aukql0de"); // fflush(stderr); UNSUPPORTED("62lg711j2rddmpadkk7qhn7o7"); // fgetpos(stderr, &(b->pos)); UNSUPPORTED("1eysolcc2x8f6m0otum5r2501"); // b->fd = dup(fileno(stderr)); UNSUPPORTED("6hw12z5dqv9hheh1gxxpmwey0"); // freopen(b->template, "w+", stderr); UNSUPPORTED("2d461iz08h1aqinzmgs197s94"); // return (void *)b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c9716hxgrfzvnokv7hw8islwa // char *unbuffstderr(struct buff_s *b) public static Object unbuffstderr(Object... arg) { UNSUPPORTED("evux4jdjx4b2zi15ma1m76h5d"); // char *unbuffstderr(struct buff_s *b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eywfpf1qo3rooyuerxrc41h5p"); // long sz; UNSUPPORTED("71fkgwtjx5c4orpsdy7jkyr86"); // char *t = NULL; UNSUPPORTED("3al75fenupx704zal37z61c8b"); // FILE *f; UNSUPPORTED("aw4nnvbir9iy1nuq4aukql0de"); // fflush(stderr); UNSUPPORTED("2s4h3spdm3ti16pnbbiw5wl7h"); // sz = ftell(stderr); UNSUPPORTED("sy0yol0bacbdtlzdr1qewlj9"); // dup2(b->fd, fileno(stderr)); UNSUPPORTED("15iuj8qt4zyy6idhhvkhw7kyy"); // close(b->fd); UNSUPPORTED("6vd38rt8w7l0uxuayeny4pb4"); // clearerr(stderr); UNSUPPORTED("elgraii0bqskacqp0kwicgtfj"); // fsetpos(stderr, &(b->pos)); UNSUPPORTED("9zb4lfjglf6mq4qwh8w8tysh9"); // if (sz) { UNSUPPORTED("61z9k4t8590rqr4gbjt7udecr"); // /* stderr has been restored; these asserts use normal stderr output */ UNSUPPORTED("2mznswy9uou17ncks1p4of2f7"); // assert((t = malloc(sz+1))); UNSUPPORTED("4vbq5cvor2on52t1v9dbok91h"); // assert((f = fopen(b->template, "r"))); UNSUPPORTED("8s2fk8360i1yh41rn73tpnhj"); // assert( fread(t, 1, sz, f) == sz); UNSUPPORTED("dk3j3n9fv8k10vlyl1mk71gbf"); // fclose(f); UNSUPPORTED("7w549vhurh491724lsxzvdx0f"); // t[sz]='\0'; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1iabjly523zdwdwqm9s4pz5vc"); // unlink(b->template); UNSUPPORTED("1xawfl1gbhijvti6c9mg6k3bi"); // free(b->template); UNSUPPORTED("am24176ien70yg0oq7iticngs"); // free(b); UNSUPPORTED("6lv6zglsw62ek6eoecn583mc9"); // return t; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/gvc/gvc__c.java000066400000000000000000000447531340005343600212500ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.gvc; import static gen.lib.cgraph.attr__c.agattr; import static gen.lib.common.textspan__c.textfont_dict_open; import static gen.lib.gvc.gvcontext__c.gvNEWcontext; import static gen.lib.gvc.gvtextlayout__c.gvtextlayout_select; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.AGNODE; import static smetana.core.Macro.NOT; import static smetana.core.Macro.UNSUPPORTED; import h.ST_GVC_s; import smetana.core.CString; public class gvc__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //3 f3vdhir2c7dz3pvmx9d3m4lx1 // GVC_t *gvContext(void) public static ST_GVC_s gvContext(Object... arg) { ENTERING("f3vdhir2c7dz3pvmx9d3m4lx1","gvContext"); try { ST_GVC_s gvc; agattr(null, AGNODE, new CString("label"), new CString("\\N")); /* default to no builtins, demand loading enabled */ gvc = (ST_GVC_s) gvNEWcontext(null, (NOT(0))); /* builtins don't require LTDL */ gvc.setInt("config_found", 0); gvtextlayout_select(gvc); /* choose best available textlayout plugin immediately */ textfont_dict_open(gvc); /* initialize font dict */ return gvc; } finally { LEAVING("f3vdhir2c7dz3pvmx9d3m4lx1","gvContext"); } } //3 71uhxq27gz2h6tw2jii3pv0m1 // GVC_t *gvContextPlugins(const lt_symlist_t *builtins, int demand_loading) public static Object gvContextPlugins(Object... arg) { UNSUPPORTED("ed1o9q8yu974j7v5vbap4dlsk"); // GVC_t *gvContextPlugins(const lt_symlist_t *builtins, int demand_loading) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8f3ds00y6y855lum5r1q8iguu"); // GVC_t *gvc; UNSUPPORTED("8808fnx5fweuiso27n5bmlach"); // agattr(NULL, AGNODE, "label", "\\N"); UNSUPPORTED("1n7k6h7whkgv2pc7hm2vxrtlz"); // gvc = gvNEWcontext(builtins, demand_loading); UNSUPPORTED("36nskub1lmc5t5yi3kt1v69ot"); // gvconfig(gvc, 0); /* configure for available plugins */ UNSUPPORTED("8vhd87hbzyu5ic6asaqlo81d5"); // return gvc; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dnud6ljljblwvlx76imgoo8i8 // int gvLayout(GVC_t *gvc, graph_t *g, const char *engine) public static Object gvLayout(Object... arg) { UNSUPPORTED("6y1to7xw4qcx9wxk34th6ze7q"); // int gvLayout(GVC_t *gvc, graph_t *g, const char *engine) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9cn2lsc78g1edtf7fifdb4iqx"); // char buf[256]; UNSUPPORTED("1bh3yj957he6yv2dkeg4pzwdk"); // int rc; UNSUPPORTED("ajvhg377bzgyjw1u7fc6ynufe"); // rc = gvlayout_select(gvc, engine); UNSUPPORTED("5wvj0ph8uqfgg8jl3g39jsf51"); // if (rc == 999) { UNSUPPORTED("bqcqxlaqnxiukaofkbaeohlrc"); // agerr (AGERR, "Layout type: \"%s\" not recognized. Use one of:%s\n", UNSUPPORTED("6vb5xjowxadh06keqoi8xkixl"); // engine, gvplugin_list(gvc, API_layout, engine)); UNSUPPORTED("f3a98gxettwtewduvje9y3524"); // return -1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2zgcvtw13j4ii0vfdebphrdmh"); // if (gvLayoutJobs(gvc, g) == -1) UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("1cg49iv90v5mueolzbu69xy3q"); // /* set bb attribute for basic layout. UNSUPPORTED("a7i33czrx785isv8bnwlpc39h"); // * doesn't yet include margins, scaling or page sizes because UNSUPPORTED("25x3oqnrohvx47gdi47wjsvje"); // * those depend on the renderer being used. */ UNSUPPORTED("2cxu41gtx0x2822685tf09ctd"); // if (GD_drawing(g)->landscape) UNSUPPORTED("bw86vkkrgie6ys9mgl56wng55"); // sprintf(buf, "%d %d %d %d", UNSUPPORTED("bejqbur89cau7q2a7x8pbuhd7"); // ROUND(GD_bb(g).LL.y), ROUND(GD_bb(g).LL.x), UNSUPPORTED("3ey1j2uf8t8xsknqe7zba77pt"); // ROUND(GD_bb(g).UR.y), ROUND(GD_bb(g).UR.x)); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("bw86vkkrgie6ys9mgl56wng55"); // sprintf(buf, "%d %d %d %d", UNSUPPORTED("7r04i6r8wgv29cf9sh4x0os5v"); // ROUND(GD_bb(g).LL.x), ROUND(GD_bb(g).LL.y), UNSUPPORTED("buvo4ybvfnr1ki5uxao1rrf74"); // ROUND(GD_bb(g).UR.x), ROUND(GD_bb(g).UR.y)); UNSUPPORTED("dpbq2928p9qeg5a464f8e2yjy"); // agsafeset(g, "bb", buf, ""); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2kh108ndzn77vjo1ch0gt1bak // int gvRender(GVC_t *gvc, graph_t *g, const char *format, FILE *out) public static Object gvRender(Object... arg) { UNSUPPORTED("e2g1sf67k7u629a0lf4qtd4w8"); // int gvRender(GVC_t *gvc, graph_t *g, const char *format, FILE *out) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1bh3yj957he6yv2dkeg4pzwdk"); // int rc; UNSUPPORTED("1ag9dz4apxn0w3cz8w2bfm6se"); // GVJ_t *job; UNSUPPORTED("8msotrfl0cngiua3j57ylm26b"); // g = g->root; UNSUPPORTED("exts51afuertju5ed5v7pdpg7"); // /* create a job for the required format */ UNSUPPORTED("dn6z1r1bbrtmr58m8dnfgfnm0"); // rc = gvjobs_output_langname(gvc, format); UNSUPPORTED("5apijrijm2r8b1g2l4x7iee7s"); // job = gvc->job; UNSUPPORTED("5wvj0ph8uqfgg8jl3g39jsf51"); // if (rc == 999) { UNSUPPORTED("4lkoedjryn54aff3fyrsewwu5"); // agerr (AGERR, "Format: \"%s\" not recognized. Use one of:%s\n", UNSUPPORTED("2pjgp86rkudo6mihbako5yps2"); // format, gvplugin_list(gvc, API_device, format)); UNSUPPORTED("f3a98gxettwtewduvje9y3524"); // return -1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ect62lxc3zm51lhzifift55m"); // job->output_lang = gvrender_select(job, job->output_langname); UNSUPPORTED("ewlceg1k4gs2e6syq4ear5kzo"); // if (!(agbindrec(g, "Agraphinfo_t", 0, NOT(0)) && GD_drawing(g)) && !(job->flags & (1<<26))) { UNSUPPORTED("3yo4xyapbp7osp8uyz4kff98s"); // agerrorf( "Layout was not done\n"); UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2ai20uylya195fbdqwjy9bz0n"); // job->output_file = out; UNSUPPORTED("10kpqi6pvibjsxjyg0g76lix3"); // if (out == NULL) UNSUPPORTED("d47ukby9krmz2k8ycmzzynnfr"); // job->flags |= (1<<27); UNSUPPORTED("9szsye4q9jykqvtk0bc1r91d0"); // rc = gvRenderJobs(gvc, g); UNSUPPORTED("7l8ugws8ptgtlxc1ymmh3cf18"); // gvrender_end_job(job); UNSUPPORTED("a9p7yonln7g91ge7xab3xf9dr"); // gvjobs_delete(gvc); UNSUPPORTED("5bc9k4vsl6g7wejc5xefc5964"); // return rc; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2e8uwmja1nq8v3iktli5cq851 // int gvRenderFilename(GVC_t *gvc, graph_t *g, const char *format, const char *filename) public static Object gvRenderFilename(Object... arg) { UNSUPPORTED("9xxpjotl5x2p5wtwqunca24kv"); // int gvRenderFilename(GVC_t *gvc, graph_t *g, const char *format, const char *filename) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1bh3yj957he6yv2dkeg4pzwdk"); // int rc; UNSUPPORTED("1ag9dz4apxn0w3cz8w2bfm6se"); // GVJ_t *job; UNSUPPORTED("8msotrfl0cngiua3j57ylm26b"); // g = g->root; UNSUPPORTED("exts51afuertju5ed5v7pdpg7"); // /* create a job for the required format */ UNSUPPORTED("dn6z1r1bbrtmr58m8dnfgfnm0"); // rc = gvjobs_output_langname(gvc, format); UNSUPPORTED("5apijrijm2r8b1g2l4x7iee7s"); // job = gvc->job; UNSUPPORTED("5wvj0ph8uqfgg8jl3g39jsf51"); // if (rc == 999) { UNSUPPORTED("cpui2f5hfk3cihua2ie59746n"); // agerr(AGERR, "Format: \"%s\" not recognized. Use one of:%s\n", UNSUPPORTED("2pjgp86rkudo6mihbako5yps2"); // format, gvplugin_list(gvc, API_device, format)); UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ect62lxc3zm51lhzifift55m"); // job->output_lang = gvrender_select(job, job->output_langname); UNSUPPORTED("ewlceg1k4gs2e6syq4ear5kzo"); // if (!(agbindrec(g, "Agraphinfo_t", 0, NOT(0)) && GD_drawing(g)) && !(job->flags & (1<<26))) { UNSUPPORTED("3yo4xyapbp7osp8uyz4kff98s"); // agerrorf( "Layout was not done\n"); UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("23iaqajrvbemalclzlgih1a09"); // gvjobs_output_filename(gvc, filename); UNSUPPORTED("9szsye4q9jykqvtk0bc1r91d0"); // rc = gvRenderJobs(gvc, g); UNSUPPORTED("7l8ugws8ptgtlxc1ymmh3cf18"); // gvrender_end_job(job); UNSUPPORTED("dql0bth0nzsrpiu9vnffonrhf"); // gvdevice_finalize(job); UNSUPPORTED("a9p7yonln7g91ge7xab3xf9dr"); // gvjobs_delete(gvc); UNSUPPORTED("5bc9k4vsl6g7wejc5xefc5964"); // return rc; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e73ju97kxz883q0hp1udq4rd7 // int gvRenderContext(GVC_t *gvc, graph_t *g, const char *format, void *context) public static Object gvRenderContext(Object... arg) { UNSUPPORTED("6bxfu9f9cshxn0i97berfl9bw"); // int gvRenderContext(GVC_t *gvc, graph_t *g, const char *format, void *context) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1bh3yj957he6yv2dkeg4pzwdk"); // int rc; UNSUPPORTED("1ag9dz4apxn0w3cz8w2bfm6se"); // GVJ_t *job; UNSUPPORTED("8msotrfl0cngiua3j57ylm26b"); // g = g->root; UNSUPPORTED("exts51afuertju5ed5v7pdpg7"); // /* create a job for the required format */ UNSUPPORTED("dn6z1r1bbrtmr58m8dnfgfnm0"); // rc = gvjobs_output_langname(gvc, format); UNSUPPORTED("5apijrijm2r8b1g2l4x7iee7s"); // job = gvc->job; UNSUPPORTED("5wvj0ph8uqfgg8jl3g39jsf51"); // if (rc == 999) { UNSUPPORTED("8r1a6szpsnku0jhatqkh0qo75"); // agerr(AGERR, "Format: \"%s\" not recognized. Use one of:%s\n", UNSUPPORTED("2pj79j8toe6bactkaedt54xcv"); // format, gvplugin_list(gvc, API_device, format)); UNSUPPORTED("b0epxudfxjm8kichhaautm2qi"); // return -1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ect62lxc3zm51lhzifift55m"); // job->output_lang = gvrender_select(job, job->output_langname); UNSUPPORTED("ewlceg1k4gs2e6syq4ear5kzo"); // if (!(agbindrec(g, "Agraphinfo_t", 0, NOT(0)) && GD_drawing(g)) && !(job->flags & (1<<26))) { UNSUPPORTED("3yo4xyapbp7osp8uyz4kff98s"); // agerrorf( "Layout was not done\n"); UNSUPPORTED("b0epxudfxjm8kichhaautm2qi"); // return -1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ex1rhur9nlj950oe8r621uxxk"); // job->context = context; UNSUPPORTED("3hvm1mza6yapsb3hi7bkw03cs"); // job->external_context = NOT(0); UNSUPPORTED("9szsye4q9jykqvtk0bc1r91d0"); // rc = gvRenderJobs(gvc, g); UNSUPPORTED("7l8ugws8ptgtlxc1ymmh3cf18"); // gvrender_end_job(job); UNSUPPORTED("dql0bth0nzsrpiu9vnffonrhf"); // gvdevice_finalize(job); UNSUPPORTED("a9p7yonln7g91ge7xab3xf9dr"); // gvjobs_delete(gvc); UNSUPPORTED("5bc9k4vsl6g7wejc5xefc5964"); // return rc; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2p4eja1ksp0cdz8qxl7wpzez9 // int gvRenderData(GVC_t *gvc, graph_t *g, const char *format, char **result, unsigned int *length) public static Object gvRenderData(Object... arg) { UNSUPPORTED("epzew3wavf5f9mykc38usb6r9"); // int gvRenderData(GVC_t *gvc, graph_t *g, const char *format, char **result, unsigned int *length) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1bh3yj957he6yv2dkeg4pzwdk"); // int rc; UNSUPPORTED("1ag9dz4apxn0w3cz8w2bfm6se"); // GVJ_t *job; UNSUPPORTED("8msotrfl0cngiua3j57ylm26b"); // g = g->root; UNSUPPORTED("exts51afuertju5ed5v7pdpg7"); // /* create a job for the required format */ UNSUPPORTED("dn6z1r1bbrtmr58m8dnfgfnm0"); // rc = gvjobs_output_langname(gvc, format); UNSUPPORTED("5apijrijm2r8b1g2l4x7iee7s"); // job = gvc->job; UNSUPPORTED("5wvj0ph8uqfgg8jl3g39jsf51"); // if (rc == 999) { UNSUPPORTED("cpui2f5hfk3cihua2ie59746n"); // agerr(AGERR, "Format: \"%s\" not recognized. Use one of:%s\n", UNSUPPORTED("2pjgp86rkudo6mihbako5yps2"); // format, gvplugin_list(gvc, API_device, format)); UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ect62lxc3zm51lhzifift55m"); // job->output_lang = gvrender_select(job, job->output_langname); UNSUPPORTED("ewlceg1k4gs2e6syq4ear5kzo"); // if (!(agbindrec(g, "Agraphinfo_t", 0, NOT(0)) && GD_drawing(g)) && !(job->flags & (1<<26))) { UNSUPPORTED("3yo4xyapbp7osp8uyz4kff98s"); // agerrorf( "Layout was not done\n"); UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("e2razcqp20hymeukedg9bannu"); // /* page size on Linux, Mac OS X and Windows */ UNSUPPORTED("78h54wwr6x96fwwes4nhn1tnu"); // if(!result || !(*result = malloc(4096))) { UNSUPPORTED("48p1xzjf31myn1slku76g3c8j"); // agerr(AGERR, "failure malloc'ing for result string"); UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("f3ljfuaa9qaj4cd1xhojgsd7d"); // job->output_data = *result; UNSUPPORTED("619t5sjk3c37ujk3ndu91wamv"); // job->output_data_allocated = 4096; UNSUPPORTED("dbvvz39zyfsbhofeha2hb1wpf"); // job->output_data_position = 0; UNSUPPORTED("9szsye4q9jykqvtk0bc1r91d0"); // rc = gvRenderJobs(gvc, g); UNSUPPORTED("7l8ugws8ptgtlxc1ymmh3cf18"); // gvrender_end_job(job); UNSUPPORTED("78jlu7v0o8b8itbx8ri5ptkc7"); // if (rc == 0) { UNSUPPORTED("2w0i2qgohz8ogcqrg43r585dh"); // *result = job->output_data; UNSUPPORTED("cnqap0ow188zdpvtqu6bfrmyr"); // *length = job->output_data_position; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a9p7yonln7g91ge7xab3xf9dr"); // gvjobs_delete(gvc); UNSUPPORTED("5bc9k4vsl6g7wejc5xefc5964"); // return rc; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9dmqkq749nve1m6f0uz279w5x // void gvFreeRenderData (char* data) public static Object gvFreeRenderData(Object... arg) { UNSUPPORTED("4zoblerqjutmiyqrcnymyvo8"); // void gvFreeRenderData (char* data) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("23jg3jufd8h5n6iqw6jh5trop"); // free (data); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 63riwkqx5e0b3n3yyjalaveuy // void gvAddLibrary(GVC_t *gvc, gvplugin_library_t *lib) public static Object gvAddLibrary(Object... arg) { UNSUPPORTED("31dpjbojh15wnjppy2p096exn"); // void gvAddLibrary(GVC_t *gvc, gvplugin_library_t *lib) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eawa3cjrrmhe2wb24kkblkv6k"); // gvconfig_plugin_install_from_library(gvc, NULL, lib); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bpzhymnb55ana0o9q691it06 // char **gvcInfo(GVC_t* gvc) public static Object gvcInfo(Object... arg) { UNSUPPORTED("4o912yqrgsuc4t2uym0i2siv3"); // char **gvcInfo(GVC_t* gvc) { return gvc->common.info; } throw new UnsupportedOperationException(); } //3 6gnk937rtz89xtqqmf7nb8mod // char *gvcVersion(GVC_t* gvc) public static Object gvcVersion(Object... arg) { UNSUPPORTED("34219rcx2cc7lx28xxwdo2zic"); // char *gvcVersion(GVC_t* gvc) { return gvc->common.info[1]; } throw new UnsupportedOperationException(); } //3 if7qohbqqln8g7vnhx128b1k // char *gvcBuildDate(GVC_t* gvc) public static Object gvcBuildDate(Object... arg) { UNSUPPORTED("7r5j1w6y3ov7ta18s257h2rqv"); // char *gvcBuildDate(GVC_t* gvc) { return gvc->common.info[2]; } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/gvc/gvcontext__c.java000066400000000000000000000157561340005343600225130ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.gvc; import static smetana.core.JUtils.function; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_GVC_s; import h.lt_symlist_t; import smetana.core.__ptr__; public class gvcontext__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 9xccaaawyqf5atj8e59ems07n // static char *LibInfo[] = //public static java.util.List LibInfo = java.util.Arrays.asList(new CString("graphviz"),new CString("PACKAGE_VERSION"),new CString("BUILDDATE")); public static __ptr__ LibInfo = null; //3 8jwauh4lo3kcvxhomy40s94b // GVC_t *gvNEWcontext(const lt_symlist_t *builtins, int demand_loading) public static ST_GVC_s gvNEWcontext(lt_symlist_t builtins, boolean demand_loading) { ENTERING("8jwauh4lo3kcvxhomy40s94b","gvNEWcontext"); try { ST_GVC_s gvc = new ST_GVC_s(); if (gvc!=null) { gvc.common.setPtr("info", LibInfo); gvc.common.setPtr("errorfn", function(gen.lib.cgraph.agerror__c.class, "agerrorf")); gvc.common.setPtr("builtins", builtins); gvc.common.demand_loading = demand_loading; } return gvc; } finally { LEAVING("8jwauh4lo3kcvxhomy40s94b","gvNEWcontext"); } } //3 7i8lj0jlmprrj5kmbegtkh46n // void gvFinalize(GVC_t * gvc) public static Object gvFinalize(Object... arg) { UNSUPPORTED("1dio7yofln4lzxco3d0eucybt"); // void gvFinalize(GVC_t * gvc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("72t0pmaautwuw3vb1xwa2grxz"); // if (gvc->active_jobs) UNSUPPORTED("dtzx65g0vmdvgplajdnqct44o"); // gvrender_end_job(gvc->active_jobs); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ctg42qeu1yvs2g9r5wcv4zzrl // int gvFreeContext(GVC_t * gvc) public static Object gvFreeContext(Object... arg) { UNSUPPORTED("cdc5p7gur1o2qu1rfaiwrhdyj"); // int gvFreeContext(GVC_t * gvc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5hwchhks73n6p0p7iu2dhstho"); // GVG_t *gvg, *gvg_next; UNSUPPORTED("adwgvl59jz4qsr1d7xxq5rsng"); // gvplugin_package_t *package, *package_next; UNSUPPORTED("arvwlcmlxzvpwvk7s223e2w8"); // emit_once_reset(); UNSUPPORTED("eutrfc45t7pr7snzd0yrns61e"); // gvg_next = gvc->gvgs; UNSUPPORTED("egtqgis45r50r0vpmklawt86c"); // while ((gvg = gvg_next)) { UNSUPPORTED("een7xpunmqq9r51mgh694gxvi"); // gvg_next = gvg->next; UNSUPPORTED("4iv5fzitlc63rdpf954w6dbax"); // free(gvg); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("aemtpukkty8b8p02pq9n1pe12"); // package_next = gvc->packages; UNSUPPORTED("6bhwk4v49u06ll2918aiuelsp"); // while ((package = package_next)) { UNSUPPORTED("17d6nsylkka56jdgieafhw3cl"); // package_next = package->next; UNSUPPORTED("37qv8a4u1yiip7ecavr8qkzkm"); // free(package->path); UNSUPPORTED("7pxw8ghhb5xxlpdd1jv7osfhz"); // free(package->name); UNSUPPORTED("aimh83a3k7a6ayfix3ppi8nqx"); // free(package); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a9p7yonln7g91ge7xab3xf9dr"); // gvjobs_delete(gvc); UNSUPPORTED("7rlh9wuy2qrh0ehtb3gdalado"); // if (gvc->config_path) UNSUPPORTED("757mqdb4lingk1bymuktrnevh"); // free(gvc->config_path); UNSUPPORTED("85h1etabgqi4o3qi83c7cprtf"); // if (gvc->input_filenames) UNSUPPORTED("58u4di4bdc3xnuj9x373q03z"); // free(gvc->input_filenames); UNSUPPORTED("2wnuuoxkpo409qiqqaihby1z9"); // textfont_dict_close(gvc); UNSUPPORTED("beuj2gz4oz0esqo5psm1l653c"); // free(gvc); UNSUPPORTED("41ok9shf9o21b8omrjo4s42gl"); // return (graphviz_errors + agerrors()); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/gvc/gvdevice__c.java000066400000000000000000000653061340005343600222620ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.gvc; import static smetana.core.Macro.UNSUPPORTED; public class gvdevice__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 eru7ktmd59gl3fcbs2oilhvbl // static const int PAGE_ALIGN = 4095 //3 2bgvvqltcp240iwsswb2msc4b // static size_t gvwrite_no_z (GVJ_t * job, const char *s, size_t len) public static Object gvwrite_no_z(Object... arg) { UNSUPPORTED("avituu19zqjw7jh9tfrcm2vaa"); // static size_t gvwrite_no_z (GVJ_t * job, const char *s, size_t len) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6thhrxbooxwjzs6lvh7tmii55"); // if (job->gvc->write_fn) /* externally provided write dicipline */ UNSUPPORTED("ajwhqhqyqpwentvna296wopdr"); // return (job->gvc->write_fn)(job, (char*)s, len); UNSUPPORTED("lih0ttredmrxsoz6mrlvzubo"); // if (job->output_data) { UNSUPPORTED("bnah2gb2ufomx7jjnzd97mbzm"); // if (len > job->output_data_allocated - (job->output_data_position + 1)) { UNSUPPORTED("3hrbwji40pio192kzij9cn7v1"); // /* ensure enough allocation for string = null terminator */ UNSUPPORTED("1ezdnr79jqff920zcjfu0ppqk"); // job->output_data_allocated = (job->output_data_position + len + 1 + PAGE_ALIGN) & ~PAGE_ALIGN; UNSUPPORTED("b67xdfs465mphgzhwe78lbfbu"); // job->output_data = realloc(job->output_data, job->output_data_allocated); UNSUPPORTED("4xh16lf1s9kh9dcfg8f9fkvfb"); // if (!job->output_data) { UNSUPPORTED("ec5pxlqld1kcgdncsj3us6t3s"); // (job->common->errorfn) ("memory allocation failure\n"); UNSUPPORTED("7ujm7da8xuut83e2rygja0n9d"); // exit(1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c02x4fbrjzoq9hakupjq645pz"); // memcpy(job->output_data + job->output_data_position, s, len); UNSUPPORTED("bmmkwdo5fdxd026lky22ivss6"); // job->output_data_position += len; UNSUPPORTED("9akolspkl84209r7uz2tjd6dd"); // job->output_data[job->output_data_position] = '\0'; /* keep null termnated */ UNSUPPORTED("38a44j47si8lvew9i7jutukn9"); // return len; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("8n04i1xqzj3xqxz7bhsek9vn7"); // return fwrite(s, sizeof(char), len, job->output_file); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cc376t4uiy6qsmjtdc2stei85 // static void auto_output_filename(GVJ_t *job) public static Object auto_output_filename(Object... arg) { UNSUPPORTED("7bmm5yx4a4rufskcsnxv6wl0z"); // static void auto_output_filename(GVJ_t *job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8kywmm7f51dmrjngxwvnpsd4o"); // static char *buf; UNSUPPORTED("ej9a738oun75yfz0fwi5yrr5"); // static size_t bufsz; UNSUPPORTED("92ye5npa3uq0ky5glgy35w5sk"); // char gidx[100]; /* large enough for '.' plus any integer */ UNSUPPORTED("4qa1e25as4n8qmsddpuz660zr"); // char *fn, *p, *q; UNSUPPORTED("do481ti1ubw0ltflx52iweigu"); // size_t len; UNSUPPORTED("8siu0oojewru3x36pkpq3rtcm"); // if (job->graph_index) UNSUPPORTED("36vwk7ry5ee8fz8vvvxhsa53y"); // sprintf(gidx, ".%d", job->graph_index + 1); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("11rmpw063nwapibztle1uicb4"); // gidx[0] = '\0'; UNSUPPORTED("bdnmi5g7zugx6oqb8oim4qkk6"); // if (!(fn = job->input_filename)) UNSUPPORTED("1461mo4l6w379jk7almrmjggq"); // fn = "noname.gv"; UNSUPPORTED("eo5ffy7jun0ei6jtmk8u4kwo5"); // len = strlen(fn) /* typically "something.gv" */ UNSUPPORTED("1ujivh2ss3ln7xyoufm1icu1s"); // + strlen(gidx) /* "", ".2", ".3", ".4", ... */ UNSUPPORTED("kjjd1xhi7gp11bp4k1e57wxd"); // + 1 /* "." */ UNSUPPORTED("eygwbha2x1l4n5rzyomr2dbqz"); // + strlen(job->output_langname) /* e.g. "png" */ UNSUPPORTED("6smfmxycsc2mrvcsl6mrgi727"); // + 1; /* null terminaor */ UNSUPPORTED("55qowwh2rcv2v2uu70hde9ct4"); // if (bufsz < len) { UNSUPPORTED("12hyi8sdel7zfnt9c20av1tp8"); // bufsz = len + 10; UNSUPPORTED("7ms5jdr5m50uzo3lxyt1gq0cj"); // buf = realloc(buf, bufsz * sizeof(char)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3czlpsj98ep2bccpqdudm2bej"); // strcpy(buf, fn); UNSUPPORTED("5iz9z9zc85yv4b16sbx2lywny"); // strcat(buf, gidx); UNSUPPORTED("5uqzbiefai050ewcqnxnhzyd2"); // strcat(buf, "."); UNSUPPORTED("erqd7hdzmwkcvzz2s1bjfhgwr"); // p = strdup(job->output_langname); UNSUPPORTED("4n8ktnhzjg21hh167bu9kbvuh"); // while ((q = strrchr(p, ':'))) { UNSUPPORTED("18g9wxzxu3k31c0stdr62a2r6"); // strcat(buf, q+1); UNSUPPORTED("3d0me2fe34rtpbmdfbbp9zyvk"); // strcat(buf, "."); UNSUPPORTED("cxlp7boqg1gqp4ii26w29519a"); // *q = '\0'; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("94ysqimvfahimlahyh4amvdd8"); // strcat(buf, p); UNSUPPORTED("bo0y3vz195pcz24vm46pixpb2"); // free(p); UNSUPPORTED("eif3727zpcgrby865izuy2bam"); // job->output_filename = buf; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9zdt3xvyjnxhf42eizyfy29ly // int gvdevice_initialize(GVJ_t * job) public static Object gvdevice_initialize(Object... arg) { UNSUPPORTED("2same1m1pu1ldefe93fodijcl"); // int gvdevice_initialize(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("44r8xaau6kv13q6liujnhwe0i"); // gvdevice_engine_t *gvde = job->device.engine; UNSUPPORTED("eyew5ay5wwktz4fysz0b78ugv"); // GVC_t *gvc = job->gvc; UNSUPPORTED("2p848auysctbpp02yxskwgoef"); // if (gvde && gvde->initialize) { UNSUPPORTED("3vrhe9vyw7wj2er55do0u371j"); // gvde->initialize(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8gs9pxngjqg7knaxiacx0x8tq"); // else if (job->output_data) { UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("359rwgnb349m83fzxkva3v46w"); // /* if the device has no initialization then it uses file output */ UNSUPPORTED("33oebivtpnjqlipt0pt25chff"); // else if (!job->output_file) { /* if not yet opened */ UNSUPPORTED("dp33ygrqgmzkpm08snkc1ervb"); // if (gvc->common.auto_outfile_names) UNSUPPORTED("e114zl89x5x9bx0p6tnctzh9z"); // auto_output_filename(job); UNSUPPORTED("a7zftzoyvxtzvya1m1b2ttg72"); // if (job->output_filename) { UNSUPPORTED("v1eei32rad2oq6s98de4ew05"); // job->output_file = fopen(job->output_filename, "w"); UNSUPPORTED("afw1ljocg5i7vzl6ghbj5joaq"); // if (job->output_file == (void *)0) { UNSUPPORTED("3kbjb2hiznrrr74oirsmjdsjy"); // (job->common->errorfn) ("Could not open \"%s\" for writing : %s\n", UNSUPPORTED("2lce20ttxmbpd5czpm6pd2mv6"); // job->output_filename, strerror(errno)); UNSUPPORTED("ef12rdptgkbtbbvkzn1djihki"); // /* perror(job->output_filename); */ UNSUPPORTED("6jf2l4v31jakvckptxdonjqpl"); // return(1); UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("35nw1pbiz2p3s6qwlam5eoo3m"); // else UNSUPPORTED("9c37ox95uc5viasrpewfi74ew"); // job->output_file = stdout; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("146f5u2dl3dt3devy0qnn6ylz"); // if (job->flags & (1<<10)) { UNSUPPORTED("98ow53mx94n2jxerk4g3xuyju"); // (job->common->errorfn) ("No libz support.\n"); UNSUPPORTED("atcj5la5r4ghvn5xk7kx25y7f"); // return(1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ajhncfer509k2pk55o2k8w9aw // size_t gvwrite (GVJ_t * job, const char *s, size_t len) public static Object gvwrite(Object... arg) { UNSUPPORTED("bwx5n843dguc728qqcypic3er"); // size_t gvwrite (GVJ_t * job, const char *s, size_t len) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cmn7vwsif1z0j2gjyq9v1u4pc"); // size_t ret, olen; UNSUPPORTED("bhgtpxgp12b1cvyt6ozbjx6yy"); // if (!len || !s) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("146f5u2dl3dt3devy0qnn6ylz"); // if (job->flags & (1<<10)) { UNSUPPORTED("98ow53mx94n2jxerk4g3xuyju"); // (job->common->errorfn) ("No libz support.\n"); UNSUPPORTED("dtw3cma0ziyha0w534bszl0tx"); // exit(1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8k95edr042llogz6nqedj70ic"); // else { /* uncompressed write */ UNSUPPORTED("3dfkzetcm152gosaspkplit3e"); // ret = gvwrite_no_z (job, s, len); UNSUPPORTED("couxfse3y39odtdvb0dsftko7"); // if (ret != len) { UNSUPPORTED("d5gw78oi8bl5tvl05pegfx7do"); // (job->common->errorfn) ("gvwrite_no_z problem %d\n", len); UNSUPPORTED("6f1y0d5qfp1r9zpw0r7m6xfb4"); // exit(1); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ji4xmwppaalf0z5xzgfw9h36"); // return len; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 38q4ri7dsm0ur36bqkxqeeu6y // int gvferror (FILE* stream) public static Object gvferror(Object... arg) { UNSUPPORTED("bw6pcxpys8yj8g1611fjiq85f"); // int gvferror (FILE* stream) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3g3bthpqcv2dm7v2g4agrgksv"); // GVJ_t *job = (GVJ_t*)stream; UNSUPPORTED("e7b7ktlmv7bf41ah2uirp0wr4"); // if (!job->gvc->write_fn && !job->output_data) UNSUPPORTED("k1l61wmfzzg66hb7gu3ouzpe"); // return ferror(job->output_file); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ejkm659i2t9ni9abwvls81srg // size_t gvfwrite (const void *ptr, size_t size, size_t nmemb, FILE *stream) public static Object gvfwrite(Object... arg) { UNSUPPORTED("9jmr6dp0tzh6pynfebkrgg0qu"); // size_t gvfwrite (const void *ptr, size_t size, size_t nmemb, FILE *stream) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2fw95dei1ujeec0ctcdy57c1x"); // assert(size = sizeof(char)); UNSUPPORTED("bnwpx03tbl086znf32xqomw8m"); // return gvwrite((GVJ_t*)stream, ptr, nmemb); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 baq4lnmy9b8h5r38t5kac1wfp // int gvputs(GVJ_t * job, const char *s) public static Object gvputs(Object... arg) { UNSUPPORTED("1p5e428gxaoorzh5qz00rfy0k"); // int gvputs(GVJ_t * job, const char *s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6sarrx22njzxoct1tqx2jnqwz"); // size_t len = strlen(s); UNSUPPORTED("ebjgxf9iw1qng39s9u5strvc4"); // if (gvwrite (job, s, len) != len) { UNSUPPORTED("5c6r4edgvaov4ot4iejbv50ew"); // return EOF; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("68vhwhq54lavtuaojheojvecm"); // return +1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dmzoqt3ukt72kvftmdjotritt // int gvputc(GVJ_t * job, int c) public static Object gvputc(Object... arg) { UNSUPPORTED("9mag55jpuhl60bjf9unj7xp92"); // int gvputc(GVJ_t * job, int c) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("79xkgu0m0ig0jh2o4v92li22p"); // const char cc = c; UNSUPPORTED("fkmtzb4a1u4ktyy2bnjez0jd"); // if (gvwrite (job, &cc, 1) != 1) { UNSUPPORTED("5c6r4edgvaov4ot4iejbv50ew"); // return EOF; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bskm24m9z4b23box60oxnymv"); // return c; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cv9w48stixnm7kbet4eftjadx // int gvflush (GVJ_t * job) public static Object gvflush(Object... arg) { UNSUPPORTED("5ckii4epkwj83v2nnt54ofh8d"); // int gvflush (GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f23odcxaxyzdd27mwuhiizdj4"); // if (job->output_file UNSUPPORTED("3bjid3e6jo6zuivokehya58qk"); // && ! job->external_context UNSUPPORTED("8z4jf2igc0co6dh6zx1110nbs"); // && ! job->gvc->write_fn) { UNSUPPORTED("5x7mdmw0x73vwxz61fk2yrvdm"); // return fflush(job->output_file); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 330e9khckra3n5ssrwak5tfea // static void gvdevice_close(GVJ_t * job) public static Object gvdevice_close(Object... arg) { UNSUPPORTED("1kd1owjv512h3o8vja7myre50"); // static void gvdevice_close(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1id7d9wccsfisc4cede1yqiu2"); // if (job->output_filename UNSUPPORTED("3d4zs0j1uyhbel5t3tudtwj7i"); // && job->output_file != stdout UNSUPPORTED("9q0a541k3fxrd3zi25ga414vc"); // && ! job->external_context) { UNSUPPORTED("cn3fn60ccz3zrmkt743v9paw1"); // if (job->output_file) { UNSUPPORTED("3hu3ukt7mqj5b5sj0atl2z0f3"); // fclose(job->output_file); UNSUPPORTED("80vq4s94ms6swfrhmfvi3b7w9"); // job->output_file = (void *)0; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("54nje7askf5ueua9t49ftz331"); // job->output_filename = (void *)0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 b8iwpcj6eij03r64m0360e7qs // void gvdevice_format(GVJ_t * job) public static Object gvdevice_format(Object... arg) { UNSUPPORTED("6z5f8fkhpqc1bo4eeaxujv2lr"); // void gvdevice_format(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("44r8xaau6kv13q6liujnhwe0i"); // gvdevice_engine_t *gvde = job->device.engine; UNSUPPORTED("9ohvvtakp5ajym21rtdihk6v3"); // if (gvde && gvde->format) UNSUPPORTED("39cv29fv2w96rfomdzkfzjvyq"); // gvde->format(job); UNSUPPORTED("4jpzlipnntejeqtwox13wbkj6"); // gvflush (job); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 46sqk4d6tbspekxqa4h32d301 // void gvdevice_finalize(GVJ_t * job) public static Object gvdevice_finalize(Object... arg) { UNSUPPORTED("e4zp9r9c2a5l12d2tadisfxsi"); // void gvdevice_finalize(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("44r8xaau6kv13q6liujnhwe0i"); // gvdevice_engine_t *gvde = job->device.engine; UNSUPPORTED("2524ggmnv8w9jo35baux304v2"); // boolean finalized_p = 0; UNSUPPORTED("146f5u2dl3dt3devy0qnn6ylz"); // if (job->flags & (1<<10)) { UNSUPPORTED("crmqlvwk4eg6ed4abp1762kia"); // (job->common->errorfn) ("No libz support\n"); UNSUPPORTED("dtw3cma0ziyha0w534bszl0tx"); // exit(1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("79baddj51af049jts2lck9hor"); // if (gvde) { UNSUPPORTED("aw6mxvr3p8qyvr6ia2k3985n3"); // if (gvde->finalize) { UNSUPPORTED("3ey2j155dc6rd51zymyvmijuc"); // gvde->finalize(job); UNSUPPORTED("351335dca88m4t8cwizgrx480"); // finalized_p = (!(0)); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7rzmcwo03kb19vozyklhbkc51"); // if (! finalized_p) { UNSUPPORTED("1gp40nfjzceqr97tmcdvl9pmp"); // /* if the device has no finalization then it uses file output */ UNSUPPORTED("f0b7hjoakoas2g2gn6tq5mmj"); // gvflush (job); UNSUPPORTED("18z7v2vnzihvtt5nnbj4q3vpo"); // gvdevice_close(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1egirdomc1btc6kjc3dgard3o // void gvprintf(GVJ_t * job, const char *format, ...) public static Object gvprintf(Object... arg) { UNSUPPORTED("6fhkk7sp6y4sbd7qnk0vy9c"); // void gvprintf(GVJ_t * job, const char *format, ...) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cf8w5z35zxww7q6yjin9lc9op"); // char buf[BUFSIZ]; UNSUPPORTED("do481ti1ubw0ltflx52iweigu"); // size_t len; UNSUPPORTED("6kugk1wk3bh66t9k1cisj3wws"); // va_list argp; UNSUPPORTED("dylk0k9c053zb6dp6be1l1vlz"); // char* bp = buf; UNSUPPORTED("6kwm594sixkxroywvqwfb048w"); // va_start(argp, format); UNSUPPORTED("35tuv43una070zfa0wiq1t98n"); // len = vsprintf((char *)buf, format, argp); UNSUPPORTED("9ndja25a5zuub02u8harxnr00"); // va_end(argp); UNSUPPORTED("2h330v6zn1h7y9gty8zh7alu6"); // gvwrite(job, bp, len); UNSUPPORTED("d89vwxhq1gwui8as32g4iyoqu"); // if (bp != buf) UNSUPPORTED("e2oio1w9ngi670q15wq9lrmhg"); // free (bp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 1x6fpuyldpyrhmc2wjnt9r3t5 // static double maxnegnum = -999999999999999.99 //1 8lsntfgdc1tpzcdl8okf4a3xl // static char maxnegnumstr[] = //3 alkcimcmn7kdav5dab3x68rin // static char * gvprintnum (size_t *len, double number) public static Object gvprintnum(Object... arg) { UNSUPPORTED("3sz3rah6s15fileyrygtyvsy4"); // static char * gvprintnum (size_t *len, double number) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4mh7wqzk1u55blr6bw1de1tu9"); // static char tmpbuf[sizeof(maxnegnumstr)]; /* buffer big enough for worst case */ UNSUPPORTED("6kv4u88wo0shex0a589kl7n3l"); // char *result = tmpbuf+sizeof(maxnegnumstr); /* init result to end of tmpbuf */ UNSUPPORTED("bryisyhf57o6i69bxu4ctbqn5"); // long int N; UNSUPPORTED("do2ytzai3ubppaq9z7gm00438"); // boolean showzeros, negative; UNSUPPORTED("9qzqrvquucu9whxj9cncldfww"); // int digit, i; UNSUPPORTED("9gsgfs2guis9c3c3oi57mxpq2"); // /* UNSUPPORTED("2xdl5tkxrstua20058b47xnir"); // number limited to a working range: maxnegnum >= n >= -maxnegnum UNSUPPORTED("c4rjwybrx6rdpn7mwcxhhdt39"); // N = number * DECPLACES_SCALE rounded towards zero, UNSUPPORTED("2p9kws9yqndurf6n81x7xull6"); // printing to buffer in reverse direction, UNSUPPORTED("7ewnrrb059kj4ko3zan8jdop3"); // printing "." after DECPLACES UNSUPPORTED("d35t12puy1knexzxrcyxbfpzj"); // suppressing trailing "0" and "." UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("3ivxbhh2hb2hdvn4pqede8m41"); // if (number < maxnegnum) { /* -ve limit */ UNSUPPORTED("ddh4m6vpzx2sr0pr1nvcd9c1t"); // *len = sizeof(maxnegnumstr)-1; /* len doesn't include terminator */ UNSUPPORTED("103x8qz3872e9w56yknxqpcn6"); // return maxnegnumstr;; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9txbbc6xpk58kk4py9kg3n19n"); // if (number > -maxnegnum) { /* +ve limit */ UNSUPPORTED("epuuqnbsnn45v3ldhyk2vcdr1"); // *len = sizeof(maxnegnumstr)-2; /* len doesn't include terminator or sign */ UNSUPPORTED("bsifggy4hjlok1u06o96n8wbn"); // return maxnegnumstr+1; /* +1 to skip the '-' sign */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dvimjkoyeydgr0k6m42r5slva"); // number *= 100; /* scale by DECPLACES_SCALE */ UNSUPPORTED("2d934k0h3vqdzcfu8c1eroycs"); // if (number < 0.0) /* round towards zero */ UNSUPPORTED("c5rejlqioi39lspbd8otnd6yi"); // N = number - 0.5; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("8j9oa3w53bozqg7s4ajlxsnts"); // N = number + 0.5; UNSUPPORTED("8qqpzh7dl5q2wsuc67kne6ply"); // if (N == 0) { /* special case for exactly 0 */ UNSUPPORTED("e6psxu2ksijx06nl6oyb12m0f"); // *len = 1; UNSUPPORTED("5l47ei1ksik36ffjsvqzl5yt6"); // return "0"; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("disxlfqxvj0f745ce20slp755"); // if ((negative = (N < 0))) /* avoid "-0" by testing rounded int */ UNSUPPORTED("nr08nn1obuklfiybvxp8gdik"); // N = -N; /* make number +ve */ UNSUPPORTED("wlrwbcx0owaybg2agqhp29n"); // showzeros = 0; /* don't print trailing zeros */ UNSUPPORTED("cikkkc06rloyghq0l2srb8vix"); // for (i = 2; N || i > 0; i--) { /* non zero remainder, UNSUPPORTED("23hzgib77z0odvb23kw58z50s"); // or still in fractional part */ UNSUPPORTED("mbh9mebm1pcpg3owc2q4v5xe"); // digit = N % 10; /* next least-significant digit */ UNSUPPORTED("dzqyilj008a4yb3o3xb49ycd2"); // N /= 10; UNSUPPORTED("dcdutieoro6hdlcma5oe5l944"); // if (digit || showzeros) { /* if digit is non-zero, UNSUPPORTED("2bm81grz43tgyhv4jyvdtmsxu"); // or if we are printing zeros */ UNSUPPORTED("dycrtr22pmd5lb4j8fj4yi49o"); // *--result = digit | '0'; /* convert digit to ascii */ UNSUPPORTED("4pqd87ba27akvu14kome4tjze"); // showzeros = (!(0)); /* from now on we must print zeros */ UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("akn9rdzphyrql4nu286ezauux"); // if (i == 1) { /* if completed fractional part */ UNSUPPORTED("c98gv4lvkslivtou8sp5gjgv5"); // if (showzeros) /* if there was a non-zero fraction */ UNSUPPORTED("4e396qblfhvqsvgrwhjm4ucsw"); // *--result = '.'; /* print decimal point */ UNSUPPORTED("byd8n8dae1hujyrmzmt6sl0a6"); // showzeros = (!(0)); /* print all digits in int part */ UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c1bnjfpib859s8q27bm1enmy3"); // if (negative) /* print "-" if needed */ UNSUPPORTED("cttlmjpav2o8r87erigjvs5ss"); // *--result = '-'; UNSUPPORTED("do3t8frc2ui33ozznu6u8jfyd"); // *len = tmpbuf+sizeof(maxnegnumstr) - result; UNSUPPORTED("coko8du03f3lw8bdkapbks750"); // return result; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bmeyiwkpu2qs7dejvs5sh6o8v // void gvprintdouble(GVJ_t * job, double num) public static Object gvprintdouble(Object... arg) { UNSUPPORTED("cn6ds26lgsd3ujjqzrqcox1x5"); // void gvprintdouble(GVJ_t * job, double num) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6ik3p99apk5rihypipg0uxu8i"); // char *buf; UNSUPPORTED("do481ti1ubw0ltflx52iweigu"); // size_t len; UNSUPPORTED("8yb00gp3xzh6a9lvd5mwcrg08"); // buf = gvprintnum(&len, num); UNSUPPORTED("56nuv66m5jb3tmogpfyb3w2e9"); // gvwrite(job, buf, len); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5duaexp4igxjoostpe3eattxa // void gvprintpointf(GVJ_t * job, pointf p) public static Object gvprintpointf(Object... arg) { UNSUPPORTED("ctyuokdenka2j9jhskd3ql9px"); // void gvprintpointf(GVJ_t * job, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6ik3p99apk5rihypipg0uxu8i"); // char *buf; UNSUPPORTED("do481ti1ubw0ltflx52iweigu"); // size_t len; UNSUPPORTED("1gpnnoam3bzp9eo5m7opks45t"); // buf = gvprintnum(&len, p.x); UNSUPPORTED("56nuv66m5jb3tmogpfyb3w2e9"); // gvwrite(job, buf, len); UNSUPPORTED("4t98op6wrpqegev92jt8qeuma"); // gvwrite(job, " ", 1); UNSUPPORTED("2lggxf5etbmynuok5wquoc4h1"); // buf = gvprintnum(&len, p.y); UNSUPPORTED("56nuv66m5jb3tmogpfyb3w2e9"); // gvwrite(job, buf, len); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9mtarrxfoqaaz8anygvcs0eni // void gvprintpointflist(GVJ_t * job, pointf *p, int n) public static Object gvprintpointflist(Object... arg) { UNSUPPORTED("bbdhtxxtsiyz2al9t7saa9yqh"); // void gvprintpointflist(GVJ_t * job, pointf *p, int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7s165b75za7edl3pgyc01kxis"); // int i = 0; UNSUPPORTED("5owjshc6gmd9o9lmekzcl6rvg"); // while ((!(0))) { UNSUPPORTED("5xxbbxkf0cife9hhrjjzgkvjt"); // gvprintpointf(job, p[i]); UNSUPPORTED("e8aux6mfyxrmvk370dq1a2tt9"); // if (++i >= n) break; UNSUPPORTED("1rgsln2lih3ohh497shfjlgye"); // gvwrite(job, " ", 1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/gvc/gvevent__c.java000066400000000000000000001330021340005343600221310ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.gvc; import static smetana.core.Macro.UNSUPPORTED; public class gvevent__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 a81i1bteklxko8gquxchac0x8 // static char *s_digraph = //1 dgsqnb0c5b6pm90dh3pmafwo1 // static char *s_graph = //1 49ytazp10pvtr6nmtx9h5jkr4 // static char *s_subgraph = //1 49rjw4ovuqev4ekbir1njgrg3 // static char *s_node = //1 exvb7xidqhdzk58w9bccovd1s // static char *s_edge = //1 6b5ql2pwr2ula2263lt2fw60j // static char *s_tooltip = //1 e8yh8l7wzzyhpxv1fk7mdnri1 // static char *s_href = //1 c37wnv95zfw9hla1px6mp8c8v // static char *s_URL = //1 9ihbjjrb6baxg03ds8e7dqyeu // static char *s_tailport = //1 8vucxsazfgxu7fsgq699pfgwb // static char *s_headport = //1 4vtu2e7ieao83dief8qy6vy1o // static char *s_key = //3 4u7xeq4u9gjav5v1ds6xt32a7 // static void gv_graph_state(GVJ_t *job, graph_t *g) public static Object gv_graph_state(Object... arg) { UNSUPPORTED("qi2r1zf56fhta95dbdc4uqh7"); // static void gv_graph_state(GVJ_t *job, graph_t *g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2bs0wcp6367dz1o5x166ec7l8"); // int j; UNSUPPORTED("6fh2f49mjcser5usqcg36hkjn"); // Agsym_t *a; UNSUPPORTED("d9khxorqmza778g5yq0oti4m9"); // gv_argvlist_t *list; UNSUPPORTED("dffw7bunufdqdcx3vwbsa36uq"); // list = &(job->selected_obj_type_name); UNSUPPORTED("1khyaul8b149n1iaylpif58pr"); // j = 0; UNSUPPORTED("ackx3cor82a94trjk4owh3083"); // if (g == agroot(g)) { UNSUPPORTED("e7utna7qhqjns0cncypyq6ypu"); // if (agisdirected(g)) UNSUPPORTED("325cc23s82vex998qq2zet30n"); // gv_argvlist_set_item(list, j++, s_digraph); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("4iceu5v0jkso1pfbd8cptcm26"); // gv_argvlist_set_item(list, j++, s_graph); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("8wbgd0tpi9vafdu305mh891pm"); // gv_argvlist_set_item(list, j++, s_subgraph); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("e3m8xakuuoavpc0yzsdz0ttbf"); // gv_argvlist_set_item(list, j++, agnameof(g)); UNSUPPORTED("2g9vk1xhep19zd9rw2ptwgf0n"); // list->argc = j; UNSUPPORTED("d089fe3vpvfvcq6nx8i2de8za"); // list = &(job->selected_obj_attributes); UNSUPPORTED("e1417dqpw5biex3lmgeebcz3z"); // a = NULL; UNSUPPORTED("b7p49ht5isujlq1r0zeqn522z"); // while ((a = agnxtattr(g, AGRAPH, a))) { UNSUPPORTED("99t26p59tgmrccdh9d222241q"); // gv_argvlist_set_item(list, j++, a->name); UNSUPPORTED("cd5io6q45mx69v63k1okoerbk"); // gv_argvlist_set_item(list, j++, agxget(g, a)); UNSUPPORTED("1ji9sink8yrqbo5f75etmnjvw"); // gv_argvlist_set_item(list, j++, (char*)GVATTR_STRING); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2g9vk1xhep19zd9rw2ptwgf0n"); // list->argc = j; UNSUPPORTED("9bqz6abzufgggy4kgl58ohww2"); // a = (agattr(g,AGRAPH,s_href,NULL)); UNSUPPORTED("ad7g9pfuiyqph0mif8l1dkp14"); // if (!a) UNSUPPORTED("31vhl15c44ic03bkyj4plz9tc"); // a = (agattr(g,AGRAPH,s_URL,NULL)); UNSUPPORTED("d0iv30h00si3pq8x1pcdz16i4"); // if (a) UNSUPPORTED("19box3udlik0aynca1mdbgli1"); // job->selected_href = strdup_and_subst_obj(agxget(g, a), (void*)g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1tqun4sawrqin1i1cpsek6xis // static void gv_node_state(GVJ_t *job, node_t *n) public static Object gv_node_state(Object... arg) { UNSUPPORTED("a6a2p7o7hjze8ck9u2wsgbhnz"); // static void gv_node_state(GVJ_t *job, node_t *n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2bs0wcp6367dz1o5x166ec7l8"); // int j; UNSUPPORTED("6fh2f49mjcser5usqcg36hkjn"); // Agsym_t *a; UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("d9khxorqmza778g5yq0oti4m9"); // gv_argvlist_t *list; UNSUPPORTED("dffw7bunufdqdcx3vwbsa36uq"); // list = &(job->selected_obj_type_name); UNSUPPORTED("1khyaul8b149n1iaylpif58pr"); // j = 0; UNSUPPORTED("av2271m76wgi05dd4jp9ko29m"); // gv_argvlist_set_item(list, j++, s_node); UNSUPPORTED("32mps9ctk2avgj3psm456ch9c"); // gv_argvlist_set_item(list, j++, agnameof(n)); UNSUPPORTED("2g9vk1xhep19zd9rw2ptwgf0n"); // list->argc = j; UNSUPPORTED("d089fe3vpvfvcq6nx8i2de8za"); // list = &(job->selected_obj_attributes); UNSUPPORTED("5c0nzsud433f31yaxkbl4z4gs"); // g = agroot(agraphof(n)); UNSUPPORTED("e1417dqpw5biex3lmgeebcz3z"); // a = NULL; UNSUPPORTED("b1vxpowujnp7icf7z1f5ys6fn"); // while ((a = agnxtattr(g, AGNODE, a))) { UNSUPPORTED("99t26p59tgmrccdh9d222241q"); // gv_argvlist_set_item(list, j++, a->name); UNSUPPORTED("bxew0xo3hzemjvs8jsh4vd1fe"); // gv_argvlist_set_item(list, j++, agxget(n, a)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2g9vk1xhep19zd9rw2ptwgf0n"); // list->argc = j; UNSUPPORTED("cop3693r14mtc5cxtwlnfobn7"); // a = (agattr(agraphof(n),AGNODE,s_href,NULL)); UNSUPPORTED("ad7g9pfuiyqph0mif8l1dkp14"); // if (!a) UNSUPPORTED("9vhpq0kaqba5axovooitmksjj"); // a = (agattr(agraphof(n),AGNODE,s_URL,NULL)); UNSUPPORTED("d0iv30h00si3pq8x1pcdz16i4"); // if (a) UNSUPPORTED("17hpyw5vd28ys378heoyue1al"); // job->selected_href = strdup_and_subst_obj(agxget(n, a), (void*)n); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ermyhp9u235dyyeyqapv0xkc7 // static void gv_edge_state(GVJ_t *job, edge_t *e) public static Object gv_edge_state(Object... arg) { UNSUPPORTED("bd6orj26b0p27h7kfbrazb9io"); // static void gv_edge_state(GVJ_t *job, edge_t *e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2bs0wcp6367dz1o5x166ec7l8"); // int j; UNSUPPORTED("6fh2f49mjcser5usqcg36hkjn"); // Agsym_t *a; UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("4t73a9bkotedn8x3fxn53j1km"); // gv_argvlist_t *nlist, *alist; UNSUPPORTED("43j7ne9o1w0oq59jkh0ogpfi8"); // nlist = &(job->selected_obj_type_name); UNSUPPORTED("bvhhwpgurwsvqf00mufgp5jei"); // /* only tail, head, and key are strictly identifying properties, UNSUPPORTED("87w6733styjgjzh7edfba0cpw"); // * but we commonly alse use edge kind (e.g. "->") and tailport,headport UNSUPPORTED("ez2eakrubjtgnn4onqt5ah5mo"); // * in edge names */ UNSUPPORTED("1khyaul8b149n1iaylpif58pr"); // j = 0; UNSUPPORTED("231pmh9ndbj9bl0iq4dwm34ad"); // gv_argvlist_set_item(nlist, j++, s_edge); UNSUPPORTED("cj85zmjfg6vwon6ebadi1utxi"); // gv_argvlist_set_item(nlist, j++, agnameof(agtail(e))); UNSUPPORTED("6gfg10q9wfhddmrxtfaijxc6e"); // j++; /* skip tailport slot for now */ UNSUPPORTED("ab8kmscdvmhs0oz9laxreinrs"); // gv_argvlist_set_item(nlist, j++, agisdirected(agraphof(agtail(e)))?"->":"--"); UNSUPPORTED("3r7da1j0hfzm49kscuyu25bjw"); // gv_argvlist_set_item(nlist, j++, agnameof(aghead(e))); UNSUPPORTED("48ci0f2hgcb9fxqoqhqhvtur0"); // j++; /* skip headport slot for now */ UNSUPPORTED("bu93gjys845yepca55pifkr30"); // j++; /* skip key slot for now */ UNSUPPORTED("227buoijhb0gn22caje4pxv9e"); // nlist->argc = j; UNSUPPORTED("636g3h756buq2y5ye5swbaq80"); // alist = &(job->selected_obj_attributes); UNSUPPORTED("43dcim6z0v0a251vkqsnqej3q"); // g = agroot(agraphof(aghead(e))); UNSUPPORTED("e1417dqpw5biex3lmgeebcz3z"); // a = NULL; UNSUPPORTED("33gb50lyoy7ck2t6qrjkyzo7u"); // while ((a = agnxtattr(g, AGEDGE, a))) { UNSUPPORTED("706s3vyqe37ps1epbb4kq2zg2"); // /* tailport and headport can be shown as part of the name, but they UNSUPPORTED("ae0evldnekm3vq9oe8m0lnt3w"); // * are not identifying properties of the edge so we UNSUPPORTED("1ebad5w1kcs91baie24l37lr3"); // * also list them as modifyable attributes. */ UNSUPPORTED("9kgmn2eeefbu32xw5r0wyockk"); // if (strcmp(a->name,s_tailport) == 0) UNSUPPORTED("69icrfew1qyyma8r8q0sjvcw5"); // gv_argvlist_set_item(nlist, 2, agxget(e, a)); UNSUPPORTED("24i31ghgq3gjhdby4wkzz5zx1"); // else if (strcmp(a->name,s_headport) == 0) UNSUPPORTED("1ylpsr67giqnbh13nsgrwy1a0"); // gv_argvlist_set_item(nlist, 5, agxget(e, a)); UNSUPPORTED("7fflw2yp36ncnjh65hgmcnc2i"); // /* key is strictly an identifying property to distinguish multiple UNSUPPORTED("9hs0myrjsg7n4p9jmyl0r5r7p"); // * edges between the same node pair. Its non-writable, so UNSUPPORTED("3043zukc6eme3vgtc3vm1rkev"); // * no need to list it as an attribute as well. */ UNSUPPORTED("5kvauax0vbqn56b0t22oh5xd6"); // else if (strcmp(a->name,s_key) == 0) { UNSUPPORTED("e8n9jcj9q9h0mq4h3bb6p979i"); // gv_argvlist_set_item(nlist, 6, agxget(e, a)); UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("crs1h0cch6rim4e1iixiii9jq"); // gv_argvlist_set_item(alist, j++, a->name); UNSUPPORTED("azjfqodmy73s2zkayx9j4sj8j"); // gv_argvlist_set_item(alist, j++, agxget(e, a)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3jw4ujbxwhc57nozkshgx5rxt"); // alist->argc = j; UNSUPPORTED("486bp2rr3wk0zelkdw41tofx1"); // a = (agattr(agraphof(aghead(e)),AGEDGE,s_href,NULL)); UNSUPPORTED("ad7g9pfuiyqph0mif8l1dkp14"); // if (!a) UNSUPPORTED("99c3vwky3ugp7vv44mkpscky1"); // a = (agattr(agraphof(aghead(e)),AGEDGE,s_URL,NULL)); UNSUPPORTED("d0iv30h00si3pq8x1pcdz16i4"); // if (a) UNSUPPORTED("8egqarzi4ta3gz1dcxesfrghx"); // job->selected_href = strdup_and_subst_obj(agxget(e, a), (void*)e); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8ukey801l8kyj584x8r8s19fn // static void gvevent_refresh(GVJ_t * job) public static Object gvevent_refresh(Object... arg) { UNSUPPORTED("60f7iu3hlagh8mzyzi1gzv2do"); // static void gvevent_refresh(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("budkdxy4ehaaoj6mevg8mts0k"); // graph_t *g = job->gvc->g; UNSUPPORTED("5imw9vxmcslbvur5jcmeiu666"); // if (!job->selected_obj) { UNSUPPORTED("azy0m0vmtvbtf9smncd59ni1f"); // job->selected_obj = g; UNSUPPORTED("17j63u144fs4ppk3srq2ksaq4"); // GD_gui_state(g) |= (1<<1); UNSUPPORTED("1jgisizs53om7ychvjg7vpfyh"); // gv_graph_state(job, g); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("11vg0v0lz31me44yr8gzuq1ig"); // emit_graph(job, g); UNSUPPORTED("avsp09o6v1ddidlj3obkxmudm"); // job->has_been_rendered = NOT(0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4s1y5j1ypefa3r6swg9s4epez // static graph_t *gvevent_find_cluster(graph_t *g, boxf b) public static Object gvevent_find_cluster(Object... arg) { UNSUPPORTED("efgiax9xi0giix6ubrt3ygjvi"); // static graph_t *gvevent_find_cluster(graph_t *g, boxf b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("5wyi0wasd5kecf6rhsqdjk7v2"); // graph_t *sg; UNSUPPORTED("2lzsl1e035wt5epd1h8f4bn8m"); // boxf bb; UNSUPPORTED("7naa6f8pevjidfr7m41eli6xj"); // for (i = 1; i <= GD_n_cluster(g); i++) { UNSUPPORTED("4qqwxfj8r5wlw1qefrqdy0n93"); // sg = gvevent_find_cluster(GD_clust(g)[i], b); UNSUPPORTED("7dfwj1tgop4l8xzqfh1vpckki"); // if (sg) UNSUPPORTED("3e86a95m950jzhe4zgu9hyh49"); // return(sg); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3mns1dvab55ltos5d414fxujy"); // B2BF(GD_bb(g), bb); UNSUPPORTED("9o2ymndf5rcl0lrzb3mpd7bjg"); // if (OVERLAP(b, bb)) UNSUPPORTED("4s6kjfhn4k2eg7whh6ebugifg"); // return g; UNSUPPORTED("o68dp934ebg4cplebgc5hv4v"); // return NULL; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 10ow7fob9ddjkodlmx7wb3vlm // static void * gvevent_find_obj(graph_t *g, boxf b) public static Object gvevent_find_obj(Object... arg) { UNSUPPORTED("3kn145oul66bpk12w0lrsexgk"); // static void * gvevent_find_obj(graph_t *g, boxf b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5wyi0wasd5kecf6rhsqdjk7v2"); // graph_t *sg; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("7pal7ga4vmcz68u4ug0hj2sdc"); // /* edges might overlap nodes, so search them first */ UNSUPPORTED("16hw9gw0dz2w7mrtba0eoqrdi"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("8gbd6b2ssf51om8neirzzr6rw"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) UNSUPPORTED("eho7nl2fpak2f3plplt40xxj"); // if (overlap_edge(e, b)) UNSUPPORTED("dwep52v1bdkluympomyk9i0ht"); // return (void *)e; UNSUPPORTED("espt12fa1hnstulykcqj7naca"); // /* search graph backwards to get topmost node, in case of overlap */ UNSUPPORTED("27f2ji1mu3qyl3byjq0qs4vd2"); // for (n = aglstnode(g); n; n = agprvnode(g, n)) UNSUPPORTED("3zwvpzb0u2yuv8hrgr513spuw"); // if (overlap_node(n, b)) UNSUPPORTED("dzrsq580bfkcuikl48wyapfj9"); // return (void *)n; UNSUPPORTED("3si0g6jo8cy92kb3olhbz5yjm"); // /* search for innermost cluster */ UNSUPPORTED("7fupgm5yrt8w31ak393pj40fl"); // sg = gvevent_find_cluster(g, b); UNSUPPORTED("apxupu23wl3o8oxx7pkbsgpky"); // if (sg) UNSUPPORTED("34r930zbeg8mvb169774t3vbs"); // return (void *)sg; UNSUPPORTED("4qfi0cgg83t97134rn90jaq0u"); // /* otherwise - we're always in the graph */ UNSUPPORTED("avkvcekelud44sahe2wnjjpp4"); // return (void *)g; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5b9dwyqfdvc0ntrai28ti5pry // static void gvevent_leave_obj(GVJ_t * job) public static Object gvevent_leave_obj(Object... arg) { UNSUPPORTED("2udbvguh4g3rx7hlo1neqvx58"); // static void gvevent_leave_obj(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7fhlvhrelhp8czzhodjpv852t"); // void *obj = job->current_obj; UNSUPPORTED("41wzimn2d65vativ6f19m0scl"); // if (obj) { UNSUPPORTED("bo62maae4sou42p2mt2qkourh"); // switch (agobjkind(obj)) { UNSUPPORTED("5wlxto4vyt8ldlvedarc2ayo5"); // case AGRAPH: UNSUPPORTED("92q8wsc5f6zpyree4vbax8cgz"); // GD_gui_state((graph_t*)obj) &= ~(1<<0); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("9pxpc0v20pz0zlioyzyi3liz"); // case AGNODE: UNSUPPORTED("cvmmjonbzluiek0tgu10677br"); // ND_gui_state((node_t*)obj) &= ~(1<<0); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("64ioinqgxud7s90lisfnn9l9z"); // case AGEDGE: UNSUPPORTED("1vtuqgfc8o6ssdm54seohnhgz"); // ED_gui_state((edge_t*)obj) &= ~(1<<0); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9xg2rumuo2tlvz2ggq2nk8yxt"); // job->active_tooltip = NULL; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9bgq52z2yvkxbxgkigzxo155j // static void gvevent_enter_obj(GVJ_t * job) public static Object gvevent_enter_obj(Object... arg) { UNSUPPORTED("1j8b2x22wexvd0rg7rsvrcvdc"); // static void gvevent_enter_obj(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e5pb9fhb9rq54eedma7yjmh4k"); // void *obj; UNSUPPORTED("djl3ek9tn11htu3vj4zglczzz"); // graph_t *g; UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("6fh2f49mjcser5usqcg36hkjn"); // Agsym_t *a; UNSUPPORTED("d85592gsof8mrrwh92c43cs7f"); // if (job->active_tooltip) { UNSUPPORTED("84wfl59jqbmf5pil5wayrrn6v"); // free(job->active_tooltip); UNSUPPORTED("52xuc6ug71hj23vrl2dg6e69x"); // job->active_tooltip = NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4wr2gujkr9cuqpfogwyvtl6ve"); // obj = job->current_obj; UNSUPPORTED("41wzimn2d65vativ6f19m0scl"); // if (obj) { UNSUPPORTED("bo62maae4sou42p2mt2qkourh"); // switch (agobjkind(obj)) { UNSUPPORTED("5wlxto4vyt8ldlvedarc2ayo5"); // case AGRAPH: UNSUPPORTED("5ww62hqfywcpculirwqpvugv4"); // g = (graph_t*)obj; UNSUPPORTED("5kvw2y807unke5dvr69a1cxtt"); // GD_gui_state(g) |= (1<<0); UNSUPPORTED("am1gx79uny2n1upipes6lycqc"); // a = (agattr(g,AGRAPH,s_tooltip,NULL)); UNSUPPORTED("9qz40i0064xica1x2lm4xs62b"); // if (a) UNSUPPORTED("86bd5sstgfox932dk4j5ctawx"); // job->active_tooltip = strdup_and_subst_obj(agxget(g, a), obj); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("9pxpc0v20pz0zlioyzyi3liz"); // case AGNODE: UNSUPPORTED("68c51l5dq12wn0ye4kkxvxvli"); // n = (node_t*)obj; UNSUPPORTED("3o0b9nkrxqjsirceenjg84yhu"); // ND_gui_state(n) |= (1<<0); UNSUPPORTED("3dqzz9izp2l3j72cm22vxnxz3"); // a = (agattr(agraphof(n),AGNODE,s_tooltip,NULL)); UNSUPPORTED("9qz40i0064xica1x2lm4xs62b"); // if (a) UNSUPPORTED("192ludujzp8wewqginadgo6sh"); // job->active_tooltip = strdup_and_subst_obj(agxget(n, a), obj); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("64ioinqgxud7s90lisfnn9l9z"); // case AGEDGE: UNSUPPORTED("1sfsn5gjybpvn8ecor2j6ia72"); // e = (edge_t*)obj; UNSUPPORTED("5a5lk7ama2h4rs90rp4md4ive"); // ED_gui_state(e) |= (1<<0); UNSUPPORTED("a83370r56wwtq6yvlqqz4x6mg"); // a = (agattr(agraphof(aghead(e)),AGEDGE,s_tooltip,NULL)); UNSUPPORTED("9qz40i0064xica1x2lm4xs62b"); // if (a) UNSUPPORTED("4ib9lz9n3e9d9ruzlftax0tze"); // job->active_tooltip = strdup_and_subst_obj(agxget(e, a), obj); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3bfngnj00p5wmq3vn6ezfbf94 // static pointf pointer2graph (GVJ_t *job, pointf pointer) public static Object pointer2graph(Object... arg) { UNSUPPORTED("f3p1sbwml36d6avt439q10bzv"); // static pointf pointer2graph (GVJ_t *job, pointf pointer) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2bghyit203pd6xw2ihhenzyn8"); // pointf p; UNSUPPORTED("7hiilb9xpwzl7zzlvutjvty6v"); // /* transform position in device units to position in graph units */ UNSUPPORTED("3h1yo631e2fq69mxwoggya716"); // if (job->rotation) { UNSUPPORTED("30ofcuacpdvu0ywex5uyutuzj"); // p.x = pointer.y / (job->zoom * job->devscale.y) - job->translation.x; UNSUPPORTED("1fl2nifv1w54jg4mkvhzqy622"); // p.y = -pointer.x / (job->zoom * job->devscale.x) - job->translation.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("6g5n8h3dlw9ip1cdkdazows22"); // p.x = pointer.x / (job->zoom * job->devscale.x) - job->translation.x; UNSUPPORTED("as5nwpslv0m20j4m91fxdn7qn"); // p.y = pointer.y / (job->zoom * job->devscale.y) - job->translation.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("91xduilalb406jjyw2g1i07th"); // return p; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 60qzqk2f8g5r608jr61n4m8fl // static void gvevent_find_current_obj(GVJ_t * job, pointf pointer) public static Object gvevent_find_current_obj(Object... arg) { UNSUPPORTED("73itu563p91qxc75le40uri3v"); // static void gvevent_find_current_obj(GVJ_t * job, pointf pointer) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e5pb9fhb9rq54eedma7yjmh4k"); // void *obj; UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("bn82a8um6s6q9kv8xhz0y4532"); // double closeenough; UNSUPPORTED("2bghyit203pd6xw2ihhenzyn8"); // pointf p; UNSUPPORTED("e90p0pfjf8awf9o8saz5zeg1p"); // p = pointer2graph (job, pointer); UNSUPPORTED("4yw8v5qer8c35skrnab7qvzar"); // /* convert window point to graph coordinates */ UNSUPPORTED("ed3b1vw5anajzc04hkpj8tpln"); // closeenough = 1 / job->zoom; UNSUPPORTED("2jwwft3e122mczo9voml0jvyj"); // b.UR.x = p.x + closeenough; UNSUPPORTED("evkhbbm8g1x40j4cz0d3v7prs"); // b.UR.y = p.y + closeenough; UNSUPPORTED("68oj02o1giw3jceus44ixnxm8"); // b.LL.x = p.x - closeenough; UNSUPPORTED("e9aorl9o9qnkn8mfdfzpzy60t"); // b.LL.y = p.y - closeenough; UNSUPPORTED("ayptl6u6apxfce7alpeck5smt"); // obj = gvevent_find_obj(job->gvc->g, b); UNSUPPORTED("3owfawe3qbxrv9mxsn7fkyqpv"); // if (obj != job->current_obj) { UNSUPPORTED("90lan2ouldugywinbb3grjf3x"); // gvevent_leave_obj(job); UNSUPPORTED("bh8osiivcr3uzxhjf46i0mpfu"); // job->current_obj = obj; UNSUPPORTED("5ppo0fv5d3bhkhkyc2nh1llwq"); // gvevent_enter_obj(job); UNSUPPORTED("8so9jtnfbj4rh32qoan7atzqd"); // job->needs_refresh = 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 56do4vqpnbnmg3ft0lfzt4eny // static void gvevent_select_current_obj(GVJ_t * job) public static Object gvevent_select_current_obj(Object... arg) { UNSUPPORTED("d4h54hfakl4a6svzusjuvsqkx"); // static void gvevent_select_current_obj(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e5pb9fhb9rq54eedma7yjmh4k"); // void *obj; UNSUPPORTED("d5fzsj1jcer8417dmj6ucf9js"); // obj = job->selected_obj; UNSUPPORTED("41wzimn2d65vativ6f19m0scl"); // if (obj) { UNSUPPORTED("bo62maae4sou42p2mt2qkourh"); // switch (agobjkind(obj)) { UNSUPPORTED("5wlxto4vyt8ldlvedarc2ayo5"); // case AGRAPH: UNSUPPORTED("1i9nwrkfuqhgca5dxmsumixwr"); // GD_gui_state((graph_t*)obj) |= (1<<2); UNSUPPORTED("79uerqxetp1ko0aj4yetyj0y3"); // GD_gui_state((graph_t*)obj) &= ~(1<<1); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("9pxpc0v20pz0zlioyzyi3liz"); // case AGNODE: UNSUPPORTED("5ot4q2aa7yyy1g83h7bv9udsb"); // ND_gui_state((node_t*)obj) |= (1<<2); UNSUPPORTED("48546mtoje2ca7wf2x0uvej8v"); // ND_gui_state((node_t*)obj) &= ~(1<<1); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("64ioinqgxud7s90lisfnn9l9z"); // case AGEDGE: UNSUPPORTED("apwapkeiw3ich5muguhdwqg6l"); // ED_gui_state((edge_t*)obj) |= (1<<2); UNSUPPORTED("e4zgcxcfg2dgy09byo2wzrauh"); // ED_gui_state((edge_t*)obj) &= ~(1<<1); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b63ukicafdpen83mpxp42b9ha"); // if (job->selected_href) { UNSUPPORTED("8vjgoeh45krs5nlc431jkmoc5"); // free(job->selected_href); UNSUPPORTED("uxywfn5fme945tooe7ybes33"); // job->selected_href = NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("82ds4to6mlgnz1hudzp8txutz"); // obj = job->selected_obj = job->current_obj; UNSUPPORTED("41wzimn2d65vativ6f19m0scl"); // if (obj) { UNSUPPORTED("bo62maae4sou42p2mt2qkourh"); // switch (agobjkind(obj)) { UNSUPPORTED("5wlxto4vyt8ldlvedarc2ayo5"); // case AGRAPH: UNSUPPORTED("dgh6iielec5vwkfe73s6dl0dm"); // GD_gui_state((graph_t*)obj) |= (1<<1); UNSUPPORTED("92cql7151gbg5s7txp1qtzxcr"); // gv_graph_state(job, (graph_t*)obj); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("9pxpc0v20pz0zlioyzyi3liz"); // case AGNODE: UNSUPPORTED("4o58dr1al4d1df95cudpf50va"); // ND_gui_state((node_t*)obj) |= (1<<1); UNSUPPORTED("asc1h0xpooldmbd3qr3egpi4t"); // gv_node_state(job, (node_t*)obj); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("64ioinqgxud7s90lisfnn9l9z"); // case AGEDGE: UNSUPPORTED("8sqrwwvrd8cd3xhgq8jenn5uy"); // ED_gui_state((edge_t*)obj) |= (1<<1); UNSUPPORTED("burs8yypr2qjea6o5p2afz6su"); // gv_edge_state(job, (edge_t*)obj); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ex60hox8s3z8id5zo7lak7xbi // static void gvevent_button_press(GVJ_t * job, int button, pointf pointer) public static Object gvevent_button_press(Object... arg) { UNSUPPORTED("b9kw1b3m8gqabvmmm2gedhmms"); // static void gvevent_button_press(GVJ_t * job, int button, pointf pointer) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3zcgccimpfphalnj0i8mfm2r1"); // switch (button) { UNSUPPORTED("699cb0yxkg370qhog523g9x8z"); // case 1: /* select / create in edit mode */ UNSUPPORTED("75lxnhkp5b7e2lfc5y4rxj1fq"); // gvevent_find_current_obj(job, pointer); UNSUPPORTED("cyd579rit2exwz1a7b71163t3"); // gvevent_select_current_obj(job); UNSUPPORTED("3a8qzflnwqfg82zo20c4zvmkt"); // job->click = 1; UNSUPPORTED("blmcsrkt74letf8tkc2ccm4f7"); // job->button = button; UNSUPPORTED("8so9jtnfbj4rh32qoan7atzqd"); // job->needs_refresh = 1; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("4oz4gni7lyi54dde4wm3uz8a7"); // case 2: /* pan */ UNSUPPORTED("3a8qzflnwqfg82zo20c4zvmkt"); // job->click = 1; UNSUPPORTED("blmcsrkt74letf8tkc2ccm4f7"); // job->button = button; UNSUPPORTED("8so9jtnfbj4rh32qoan7atzqd"); // job->needs_refresh = 1; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("3k03pmr90eomik84zdhdrti3s"); // case 3: /* insert node or edge */ UNSUPPORTED("75lxnhkp5b7e2lfc5y4rxj1fq"); // gvevent_find_current_obj(job, pointer); UNSUPPORTED("3a8qzflnwqfg82zo20c4zvmkt"); // job->click = 1; UNSUPPORTED("blmcsrkt74letf8tkc2ccm4f7"); // job->button = button; UNSUPPORTED("8so9jtnfbj4rh32qoan7atzqd"); // job->needs_refresh = 1; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("7gwyze795m9aa2915n3bou49x"); // case 4: UNSUPPORTED("2ml1iwm44d5cxsqng95pnixi1"); // /* scrollwheel zoom in at current mouse x,y */ UNSUPPORTED("4vad6btam4cn6noqw97sfmlhl"); // /* FIXME - should code window 0,0 point as feature with Y_GOES_DOWN */ UNSUPPORTED("76vpgnr0ye1dojhnhy0otwjle"); // job->fit_mode = 0; UNSUPPORTED("1oas1wgag0hif8qx29v4yklxv"); // if (job->rotation) { UNSUPPORTED("7g6sapcaxcof3pw9t271w1y8h"); // job->focus.x -= (pointer.y - job->height / 2.) UNSUPPORTED("9hyk0c7dwfz4h1crmjhezz45e"); // * (1.1 - 1.) / (job->zoom * job->devscale.y); UNSUPPORTED("e43b0b2imzn8b8ynbp2mal4md"); // job->focus.y += (pointer.x - job->width / 2.) UNSUPPORTED("2agqs1sz6w0xj54uuzxsih3ae"); // * (1.1 - 1.) / (job->zoom * job->devscale.x); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("3jir07ymknf0hmb9pv9x4dr3o"); // else { UNSUPPORTED("92b9yfihf7feuu1ojha98aucx"); // job->focus.x += (pointer.x - job->width / 2.) UNSUPPORTED("2agqs1sz6w0xj54uuzxsih3ae"); // * (1.1 - 1.) / (job->zoom * job->devscale.x); UNSUPPORTED("4pupq132vcd87490ty9jmdkpf"); // job->focus.y += (pointer.y - job->height / 2.) UNSUPPORTED("9hyk0c7dwfz4h1crmjhezz45e"); // * (1.1 - 1.) / (job->zoom * job->devscale.y); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("wr2oieepfov8hz62dktq6f2z"); // job->zoom *= 1.1; UNSUPPORTED("6pu9nvcwfkrjt09xcyews4irj"); // job->needs_refresh = 1; UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("73i90hwf5c0jb5w9lww7yboeq"); // case 5: /* scrollwheel zoom out at current mouse x,y */ UNSUPPORTED("76vpgnr0ye1dojhnhy0otwjle"); // job->fit_mode = 0; UNSUPPORTED("e9tz2awchoyjb7frdzwnroacm"); // job->zoom /= 1.1; UNSUPPORTED("1oas1wgag0hif8qx29v4yklxv"); // if (job->rotation) { UNSUPPORTED("c8wc46or371rjqifvi8r998kd"); // job->focus.x += (pointer.y - job->height / 2.) UNSUPPORTED("9hyk0c7dwfz4h1crmjhezz45e"); // * (1.1 - 1.) / (job->zoom * job->devscale.y); UNSUPPORTED("o0u8c2v37omgye9ilucvtvhv"); // job->focus.y -= (pointer.x - job->width / 2.) UNSUPPORTED("2agqs1sz6w0xj54uuzxsih3ae"); // * (1.1 - 1.) / (job->zoom * job->devscale.x); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("3jir07ymknf0hmb9pv9x4dr3o"); // else { UNSUPPORTED("6zwx79wm2llpicj0vx8ddjhyh"); // job->focus.x -= (pointer.x - job->width / 2.) UNSUPPORTED("2agqs1sz6w0xj54uuzxsih3ae"); // * (1.1 - 1.) / (job->zoom * job->devscale.x); UNSUPPORTED("3qaatj1xmirq053hae4xzwr2l"); // job->focus.y -= (pointer.y - job->height / 2.) UNSUPPORTED("9hyk0c7dwfz4h1crmjhezz45e"); // * (1.1 - 1.) / (job->zoom * job->devscale.y); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("6pu9nvcwfkrjt09xcyews4irj"); // job->needs_refresh = 1; UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("62hf9ws0l8zd35rei8kd6y3u0"); // job->oldpointer = pointer; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 65hgbjypgt12lezyx7wgj6mhm // static void gvevent_button_release(GVJ_t *job, int button, pointf pointer) public static Object gvevent_button_release(Object... arg) { UNSUPPORTED("d2aelqvksu4avszxarr327x9o"); // static void gvevent_button_release(GVJ_t *job, int button, pointf pointer) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4kf4459mj5lftb83ao5l6rf4w"); // job->click = 0; UNSUPPORTED("3h1jvgy0zcvs1uzxzvemt60gd"); // job->button = 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 40ck841yiiqu2vr67m7w0ayru // static void gvevent_motion(GVJ_t * job, pointf pointer) public static Object gvevent_motion(Object... arg) { UNSUPPORTED("1k2shillcd8968xvxu3cbamfb"); // static void gvevent_motion(GVJ_t * job, pointf pointer) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5xe1ey15po4uno8y4t9cbugi5"); // /* dx,dy change in position, in device independent points */ UNSUPPORTED("c18b7wll7ujgfq0htgi5h6jkk"); // double dx = (pointer.x - job->oldpointer.x) / job->devscale.x; UNSUPPORTED("e8ewy0zul25k4mvzr5whcqkoj"); // double dy = (pointer.y - job->oldpointer.y) / job->devscale.y; UNSUPPORTED("cck0f698k4qf95xqzoos3niwt"); // if (abs(dx) < .0001 && abs(dy) < .0001) /* ignore motion events with no motion */ UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("9fk4hgwrkwuthrmr5tsmjkj0w"); // switch (job->button) { UNSUPPORTED("dqvbfy1kj4sm1clzp84yypk0g"); // case 0: /* drag with no button - */ UNSUPPORTED("75lxnhkp5b7e2lfc5y4rxj1fq"); // gvevent_find_current_obj(job, pointer); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8qnt25sjs3lrjlk6jo36k0lca"); // case 1: /* drag with button 1 - drag object */ UNSUPPORTED("17jbzecixgbp57ifr720i2w23"); // /* FIXME - to be implemented */ UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("f401i5lou32das0fux80r5ic9"); // case 2: /* drag with button 2 - pan graph */ UNSUPPORTED("6oc35uo8bb3x21jhtp2wmzsmn"); // if (job->rotation) { UNSUPPORTED("5uheedtwe7j6nydvsdwgvdsj5"); // job->focus.x -= dy / job->zoom; UNSUPPORTED("87lkqikxkyin4n49mf3ui048z"); // job->focus.y += dx / job->zoom; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("1yoovihyt7x68mlrh1v3957o4"); // job->focus.x -= dx / job->zoom; UNSUPPORTED("6zgznv9znc83j9bgdvnnwczoo"); // job->focus.y -= dy / job->zoom; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8so9jtnfbj4rh32qoan7atzqd"); // job->needs_refresh = 1; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("92nzvfmuso8utk1ncws76nrkl"); // case 3: /* drag with button 3 - drag inserted node or uncompleted edge */ UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("62hf9ws0l8zd35rei8kd6y3u0"); // job->oldpointer = pointer; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 309h3ymhziboe2mht4n46ru47 // static int quit_cb(GVJ_t * job) public static Object quit_cb(Object... arg) { UNSUPPORTED("d2aasjdi3qo1v67f1xh4m4a9q"); // static int quit_cb(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3tcgz4dupb6kw5tdk7n3pca2l"); // return 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2d3158r4aw8sdu1oeit21vqmq // static int left_cb(GVJ_t * job) public static Object left_cb(Object... arg) { UNSUPPORTED("521h83irh6091dct76cd4wq3o"); // static int left_cb(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1jc6q1sk7wtw38mibr185b4ae"); // job->fit_mode = 0; UNSUPPORTED("258sx21x70eo4z4f4cjjzfdk5"); // job->focus.x += 10 / job->zoom; UNSUPPORTED("14bxw21mx0itq382s1d9yvadm"); // job->needs_refresh = 1; UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 djqsh8zi6zin7tc1ablymhqyd // static int right_cb(GVJ_t * job) public static Object right_cb(Object... arg) { UNSUPPORTED("e0rr45fh4bimynpp3tyzov053"); // static int right_cb(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1jc6q1sk7wtw38mibr185b4ae"); // job->fit_mode = 0; UNSUPPORTED("6e17ijfp2skgoy0iikmod5cv7"); // job->focus.x -= 10 / job->zoom; UNSUPPORTED("14bxw21mx0itq382s1d9yvadm"); // job->needs_refresh = 1; UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9yjypnd484350411fozpecu1w // static int up_cb(GVJ_t * job) public static Object up_cb(Object... arg) { UNSUPPORTED("2xwjivk6gbwmjk2orf31i0bn1"); // static int up_cb(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1jc6q1sk7wtw38mibr185b4ae"); // job->fit_mode = 0; UNSUPPORTED("1gf4o3dtzjulg5xtxmjp31u3x"); // job->focus.y += -(10 / job->zoom); UNSUPPORTED("14bxw21mx0itq382s1d9yvadm"); // job->needs_refresh = 1; UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ao1epwwls96l9rn7aorg8t57w // static int down_cb(GVJ_t * job) public static Object down_cb(Object... arg) { UNSUPPORTED("xxaph7ayk44vfwcpj202iq1k"); // static int down_cb(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1jc6q1sk7wtw38mibr185b4ae"); // job->fit_mode = 0; UNSUPPORTED("36xzjyr5ndfvwfeodypoae9b8"); // job->focus.y -= -(10 / job->zoom); UNSUPPORTED("14bxw21mx0itq382s1d9yvadm"); // job->needs_refresh = 1; UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 s9fxrizmsy50pmyuxkmqxk6u // static int zoom_in_cb(GVJ_t * job) public static Object zoom_in_cb(Object... arg) { UNSUPPORTED("2riwlfksx6nk9oydtk942wbs8"); // static int zoom_in_cb(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1jc6q1sk7wtw38mibr185b4ae"); // job->fit_mode = 0; UNSUPPORTED("cbpe6q4xe7lv6rmzvuq51p7yk"); // job->zoom *= 1.1; UNSUPPORTED("14bxw21mx0itq382s1d9yvadm"); // job->needs_refresh = 1; UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dwx7pk3xbbk6xsv7okp2izif4 // static int zoom_out_cb(GVJ_t * job) public static Object zoom_out_cb(Object... arg) { UNSUPPORTED("adt5ckz3j0b6igqhekyzi9j3c"); // static int zoom_out_cb(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1jc6q1sk7wtw38mibr185b4ae"); // job->fit_mode = 0; UNSUPPORTED("6nhoh1qyyztet8mqqpvccbrt8"); // job->zoom /= 1.1; UNSUPPORTED("14bxw21mx0itq382s1d9yvadm"); // job->needs_refresh = 1; UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3v74j066qbm5zjvdffnjqqjsb // static int toggle_fit_cb(GVJ_t * job) public static Object toggle_fit_cb(Object... arg) { UNSUPPORTED("calj7u9drqvbnznvt9qpgpco"); // static int toggle_fit_cb(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bk1me2jow1k66xklpyf96da8z"); // /*FIXME - should allow for margins */ UNSUPPORTED("ca08k9e4l7k97t09hno8eg5ic"); // /* - similar zoom_to_fit code exists in: */ UNSUPPORTED("407kig1fpgnuaqr1p9rmn7rvh"); // /* plugin/gtk/callbacks.c */ UNSUPPORTED("75fmjzjh5oukz4xyadm6o2rrg"); // /* plugin/xlib/gvdevice_xlib.c */ UNSUPPORTED("dtwhbdevq5apej1dgmz28t9t8"); // /* lib/gvc/gvevent.c */ UNSUPPORTED("3gekppn80z1eb3aglohw61u3m"); // job->fit_mode = !job->fit_mode; UNSUPPORTED("cpguagf0s57pek6mm9zvj1dvn"); // if (job->fit_mode) { UNSUPPORTED("syw74d3j5j2nfdmkv9evrita"); // /* FIXME - this code looks wrong */ UNSUPPORTED("9oyvwx5y9ax3tg2zqwhpv3gdn"); // int dflt_width, dflt_height; UNSUPPORTED("8j3kezo5opp2m5wn3ly37cz39"); // dflt_width = job->width; UNSUPPORTED("d9way4je7rmtkau2r1nauz7ys"); // dflt_height = job->height; UNSUPPORTED("6cbgfx2rz5ryr8r0wxuagn4z0"); // job->zoom = UNSUPPORTED("kgc4bn46xnur16uv4rmw4ba7"); // MIN((double) job->width / (double) dflt_width, UNSUPPORTED("xquy3dhq6f4rs8amktm3abt6"); // (double) job->height / (double) dflt_height); UNSUPPORTED("1e1oqbruejs7bca1s0k1bke3s"); // job->focus.x = 0.0; UNSUPPORTED("4zzdaatjg7hr1ge378anr4q9w"); // job->focus.y = 0.0; UNSUPPORTED("8so9jtnfbj4rh32qoan7atzqd"); // job->needs_refresh = 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 56ccrkgaretp9luumyk09sglf // static void gvevent_modify (GVJ_t * job, const char *name, const char *value) public static Object gvevent_modify(Object... arg) { UNSUPPORTED("9a50fbnlu9tkk620l868zqnuy"); // static void gvevent_modify (GVJ_t * job, const char *name, const char *value) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("42d3fg9bdfs5c7bjfa8ifmifa"); // /* FIXME */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9y8ix71hznhgpqhdprgm6k2bf // static void gvevent_delete (GVJ_t * job) public static Object gvevent_delete(Object... arg) { UNSUPPORTED("e1gm68y4wg586b527136y2y6z"); // static void gvevent_delete (GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("42d3fg9bdfs5c7bjfa8ifmifa"); // /* FIXME */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 biioemf5ai5iuyoolocr03hc3 // static void gvevent_read (GVJ_t * job, const char *filename, const char *layout) public static Object gvevent_read(Object... arg) { UNSUPPORTED("4h0co0klq5h3sj7yxdyzcvncb"); // static void gvevent_read (GVJ_t * job, const char *filename, const char *layout) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3al75fenupx704zal37z61c8b"); // FILE *f; UNSUPPORTED("8f3ds00y6y855lum5r1q8iguu"); // GVC_t *gvc; UNSUPPORTED("dche8rg8aigyynyqrt6nu6pi9"); // Agraph_t *g = NULL; UNSUPPORTED("a7up84jfetsqtynw5ox47rdn1"); // gvlayout_engine_t *gvle; UNSUPPORTED("7j5dmfadhocojbtl83jkh6xjg"); // gvc = job->gvc; UNSUPPORTED("bds8dq7k78imolfuqvsompdpf"); // if (!filename) { UNSUPPORTED("13uys361kmjd3qx8b3kmbfddm"); // g = agopen("G", Agdirected, ((Agdisc_t *)0)); UNSUPPORTED("5dm2nbgqv55kkg3rp77draehf"); // job->output_filename = "new.gv"; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("7bjzgpbe070yudayasbofefn6"); // f = fopen(filename, "r"); UNSUPPORTED("cph6k7prppj2jpk1p0kv21lzt"); // if (!f) UNSUPPORTED("vsh6vacplnxa4vg4vqz6gr3h"); // return; /* FIXME - need some error handling */ UNSUPPORTED("4dxia19suxcfx8nx4kkv03xvr"); // g = agread(f,((Agdisc_t *)0)); UNSUPPORTED("chdfpk39x7sd1pta68dy54uc7"); // fclose(f); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("d4y2wp550bqfklklls2la62re"); // if (!g) UNSUPPORTED("t91xvoytv7bz3axiuer1p2jk"); // return; /* FIXME - need some error handling */ UNSUPPORTED("8vkljh4chrkc3gbo7q02no1z9"); // if (gvc->g) { UNSUPPORTED("bufvf17xepz6u0m39ufe7ye84"); // gvle = gvc->layout.engine; UNSUPPORTED("czf1mh1evonsv8so8ps3947ll"); // if (gvle && gvle->cleanup) UNSUPPORTED("uyay82wv3l1kokjwlaueo2db"); // gvle->cleanup(gvc->g); UNSUPPORTED("2aupiz398k8rkbfq3c05sw8rv"); // graph_cleanup(gvc->g); UNSUPPORTED("a5pud2m3sxqnuvqgon9a1at18"); // agclose(gvc->g); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dc88opmbj2t1d95ft4b1qfucr"); // aginit (g, AGRAPH, "Agraphinfo_t", sizeof(Agraphinfo_t), NOT(0)); UNSUPPORTED("9ags1qc3lejto2k8tjopp22e1"); // aginit (g, AGNODE, "Agnodeinfo_t", sizeof(Agnodeinfo_t), NOT(0)); UNSUPPORTED("e8pylpzs6p3co7burg6on5rs9"); // aginit (g, AGEDGE, "Agedgeinfo_t", sizeof(Agedgeinfo_t), NOT(0)); UNSUPPORTED("8zmfa30bj4y52yk4nu6fzjg4a"); // gvc->g = g; UNSUPPORTED("eal5jjm76ug7lf7e9m9yk6um"); // GD_gvc(g) = gvc; UNSUPPORTED("6cbvip0hdqnrg54zv7c3oesf1"); // if (gvLayout(gvc, g, layout) == -1) UNSUPPORTED("t91xvoytv7bz3axiuer1p2jk"); // return; /* FIXME - need some error handling */ UNSUPPORTED("99q6bmbem9osq0wmq124s5bc4"); // job->selected_obj = NULL; UNSUPPORTED("cqfz5sjxk5oljgi2g2rkngkxw"); // job->current_obj = NULL; UNSUPPORTED("14bxw21mx0itq382s1d9yvadm"); // job->needs_refresh = 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1k1rh0zcbdhmc63pah8p3v9a5 // static void gvevent_layout (GVJ_t * job, const char *layout) public static Object gvevent_layout(Object... arg) { UNSUPPORTED("84aq06ks1526mvfbsygstl1m6"); // static void gvevent_layout (GVJ_t * job, const char *layout) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6vga6er14oo3mi8zwv56hjzy9"); // gvLayout(job->gvc, job->gvc->g, layout); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8m9msj4hgktq8ewa10u5wbtf7 // static void gvevent_render (GVJ_t * job, const char *format, const char *filename) public static Object gvevent_render(Object... arg) { UNSUPPORTED("6lp11ec3wv4z0karcudj7m75i"); // static void gvevent_render (GVJ_t * job, const char *format, const char *filename) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bwwsrqv41ezfoxciv5yp7fxcs"); // gvRenderFilename(job->gvc, job->gvc->g, format, filename); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 5jkaqx0en4lqut923scwlpad7 // gvevent_key_binding_t gvevent_key_binding[] = //1 79b1htxh6vczq03o7b1tx96yh // int gvevent_key_binding_size = (sizeof(gvevent_key_binding)/sizeof(gvevent_key_binding[0])) //1 2rfceko46oix2bfpek421g4uv // gvdevice_callbacks_t gvdevice_callbacks = } plantuml-1.2018.13+ds/src/gen/lib/gvc/gvjobs__c.java000066400000000000000000000300141340005343600217440ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.gvc; import static smetana.core.Macro.UNSUPPORTED; public class gvjobs__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 1pjfdgts3f7oydy0y9jhjugta // static GVJ_t *output_filename_job //1 7y5n04mdy4v0ksvy1f8u1ufu1 // static GVJ_t *output_langname_job //3 39qttb09ieneoczohoe18m73o // void gvjobs_output_filename(GVC_t * gvc, const char *name) public static Object gvjobs_output_filename(Object... arg) { UNSUPPORTED("3ryvg5oev9sja9lw3ofgqed7w"); // void gvjobs_output_filename(GVC_t * gvc, const char *name) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cv040o08cv8281cfqhv8854yq"); // if (!gvc->jobs) { UNSUPPORTED("a9cgmkhzy1dikep3roojjbcte"); // output_filename_job = gvc->job = gvc->jobs = zmalloc(sizeof(GVJ_t)); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("d3hw0xdpchwiy1k2rcc44xv4j"); // if (!output_filename_job) { UNSUPPORTED("36c32ldaxz6vogmj5nhf92h83"); // output_filename_job = gvc->jobs; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("485550438nef76qt5kg2ly349"); // if (!output_filename_job->next) { UNSUPPORTED("5oixw6s3swg9hznwx4czokjbk"); // output_filename_job->next = zmalloc(sizeof(GVJ_t)); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("b8inpu32tu6zqo000moq75wy0"); // output_filename_job = output_filename_job->next; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8rlxv3o0lru4utlh7jl0f0vue"); // output_filename_job->output_filename = name; UNSUPPORTED("62fru6gff40i2nhkhk1o43tsh"); // output_filename_job->gvc = gvc; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4i5tkl55fx3u0wrjngy8rlrlf // boolean gvjobs_output_langname(GVC_t * gvc, const char *name) public static Object gvjobs_output_langname(Object... arg) { UNSUPPORTED("7pknulb4k1s97jbz2490bhjil"); // boolean gvjobs_output_langname(GVC_t * gvc, const char *name) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cv040o08cv8281cfqhv8854yq"); // if (!gvc->jobs) { UNSUPPORTED("bo2bep4t13b563p9bkmze288q"); // output_langname_job = gvc->job = gvc->jobs = zmalloc(sizeof(GVJ_t)); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("3llf13j0vc8xk1fxkw9pyxdby"); // if (!output_langname_job) { UNSUPPORTED("8sydwjd6sltqbn798ugzschoj"); // output_langname_job = gvc->jobs; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("cyn28cpa3wbtakiskqjpzycm"); // if (!output_langname_job->next) { UNSUPPORTED("aichf642t6sfhx7rmhieyx9ds"); // output_langname_job->next = zmalloc(sizeof(GVJ_t)); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("35r3hch2gu4t2k2cwybo9zg6"); // output_langname_job = output_langname_job->next; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("89g459qqeg1bo774abkcni1lt"); // output_langname_job->output_langname = name; UNSUPPORTED("d5cmms7hxpqitvmv6grhco7a9"); // output_langname_job->gvc = gvc; UNSUPPORTED("9j8seo67dfwx0qo2t0owy5ss3"); // /* load it now to check that it exists */ UNSUPPORTED("9c0elq6msr2m6yc2h6gmdodzo"); // if (gvplugin_load(gvc, API_device, name)) UNSUPPORTED("bp2y18pqq5n09006utwifdyxo"); // return NOT(0); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e8pwlap2rcl8cv9ofdfafjvno // GVJ_t *gvjobs_first(GVC_t * gvc) public static Object gvjobs_first(Object... arg) { UNSUPPORTED("ai610ye6dr7wwxocu8id01h8k"); // GVJ_t *gvjobs_first(GVC_t * gvc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5v9dnf37wu1p4ydy7jec1vsdp"); // return (gvc->job = gvc->jobs); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 306mhd1v2f9ubaamkhjsvd8qp // GVJ_t *gvjobs_next(GVC_t * gvc) public static Object gvjobs_next(Object... arg) { UNSUPPORTED("cl5sw4h8jxwka40ye3iclxeye"); // GVJ_t *gvjobs_next(GVC_t * gvc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("a78h71dhtlrepn6wv5z3kjyua"); // GVJ_t *job = gvc->job->next; UNSUPPORTED("4ugafys4138jbf2cwbngr1rmf"); // if (job) { UNSUPPORTED("c2ja6xkql14tp4abs4rjoczap"); // /* if langname not specified, then repeat previous value */ UNSUPPORTED("9pe1w1tplonkmhbh6oxtgvk0m"); // if (!job->output_langname) UNSUPPORTED("7meekiuuvso01zylb5f9yhxhn"); // job->output_langname = gvc->job->output_langname; UNSUPPORTED("b4q9cevqaqfulbq7fxg62domu"); // /* if filename not specified, then leave NULL to indicate stdout */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1qgmwakcokc36ya4c4e9x0slz"); // return (gvc->job = job); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 792fo3o9fsxvoz433ctlnc4fc // gv_argvlist_t *gvNEWargvlist(void) public static Object gvNEWargvlist(Object... arg) { UNSUPPORTED("6zo529p4sml722e6ll9gxyt7l"); // gv_argvlist_t *gvNEWargvlist(void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2pnc0kxk2813dwiy45sgvw48"); // return (gv_argvlist_t*)zmalloc(sizeof(gv_argvlist_t)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1vrgzg9tosokrv5epywnpck6p // void gv_argvlist_set_item(gv_argvlist_t *list, int index, char *item) public static Object gv_argvlist_set_item(Object... arg) { UNSUPPORTED("8bargfhdrutc1xv5dwu2chxuv"); // void gv_argvlist_set_item(gv_argvlist_t *list, int index, char *item) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3fw3kxowrs2t9drym6ls89uy5"); // if (index >= list->alloc) { UNSUPPORTED("1uc5g7t5w5e108ipxs91oph56"); // list->alloc = index + 10; UNSUPPORTED("c5yzzd37ss3fgbr0b3a0aq6z7"); // list->argv = grealloc(list->argv, (list->alloc)*(sizeof(char*))); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bl6ru62mgdiir5470o069hfd1"); // list->argv[index] = item; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d2b5k3hlhil0de7fa1hu7l94h // void gv_argvlist_reset(gv_argvlist_t *list) public static Object gv_argvlist_reset(Object... arg) { UNSUPPORTED("850opb4ojq26l924543kc1gok"); // void gv_argvlist_reset(gv_argvlist_t *list) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("doj8fyzeqsl0r4wgj9lh430ox"); // if (list->argv) UNSUPPORTED("xlt093t6b7j3pnv9hu2vt66f"); // free(list->argv); UNSUPPORTED("ap2mjy4r8fpmayf9uuxp4jf89"); // list->argv = NULL; UNSUPPORTED("4sqkjh7d3c62r110mi2a83svb"); // list->alloc = 0; UNSUPPORTED("7ro2etssmfzc4a1isfbbx6eed"); // list->argc = 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5mgwysotnvkta4thc1xg5fi54 // void gv_argvlist_free(gv_argvlist_t *list) public static Object gv_argvlist_free(Object... arg) { UNSUPPORTED("ea3c0vjqyvj4dxsejfvmh35gb"); // void gv_argvlist_free(gv_argvlist_t *list) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("doj8fyzeqsl0r4wgj9lh430ox"); // if (list->argv) UNSUPPORTED("xlt093t6b7j3pnv9hu2vt66f"); // free(list->argv); UNSUPPORTED("77gdlnaiah901ax125wm0qh80"); // free(list); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2wvv6fkvq52bzf9nxkfkegeaq // void gvjobs_delete(GVC_t * gvc) public static Object gvjobs_delete(Object... arg) { UNSUPPORTED("crqxrbflqt2g954zn4tcroo9w"); // void gvjobs_delete(GVC_t * gvc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("97ra1ormlmahj8vge2eunl30v"); // GVJ_t *job, *j; UNSUPPORTED("3pmzbzpokb2qak70z519miwt2"); // job = gvc->jobs; UNSUPPORTED("eaj0v3cv4vpxfa9s4a9encgvb"); // while ((j = job)) { UNSUPPORTED("c3q9r9u9bkmzersvod3mnf57w"); // job = job->next; UNSUPPORTED("1cdz5buzwqhtha92lvuuza7np"); // gv_argvlist_reset(&(j->selected_obj_attributes)); UNSUPPORTED("5zd7n7b1fs7wf1p5gxhwc18tq"); // gv_argvlist_reset(&(j->selected_obj_type_name)); UNSUPPORTED("7v6blrn64uyfyf00wiegwiolr"); // if (j->active_tooltip) UNSUPPORTED("13harrcujsq9tfn9l9si9smra"); // free(j->active_tooltip); UNSUPPORTED("3szbju1px4sq4hkqtrrzspao7"); // if (j->selected_href) UNSUPPORTED("cpy4ywcq3ss7v5o2ymb3x26bb"); // free(j->selected_href); UNSUPPORTED("6vry3qvmafu1jm517mnutt1f7"); // free(j); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4q0duus5k3hueqb940j1h6tc0"); // gvc->jobs = gvc->job = gvc->active_jobs = output_filename_job = output_langname_job = UNSUPPORTED("5miekn5jg1682zqyvjvhc1h25"); // NULL; UNSUPPORTED("77k27xankrzoe9n1nj8zbr2j0"); // gvc->common.viewNum = 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/gvc/gvlayout__c.java000066400000000000000000000211331340005343600223260ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.gvc; import static gen.lib.cgraph.obj__c.agroot; import static gen.lib.cgraph.rec__c.agbindrec; import static gen.lib.common.emit__c.gv_fixLocale; import static gen.lib.common.input__c.graph_init; import static smetana.core.JUtils.LOG2; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtils.enumAsInt; import static smetana.core.JUtils.function; import static smetana.core.JUtils.sizeof; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.GD_cleanup; import static smetana.core.Macro.GD_drawing; import static smetana.core.Macro.GD_gvc; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agraph_s; import h.ST_Agraphinfo_t; import h.ST_GVC_s; import h.ST_gvlayout_engine_s; import h.ST_gvlayout_features_t; import h.ST_gvplugin_installed_t; import h.layout_type; import smetana.core.CString; public class gvlayout__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t private final static ST_gvlayout_features_t dotgen_features = new ST_gvlayout_features_t(); private final static ST_gvlayout_engine_s dotgen_engine = new ST_gvlayout_engine_s(); static { dotgen_features.setInt("flags", 1<<0); dotgen_engine.setPtr("layout", function(gen.lib.dotgen.dotinit__c.class, "dot_layout")); dotgen_engine.setPtr("cleanup", function(gen.lib.dotgen.dotinit__c.class, "dot_cleanup")); } //3 2g20jitdi8afuoei8p1mcfg9l //int gvlayout_select(GVC_t * gvc, const char *layout) public static int gvlayout_select(ST_GVC_s gvc, CString layout) { ENTERING("2g20jitdi8afuoei8p1mcfg9l","gvlayout_select"); try { ST_gvplugin_installed_t gvlayout_dot_layout = new ST_gvplugin_installed_t(); gvlayout_dot_layout.setInt("id", enumAsInt(layout_type.class, "LAYOUT_DOT")); gvlayout_dot_layout.setPtr("type", new CString("dot")); gvlayout_dot_layout.setInt("quality", 0); gvlayout_dot_layout.setPtr("engine", dotgen_engine); gvlayout_dot_layout.setPtr("features", dotgen_features); // gvplugin_available_t *plugin; ST_gvplugin_installed_t typeptr = gvlayout_dot_layout; // plugin = gvplugin_load(gvc, API_layout, layout); // if (plugin) { // typeptr = plugin->typeptr; gvc.layout.setPtr("type", typeptr.type); gvc.layout.setPtr("engine", typeptr.engine); gvc.layout.setInt("id", typeptr.id); gvc.layout.setPtr("features", typeptr.features); return 300; /* FIXME - need better return code */ // } // return 999; } finally { LEAVING("2g20jitdi8afuoei8p1mcfg9l","gvlayout_select"); } } //3 991b7t7n0x8ifkp49zotjs78x // int gvLayoutJobs(GVC_t * gvc, Agraph_t * g) public static int gvLayoutJobs(ST_GVC_s gvc, ST_Agraph_s g) { ENTERING("991b7t7n0x8ifkp49zotjs78x","gvLayoutJobs"); try { ST_gvlayout_engine_s gvle; CString p = null; int rc; agbindrec(g, new CString("Agraphinfo_t"), sizeof(ST_Agraphinfo_t.class), (N(0))); GD_gvc(g, gvc); if (NEQ(g, agroot(g))) UNSUPPORTED("ah9ygbaap1fyxr97z734juk0j"); // (((Agraphinfo_t*)(((Agobj_t*)(agroot(g)))->data))->gvc) = gvc; /* if ((p = agget(g, new CString("layout")))!=null) { UNSUPPORTED("dlm1jil8gt2pv7p8yrit1tuls"); // gvc->layout.engine = NULL; UNSUPPORTED("efl8rjna6ij4qjxb0xlyu3hh1"); // rc = gvlayout_select(gvc, p); UNSUPPORTED("7smbmph5nldinro02iqf3qlxv"); // if (rc == 999) { UNSUPPORTED("6ru23qpjrx893ivwviirr1ikc"); // agerr (AGERR, "Layout type: \"%s\" not recognized. Use one of:%s\n", UNSUPPORTED("f3vrr10ga3mqymh2qxomxn326"); // p, gvplugin_list(gvc, API_layout, p)); UNSUPPORTED("aivfd7ajlfz8o8oi68d4u5s5z"); // return -1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } }*/ rc = gvlayout_select(gvc, p); //Let's force things gvle = (ST_gvlayout_engine_s) gvc.layout.engine; if (N(gvle)) UNSUPPORTED("return -1;"); gv_fixLocale (1); graph_init(g, (gvc.layout.features.flags & (1<<0))!=0); GD_drawing(agroot(g), GD_drawing(g)); if (gvle!=null && gvle.layout!=null) { gvle.layout.exe(g); if (gvle.cleanup!=null) if (GD_cleanup(g)==null) LOG2("WARNING WE CHEAT GD_cleanup(g) is NULL"); else GD_cleanup(g).setPtr(gvle.cleanup); } gv_fixLocale (0); return 0; } finally { LEAVING("991b7t7n0x8ifkp49zotjs78x","gvLayoutJobs"); } } //3 3c99zdwpmvsunk8fuj6my9c14 // int gvFreeLayout(GVC_t * gvc, Agraph_t * g) public static Object gvFreeLayout(Object... arg) { UNSUPPORTED("miztaqpyzsrx0tzflsbk18df"); // int gvFreeLayout(GVC_t * gvc, Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("an78d0x2t0pcnm5p7x0nsyl8o"); // /* skip if no Agraphinfo_t yet */ UNSUPPORTED("y9n04abevv5wkts4l75cl1au"); // if (! agbindrec(g, "Agraphinfo_t", 0, NOT(0))) UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("3tq49gfbuixakj7ae5tf9mzxz"); // if (GD_cleanup(g)) { UNSUPPORTED("66fe8hcy8mktqozsl94u84wy4"); // (GD_cleanup(g))(g); UNSUPPORTED("9otfc4inu4hywb5uzke8hroh8"); // GD_cleanup(g) = NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6o4u7hjlds1wsu4tuaotw2xvr"); // if (GD_drawing(g)) { UNSUPPORTED("614pp135h9hyyoa6quv172ent"); // graph_cleanup(g); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/gvc/gvloadimage__c.java000066400000000000000000000141061340005343600227350ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.gvc; import static smetana.core.Macro.UNSUPPORTED; public class gvloadimage__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //3 ep6jmhv0is26drryogw6fohi3 // static int gvloadimage_select(GVJ_t * job, char *str) public static Object gvloadimage_select(Object... arg) { UNSUPPORTED("5bb69p9z62wipd3lyplljm2v4"); // static int gvloadimage_select(GVJ_t * job, char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5ssvxydvbzuxmb74t0hvdbmws"); // gvplugin_available_t *plugin; UNSUPPORTED("9q2rkohjybr7oxouto8gnuzsb"); // gvplugin_installed_t *typeptr; UNSUPPORTED("5yly7xo50onlrn1nqjqrr9wo9"); // plugin = gvplugin_load(job->gvc, API_loadimage, str); UNSUPPORTED("3qzhu1d1ev2sbxdqyn2rujv5y"); // if (plugin) { UNSUPPORTED("9n3145wffxmm0g88h1ajkns50"); // typeptr = plugin->typeptr; UNSUPPORTED("2ui2g5j7vqtvf4ojbk62b0iqw"); // job->loadimage.engine = (gvloadimage_engine_t *) (typeptr->engine); UNSUPPORTED("cfrvp22dhfgc4junmqcolizhe"); // job->loadimage.id = typeptr->id; UNSUPPORTED("51t151ipzzvnbstd9b6wdf6hc"); // return 300; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bel174mlivqazll07qqj29en"); // return 999; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a1485vryn659qrl2rhyrgd6dt // void gvloadimage(GVJ_t * job, usershape_t *us, boxf b, boolean filled, const char *target) public static Object gvloadimage(Object... arg) { UNSUPPORTED("21k2magil01siu25ovmraoqbg"); // void gvloadimage(GVJ_t * job, usershape_t *us, boxf b, boolean filled, const char *target) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e3pb3haf1s6pn0amul7acf5km"); // gvloadimage_engine_t *gvli; UNSUPPORTED("ccf1hpkthzbxg1bqw930patsh"); // char type[128]; UNSUPPORTED("1nk5slg1h855ktp6d9uxli7u3"); // assert(job); UNSUPPORTED("7gqi0ait1bhc4v9zl8rnn0wbs"); // assert(us); UNSUPPORTED("xlffgd4fqdckxg2nbs0mxtlj"); // assert(us->name); UNSUPPORTED("fk4kdjctgb13swd2h14t0yvh"); // assert(us->name[0]); UNSUPPORTED("2pbo4rf9sxizguooweyns5dan"); // strcpy(type, us->stringtype); UNSUPPORTED("19k2ef632wrs9x9vtnv1ijff0"); // strcat(type, ":"); UNSUPPORTED("aeq1ythwox76trv969mshtfdj"); // strcat(type, target); UNSUPPORTED("42tfcob96fcxdwuvlm1jq2rxv"); // if (gvloadimage_select(job, type) == 999) UNSUPPORTED("d5epmnbww8kj1vdjo9mwj8qpo"); // agerr (AGWARN, "No loadimage plugin for \"%s\"\n", type); UNSUPPORTED("1idhakd1v5ijtt2ohczpakl6n"); // if ((gvli = job->loadimage.engine) && gvli->loadimage) UNSUPPORTED("8vlzrv54d9rjiv3pxxvhx7wht"); // gvli->loadimage(job, us, b, filled); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/gvc/gvplugin__c.java000066400000000000000000001474461340005343600223270ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.gvc; import static smetana.core.JUtils.enumAsInt; import static smetana.core.JUtils.strchr; import static smetana.core.JUtils.strncpy; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_GVC_s; import h.ST_gvplugin_available_s; import h.ST_gvplugin_installed_t; import h.api_t; import h.gvplugin_api_t; import h.gvplugin_library_t; import smetana.core.CString; public class gvplugin__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 aemimfultk1u2w9cxr60mx9t8 // static char *api_names[] = //3 eevhjwoa4cqgsdjixuro98kl0 // api_t gvplugin_api(char *str) public static Object gvplugin_api(Object... arg) { UNSUPPORTED("cszu4juqkncv208751dxi10l3"); // api_t gvplugin_api(char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6ugrq6sc21ihshl3bbzco6fos"); // int api; UNSUPPORTED("c57imqe71hagsxekx4tv822e"); // for (api = 0; api < (sizeof(api_names)/sizeof(api_names[0])); api++) { UNSUPPORTED("cypzroibwqkkeifp7b9ciyrfx"); // if (strcmp(str, api_names[api]) == 0) UNSUPPORTED("ap3yvrg5ko19s5z8pvkh2f64b"); // return (api_t) api; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("16zkyf3ijnqqhod6luqgoqzd0"); // return -1; /* invalid api */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3vjd9bb625sthhbgjrlrmjw4h // char *gvplugin_api_name(api_t api) public static Object gvplugin_api_name(Object... arg) { UNSUPPORTED("c2dzua9zqksseurlvndxm1do6"); // char *gvplugin_api_name(api_t api) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("15g86gk834zhtgfo7w962s468"); // if (api >= (sizeof(api_names)/sizeof(api_names[0]))) UNSUPPORTED("3kb0mwa3jlee9ipjt7wodtqqb"); // return NULL; UNSUPPORTED("9esfkw01cbkumpp6ou4xmeqos"); // return api_names[api]; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cxx1gbe13gcf3krmmqjiyr7di // boolean gvplugin_install(GVC_t * gvc, api_t api, const char *typestr, int quality, gvplugin_package_t * package, gvplugin_installed_t * typeptr) public static Object gvplugin_install(Object... arg) { UNSUPPORTED("619rhf5ymot3codnbzksouis6"); // boolean gvplugin_install(GVC_t * gvc, api_t api, const char *typestr, UNSUPPORTED("cbeivjlgviyvn2o1ob9xcgjgt"); // int quality, gvplugin_package_t * package, gvplugin_installed_t * typeptr) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("d53yi83w5e6hbh7khf6tu3amd"); // gvplugin_available_t *plugin, **pnext; UNSUPPORTED("h46d3z1wpcx5yz5xwrhaep09"); // char *p, pins[63 + 1], pnxt[63 + 1]; UNSUPPORTED("70v3xi82bu6ai1mhcwuqlzygc"); // strncpy(pins, typestr, 63); UNSUPPORTED("5ehl3fspdtq5bd7s4n2jx0n5z"); // if ((p = strchr(pins, ':'))) UNSUPPORTED("1rp7cdmu93lyeduxea3kodw6f"); // *p = '\0'; UNSUPPORTED("bzrdeewfn36nuge9zi5rjnm9d"); // /* point to the beginning of the linked list of plugins for this api */ UNSUPPORTED("8cx9xw3rgslvvjxjfv9nlbjtu"); // pnext = &(gvc->apis[api]); UNSUPPORTED("40pb8kh6h3bxztdhbpk4ngy1t"); // /* keep alpha-sorted and insert new duplicates ahead of old */ UNSUPPORTED("86i3a2gdu4hatw4n3807wkpyz"); // while (*pnext) { UNSUPPORTED("8scl16yzxj5y3qa97lj2iuezz"); // strncpy(pnxt, (*pnext)->typestr, 63); UNSUPPORTED("8r7wzbzf0r4s9m2wasqpwmh4s"); // if ((p = strchr(pnxt, ':'))) UNSUPPORTED("6568pmkatbjs0ljsylsyvwepv"); // *p = '\0'; UNSUPPORTED("6499faf42vnje5zsq4zhf02lb"); // if (strcmp(pins, pnxt) <= 0) UNSUPPORTED("dtx9szdvwh3uhziubh9zvgbk5"); // break; UNSUPPORTED("55n8nl3sp6k1nc6nnayaegsho"); // pnext = &((*pnext)->next); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dsphd42nrfy5e2axk5sg3b65d"); // /* keep quality sorted within type and insert new duplicates ahead of old */ UNSUPPORTED("86i3a2gdu4hatw4n3807wkpyz"); // while (*pnext) { UNSUPPORTED("8scl16yzxj5y3qa97lj2iuezz"); // strncpy(pnxt, (*pnext)->typestr, 63); UNSUPPORTED("8r7wzbzf0r4s9m2wasqpwmh4s"); // if ((p = strchr(pnxt, ':'))) UNSUPPORTED("6568pmkatbjs0ljsylsyvwepv"); // *p = '\0'; UNSUPPORTED("5pq63gm29ufff21489hv3pdzx"); // if (strcmp(pins, pnxt) != 0) UNSUPPORTED("dtx9szdvwh3uhziubh9zvgbk5"); // break; UNSUPPORTED("ayxld9otjreak79zsydlip2n8"); // if (quality >= (*pnext)->quality) UNSUPPORTED("dtx9szdvwh3uhziubh9zvgbk5"); // break; UNSUPPORTED("55n8nl3sp6k1nc6nnayaegsho"); // pnext = &((*pnext)->next); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("27rb5472mqvaoo2lrv9ay9nb2"); // plugin = (gvplugin_available_t*)gmalloc(sizeof(gvplugin_available_t)); UNSUPPORTED("8d3uxfkxttckrkyrqz7c316nd"); // plugin->next = *pnext; UNSUPPORTED("2nzw9ndaixpz96xekhyzf3grg"); // *pnext = plugin; UNSUPPORTED("1ayess103228p1o527qizt55v"); // plugin->typestr = typestr; UNSUPPORTED("3gh26iskvk2frax9qdu4eml5p"); // plugin->quality = quality; UNSUPPORTED("74iei4ud3yzux00gm80pl13w1"); // plugin->package = package; UNSUPPORTED("15sp63w5n1i9737z5m37xrxt7"); // plugin->typeptr = typeptr; /* null if not loaded */ UNSUPPORTED("8fwlqtemsmckleh6946lyd8mw"); // return NOT(0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 awv2xvpinps83rbzhxzsrxeli // static boolean gvplugin_activate(GVC_t * gvc, api_t api, const char *typestr, char *name, char *path, gvplugin_installed_t * typeptr) public static Object gvplugin_activate(Object... arg) { UNSUPPORTED("4rcplnvgpurjnsh6ap3chx2b0"); // static boolean gvplugin_activate(GVC_t * gvc, api_t api, UNSUPPORTED("5npameydw0l8cwolyubcubjac"); // const char *typestr, char *name, char *path, gvplugin_installed_t * typeptr) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("55hy9lq9jka8phhommr24dbxn"); // gvplugin_available_t **pnext; UNSUPPORTED("bzrdeewfn36nuge9zi5rjnm9d"); // /* point to the beginning of the linked list of plugins for this api */ UNSUPPORTED("8cx9xw3rgslvvjxjfv9nlbjtu"); // pnext = &(gvc->apis[api]); UNSUPPORTED("86i3a2gdu4hatw4n3807wkpyz"); // while (*pnext) { UNSUPPORTED("ca0mu6mhnhs9xsj0mkrrsgw63"); // if ((strcasecmp(typestr, (*pnext)->typestr) == 0) UNSUPPORTED("5172m3eawe0zwowomraogv42a"); // && (strcasecmp(name, (*pnext)->package->name) == 0) UNSUPPORTED("5pn92hn5htirj0b4blrfjgdpc"); // && ((*pnext)->package->path != 0) UNSUPPORTED("b0ecf9ryo0px6tujptl0einvq"); // && (strcasecmp(path, (*pnext)->package->path) == 0)) { UNSUPPORTED("78cuc01bk5hfha6nvpxlqdkuu"); // (*pnext)->typeptr = typeptr; UNSUPPORTED("et2iafj6t9rndjcqc9yjlp1g0"); // return NOT(0); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("55n8nl3sp6k1nc6nnayaegsho"); // pnext = &((*pnext)->next); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c85ouwevp7apj486314dok24 // gvplugin_library_t *gvplugin_library_load(GVC_t * gvc, char *path) public static Object gvplugin_library_load(Object... arg) { UNSUPPORTED("2pt63mbk45dolii7tkhhsmcqw"); // gvplugin_library_t *gvplugin_library_load(GVC_t * gvc, char *path) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("45vezjnngq4gg1z3p4u8cmmfc"); // agerr(AGERR, "dynamic loading not available\n"); UNSUPPORTED("o68dp934ebg4cplebgc5hv4v"); // return NULL; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dh7wri9ra8xvm9ur14gd95xjj // gvplugin_available_t *gvplugin_load(GVC_t * gvc, api_t api, const char *str) public static ST_gvplugin_available_s gvplugin_load(ST_GVC_s gvc, int api, CString str) { ENTERING("dh7wri9ra8xvm9ur14gd95xjj","gvplugin_load"); try { //gvplugin_available_s **pnext; //gvplugin_available_s rv; gvplugin_library_t library; gvplugin_api_t apis; ST_gvplugin_installed_t types; CString reqtyp = new CString(64), typ = new CString(64); CString reqdep, dep , reqpkg; int i; int apidep; if (api == enumAsInt(api_t.class, "API_device") || api == enumAsInt(api_t.class, "API_loadimage")) /* api dependencies - FIXME - find better way to code these *s */ apidep = enumAsInt(api_t.class, "API_render"); else apidep = api; strncpy(reqtyp, str, 64 - 1); reqdep = strchr(reqtyp, ':'); if (reqdep!=null) { UNSUPPORTED("v4f234lwajz9y86dpuwr76x4"); // *reqdep++ = '\0'; UNSUPPORTED("bj9a4dr8mxpww0obi8zxgrz8n"); // reqpkg = strchr(reqdep, ':'); UNSUPPORTED("9de4oolo5nfmp3pn7rc8z7mpi"); // if (reqpkg) UNSUPPORTED("2web68ydx2ds095472meaj5uu"); // *reqpkg++ = '\0'; } else reqpkg = null; /* iterate the linked list of plugins for this api */ if (gvc!=null) return null; UNSUPPORTED("68d0gbzwhglez9tyb4bkt0lcd"); // for (pnext = &(gvc->apis[api]); *pnext; pnext = &((*pnext)->next)) { UNSUPPORTED("3axytqbyra7wocgomcecm4wlg"); // strncpy(typ, (*pnext)->typestr, 64 - 1); UNSUPPORTED("e5b2el2saiq79o4ykn7kmxwyt"); // dep = strchr(typ, ':'); UNSUPPORTED("chw9vqfst4822csk8kr1l0it"); // if (dep) UNSUPPORTED("6sqb7qw747g3hskwfejd5dcdt"); // *dep++ = '\0'; UNSUPPORTED("b60wz4e3fwt100yl0ccqx3iag"); // if (strcmp(typ, reqtyp)) UNSUPPORTED("1e1b2en921iu779xkfhuf9bty"); // continue; /* types empty or mismatched */ UNSUPPORTED("aluni9fobueuk3p10vji0llg5"); // if (dep && reqdep && strcmp(dep, reqdep)) UNSUPPORTED("bxrhpucln1iea8ytua2k3re1u"); // continue; /* dependencies not empty, but mismatched */ UNSUPPORTED("6u3aquvaxygyv1w8s3hgeeikl"); // if (!reqpkg || strcmp(reqpkg, (*pnext)->package->name) == 0) { UNSUPPORTED("e2bkyex2gkrmc414i8wvkb7xi"); // /* found with no packagename constraints, or with required matching packagname */ UNSUPPORTED("59jlxa3m4zama5p713kkyz5r4"); // if (dep && (apidep != api)) /* load dependency if needed, continue if can't find */ UNSUPPORTED("bsf9jjuzyv8iihk6zjrivkvcn"); // if (!(gvplugin_load(gvc, apidep, dep))) UNSUPPORTED("ci4p4wle87mwq773w72esmnae"); // continue; UNSUPPORTED("dtx9szdvwh3uhziubh9zvgbk5"); // break; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("27lmfyh0m79d94stpbddkdzrv"); // rv = *pnext; UNSUPPORTED("binj9wmdpb8vem5hhtbh5733n"); // if (rv && rv->typeptr == NULL) { UNSUPPORTED("15j4x1t80duys316q8r9fkkt1"); // library = gvplugin_library_load(gvc, rv->package->path); UNSUPPORTED("6pxp53rlv5d0tsd06clxz8vof"); // if (library) { UNSUPPORTED("d2alhhvljuuo0uf6nb3o1kp2g"); // /* Now activate the library with real type ptrs */ UNSUPPORTED("5umnd01nbv4ejzdswcukud4ah"); // for (apis = library->apis; (types = apis->types); apis++) { UNSUPPORTED("5qm5zem2mppsmhrid6q2g198g"); // for (i = 0; types[i].type; i++) { UNSUPPORTED("20c1krmmv0xuknbbvm603bvel"); // /* NB. quality is not checked or replaced UNSUPPORTED("dln3p27g47v58k0z2h13ce0mb"); // * in case user has manually edited quality in config */ UNSUPPORTED("8o3drgb2uqfbdsbqcd60n2hly"); // gvplugin_activate(gvc, apis->api, types[i].type, library->packagename, rv->package->path, &types[i]); UNSUPPORTED("7nxu74undh30brb8laojud3f9"); // } UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("cx6aan764qxohieo76h56olf5"); // if (gvc->common.verbose >= 1) UNSUPPORTED("4k41k50htzpoy2mb5tmed3i8e"); // fprintf(stderr, "Activated plugin library: %s\n", rv->package->path ? rv->package->path : ""); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3qiszxrlm01hncks79ifwi9jh"); // /* one last check for successfull load */ UNSUPPORTED("42v8vw2rohnx3tnrmuc85yz2d"); // if (rv && rv->typeptr == NULL) UNSUPPORTED("7bu34crrs14254woee3o1yuk1"); // rv = NULL; UNSUPPORTED("930q30ejwekyhfjobgapch0l5"); // if (rv && gvc->common.verbose >= 1) UNSUPPORTED("790j90vrtpqkyprttlog78ciy"); // fprintf(stderr, "Using %s: %s:%s\n", api_names[api], rv->typestr, rv->package->name); UNSUPPORTED("1mos1622e46mcs6eq5qmg29ht"); // gvc->api[api] = rv; UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("dh7wri9ra8xvm9ur14gd95xjj","gvplugin_load"); } } //3 djkxwqwth7ib6sozs5hisbmqn // char *gvplugin_list(GVC_t * gvc, api_t api, const char *str) public static Object gvplugin_list(Object... arg) { UNSUPPORTED("1v2q9s4cymbg5u04i4iijkj4n"); // char *gvplugin_list(GVC_t * gvc, api_t api, const char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("iu9q9m87bgur91u4rdej8gle"); // static int first = 1; UNSUPPORTED("2nryve1urrjk2ojn2ep4669qr"); // gvplugin_available_t **pnext, **plugin; UNSUPPORTED("bsi41xgsfug6hif16t4rb3w79"); // char *bp; UNSUPPORTED("7yit1omzpv81sbfd8ic9njmz3"); // char *s, *p, *q, *typestr_last; UNSUPPORTED("238qefw0qt8363ih41k92sqw0"); // boolean new = NOT(0); UNSUPPORTED("4prm37g40ckj7wdk0oh3x5tpk"); // static agxbuf xb; UNSUPPORTED("9ts30vphzu6hcp7n5wjnsyj68"); // /* check for valid str */ UNSUPPORTED("1g6v7lgund5oa653abq3l4giy"); // if (!str) UNSUPPORTED("3kb0mwa3jlee9ipjt7wodtqqb"); // return NULL; UNSUPPORTED("7herqsihuvh0d9kz5ji1qn1b2"); // if (first) { UNSUPPORTED("5egh0r7y24qk0cmitame7fi9j"); // agxbinit(&xb, 0, 0); UNSUPPORTED("25bi98k3pjxa9e2o1ew408zrm"); // first = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5z1vnrg7jdoloz7tvs9qxhb9l"); // /* does str have a :path modifier? */ UNSUPPORTED("db1ruffpf3fw8xna0bpslcfn1"); // s = strdup(str); UNSUPPORTED("5j3dabf0pq8p53mdtvs1rv7l7"); // p = strchr(s, ':'); UNSUPPORTED("ay5e65kk8vtv8cnw1dgne9zid"); // if (p) UNSUPPORTED("9jbl9iuamc68i63byu5pa34io"); // *p++ = '\0'; UNSUPPORTED("bzrdeewfn36nuge9zi5rjnm9d"); // /* point to the beginning of the linked list of plugins for this api */ UNSUPPORTED("bpnso1nnkurwa2h11vhuvqbgg"); // plugin = &(gvc->apis[api]); UNSUPPORTED("7727bx9by5zwoh8mu62t47xxz"); // if (p) { /* if str contains a ':', and if we find a match for the type, UNSUPPORTED("7r1sb5y2yws0114vm7oqw0kmt"); // then just list the alternative paths for the plugin */ UNSUPPORTED("do1au3wtm7l8n5k0p2wi4ubmt"); // for (pnext = plugin; *pnext; pnext = &((*pnext)->next)) { UNSUPPORTED("dsb8znr5lqd1s0vh1d44tg7a"); // q = strdup((*pnext)->typestr); UNSUPPORTED("6cotg1zzmnapxko400gs8p1r2"); // if ((p = strchr(q, ':'))) UNSUPPORTED("7bgubhrg54zm297xpoilybwg"); // *p++ = '\0'; UNSUPPORTED("7r3m11wck3p42s4647xgxrt20"); // /* list only the matching type, or all types if s is an empty string */ UNSUPPORTED("cbol5gysdkqlqcslh5x2w7sti"); // if (!s[0] || strcasecmp(s, q) == 0) { UNSUPPORTED("844nl3vki2jqyi2mj6cfoo71z"); // /* list each member of the matching type as "type:path" */ UNSUPPORTED("dcvbas8gf45yzfoglkuxabrfq"); // ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)' '))); UNSUPPORTED("en79hx6rxblgi642wvla3tp3f"); // agxbput(&xb, (*pnext)->typestr); UNSUPPORTED("4u7tuiai7hrptmytjxjb59hme"); // ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)':'))); UNSUPPORTED("tmk8zqkywoslpl5rqdhlps83"); // agxbput(&xb, (*pnext)->package->name); UNSUPPORTED("5492g7k0znwwdhrhryxc6kd3v"); // new = 0; UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("78r1pvho3mdwz7thgrt9lo0g9"); // free(q); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1m1k82h0prsffwgjj105oaqyq"); // free(s); UNSUPPORTED("7nk9vs246151cn14h3kz2q38g"); // if (new) { /* if the type was not found, or if str without ':', UNSUPPORTED("dakg0i7twu3pjraw1n6wq3ypq"); // then just list available types */ UNSUPPORTED("6sgnlgwkm8tt1u0lwxic3hpwn"); // typestr_last = NULL; UNSUPPORTED("do1au3wtm7l8n5k0p2wi4ubmt"); // for (pnext = plugin; *pnext; pnext = &((*pnext)->next)) { UNSUPPORTED("8ug6yi4wu9jv2mwfem68i3btd"); // /* list only one instance of type */ UNSUPPORTED("dsb8znr5lqd1s0vh1d44tg7a"); // q = strdup((*pnext)->typestr); UNSUPPORTED("6cotg1zzmnapxko400gs8p1r2"); // if ((p = strchr(q, ':'))) UNSUPPORTED("7bgubhrg54zm297xpoilybwg"); // *p++ = '\0'; UNSUPPORTED("ak5wb5un7zn45o0a7vmxks8ar"); // if (!typestr_last || strcasecmp(typestr_last, q) != 0) { UNSUPPORTED("a5m9n0v5k4shjsi1dhd9769dx"); // /* list it as "type" i.e. w/o ":path" */ UNSUPPORTED("dcvbas8gf45yzfoglkuxabrfq"); // ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)' '))); UNSUPPORTED("aqu5zlkjcyexkyv3zrenxdtik"); // agxbput(&xb, q); UNSUPPORTED("5492g7k0znwwdhrhryxc6kd3v"); // new = 0; UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("23xvu0c1equ3bzmgwwfp66etl"); // if (!typestr_last) UNSUPPORTED("cs5nhx0phv9qt4b3i2sc0qvpc"); // free(typestr_last); UNSUPPORTED("1k2kc951dgdzikaj2uy7wbsor"); // typestr_last = q; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("5tmdkz8l68iig5emc3gzwzosb"); // if (!typestr_last) UNSUPPORTED("4detj70lj7h5yymdlzkb5jyeh"); // free(typestr_last); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("aliy0fspw4omzb11sq9ftypvb"); // if (new) UNSUPPORTED("2fixk6x7x06lrtw0cgj4g1f64"); // bp = ""; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("45p6mggceizuz32pp72ykxok1"); // bp = (((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf)); UNSUPPORTED("bgo7070e5cs998w6zp1ma85ad"); // return bp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9rv6x5a14kebbqbr097thlusw // char **gvPluginList(GVC_t * gvc, char *kind, int *sz, char *str) public static Object gvPluginList(Object... arg) { UNSUPPORTED("8ubqe7erabaqlpa8x948629d5"); // char **gvPluginList(GVC_t * gvc, char *kind, int *sz, char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6ugrq6sc21ihshl3bbzco6fos"); // int api; UNSUPPORTED("2nryve1urrjk2ojn2ep4669qr"); // gvplugin_available_t **pnext, **plugin; UNSUPPORTED("behjm5bjsenezpg3f7cncvteu"); // int cnt = 0; UNSUPPORTED("30dos1yzu5kemx2mi15uky7wo"); // char **list = NULL; UNSUPPORTED("2juf5deqc26bjkvm2w9b75wn0"); // char *p, *q, *typestr_last; UNSUPPORTED("cgivdkgckant9nqbakv35ipqv"); // if (!kind) UNSUPPORTED("3kb0mwa3jlee9ipjt7wodtqqb"); // return NULL; UNSUPPORTED("c57imqe71hagsxekx4tv822e"); // for (api = 0; api < (sizeof(api_names)/sizeof(api_names[0])); api++) { UNSUPPORTED("esq1wuyzmawio8qvhb74jj9wo"); // if (!strcasecmp(kind, api_names[api])) UNSUPPORTED("dtx9szdvwh3uhziubh9zvgbk5"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("adydg893zqt46m6sj3ilro33h"); // if (api == (sizeof(api_names)/sizeof(api_names[0]))) { UNSUPPORTED("3kwn70ufg1m5839pzkvyml804"); // agerr(AGERR, "unrecognized api name \"%s\"\n", kind); UNSUPPORTED("3kb0mwa3jlee9ipjt7wodtqqb"); // return NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bzrdeewfn36nuge9zi5rjnm9d"); // /* point to the beginning of the linked list of plugins for this api */ UNSUPPORTED("bpnso1nnkurwa2h11vhuvqbgg"); // plugin = &(gvc->apis[api]); UNSUPPORTED("a83ef3wxlcw8fabtifuppijgo"); // typestr_last = NULL; UNSUPPORTED("1fz5gcvaztkf8wb6oxldcjr9q"); // for (pnext = plugin; *pnext; pnext = &((*pnext)->next)) { UNSUPPORTED("7pxd51cylsaep4l0bnpyuddtj"); // /* list only one instance of type */ UNSUPPORTED("b32pvhd78roito0slq24bqddt"); // q = strdup((*pnext)->typestr); UNSUPPORTED("9fgs8d3xx629l8b1i2ssjvyve"); // if ((p = strchr(q, ':'))) UNSUPPORTED("8drindhjm9x48eycs6b69an8b"); // *p++ = '\0'; UNSUPPORTED("8qntak9jd9prc2qudpz2in3k"); // if (!typestr_last || strcasecmp(typestr_last, q) != 0) { UNSUPPORTED("30zv25964y6j1ihp7c1m34s71"); // list = RALLOC(cnt + 1, list, char *); UNSUPPORTED("3hmlmi87kwlontlcidxvuw525"); // list[cnt++] = q; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("4isl6kj4pbcfd7zbzjkkij6u0"); // typestr_last = q; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8mx4gi10bdqgitnotw1pu7zii"); // *sz = cnt; UNSUPPORTED("1a5vgaasp2bunvu19mvepzcny"); // return list; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3kbm1klgxj6tigy5o90ir8zg1 // void gvplugin_write_status(GVC_t * gvc) public static Object gvplugin_write_status(Object... arg) { UNSUPPORTED("j7nfpijl0849ghbgk3ia1jmg"); // void gvplugin_write_status(GVC_t * gvc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6ugrq6sc21ihshl3bbzco6fos"); // int api; UNSUPPORTED("c57imqe71hagsxekx4tv822e"); // for (api = 0; api < (sizeof(api_names)/sizeof(api_names[0])); api++) { UNSUPPORTED("bhgr122ktcnbjllxx1h1vsrrw"); // if (gvc->common.verbose >= 2) UNSUPPORTED("8pobdr5kntx66kzr39l7tpepf"); // fprintf(stderr, " %s\t: %s\n", api_names[api], gvplugin_list(gvc, api, ":")); UNSUPPORTED("35nw1pbiz2p3s6qwlam5eoo3m"); // else UNSUPPORTED("3jfqbxmf9owghyg7jmnmocsnt"); // fprintf(stderr, " %s\t: %s\n", api_names[api], gvplugin_list(gvc, api, "?")); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 385wh7mf4m0odlw2tyexnt9fe // Agraph_t *gvplugin_graph(GVC_t * gvc) public static Object gvplugin_graph(Object... arg) { UNSUPPORTED("6nb21wnge36ef7jtbggj9thf2"); // Agraph_t *gvplugin_graph(GVC_t * gvc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3menvgua8fqm47un1b16gdvcy"); // Agraph_t *g, *sg, *ssg; UNSUPPORTED("eorl8dqb83dvnhrq5o9r8wu8b"); // Agnode_t *n, *m, *loadimage_n, *renderer_n, *device_n, *textlayout_n, *layout_n; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("6fh2f49mjcser5usqcg36hkjn"); // Agsym_t *a; UNSUPPORTED("as58mgqb4uw4c8n4sdq7m0qz3"); // gvplugin_package_t *package; UNSUPPORTED("55hy9lq9jka8phhommr24dbxn"); // gvplugin_available_t **pnext; UNSUPPORTED("bs13kw4stjxanch12vhr9ypft"); // char bufa[100], *buf1, *buf2, bufb[100], *p, *q, *lq, *t; UNSUPPORTED("aggfixnfqse53x64q18c9q14p"); // int api, neededge_loadimage, neededge_device; UNSUPPORTED("bfb67djvjstmbi3ox2487rp37"); // g = agopen("G", Agdirected, ((Agdisc_t *)0)); UNSUPPORTED("a1fyubzrynjisxnyp7m1ihueg"); // agattr(g, AGRAPH, "label", ""); UNSUPPORTED("4e2jiv8yamrewe6ksk5zrsnwv"); // agattr(g, AGRAPH, "rankdir", ""); UNSUPPORTED("50q1kfgx0ghhu8odg96kw8fs7"); // agattr(g, AGRAPH, "rank", ""); UNSUPPORTED("bunp522dqapufpqzuamgcu3hv"); // agattr(g, AGRAPH, "ranksep", ""); UNSUPPORTED("3rygbmzp3xb72un29edzt335o"); // agattr(g, AGNODE, "label", "\\N"); UNSUPPORTED("3z876e4purw1c7esq4uhmny0i"); // agattr(g, AGNODE, "shape", ""); UNSUPPORTED("a6m5pjlnbvb4s28gu7s1ojboc"); // agattr(g, AGNODE, "style", ""); UNSUPPORTED("6leyn7o59iyhn79chw4g2raok"); // agattr(g, AGNODE, "width", ""); UNSUPPORTED("8zifbwr3w2enafutiq0uiqql5"); // agattr(g, AGEDGE, "style", ""); UNSUPPORTED("aq4bek4z8gwfafy4eqdj0bg7y"); // a = (agattr(g,AGRAPH,"rankdir",NULL)); UNSUPPORTED("3mcwzuopezhg9zu1a064nqqqs"); // agxset(g, a, "LR"); UNSUPPORTED("ehvk8kqfqmm928y14jj1fyptw"); // a = (agattr(g,AGRAPH,"ranksep",NULL)); UNSUPPORTED("tlomujw8p0j9c5on5ca3sydv"); // agxset(g, a, "2.5"); UNSUPPORTED("3xw2yj2ppc60hl0xfkixh8knl"); // a = (agattr(g,AGRAPH,"label",NULL)); UNSUPPORTED("9moa7sx9scygioe1lfhl5gti2"); // agxset(g, a, "Plugins"); UNSUPPORTED("dxez6ixf69034ajdfut2rqeet"); // for (package = gvc->packages; package; package = package->next) { UNSUPPORTED("bf8adr5qnsvjqx5qns54i8tn9"); // loadimage_n = renderer_n = device_n = textlayout_n = layout_n = NULL; UNSUPPORTED("cdntyqdyu5kxqzvikw6wb31b4"); // neededge_loadimage = neededge_device = 0; UNSUPPORTED("cums1juqtdftirv4v2bxbhmrc"); // strcpy(bufa, "cluster_"); UNSUPPORTED("a9jdx8yky0gmnv97qotzgfww7"); // strcat(bufa, package->name); UNSUPPORTED("bwwlvwa8fbmnujvtiakczg1ns"); // sg = agsubg(g, bufa, 1); UNSUPPORTED("e8gwcodb51qd7k2lwfvvqvvo"); // a = (agattr(sg,AGRAPH,"label",NULL)); UNSUPPORTED("7esplh8cd9vm0dfnqhc5stpun"); // agxset(sg, a, package->name); UNSUPPORTED("1y0pkakd59jobmrnly5pe492d"); // strcpy(bufa, package->name); UNSUPPORTED("f068fnelxn6otng4job1isiqk"); // strcat(bufa, "_"); UNSUPPORTED("3uwc64reta96fsluddki1x02u"); // buf1 = bufa + strlen(bufa); UNSUPPORTED("2481o7hqcvd95u8otj2xj8h7g"); // for (api = 0; api < (sizeof(api_names)/sizeof(api_names[0])); api++) { UNSUPPORTED("7w6sj318auxb1nm6gij82t9ul"); // strcpy(buf1, api_names[api]); UNSUPPORTED("avhemu67qkwe5v8bk26p66wz4"); // ssg = agsubg(sg, bufa, 1); UNSUPPORTED("45h3i52r4pqzfrw0492c04fcc"); // a = (agattr(ssg,AGRAPH,"rank",NULL)); UNSUPPORTED("brlchbdxheybsfnn94jmrpwgm"); // agxset(ssg, a, "same"); UNSUPPORTED("afqb6io8t5c2jx4mvtyqo9m5l"); // strcat(buf1, "_"); UNSUPPORTED("23a6yglzvhmu09en6w5u95vyl"); // buf2 = bufa + strlen(bufa); UNSUPPORTED("anrt511ktu6c1ohrknoyj2epj"); // for (pnext = &(gvc->apis[api]); *pnext; pnext = &((*pnext)->next)) { UNSUPPORTED("6dr25usep0b15n58ef6fu3oxm"); // if ((*pnext)->package == package) { UNSUPPORTED("65b0l808fcuc6ypxzzjh66rbu"); // t = q = strdup((*pnext)->typestr); UNSUPPORTED("ef0iev1i1soawhu10e9f16lwp"); // if ((p = strchr(q, ':'))) UNSUPPORTED("13cb27lx5rvfloiy3u0m2ct8i"); // *p++ = '\0'; UNSUPPORTED("79iuiybxt6jyodedjzurqwq8"); // /* Now p = renderer, e.g. "gd" UNSUPPORTED("czck0qt486a81d5w4k2ecl36c"); // * and q = device, e.g. "png" UNSUPPORTED("du4rqorwcs1krr7h07o7pxpo8"); // * or q = loadimage, e.g. "png" */ UNSUPPORTED("vok0igs7eybz3wbqr8b9rd6d"); // switch (api) { UNSUPPORTED("537u9j534djot38xzhef8kuw0"); // case API_device: UNSUPPORTED("2ahk4ggyn6n91llpssccwrszr"); // case API_loadimage: UNSUPPORTED("4813gad8fplc0u4yu1j13pojn"); // /* draw device as box - record last device in plugin (if any) in device_n */ UNSUPPORTED("7y87fc4aqkcxbin29dr01pbgu"); // /* draw loadimage as box - record last loadimage in plugin (if any) in loadimage_n */ UNSUPPORTED("6qd2eqsf6xctb7gtf59n0soo5"); // /* hack for aliases */ UNSUPPORTED("cexdnvb0dl9pabgm5murg0b0n"); // lq = q; UNSUPPORTED("3xzw0vivz64lag4dptx9g5a0d"); // if (!strncmp(q, "jp", 2)) { UNSUPPORTED("ewcsa7pcj7k4n0a4gurtm1cxy"); // q = "jpg"; /* canonical - for node name */ UNSUPPORTED("a7ssoc631z58w6cvw8qs9h482"); // lq = "jpeg\\njpe\\njpg"; /* list - for label */ UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("f3zj81pisaget09ye2myt37j1"); // else if (!strncmp(q, "tif", 3)) { UNSUPPORTED("c8g49w95mb5fjogr5rag7c9b7"); // q = "tif"; UNSUPPORTED("d7d2h9cwi2j3xwcoo6lvaukad"); // lq = "tiff\\ntif"; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("1sphayc69paz5l9dvh0jj7z89"); // else if (!strcmp(q, "x11") || !strcmp(q, "xlib")) { UNSUPPORTED("esmtqyrz6ef8t0dmmr7ku49ca"); // q = "x11"; UNSUPPORTED("26miooe9mi3toaebdw4mi78bn"); // lq = "x11\\nxlib"; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("grfjtdws4pjp88by2kz3xbf9"); // else if (!strcmp(q, "dot") || !strcmp(q, "gv")) { UNSUPPORTED("7xrtizhekgbnv8pbx1un51s0e"); // q = "gv"; UNSUPPORTED("xm3r5bxze6a4s5brncmx55uz"); // lq = "gv\\ndot"; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("9vpx2ez7z7r7hmcnzanpuvuwl"); // strcpy(buf2, q); UNSUPPORTED("f0p1ey8ki67kdf0tiq0uajpj2"); // n = agnode(ssg, bufa, 1); UNSUPPORTED("ew5vz5eb3q5kvfym5i7fe6mbo"); // a = (agattr(g,AGNODE,"label",NULL)); UNSUPPORTED("34ws9xsuwwhsxm8t5z9cfl391"); // agxset(n, a, lq); UNSUPPORTED("9ryzc4o0n4g7w6x6fduxa1ptj"); // a = (agattr(g,AGNODE,"width",NULL)); UNSUPPORTED("1nijtx0lnxkepvonuehz2v8nc"); // agxset(n, a, "1.0"); UNSUPPORTED("9jgz5bwiy8ahdcy5p8qp88tuu"); // a = (agattr(g,AGNODE,"shape",NULL)); UNSUPPORTED("iphdmh8qpmzi4jg13u83btxc"); // if (api == API_device) { UNSUPPORTED("73os7qvmone60i8ohw1vrgs5h"); // agxset(n, a, "box"); UNSUPPORTED("c68ibsn8h2t382b2zf9xhh9k8"); // device_n = n; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("9phbxix4152jfxnvknp58uxhr"); // else { UNSUPPORTED("73os7qvmone60i8ohw1vrgs5h"); // agxset(n, a, "box"); UNSUPPORTED("8vxadjliase6z6z6jjen07nr0"); // loadimage_n = n; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("5j7863t4gzmxk003j2wkmbyfr"); // if (!(p && *p)) { UNSUPPORTED("6hhxcel5e3k3s50ztx5ijlnj2"); // strcpy(bufb, "render_cg"); UNSUPPORTED("8fcmk3sn0q48qns9rus70n94t"); // m = (agnode(sg,bufb,0)); UNSUPPORTED("4wxlgboqqydxokw7z48yjwwsk"); // if (!m) { UNSUPPORTED("eorutr989m9n47djxrzlvinre"); // m = agnode(sg, bufb, 1); UNSUPPORTED("2g5ydrx9oje1fqabmpbq3s3ov"); // a = (agattr(g,AGRAPH,"label",NULL)); UNSUPPORTED("ckyunebz4o95whifludcfto5y"); // agxset(m, a, "cg"); UNSUPPORTED("13jcwbk3vyfh9xrmwi5hbe7so"); // } UNSUPPORTED("bl0by7x2x63u4cddz6p76krsq"); // agedge(sg, m, n, NULL, 1); UNSUPPORTED("b86ovw6olwwo6gnqlt1wqqzb4"); // } UNSUPPORTED("605r8o1isen77125aqrohs6ac"); // break; UNSUPPORTED("ejprhlzyhagmn5fs7yommr2j2"); // case API_render: UNSUPPORTED("14erysh1po9utm5fnkzdk8h2v"); // /* draw renderers as ellipses - record last renderer in plugin (if any) in renderer_n */ UNSUPPORTED("1xb2oi8i8tn0ka8we1piuzpim"); // strcpy(bufb, api_names[api]); UNSUPPORTED("b2ffyj84jqbpr7gkz66w7gdfi"); // strcat(bufb, "_"); UNSUPPORTED("f33i9wwsaa2gqto7mi4m2qi2l"); // strcat(bufb, q); UNSUPPORTED("67jb48grjetd4ld7jrxirrz27"); // renderer_n = n = agnode(ssg, bufb, 1); UNSUPPORTED("ew5vz5eb3q5kvfym5i7fe6mbo"); // a = (agattr(g,AGNODE,"label",NULL)); UNSUPPORTED("398rxem81slrk9uhcc70hjvj5"); // agxset(n, a, q); UNSUPPORTED("605r8o1isen77125aqrohs6ac"); // break; UNSUPPORTED("8lowpeewxipsp6igvajo6vn3q"); // case API_textlayout: UNSUPPORTED("3anh9q6cafg6buq0k8t4mhn0m"); // /* draw textlayout as invtriangle - record last textlayout in plugin (if any) in textlayout_n */ UNSUPPORTED("151239bfhh0n8pv73xyptt3k4"); // /* FIXME? only one textlayout is loaded. Why? */ UNSUPPORTED("1xb2oi8i8tn0ka8we1piuzpim"); // strcpy(bufb, api_names[api]); UNSUPPORTED("b2ffyj84jqbpr7gkz66w7gdfi"); // strcat(bufb, "_"); UNSUPPORTED("f33i9wwsaa2gqto7mi4m2qi2l"); // strcat(bufb, q); UNSUPPORTED("1syanvrlsdy49u0f41utfrjid"); // textlayout_n = n = agnode(ssg, bufb, 1); UNSUPPORTED("9jgz5bwiy8ahdcy5p8qp88tuu"); // a = (agattr(g,AGNODE,"shape",NULL)); UNSUPPORTED("6zjljs5ffo5sz4bu8ilug5yda"); // agxset(n, a, "invtriangle"); UNSUPPORTED("ew5vz5eb3q5kvfym5i7fe6mbo"); // a = (agattr(g,AGNODE,"label",NULL)); UNSUPPORTED("7b2du9f2jwped529eabfzt9fg"); // agxset(n, a, "T"); UNSUPPORTED("605r8o1isen77125aqrohs6ac"); // break; UNSUPPORTED("3pmhas5tbx2cbteqfpv03v5fu"); // case API_layout: UNSUPPORTED("ax8q182020n661ov8ohm9a6m7"); // /* draw textlayout as hexagon - record last layout in plugin (if any) in layout_n */ UNSUPPORTED("1xb2oi8i8tn0ka8we1piuzpim"); // strcpy(bufb, api_names[api]); UNSUPPORTED("b2ffyj84jqbpr7gkz66w7gdfi"); // strcat(bufb, "_"); UNSUPPORTED("f33i9wwsaa2gqto7mi4m2qi2l"); // strcat(bufb, q); UNSUPPORTED("4v4ck4nx3ujudbz4xu97y8pja"); // layout_n = n = agnode(ssg, bufb, 1); UNSUPPORTED("9jgz5bwiy8ahdcy5p8qp88tuu"); // a = (agattr(g,AGNODE,"shape",NULL)); UNSUPPORTED("bb0ntn8aeb3zazu8ey0obzu15"); // agxset(n, a, "hexagon"); UNSUPPORTED("ew5vz5eb3q5kvfym5i7fe6mbo"); // a = (agattr(g,AGNODE,"label",NULL)); UNSUPPORTED("398rxem81slrk9uhcc70hjvj5"); // agxset(n, a, q); UNSUPPORTED("605r8o1isen77125aqrohs6ac"); // break; UNSUPPORTED("8qbfja4j8nk5tpqj2tov9bz7k"); // default: UNSUPPORTED("605r8o1isen77125aqrohs6ac"); // break; UNSUPPORTED("3e08x1y395304nd0y3uwffvim"); // } UNSUPPORTED("96y712urx48a31tm7axlbked3"); // free(t); UNSUPPORTED("7nxu74undh30brb8laojud3f9"); // } UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("5h24p1a6i7n7z2rewzjwa7x7a"); // // add some invisible nodes (if needed) and invisible edges to UNSUPPORTED("ayulfxznlxx76fxza9x1zt0bs"); // // improve layout of cluster UNSUPPORTED("7fn5mnm3ehijb6yn0ii88u75m"); // if (api == API_loadimage && !loadimage_n) { UNSUPPORTED("3ap79y3kpdlpkm28fyl6kpny3"); // neededge_loadimage = 1; UNSUPPORTED("1dkhoy9x4ajw87bhi1n0bj6ng"); // strcpy(buf2, "invis"); UNSUPPORTED("5u8kn8vzm4lo6zb84coftfpfw"); // loadimage_n = n = agnode(ssg, bufa, 1); UNSUPPORTED("7o7hre8zqwlcxhzorrolv9e85"); // a = (agattr(g,AGNODE,"style",NULL)); UNSUPPORTED("a87bqjg6zgpw0z22ownmwop0"); // agxset(n, a, "invis"); UNSUPPORTED("4ab5c0xio7c2uz7py5r7deg01"); // a = (agattr(g,AGNODE,"label",NULL)); UNSUPPORTED("7hukloum1odusy26c046jdkc8"); // agxset(n, a, ""); UNSUPPORTED("5mlb6kvjaiib201snwdmdr9q0"); // a = (agattr(g,AGNODE,"width",NULL)); UNSUPPORTED("2xc7bzvf6ob2s9xeqlm6x1d6k"); // agxset(n, a, "1.0"); UNSUPPORTED("e1dyn485bxibogxi1e14o12k"); // strcpy(buf2, "invis_src"); UNSUPPORTED("ca015skn3nb4erm6ur2ghjf3w"); // n = agnode(g, bufa, 1); UNSUPPORTED("7o7hre8zqwlcxhzorrolv9e85"); // a = (agattr(g,AGNODE,"style",NULL)); UNSUPPORTED("a87bqjg6zgpw0z22ownmwop0"); // agxset(n, a, "invis"); UNSUPPORTED("4ab5c0xio7c2uz7py5r7deg01"); // a = (agattr(g,AGNODE,"label",NULL)); UNSUPPORTED("7hukloum1odusy26c046jdkc8"); // agxset(n, a, ""); UNSUPPORTED("djnhybur2i8kaeqd3v2wh61mi"); // e = agedge(g, n, loadimage_n, NULL, 1); UNSUPPORTED("3ll814mhwafdmqehxubga8910"); // a = (agattr(g,AGEDGE,"style",NULL)); UNSUPPORTED("61xoac063mvbmjcqfqt21eokk"); // agxset(e, a, "invis"); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("a9m2rhjryvh4zlt3d5reetg7"); // if (api == API_render && !renderer_n) { UNSUPPORTED("3ap79y3kpdlpkm28fyl6kpny3"); // neededge_loadimage = 1; UNSUPPORTED("3wl7hkqasxla4j1t5327xgayk"); // neededge_device = 1; UNSUPPORTED("1dkhoy9x4ajw87bhi1n0bj6ng"); // strcpy(buf2, "invis"); UNSUPPORTED("1mrxv8jb78g2n110y56t7dcsu"); // renderer_n = n = agnode(ssg, bufa, 1); UNSUPPORTED("7o7hre8zqwlcxhzorrolv9e85"); // a = (agattr(g,AGNODE,"style",NULL)); UNSUPPORTED("a87bqjg6zgpw0z22ownmwop0"); // agxset(n, a, "invis"); UNSUPPORTED("4ab5c0xio7c2uz7py5r7deg01"); // a = (agattr(g,AGNODE,"label",NULL)); UNSUPPORTED("7hukloum1odusy26c046jdkc8"); // agxset(n, a, ""); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("8eo2rue615e2ot6h2z4v52ct9"); // if (api == API_device && !device_n) { UNSUPPORTED("3wl7hkqasxla4j1t5327xgayk"); // neededge_device = 1; UNSUPPORTED("1dkhoy9x4ajw87bhi1n0bj6ng"); // strcpy(buf2, "invis"); UNSUPPORTED("duavp9nrrarxvmphayikzxkt0"); // device_n = n = agnode(ssg, bufa, 1); UNSUPPORTED("7o7hre8zqwlcxhzorrolv9e85"); // a = (agattr(g,AGNODE,"style",NULL)); UNSUPPORTED("a87bqjg6zgpw0z22ownmwop0"); // agxset(n, a, "invis"); UNSUPPORTED("4ab5c0xio7c2uz7py5r7deg01"); // a = (agattr(g,AGNODE,"label",NULL)); UNSUPPORTED("7hukloum1odusy26c046jdkc8"); // agxset(n, a, ""); UNSUPPORTED("5mlb6kvjaiib201snwdmdr9q0"); // a = (agattr(g,AGNODE,"width",NULL)); UNSUPPORTED("2xc7bzvf6ob2s9xeqlm6x1d6k"); // agxset(n, a, "1.0"); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("ea5rcrkyfmlz7wkyklke00w6h"); // if (neededge_loadimage) { UNSUPPORTED("285jwi6fbnlqqhob69z2lcc2b"); // e = agedge(sg, loadimage_n, renderer_n, NULL, 1); UNSUPPORTED("52vrd3arfv8vio47p5o9el4bw"); // a = (agattr(g,AGEDGE,"style",NULL)); UNSUPPORTED("2txt2q7rp21dx0sbl681klq05"); // agxset(e, a, "invis"); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("43dps2s0i0lx8ovced3n50ae7"); // if (neededge_device) { UNSUPPORTED("5rsv582ie5yqsj5xbuuoiih3l"); // e = agedge(sg, renderer_n, device_n, NULL, 1); UNSUPPORTED("52vrd3arfv8vio47p5o9el4bw"); // a = (agattr(g,AGEDGE,"style",NULL)); UNSUPPORTED("2txt2q7rp21dx0sbl681klq05"); // agxset(e, a, "invis"); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("43w8fzyp2lxd8j9ml5y5dgdwk"); // if (textlayout_n) { UNSUPPORTED("bxkq1pl2h9gjoa6dsiev9u5y9"); // e = agedge(sg, loadimage_n, textlayout_n, NULL, 1); UNSUPPORTED("52vrd3arfv8vio47p5o9el4bw"); // a = (agattr(g,AGEDGE,"style",NULL)); UNSUPPORTED("2txt2q7rp21dx0sbl681klq05"); // agxset(e, a, "invis"); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("duv0z9gkoklt1x38eez53jfmp"); // if (layout_n) { UNSUPPORTED("exu5iyb4thidap90e10p6bchh"); // e = agedge(sg, loadimage_n, layout_n, NULL, 1); UNSUPPORTED("52vrd3arfv8vio47p5o9el4bw"); // a = (agattr(g,AGEDGE,"style",NULL)); UNSUPPORTED("2txt2q7rp21dx0sbl681klq05"); // agxset(e, a, "invis"); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8pdyobus2g8zf0grucggpdgu2"); // ssg = agsubg(g, "output_formats", 1); UNSUPPORTED("3mxeulyjvwis2b09446ijgh1w"); // a = (agattr(ssg,AGRAPH,"rank",NULL)); UNSUPPORTED("c5ime4x862kwcy2h623ikguda"); // agxset(ssg, a, "same"); UNSUPPORTED("dxez6ixf69034ajdfut2rqeet"); // for (package = gvc->packages; package; package = package->next) { UNSUPPORTED("1y0pkakd59jobmrnly5pe492d"); // strcpy(bufa, package->name); UNSUPPORTED("f068fnelxn6otng4job1isiqk"); // strcat(bufa, "_"); UNSUPPORTED("3uwc64reta96fsluddki1x02u"); // buf1 = bufa + strlen(bufa); UNSUPPORTED("2481o7hqcvd95u8otj2xj8h7g"); // for (api = 0; api < (sizeof(api_names)/sizeof(api_names[0])); api++) { UNSUPPORTED("7w6sj318auxb1nm6gij82t9ul"); // strcpy(buf1, api_names[api]); UNSUPPORTED("afqb6io8t5c2jx4mvtyqo9m5l"); // strcat(buf1, "_"); UNSUPPORTED("23a6yglzvhmu09en6w5u95vyl"); // buf2 = bufa + strlen(bufa); UNSUPPORTED("anrt511ktu6c1ohrknoyj2epj"); // for (pnext = &(gvc->apis[api]); *pnext; pnext = &((*pnext)->next)) { UNSUPPORTED("6dr25usep0b15n58ef6fu3oxm"); // if ((*pnext)->package == package) { UNSUPPORTED("65b0l808fcuc6ypxzzjh66rbu"); // t = q = strdup((*pnext)->typestr); UNSUPPORTED("ef0iev1i1soawhu10e9f16lwp"); // if ((p = strchr(q, ':'))) UNSUPPORTED("13cb27lx5rvfloiy3u0m2ct8i"); // *p++ = '\0'; UNSUPPORTED("79iuiybxt6jyodedjzurqwq8"); // /* Now p = renderer, e.g. "gd" UNSUPPORTED("czck0qt486a81d5w4k2ecl36c"); // * and q = device, e.g. "png" UNSUPPORTED("3r59dtblowlbzl2v8t7uspgsp"); // * or q = imageloader, e.g. "png" */ UNSUPPORTED("3p4ns3y9z2pqqi59kyknbb3yg"); // /* hack for aliases */ UNSUPPORTED("7w37ohsccjgvia3p6r6af8qcj"); // lq = q; UNSUPPORTED("9njl6eyfqvys51resxaqqhpl9"); // if (!strncmp(q, "jp", 2)) { UNSUPPORTED("ckfltz21pk0nwntjwuhpcke1h"); // q = "jpg"; /* canonical - for node name */ UNSUPPORTED("7dwsfzj83wdllli75k9fyax4a"); // lq = "jpeg\\njpe\\njpg"; /* list - for label */ UNSUPPORTED("3e08x1y395304nd0y3uwffvim"); // } UNSUPPORTED("64tfubc9gvf7840j3sh3u3zft"); // else if (!strncmp(q, "tif", 3)) { UNSUPPORTED("3tdr550x3i9yczq94vlp3cjrr"); // q = "tif"; UNSUPPORTED("4nf0ph2rmfboyseyzszz2qnzv"); // lq = "tiff\\ntif"; UNSUPPORTED("3e08x1y395304nd0y3uwffvim"); // } UNSUPPORTED("9p8e7eqshet4t7x2493ggtf3s"); // else if (!strcmp(q, "x11") || !strcmp(q, "xlib")) { UNSUPPORTED("a3foiv0r7ajucfbmer64xxvnu"); // q = "x11"; UNSUPPORTED("bmikkk8ek5dthuc6ppq9pdnb5"); // lq = "x11\\nxlib"; UNSUPPORTED("3e08x1y395304nd0y3uwffvim"); // } UNSUPPORTED("3gn9h8dqg7asoqu5wqsbumtsy"); // else if (!strcmp(q, "dot") || !strcmp(q, "gv")) { UNSUPPORTED("bypbf1vtvkby1d6fgnvshw0ww"); // q = "gv"; UNSUPPORTED("btvkzgly229sjva0l7i1ksx34"); // lq = "gv\\ndot"; UNSUPPORTED("3e08x1y395304nd0y3uwffvim"); // } UNSUPPORTED("vok0igs7eybz3wbqr8b9rd6d"); // switch (api) { UNSUPPORTED("537u9j534djot38xzhef8kuw0"); // case API_device: UNSUPPORTED("9vpx2ez7z7r7hmcnzanpuvuwl"); // strcpy(buf2, q); UNSUPPORTED("6beg6steom1lipq49vms1n7pd"); // n = agnode(g, bufa, 1); UNSUPPORTED("7cg1174hrklv6wp6m9rglukr1"); // strcpy(bufb, "output_"); UNSUPPORTED("f33i9wwsaa2gqto7mi4m2qi2l"); // strcat(bufb, q); UNSUPPORTED("5xz9n2ow5mdbsx7e6kzkzgiyr"); // m = (agnode(ssg,bufb,0)); UNSUPPORTED("6aphvjhre5uyhw4g9kp9w2bcn"); // if (!m) { UNSUPPORTED("e1lgc4753eph0h3sp977j717y"); // m = agnode(ssg, bufb, 1); UNSUPPORTED("2f2dayxas7dqyzuuswa61003k"); // a = (agattr(g,AGNODE,"label",NULL)); UNSUPPORTED("39s7fbve2dyhi4yveemthhkpq"); // agxset(m, a, lq); UNSUPPORTED("el72qil7ij91mjxa8a5odjpyp"); // a = (agattr(g,AGNODE,"shape",NULL)); UNSUPPORTED("9867goebe7qr58a2zc5kkcdal"); // agxset(m, a, "note"); UNSUPPORTED("b86ovw6olwwo6gnqlt1wqqzb4"); // } UNSUPPORTED("5w6ooc4z9lx3qipxam9fg1c40"); // e = (agedge(g,n,m,NULL,0)); UNSUPPORTED("339jknwe6xhll69xqjj2cvcwb"); // if (!e) UNSUPPORTED("anwjqr4qvhqt6105wrt0zl2s7"); // e = agedge(g, n, m, NULL, 1); UNSUPPORTED("8bahgorvs584f9par6ha6lgv3"); // if (p && *p) { UNSUPPORTED("2d8y9y4cc4hlzs9px4pfz8k55"); // strcpy(bufb, "render_"); UNSUPPORTED("euk5d25u4dauhe1e7hro07l47"); // strcat(bufb, p); UNSUPPORTED("170sjop64mtpzl82mcv9acoib"); // m = (agnode(ssg,bufb,0)); UNSUPPORTED("1hxqs0bqqe653jp49plnovu1m"); // if (!m) UNSUPPORTED("d1b3c5rl5aribzx1df92k1qio"); // m = agnode(g, bufb, 1); UNSUPPORTED("3gq8hene8xn12nd3ipfn9ivrs"); // e = (agedge(g,m,n,NULL,0)); UNSUPPORTED("b5y5e8gcqt9y6990olht7ytej"); // if (!e) UNSUPPORTED("1ybtgtz7xpat58fa8p83pgv10"); // e = agedge(g, m, n, NULL, 1); UNSUPPORTED("b86ovw6olwwo6gnqlt1wqqzb4"); // } UNSUPPORTED("605r8o1isen77125aqrohs6ac"); // break; UNSUPPORTED("2ahk4ggyn6n91llpssccwrszr"); // case API_loadimage: UNSUPPORTED("9vpx2ez7z7r7hmcnzanpuvuwl"); // strcpy(buf2, q); UNSUPPORTED("6beg6steom1lipq49vms1n7pd"); // n = agnode(g, bufa, 1); UNSUPPORTED("ant2irrvw28wcz7rf8gatnt2t"); // strcpy(bufb, "input_"); UNSUPPORTED("f33i9wwsaa2gqto7mi4m2qi2l"); // strcat(bufb, q); UNSUPPORTED("3vtn4ccxx1kkweolpg9szuvfq"); // m = (agnode(g,bufb,0)); UNSUPPORTED("6aphvjhre5uyhw4g9kp9w2bcn"); // if (!m) { UNSUPPORTED("e8owtqqc9tvhvg2wm849li9e1"); // m = agnode(g, bufb, 1); UNSUPPORTED("2f2dayxas7dqyzuuswa61003k"); // a = (agattr(g,AGNODE,"label",NULL)); UNSUPPORTED("39s7fbve2dyhi4yveemthhkpq"); // agxset(m, a, lq); UNSUPPORTED("el72qil7ij91mjxa8a5odjpyp"); // a = (agattr(g,AGNODE,"shape",NULL)); UNSUPPORTED("9867goebe7qr58a2zc5kkcdal"); // agxset(m, a, "note"); UNSUPPORTED("b86ovw6olwwo6gnqlt1wqqzb4"); // } UNSUPPORTED("bls5v8akxuv7z7dcvvkonfz30"); // e = (agedge(g,m,n,NULL,0)); UNSUPPORTED("339jknwe6xhll69xqjj2cvcwb"); // if (!e) UNSUPPORTED("7i9gsti37xh44rgzkpw7sr85n"); // e = agedge(g, m, n, NULL, 1); UNSUPPORTED("cquipnholxdq7tu8j1n49bwra"); // strcpy(bufb, "render_"); UNSUPPORTED("21c5axqrutv5e16vwe4vnaf6r"); // strcat(bufb, p); UNSUPPORTED("3vtn4ccxx1kkweolpg9szuvfq"); // m = (agnode(g,bufb,0)); UNSUPPORTED("bmno3kcacc6pk7z8jwcni8hqv"); // if (!m) UNSUPPORTED("e8owtqqc9tvhvg2wm849li9e1"); // m = agnode(g, bufb, 1); UNSUPPORTED("5w6ooc4z9lx3qipxam9fg1c40"); // e = (agedge(g,n,m,NULL,0)); UNSUPPORTED("339jknwe6xhll69xqjj2cvcwb"); // if (!e) UNSUPPORTED("anwjqr4qvhqt6105wrt0zl2s7"); // e = agedge(g, n, m, NULL, 1); UNSUPPORTED("605r8o1isen77125aqrohs6ac"); // break; UNSUPPORTED("8qbfja4j8nk5tpqj2tov9bz7k"); // default: UNSUPPORTED("605r8o1isen77125aqrohs6ac"); // break; UNSUPPORTED("3e08x1y395304nd0y3uwffvim"); // } UNSUPPORTED("96y712urx48a31tm7axlbked3"); // free(t); UNSUPPORTED("7nxu74undh30brb8laojud3f9"); // } UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2syri7q5tc0jyvwq8ecyfo3vr"); // return g; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/gvc/gvrender__c.java000066400000000000000000002070361340005343600223000ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.gvc; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class gvrender__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 4cynie80t6jls6vhgs3jl2fit // static pointf *AF //1 9o8a3mexi9w7oq3wr7jtjcihk // static int sizeAF //3 9fduxdho8czelodj9h6y89ino // int gvrender_select(GVJ_t * job, const char *str) public static Object gvrender_select(Object... arg) { UNSUPPORTED("8q2hci07ap2ph732vslggau4t"); // int gvrender_select(GVJ_t * job, const char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eyew5ay5wwktz4fysz0b78ugv"); // GVC_t *gvc = job->gvc; UNSUPPORTED("5ssvxydvbzuxmb74t0hvdbmws"); // gvplugin_available_t *plugin; UNSUPPORTED("9q2rkohjybr7oxouto8gnuzsb"); // gvplugin_installed_t *typeptr; UNSUPPORTED("5s8ygazjg27yo5uwaw66w15r1"); // gvplugin_load(gvc, API_device, str); UNSUPPORTED("ek4fyjg4ptxc2el4evmh805o1"); // /* When job is created, it is zeroed out. UNSUPPORTED("3kefg2aeqsvm2d6dncfwpxsr8"); // * Some flags, such as OUTPUT_NOT_REQUIRED, may already be set, UNSUPPORTED("9ez2btubxikj170dwe5jqvnof"); // * so don't reset. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("4tlui225yloqahoq9la8pzwy1"); // /* job->flags = 0; */ UNSUPPORTED("76gynnjrs6xvbeb7wfpi1ev1l"); // plugin = gvc->api[API_device]; UNSUPPORTED("3qzhu1d1ev2sbxdqyn2rujv5y"); // if (plugin) { UNSUPPORTED("8cnmkxanogd09zc24faarugvo"); // typeptr = plugin->typeptr; UNSUPPORTED("cx8hqrenucgiq5zy97oaqusmc"); // job->device.engine = (gvdevice_engine_t *) (typeptr->engine); UNSUPPORTED("bm8s8c7aquf0i3erdxldrern4"); // job->device.features = (gvdevice_features_t *) (typeptr->features); UNSUPPORTED("7tiv1ctzor8f6a193o9c3dc4"); // job->device.id = typeptr->id; UNSUPPORTED("b3fa1nmh14yrlxh7u11av178h"); // job->device.type = plugin->typestr; UNSUPPORTED("98gdwzzklfnnvl4rcrxln6ax5"); // job->flags |= job->device.features->flags; UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("7kkm265fhqxbcvyb1tfbvlbg"); // return 999; /* FIXME - should differentiate problem */ UNSUPPORTED("7f2ichmjy32bcdpzo6eam8v7t"); // /* The device plugin has a dependency on a render plugin, UNSUPPORTED("cfcjkcl1s1689uqm7fm9yszr4"); // * so the render plugin should be available as well now */ UNSUPPORTED("bu439zn5xm8jaz1bs1pxzp0dp"); // plugin = gvc->api[API_render]; UNSUPPORTED("3qzhu1d1ev2sbxdqyn2rujv5y"); // if (plugin) { UNSUPPORTED("8cnmkxanogd09zc24faarugvo"); // typeptr = plugin->typeptr; UNSUPPORTED("7tt4s00k0osfiqwahwoff1agx"); // job->render.engine = (gvrender_engine_t *) (typeptr->engine); UNSUPPORTED("669i3eyhmswim1vqxlgkovfrk"); // job->render.features = (gvrender_features_t *) (typeptr->features); UNSUPPORTED("11cw3vs43482kobe5ny07nu35"); // job->render.type = plugin->typestr; UNSUPPORTED("gnm8nzbq1sv2lxsg2d1aerng"); // job->flags |= job->render.features->flags; UNSUPPORTED("243x5gphnardgbfaphg9njktu"); // if (job->device.engine) UNSUPPORTED("5ptnbs646e5n7ko2ca57lk4x"); // job->render.id = typeptr->id; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("5sdmyjmm37n90aaenqcx0oknb"); // /* A null device engine indicates that the device id is also the renderer id UNSUPPORTED("p1e1xenrya70i1wee5fqsrql"); // * and that the renderer doesn't need "device" functions. UNSUPPORTED("787dp7rjt82811tj8dlkpb18e"); // * Device "features" settings are still available */ UNSUPPORTED("e580tqo2v5qy1ecm6k2ep5hy9"); // job->render.id = job->device.id; UNSUPPORTED("e2xl4ygmp65bn739zdpqbu0jq"); // return 300; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5868n9w3txgvuqjat3ibyfjdn"); // job->render.engine = NULL; UNSUPPORTED("dnojigjj91bs3obtgs440c1pu"); // return 999; /* FIXME - should differentiate problem */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8r860ajsh90bfs4d0opfouak // int gvrender_features(GVJ_t * job) public static Object gvrender_features(Object... arg) { UNSUPPORTED("1szoxv2gwujscwb7rnlygg91m"); // int gvrender_features(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("1vuliw37h78m972417wd4axpz"); // int features = 0; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("e5v22h9rlc1j09d58ivcttn9r"); // features = job->render.features->flags; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6dg3yx86pwrpwg0z9d4frxk3q"); // return features; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4h2luwpil87bs6pkf4f7qo2k9 // int gvrender_begin_job(GVJ_t * job) public static Object gvrender_begin_job(Object... arg) { UNSUPPORTED("6ev0o0og4bywnq3aw32oauko3"); // int gvrender_begin_job(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("q4eshv98z33fert8lpher2vz"); // if (gvdevice_initialize(job)) UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("9890blf35qwu47a330c2ge4nc"); // if (gvre->begin_job) UNSUPPORTED("aep2cwbk720jnf13nui5zc4gn"); // gvre->begin_job(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3qmxnj1638ltgmhz0csgcpfjk // void gvrender_end_job(GVJ_t * job) public static Object gvrender_end_job(Object... arg) { UNSUPPORTED("c841pljir2lr5bp3us608ghiq"); // void gvrender_end_job(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("52mw58ugr0a7omsyevqcshnls"); // if (gvre->end_job) UNSUPPORTED("a8sk8cfwcv2mpv7g84p1g2zt4"); // gvre->end_job(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2dnat2dhr60k7lx6x7j868ccu"); // job->gvc->common.lib = NULL; /* FIXME - minimally this doesn't belong here */ UNSUPPORTED("dql0bth0nzsrpiu9vnffonrhf"); // gvdevice_finalize(job); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 51309lo7u8y4alv899e4yqadk // pointf gvrender_ptf(GVJ_t * job, pointf p) public static Object gvrender_ptf(Object... arg) { UNSUPPORTED("bvtfrro3td44g1j12ar1rdjpx"); // pointf gvrender_ptf(GVJ_t * job, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2bkj6y2vx6eazaf4xct5yhf4t"); // pointf rv, translation, scale; UNSUPPORTED("ayk9sbv0i0esapa28j5940syn"); // translation = job->translation; UNSUPPORTED("5cwqynigwx0y1vbchhhtgvhwf"); // scale.x = job->zoom * job->devscale.x; UNSUPPORTED("aencyok7qan341gowih0ppjxf"); // scale.y = job->zoom * job->devscale.y; UNSUPPORTED("3h1yo631e2fq69mxwoggya716"); // if (job->rotation) { UNSUPPORTED("7etz5b9vm8n98pkfmmehwqbnc"); // rv.x = -(p.y + translation.y) * scale.x; UNSUPPORTED("3q08n8dxktpivul7bbze3tow2"); // rv.y = (p.x + translation.x) * scale.y; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("bxbzg3yd7725e95lwwjizgtmd"); // rv.x = (p.x + translation.x) * scale.x; UNSUPPORTED("a7bvzlhyi51usu7oaeku8csk6"); // rv.y = (p.y + translation.y) * scale.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 crcyqn21mwz4omhozkd2cp4jc // pointf *gvrender_ptf_A(GVJ_t * job, pointf * af, pointf * AF, int n) public static Object gvrender_ptf_A(Object... arg) { UNSUPPORTED("6s7dm40y4hhxw9cl6698x6qld"); // pointf *gvrender_ptf_A(GVJ_t * job, pointf * af, pointf * AF, int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("6wfj8onzmd4ihhh62dqfmqpbx"); // double t; UNSUPPORTED("djnewvgctvkpvlggbpw7lj1sc"); // pointf translation, scale; UNSUPPORTED("ayk9sbv0i0esapa28j5940syn"); // translation = job->translation; UNSUPPORTED("5cwqynigwx0y1vbchhhtgvhwf"); // scale.x = job->zoom * job->devscale.x; UNSUPPORTED("aencyok7qan341gowih0ppjxf"); // scale.y = job->zoom * job->devscale.y; UNSUPPORTED("3h1yo631e2fq69mxwoggya716"); // if (job->rotation) { UNSUPPORTED("7lppn4o65696k131iftk9aihq"); // for (i = 0; i < n; i++) { UNSUPPORTED("8inojmsrqrgmcgv4lgjntmk1p"); // t = -(af[i].y + translation.y) * scale.x; UNSUPPORTED("1tkzeyviyufhxywvbfka8jbq7"); // AF[i].y = (af[i].x + translation.x) * scale.y; UNSUPPORTED("d7d03owzn12m66ymdf5730kj0"); // AF[i].x = t; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("7lppn4o65696k131iftk9aihq"); // for (i = 0; i < n; i++) { UNSUPPORTED("6tyixk0bh3dd1yv33d4y93jjz"); // AF[i].x = (af[i].x + translation.x) * scale.x; UNSUPPORTED("cs1v590y88hqekl0xoh3y093u"); // AF[i].y = (af[i].y + translation.y) * scale.y; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1mnc0qamisdd62ud5dfotjxss"); // return AF; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d0k7jgvawtauln88of22iuy40 // static int gvrender_comparestr(const void *s1, const void *s2) public static Object gvrender_comparestr(Object... arg) { UNSUPPORTED("b9vqnpfss55985u1jx9mhx1ss"); // static int gvrender_comparestr(const void *s1, const void *s2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1d9rfce1ndx9322h0frb0z98p"); // return strcmp(*(char **) s1, *(char **) s2); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 93cbs4byyecjhyq5vu6p19p57 // static void gvrender_resolve_color(gvrender_features_t * features, char *name, gvcolor_t * color) public static Object gvrender_resolve_color(Object... arg) { UNSUPPORTED("3knci4gywmc6hb9ujch5j3e9a"); // static void gvrender_resolve_color(gvrender_features_t * features, UNSUPPORTED("aiwlhbymjioyoqr6cp2hw7ukv"); // char *name, gvcolor_t * color) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eqt7m58ywry2anaa5wpii01ri"); // char *tok; UNSUPPORTED("1bh3yj957he6yv2dkeg4pzwdk"); // int rc; UNSUPPORTED("ety8bdkhij0jyjwrsxks5sz02"); // color->u.string = name; UNSUPPORTED("30asoip27omoa1yx0rv9iuutk"); // color->type = COLOR_STRING; UNSUPPORTED("dxlu1039n9c20pueltjind8cy"); // tok = canontoken(name); UNSUPPORTED("dbrv2omaxn2z4bi8k1tjkgbyl"); // if (!features->knowncolors UNSUPPORTED("8s9kvd9phxubwfikx5wl2o4eb"); // || UNSUPPORTED("ewkhu0md9r3wkfof3k37k1a4e"); // (bsearch UNSUPPORTED("7nf6yu4m9s7f9lckxs7vo9v1f"); // (&tok, features->knowncolors, features->sz_knowncolors, UNSUPPORTED("gms28vfgml0rul9gi006ety8"); // sizeof(char *), gvrender_comparestr)) == NULL) { UNSUPPORTED("9nqwxnnz5dxy6h3ij9eovzt8g"); // /* if tok was not found in known_colors */ UNSUPPORTED("dtlh659rjk09rfjgy14jyed67"); // rc = colorxlate(name, color, features->color_type); UNSUPPORTED("ext4y0w1v77cxnsn9odfd3hh0"); // if (rc != 0) { UNSUPPORTED("2wu9auf85lz824gtt1h6w6ev0"); // if (rc == 1) { UNSUPPORTED("avvvne4m4cq0vl2trvdvdg2x6"); // char *missedcolor = gmalloc(strlen(name) + 16); UNSUPPORTED("22z3pxv0m8em81soozhhrokv0"); // sprintf(missedcolor, "color %s", name); UNSUPPORTED("cvqbzc6txkpe2jyy2mhmrh12i"); // if (emit_once(missedcolor)) UNSUPPORTED("6mde88389r3jhseiz163208n6"); // agerr(AGWARN, "%s is not a known color.\n", name); UNSUPPORTED("9e5cs6q89hrxxe32ywke5xd0i"); // free(missedcolor); UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("627apvfea14p6eh91bth30ke"); // agerr(AGERR, "error in colxlate()\n"); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8bz32mh1b67dm7onb98cukhr // void gvrender_begin_graph(GVJ_t * job, graph_t * g) public static Object gvrender_begin_graph(Object... arg) { UNSUPPORTED("8niigqov4bujqwwvqrq6qkfp"); // void gvrender_begin_graph(GVJ_t * job, graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1afe6q2gmnv35uj22aogbg2gh"); // /* GVC_t *gvc = job->gvc; */ UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("62zv37oupg2zeqb8cv4j3mqf0"); // /* char *s; */ UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("3u2mk914st9v3rc5z2iyvnj9k"); // /* render specific init */ UNSUPPORTED("12nyq1yot2zd8pg8a198tiw9c"); // if (gvre->begin_graph) UNSUPPORTED("ccy204j05mtzfr44lugx3pslo"); // gvre->begin_graph(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 65xsy2npcrn2bagmq96hoplmc // void gvrender_end_graph(GVJ_t * job) public static Object gvrender_end_graph(Object... arg) { UNSUPPORTED("e845mtmabap40x91drpi98rgb"); // void gvrender_end_graph(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("47tlf516sc8wywg2atz9mut2v"); // if (gvre->end_graph) UNSUPPORTED("7gu26oojajmet9zp3zbbf8xbl"); // gvre->end_graph(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3z3ed5jhwlihctmb5fr24wahu"); // gvdevice_format(job); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4ptkpos0d265xcx36yp5olziv // void gvrender_begin_page(GVJ_t * job) public static Object gvrender_begin_page(Object... arg) { UNSUPPORTED("dk9dqgxupw4tns0blo563bw3"); // void gvrender_begin_page(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("3ojiwmme99huqifioqypnkdu"); // if (gvre->begin_page) UNSUPPORTED("4rds4n8ynzo8bstdc56wcaq67"); // gvre->begin_page(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2neje7ddfin73he2004jok2oq // void gvrender_end_page(GVJ_t * job) public static Object gvrender_end_page(Object... arg) { UNSUPPORTED("60qwktj4d3u2lx6w9ya7x2ll5"); // void gvrender_end_page(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("bbvge1xpf3csvsgdquklh64wz"); // if (gvre->end_page) UNSUPPORTED("6epuiije9k0po6zbf1wuiv0m"); // gvre->end_page(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bjs8uuw252trlu14ei8bzbsvr // void gvrender_begin_layer(GVJ_t * job) public static Object gvrender_begin_layer(Object... arg) { UNSUPPORTED("73q54jv3dls7oji2nnpvn4jkf"); // void gvrender_begin_layer(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("i2jio5waiow93ulk6mqogx07"); // if (gvre->begin_layer) UNSUPPORTED("979u6s95uq3clnd96s3uo2807"); // gvre->begin_layer(job, job->gvc->layerIDs[job->layerNum], UNSUPPORTED("bw05jjansbpeswe4ktw01i6j6"); // job->layerNum, job->numLayers); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 401dx8s3fwrxydg3x6alimmby // void gvrender_end_layer(GVJ_t * job) public static Object gvrender_end_layer(Object... arg) { UNSUPPORTED("9ae3jsve0v8yslvoyx3pnlacr"); // void gvrender_end_layer(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("4vk85i8m93l7fxj6a38e1fcqx"); // if (gvre->end_layer) UNSUPPORTED("4susivxkhmdvvydg2r87cakmo"); // gvre->end_layer(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 27poq9moik2l4d2chmxas8rm1 // void gvrender_begin_cluster(GVJ_t * job, graph_t * sg) public static Object gvrender_begin_cluster(Object... arg) { UNSUPPORTED("r4znhjms3ot7kcrhcixet65f"); // void gvrender_begin_cluster(GVJ_t * job, graph_t * sg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("cj1dczwhpa0r63wls9ra640q7"); // if (gvre->begin_cluster) UNSUPPORTED("5lz5n1eutzyea7yee250561oi"); // gvre->begin_cluster(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1eapbz6ecf0g6kdtqu28czes2 // void gvrender_end_cluster(GVJ_t * job, graph_t * g) public static Object gvrender_end_cluster(Object... arg) { UNSUPPORTED("dd5abixfui8mnp71zqvuj59qz"); // void gvrender_end_cluster(GVJ_t * job, graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("25ikbftyuamzhvmocbqm27sir"); // if (gvre->end_cluster) UNSUPPORTED("b3jrm6ybfvymn6zj4mdz97vu"); // gvre->end_cluster(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c19ss30f97hmgqtzuxhn0qwys // void gvrender_begin_nodes(GVJ_t * job) public static Object gvrender_begin_nodes(Object... arg) { UNSUPPORTED("97cjt43wnlxgia92a6tk59ud0"); // void gvrender_begin_nodes(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("vylx62m32dzueggujf0nyjtx"); // if (gvre->begin_nodes) UNSUPPORTED("au32m8j1o2erzrxm0k27uf4mx"); // gvre->begin_nodes(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eyo9qxxkb76cgbq7a8ojrxnic // void gvrender_end_nodes(GVJ_t * job) public static Object gvrender_end_nodes(Object... arg) { UNSUPPORTED("9wdm2tj0803fr2xaj6p5xftvn"); // void gvrender_end_nodes(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("4zv75v2c0kmbs38j0c97u4dwl"); // if (gvre->end_nodes) UNSUPPORTED("5cuhpzbv9lqn4aq0gwyo2ye82"); // gvre->end_nodes(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bevetts9ovmaou0v5l9i1aq5 // void gvrender_begin_edges(GVJ_t * job) public static Object gvrender_begin_edges(Object... arg) { UNSUPPORTED("1alfkafh1xx3y2k9ujca26ii1"); // void gvrender_begin_edges(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("lnm2jgz2nptqnahuln8bs898"); // if (gvre->begin_edges) UNSUPPORTED("7kjkdeb3sqzw19x4k66d6hjck"); // gvre->begin_edges(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 35426mu8gpbqgoc6qh9q4c1xo // void gvrender_end_edges(GVJ_t * job) public static Object gvrender_end_edges(Object... arg) { UNSUPPORTED("2z8hgdz7ckm5uvm5dk09ytuix"); // void gvrender_end_edges(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("1pwokcd6d4pph0uv4ob0v2ayz"); // if (gvre->end_edges) UNSUPPORTED("45wdv8q1q1h4ql4iu7j2zfw3"); // gvre->end_edges(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d5gj3gg608fp9k43jzb4ts4xb // void gvrender_begin_node(GVJ_t * job, node_t * n) public static Object gvrender_begin_node(Object... arg) { UNSUPPORTED("cqhiq3ed9f6eu8n3045t48fno"); // void gvrender_begin_node(GVJ_t * job, node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("9hw2jrhsnzuh99o0dwa7w2t46"); // if (gvre->begin_node) UNSUPPORTED("2tnqnm5tlwv327095ukix5mkz"); // gvre->begin_node(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 avfb2baedlecrkfbow9cxrpj8 // void gvrender_end_node(GVJ_t * job) public static Object gvrender_end_node(Object... arg) { UNSUPPORTED("cx7wx0qonl1fg8sktpbann4v7"); // void gvrender_end_node(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("bmg00d8fks4epb7d1z151ujes"); // if (gvre->end_node) UNSUPPORTED("7yw45ob7vq7hv1816oawtvnaw"); // gvre->end_node(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e2uj2wkgme6qb2iw67xtnj76 // void gvrender_begin_edge(GVJ_t * job, edge_t * e) public static Object gvrender_begin_edge(Object... arg) { UNSUPPORTED("92wxdxnrq7ym6oxa8ncnte8yx"); // void gvrender_begin_edge(GVJ_t * job, edge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("bpy6xdkxvnktpvt4ng837tqpv"); // if (gvre->begin_edge) UNSUPPORTED("zj6g2pof9uhapm6bxydrx8fq"); // gvre->begin_edge(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dmjwy0x5f2ylehrl4asephmu // void gvrender_end_edge(GVJ_t * job) public static Object gvrender_end_edge(Object... arg) { UNSUPPORTED("503mqi542lcqpbzcar48yjzca"); // void gvrender_end_edge(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("1esg5a3gkxrmgs5zvdu795q7x"); // if (gvre->end_edge) UNSUPPORTED("eu84oc9h3jhmhc6v1kbvxatlo"); // gvre->end_edge(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a3oxjcx4pit0tlwvqrj5pjgla // void gvrender_begin_anchor(GVJ_t * job, char *href, char *tooltip, char *target, char *id) public static Object gvrender_begin_anchor(Object... arg) { UNSUPPORTED("t7nw5oeaewb5af8soqhimjf8"); // void gvrender_begin_anchor(GVJ_t * job, char *href, char *tooltip, UNSUPPORTED("ca2v6kkbpi770n597h24tagaa"); // char *target, char *id) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("auez010xhho0xcap2ycz9lju2"); // if (gvre->begin_anchor) UNSUPPORTED("9272f1ryutzdz60cexops6mrp"); // gvre->begin_anchor(job, href, tooltip, target, id); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 939xwaginerexczl0cmv7ihe2 // void gvrender_end_anchor(GVJ_t * job) public static Object gvrender_end_anchor(Object... arg) { UNSUPPORTED("bcd3uehiopd66fbezppgae2dt"); // void gvrender_end_anchor(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("a91isqnl1vm4eci36n2n4cbaj"); // if (gvre->end_anchor) UNSUPPORTED("5qppuiae51yhbsfdv0frgywun"); // gvre->end_anchor(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8hno79twchywwcg8nsufipda9 // void gvrender_begin_label(GVJ_t * job, label_type type) public static Object gvrender_begin_label(Object... arg) { UNSUPPORTED("4flxiegpywb83nvqdngss5inv"); // void gvrender_begin_label(GVJ_t * job, label_type type) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("1jmpi9g9tuv3h494cpncqbeby"); // if (gvre->begin_label) UNSUPPORTED("dnncmlhww1v0s5m19zpp1ayrx"); // gvre->begin_label(job, type); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 33lmy7dfx78r3jdoiq6vipmbf // void gvrender_end_label(GVJ_t * job) public static Object gvrender_end_label(Object... arg) { UNSUPPORTED("962k3bif0rr2lxaitbmcqqgap"); // void gvrender_end_label(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("ywfznc4r5iq2ztfi831qudip"); // if (gvre->end_label) UNSUPPORTED("dpb1dlhljjzdlysacyo5qge5w"); // gvre->end_label(job); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2n07hv6i7ifhafigqmh9hjs41 // void gvrender_textspan(GVJ_t * job, pointf p, textspan_t * span) public static Object gvrender_textspan(Object... arg) { UNSUPPORTED("c11fz6lbqdebdh90bo51ypv2b"); // void gvrender_textspan(GVJ_t * job, pointf p, textspan_t * span) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("7dzn9x60phgi2716c3utq7okm"); // pointf PF; UNSUPPORTED("76pnbk0msbwxf3hexhq42v5l3"); // if (span->str && span->str[0] UNSUPPORTED("avci39h8hze5k7sgd2z1e5ut6"); // && (!job->obj /* because of xdgen non-conformity */ UNSUPPORTED("95huo314k0dtj3gzujngpxav9"); // || job->obj->pen != PEN_NONE)) { UNSUPPORTED("dbbj4xbqmojh658txgt6nut8a"); // if (job->flags & (1<<13)) UNSUPPORTED("1lpccyww1zgpiec5mn5cvykxo"); // PF = p; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("7gbtmnftt2mwo238ttx5dn8tk"); // PF = gvrender_ptf(job, p); UNSUPPORTED("43ewa06mslfnjci1b1imd77l"); // if (gvre) { UNSUPPORTED("e62o0l6l0i86ux0dps9h9e1p5"); // if (gvre->textspan) UNSUPPORTED("bffevstxgixicve9h9ysw8iox"); // gvre->textspan(job, PF, span); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3ip6dcdve8gi3behn0lnxf9ii // void gvrender_set_pencolor(GVJ_t * job, char *name) public static Object gvrender_set_pencolor(Object... arg) { UNSUPPORTED("4ke4p18hmuf4dn24qbbac7tsw"); // void gvrender_set_pencolor(GVJ_t * job, char *name) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dkx0mdb9is3arqebifuxxgail"); // gvcolor_t *color = &(job->obj->pencolor); UNSUPPORTED("7qm0rh822k1sczzlqrrqvbs2x"); // char *cp = NULL; UNSUPPORTED("9of4r30ug3z0b20d8j12e3pnk"); // if ((cp = strstr(name, ":"))) /* if its a color list, then use only first */ UNSUPPORTED("cbuf05ko7kaxq2n9zw35l5v2h"); // *cp = '\0'; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("71y1xk8zhlqbr7ljk4xi6j2x"); // gvrender_resolve_color(job->render.features, name, color); UNSUPPORTED("80xcpwmaq0yeai2wwkv3ipjd8"); // if (gvre->resolve_color) UNSUPPORTED("5skt8kbpasgr6oei3cw53lrw3"); // gvre->resolve_color(job, color); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3h7ovb03mv53jkj4z79mdiv0m"); // if (cp) /* restore color list */ UNSUPPORTED("971i954brvgqb35cftazlqhon"); // *cp = ':'; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d1se1bjsc3m7jbhugf98bvdsy // void gvrender_set_fillcolor(GVJ_t * job, char *name) public static Object gvrender_set_fillcolor(Object... arg) { UNSUPPORTED("5r7oj4opkrxunyrvpxbz9eucg"); // void gvrender_set_fillcolor(GVJ_t * job, char *name) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("eh9bysmovke6e9iezr0onfsif"); // gvcolor_t *color = &(job->obj->fillcolor); UNSUPPORTED("7qm0rh822k1sczzlqrrqvbs2x"); // char *cp = NULL; UNSUPPORTED("9of4r30ug3z0b20d8j12e3pnk"); // if ((cp = strstr(name, ":"))) /* if its a color list, then use only first */ UNSUPPORTED("cbuf05ko7kaxq2n9zw35l5v2h"); // *cp = '\0'; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("71y1xk8zhlqbr7ljk4xi6j2x"); // gvrender_resolve_color(job->render.features, name, color); UNSUPPORTED("80xcpwmaq0yeai2wwkv3ipjd8"); // if (gvre->resolve_color) UNSUPPORTED("5skt8kbpasgr6oei3cw53lrw3"); // gvre->resolve_color(job, color); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5nbgkqw34assnwmypil321sqd"); // if (cp) UNSUPPORTED("971i954brvgqb35cftazlqhon"); // *cp = ':'; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bq4b7phujqc961e7ziqipopma // void gvrender_set_gradient_vals (GVJ_t * job, char *stopcolor, int angle, float frac) public static Object gvrender_set_gradient_vals(Object... arg) { UNSUPPORTED("3y1lob8nc9d6kylff8slmrvt6"); // void gvrender_set_gradient_vals (GVJ_t * job, char *stopcolor, int angle, float frac) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("4wb9uleub62gq1lleh0uzvdvk"); // gvcolor_t *color = &(job->obj->stopcolor); UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("ba71q0eh93yuaf62z4gj4v16l"); // gvrender_resolve_color(job->render.features, stopcolor, color); UNSUPPORTED("80xcpwmaq0yeai2wwkv3ipjd8"); // if (gvre->resolve_color) UNSUPPORTED("5skt8kbpasgr6oei3cw53lrw3"); // gvre->resolve_color(job, color); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4g6prg2786ftm2i5xccm96e6h"); // job->obj->gradient_angle = angle; UNSUPPORTED("6l998scnzlh9f2me8u596k5zd"); // job->obj->gradient_frac = frac; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2lnvbc2ahvd0talu9x7r9dqgb // void gvrender_set_style(GVJ_t * job, char **s) public static Object gvrender_set_style(Object... arg) { UNSUPPORTED("ed6tqrjoo4liy9duowya74n8d"); // void gvrender_set_style(GVJ_t * job, char **s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("cc0bdchuthy63n23oh854p3ir"); // char *line, *p; UNSUPPORTED("8hqsf9nh2ybldgbnnk3bcmu"); // obj->rawstyle = s; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("equxj86ju7dkcxy7wefz8l6u5"); // if (s) UNSUPPORTED("bnw5es8qe45nr5yp9tz6z7a3e"); // while ((p = line = *s++)) { UNSUPPORTED("7qpijbh4ybhl6fxaftd0sfork"); // if ((*(line)==*("solid")&&!strcmp(line,"solid"))) UNSUPPORTED("6hud8gwtkg3zahe2ua4hq83ij"); // obj->pen = PEN_SOLID; UNSUPPORTED("6bwanlgbxst8bc2cv0xzbbsud"); // else if ((*(line)==*("dashed")&&!strcmp(line,"dashed"))) UNSUPPORTED("95srmeof6k7hfybaw6p7dyc3n"); // obj->pen = PEN_DASHED; UNSUPPORTED("8v6hgllyohdu38fmfn5gwk1gs"); // else if ((*(line)==*("dotted")&&!strcmp(line,"dotted"))) UNSUPPORTED("3kl1lutns4cz2ild0sz1xh16q"); // obj->pen = PEN_DOTTED; UNSUPPORTED("4l94fr7n2phccurat8ysgwqio"); // else if ((*(line)==*("invis")&&!strcmp(line,"invis")) || (*(line)==*("invisible")&&!strcmp(line,"invisible"))) UNSUPPORTED("ac76fwv7t6jv1nljbublzljmb"); // obj->pen = PEN_NONE; UNSUPPORTED("aqx8ac8quxag6xil6wuavvi5a"); // else if ((*(line)==*("bold")&&!strcmp(line,"bold"))) UNSUPPORTED("acx11t55moi09ri1211mh10m8"); // obj->penwidth = 2.; UNSUPPORTED("emw5dlagymi75sor2qr0cg7vd"); // else if ((*(line)==*("setlinewidth")&&!strcmp(line,"setlinewidth"))) { UNSUPPORTED("8on9zstcjf8x7vnxo0ruhe15f"); // while (*p) UNSUPPORTED("kqo5b69i4k26e6iv18175dju"); // p++; UNSUPPORTED("6vkekzy7fxtvws16bdbx2yyp0"); // p++; UNSUPPORTED("b78whm1hkisnpr9ue88h9s6mp"); // obj->penwidth = atof(p); UNSUPPORTED("901ar3u82oxx2edwzx67af916"); // } else if ((*(line)==*("filled")&&!strcmp(line,"filled"))) UNSUPPORTED("al7f421nliq8cp8umch5g84id"); // obj->fill = FILL_SOLID; UNSUPPORTED("2c0o9j23cvx64elo52vn5fa55"); // else if ((*(line)==*("unfilled")&&!strcmp(line,"unfilled"))) UNSUPPORTED("4rogmkrrzxs6f7jpqzituon7h"); // obj->fill = FILL_NONE; UNSUPPORTED("afqdk2t3k49ax3yr996td7xij"); // else if ((*(line)==*("tapered")&&!strcmp(line,"tapered"))); UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else { UNSUPPORTED("3f0u3cjz549lwgnkj0rlfv6rv"); // agerr(AGWARN, UNSUPPORTED("2qw622u36zt4xp5de28umz71p"); // "gvrender_set_style: unsupported style %s - ignoring\n", UNSUPPORTED("c417iw9xyayechno2h2gtkidk"); // line); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eyxsx2an9nibgyxoozqxipc50 // void gvrender_ellipse(GVJ_t * job, pointf * pf, int n, int filled) public static Object gvrender_ellipse(Object... arg) { UNSUPPORTED("7id4bcj5ex7dkq7nf2sjxqkxy"); // void gvrender_ellipse(GVJ_t * job, pointf * pf, int n, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("d33a6zjcnxa56avpwpfci03w0"); // if (gvre->ellipse && job->obj->pen != PEN_NONE) { UNSUPPORTED("5ee29opjv6aldntaubhxveste"); // pointf af[2]; UNSUPPORTED("ezddcbil3k2vpgi3937t190vg"); // /* center */ UNSUPPORTED("eqotgr25by5valy10q8yrlto3"); // af[0].x = (pf[0].x + pf[1].x) / 2.; UNSUPPORTED("7gk0lclx0jgwhwg64fctmcyuw"); // af[0].y = (pf[0].y + pf[1].y) / 2.; UNSUPPORTED("1x05c1xvw0f812ervsc5c1db7"); // /* corner */ UNSUPPORTED("9lxv0dip7ojewgkwaldenpvat"); // af[1] = pf[1]; UNSUPPORTED("4hpouh4g99lqypvfaulobxe1q"); // if (!(job->flags & (1<<13))) UNSUPPORTED("b0ame3q1wj0xu1ddafxmv61r6"); // gvrender_ptf_A(job, af, af, 2); UNSUPPORTED("ecg6t40fcec9tuaidvse5o9k7"); // gvre->ellipse(job, af, filled); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 yp8iozq6mdutn12n5clinpsw // void gvrender_polygon(GVJ_t * job, pointf * af, int n, int filled) public static Object gvrender_polygon(Object... arg) { UNSUPPORTED("bv02ljcfrzola6maqr6v7beev"); // void gvrender_polygon(GVJ_t * job, pointf * af, int n, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7etlb9y79uddlra5j9bq7hjy0"); // int noPoly = 0; UNSUPPORTED("6wlq83bksy1dlfrxo5oqh3qfg"); // gvcolor_t save_pencolor; UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("4dvbzlf9ofw1sbr0kinbiopjy"); // if (gvre->polygon && job->obj->pen != PEN_NONE) { UNSUPPORTED("3c069bec725soy1ddur2lmx88"); // if (filled & 4) { UNSUPPORTED("drtmij0csvtkvgrbk1yqdr04x"); // noPoly = 1; UNSUPPORTED("8fyh7hf01mlybwcrx096jx0g9"); // filled &= ~4; UNSUPPORTED("54l2vwy7bed4cbytx05i897io"); // save_pencolor = job->obj->pencolor; UNSUPPORTED("3sjiewne1u0xvr0lijo4fsj4r"); // job->obj->pencolor = job->obj->fillcolor; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("axkfudcbukjknssqlc19up4oj"); // if (job->flags & (1<<13)) UNSUPPORTED("dtcn338f4dw09aoxz62631sqw"); // gvre->polygon(job, af, n, filled); UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("4bjezvz1si20bgioa75ow050b"); // if (sizeAF < n) { UNSUPPORTED("6uvcrsm6kp84s8ocym7dub4f"); // sizeAF = n + 10; UNSUPPORTED("bq7cfbgsgn87xeot78xdy9ui5"); // AF = grealloc(AF, sizeAF * sizeof(pointf)); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("8uevq5szpmt24ikijexgharm4"); // gvrender_ptf_A(job, af, AF, n); UNSUPPORTED("6lcl4fwte735kt1go13ybqeh"); // gvre->polygon(job, AF, n, filled); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("w9ool8zsr5xhadzpe15wbg2s"); // if (noPoly) UNSUPPORTED("4n90uzffapw0hn5othv0zrbi3"); // job->obj->pencolor = save_pencolor; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 887zxc7xkpuux75pyddc0t2sm // void gvrender_box(GVJ_t * job, boxf B, int filled) public static Object gvrender_box(Object... arg) { UNSUPPORTED("e0bwh5wg4tq95uckdyef5xzub"); // void gvrender_box(GVJ_t * job, boxf B, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ctvmenh2xwttzvzv2mrj2pizl"); // pointf A[4]; UNSUPPORTED("ayegu4zx75rk1lklks1prb14u"); // A[0] = B.LL; UNSUPPORTED("blhtdvdu48mofhgnuwowogpyp"); // A[2] = B.UR; UNSUPPORTED("ef7fxzoqydqv1nwffgjbuf1sd"); // A[1].x = A[0].x; UNSUPPORTED("eszwoyo2gnla64vngjy3z1q3v"); // A[1].y = A[2].y; UNSUPPORTED("egya9mjzieml8yqx2caonmq6e"); // A[3].x = A[2].x; UNSUPPORTED("2oe4fg2nwhsb5dalpz4mg5nbn"); // A[3].y = A[0].y; UNSUPPORTED("3zlnq8g9z7psgb93ljeinqwcs"); // gvrender_polygon(job, A, 4, filled); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3ob8x7840dyx76jqhumocvdr6 // void gvrender_beziercurve(GVJ_t * job, pointf * af, int n, int arrow_at_start, int arrow_at_end, boolean filled) public static Object gvrender_beziercurve(Object... arg) { UNSUPPORTED("9vork9t9rxekftwoe2b4co51v"); // void gvrender_beziercurve(GVJ_t * job, pointf * af, int n, UNSUPPORTED("3xhx7uex1gp1o3nnsoocvsyif"); // int arrow_at_start, int arrow_at_end, UNSUPPORTED("275qles1p1xn7ecqbi8gds0jt"); // boolean filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("54lpmghvciyi7cdmsm6wqq3yc"); // if (gvre->beziercurve && job->obj->pen != PEN_NONE) { UNSUPPORTED("axkfudcbukjknssqlc19up4oj"); // if (job->flags & (1<<13)) UNSUPPORTED("52u47z983op39vd0d6yprfpi7"); // gvre->beziercurve(job, af, n, arrow_at_start, arrow_at_end, UNSUPPORTED("4oaa7hd9zzxozaff0cbix2kmp"); // filled); UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("4bjezvz1si20bgioa75ow050b"); // if (sizeAF < n) { UNSUPPORTED("6uvcrsm6kp84s8ocym7dub4f"); // sizeAF = n + 10; UNSUPPORTED("bq7cfbgsgn87xeot78xdy9ui5"); // AF = grealloc(AF, sizeAF * sizeof(pointf)); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("8uevq5szpmt24ikijexgharm4"); // gvrender_ptf_A(job, af, AF, n); UNSUPPORTED("ai7qtqrnw5vcq4jpskv8mtnvw"); // gvre->beziercurve(job, AF, n, arrow_at_start, arrow_at_end, UNSUPPORTED("4oaa7hd9zzxozaff0cbix2kmp"); // filled); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3b7i3jvz34m0h6yog8k2fvyfd // void gvrender_polyline(GVJ_t * job, pointf * af, int n) public static Object gvrender_polyline(Object... arg) { UNSUPPORTED("aeof52u6j3ibwxck6m4wrrivp"); // void gvrender_polyline(GVJ_t * job, pointf * af, int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("bn4y0nlsh3umgedtpmscc5c9f"); // if (gvre->polyline && job->obj->pen != PEN_NONE) { UNSUPPORTED("axkfudcbukjknssqlc19up4oj"); // if (job->flags & (1<<13)) UNSUPPORTED("2vlnksg14jlxy4qyvzmm0zim1"); // gvre->polyline(job, af, n); UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("4bjezvz1si20bgioa75ow050b"); // if (sizeAF < n) { UNSUPPORTED("6uvcrsm6kp84s8ocym7dub4f"); // sizeAF = n + 10; UNSUPPORTED("bq7cfbgsgn87xeot78xdy9ui5"); // AF = grealloc(AF, sizeAF * sizeof(pointf)); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("8uevq5szpmt24ikijexgharm4"); // gvrender_ptf_A(job, af, AF, n); UNSUPPORTED("1gvnhkj77n4ypjiwq1fqxtgp8"); // gvre->polyline(job, AF, n); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 blnfx50nrebk4gjfqqnn4rm7f // void gvrender_comment(GVJ_t * job, char *str) public static Object gvrender_comment(Object... arg) { UNSUPPORTED("b17bq37munzsdb5wh62le6aje"); // void gvrender_comment(GVJ_t * job, char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("5r4zhowru1r7j2yc1tquc5n8c"); // if (!str || !str[0]) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("2alwhjzc47rg93cqdi01wfpgm"); // if (gvre->comment) UNSUPPORTED("et94lf5x9gl8pdspb3jo8s9mg"); // gvre->comment(job, str); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 93prcj5sag4lfc8a5sb2wmsd // static imagescale_t get_imagescale(char *s) public static Object get_imagescale(Object... arg) { UNSUPPORTED("1txzuoketj9nchn3z70fng5v3"); // static imagescale_t get_imagescale(char *s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ajfjfii8vpjbquxmivdtxeg2b"); // if (*s == '\0') UNSUPPORTED("2coe29ec3wsegxx4gdv5m2kkd"); // return IMAGESCALE_FALSE; UNSUPPORTED("5yk4xjth2k279fyki9bkfr66x"); // if (!strcasecmp(s, "width")) UNSUPPORTED("3lu8ftn55h0wldfqo68xgloi7"); // return IMAGESCALE_WIDTH; UNSUPPORTED("92jzx9kaxuoztwbek5hyxzzuz"); // if (!strcasecmp(s, "height")) UNSUPPORTED("bu03yyk0qldvbb0ods2x4yawd"); // return IMAGESCALE_HEIGHT; UNSUPPORTED("28h8fykjn40nqnrw5vahnfaq4"); // if (!strcasecmp(s, "both")) UNSUPPORTED("kkh6e6r11wcdirsr594y1di"); // return IMAGESCALE_BOTH; UNSUPPORTED("8gusbxecihttgbvw2nehw572g"); // if (mapbool(s)) UNSUPPORTED("bikcgjnvqb6lez1cpnd544oim"); // return IMAGESCALE_TRUE; UNSUPPORTED("42n71z3o7xthvr2pah8c8u3lw"); // return IMAGESCALE_FALSE; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 pi86b4slwqam0a1xxdq0xdf0 // void gvrender_usershape(GVJ_t * job, char *name, pointf * a, int n, boolean filled, char *imagescale) public static Object gvrender_usershape(Object... arg) { UNSUPPORTED("6rpcjgqcfwaiwqvb418x8kokh"); // void gvrender_usershape(GVJ_t * job, char *name, pointf * a, int n, UNSUPPORTED("8jff0dyonsdk8syp7l4ev2bet"); // boolean filled, char *imagescale) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("exneoozy5g8al0a8y6fxb88zv"); // usershape_t *us; UNSUPPORTED("55qv67frd38p9fzngao3h7pz3"); // double iw, ih, pw, ph; UNSUPPORTED("cz8micuten0mlwt1eebcv7uki"); // double scalex, scaley; /* scale factors */ UNSUPPORTED("crqj2odd9fbsbeuzanl23jpv5"); // boxf b; /* target box */ UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("6l51ed47a0ut0f1nmi3st4xsd"); // point isz; UNSUPPORTED("1nk5slg1h855ktp6d9uxli7u3"); // assert(job); UNSUPPORTED("265kxn69043hh3vmr1ma8pbpg"); // assert(name); UNSUPPORTED("1av8we70pcc0ni7489zk2ttcg"); // assert(name[0]); UNSUPPORTED("dztu0qy4iohllldygpjrgx0gv"); // if (!(us = gvusershape_find(name))) { UNSUPPORTED("e4iagmogyeon44yhelfxakcrj"); // if (find_user_shape(name)) { UNSUPPORTED("c7obssvvot4eby517jwrv86al"); // if (gvre && gvre->library_shape) UNSUPPORTED("9hgqs8vju366mem50j32o9147"); // gvre->library_shape(job, name, a, n, filled); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8mq2y4jjt82ryu31wh7v1hyd4"); // isz = gvusershape_size_dpi(us, job->dpi); UNSUPPORTED("99au5wlhecqbfygzkzv8981mi"); // if ((isz.x <= 0) && (isz.y <= 0)) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("esl5shk1uch8lb65tqqq1m71g"); // /* compute bb of polygon */ UNSUPPORTED("9iktk3ta9uy01wdkx10u1v1i0"); // b.LL = b.UR = a[0]; UNSUPPORTED("1zy7dp66aw6aapybjihdnqlz7"); // for (i = 1; i < n; i++) { UNSUPPORTED("1y3lpr6pjid8ob5onc2hncben"); // EXPANDBP(b, a[i]); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5l547bajz46b3nak1gcn1xgbx"); // pw = b.UR.x - b.LL.x; UNSUPPORTED("370p3pzdb3r4j80cqbinj84ig"); // ph = b.UR.y - b.LL.y; UNSUPPORTED("20jqgqhi8nnb31ugjlxv5mfgd"); // ih = (double) isz.y; UNSUPPORTED("eajz69qazr70u5u4virjxef9c"); // iw = (double) isz.x; UNSUPPORTED("3jv1mdnld1gfgqyowoe3iai46"); // scalex = pw / iw; UNSUPPORTED("19lmg6layyecz6vq3tzk6iwqc"); // scaley = ph / ih; UNSUPPORTED("crt8ua8sg8nrxfn965bl378nm"); // switch (get_imagescale(imagescale)) { UNSUPPORTED("9x5d1p2vwawhnebkxvik4ler0"); // case IMAGESCALE_TRUE: UNSUPPORTED("13lnmnrrtauczxh7m0yh16omx"); // /* keep aspect ratio fixed by just using the smaller scale */ UNSUPPORTED("35ptrfp241fjgv3d65rhgyvfz"); // if (scalex < scaley) { UNSUPPORTED("evffc82eplte7tbacg5igm7t1"); // iw *= scalex; UNSUPPORTED("4c103f16tmlh4niqoc6sqgngw"); // ih *= scalex; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("2ia00rm1213j433ep221netai"); // iw *= scaley; UNSUPPORTED("e73g6zisi7ulw9whkaan7y5go"); // ih *= scaley; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("bg4352ii1wtvlgazxbs7q8h21"); // case IMAGESCALE_WIDTH: UNSUPPORTED("98n9ml3m71mrha04tx2qjd2ug"); // iw *= scalex; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("ecv5vta16tbc18yxmxjzpkl03"); // case IMAGESCALE_HEIGHT: UNSUPPORTED("bthar9ttyrew0nvghtr3jbrlv"); // ih *= scaley; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("52xjldytepdnjwbuuftuni25s"); // case IMAGESCALE_BOTH: UNSUPPORTED("98n9ml3m71mrha04tx2qjd2ug"); // iw *= scalex; UNSUPPORTED("bthar9ttyrew0nvghtr3jbrlv"); // ih *= scaley; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("4dtyjnaw3zlyc8ymxnftwyvm6"); // case IMAGESCALE_FALSE: UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("86tahm66tt20ykc8ny2tzk3ze"); // /* if image is smaller than target area then center it */ UNSUPPORTED("5h0ev3sjr0rjuc1rvqvcxdfvq"); // if (iw < pw) { UNSUPPORTED("cbvvk9amzw6bdegl0ecjking7"); // b.LL.x += (pw - iw) / 2.0; UNSUPPORTED("5hysx98tyafdlh0uqucunh4q8"); // b.UR.x -= (pw - iw) / 2.0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7961jlqlc9zg8cezqa8kciiwy"); // if (ih < ph) { UNSUPPORTED("cc1xxa7ttu5nlyd4m0qkif9w7"); // b.LL.y += (ph - ih) / 2.0; UNSUPPORTED("6oh6e3zjxnin6hxzzbd6ljfxp"); // b.UR.y -= (ph - ih) / 2.0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("69ziz4onms29gp005lfbsxw08"); // /* convert from graph to device coordinates */ UNSUPPORTED("5ns2lzxxg3bbgizp0jtbmieye"); // if (!(job->flags & (1<<13))) { UNSUPPORTED("buzq3sk9f7ll29s59hivg2fni"); // b.LL = gvrender_ptf(job, b.LL); UNSUPPORTED("dl8zgtciz8uf4yloys650b6dc"); // b.UR = gvrender_ptf(job, b.UR); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b6p3r12lnoxocu3l1hnza3ybx"); // if (b.LL.x > b.UR.x) { UNSUPPORTED("34o3euq4mb31azwc69v72tqa1"); // double d = b.LL.x; UNSUPPORTED("5uptom4thtt0qanfm9axd15zo"); // b.LL.x = b.UR.x; UNSUPPORTED("6pdd6mw8v1li3v7jz1g4q8t8d"); // b.UR.x = d; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ui9nw26f8tqmqg8nl2ppbzxs"); // if (b.LL.y > b.UR.y) { UNSUPPORTED("5n2cnyobffi7mbdk1qslollkp"); // double d = b.LL.y; UNSUPPORTED("783ve2lazsyx422w165c4syrf"); // b.LL.y = b.UR.y; UNSUPPORTED("5x5nvpjy2r74y4ljpnu4u08i"); // b.UR.y = d; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("9mmza3nlarjca7p78m5h9xos4"); // gvloadimage(job, us, b, filled, job->render.type); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4u2p88wr82whlushkt6jc2qjm // void gvrender_set_penwidth(GVJ_t * job, double penwidth) public static Object gvrender_set_penwidth(Object... arg) { UNSUPPORTED("4sxn3kk22l21zki26l63tudc1"); // void gvrender_set_penwidth(GVJ_t * job, double penwidth) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f1y2y1c3z2f172ut1ewmzfnmn"); // gvrender_engine_t *gvre = job->render.engine; UNSUPPORTED("dg636tu66pifgwut68sbx2cvx"); // if (gvre) { UNSUPPORTED("3zhz40tekxxllcduntmn94hvv"); // job->obj->penwidth = penwidth; UNSUPPORTED("3c3xrh3ygj2k3vrtdokz98wd7"); // /*if (gvre->set_penwidth) gvre->set_penwidth(job, penwidth); */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/gvc/gvtextlayout__c.java000066400000000000000000000124641340005343600232420ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.gvc; import static gen.lib.gvc.gvplugin__c.gvplugin_load; import static smetana.core.JUtils.enumAsInt; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_GVC_s; import h.ST_gvplugin_available_s; import h.ST_gvplugin_installed_t; import h.api_t; import smetana.core.CString; public class gvtextlayout__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //3 f1oiyeonoigwygyq8c88wl8tz // int gvtextlayout_select(GVC_t * gvc) public static int gvtextlayout_select(ST_GVC_s gvc) { ENTERING("f1oiyeonoigwygyq8c88wl8tz","gvtextlayout_select"); try { ST_gvplugin_available_s plugin; ST_gvplugin_installed_t typeptr; plugin = gvplugin_load(gvc, enumAsInt(api_t.class, "API_textlayout"), new CString("textlayout")); if (plugin!=null) { UNSUPPORTED("8cnmkxanogd09zc24faarugvo"); // typeptr = plugin->typeptr; UNSUPPORTED("cihmstdaldbultct48d4klpzn"); // gvc->textlayout.engine = (gvtextlayout_engine_t *) (typeptr->engine); UNSUPPORTED("47nsfms3a4gr280vabzgt5x3f"); // return 300; /* FIXME - need more suitable success code */ } return 999; } finally { LEAVING("f1oiyeonoigwygyq8c88wl8tz","gvtextlayout_select"); } } //3 f2jbuh3elz9mya1fc3ga6d3z9 // boolean gvtextlayout(GVC_t *gvc, textspan_t *span, char **fontpath) public static Object gvtextlayout(Object... arg) { UNSUPPORTED("2jsqpz6hn581464yugh0tou2l"); // boolean gvtextlayout(GVC_t *gvc, textspan_t *span, char **fontpath) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6lss2n766usro8etj7wmu49lz"); // gvtextlayout_engine_t *gvte = gvc->textlayout.engine; UNSUPPORTED("8kfw5uy3hnla57n731fnzv3rh"); // if (gvte && gvte->textlayout) UNSUPPORTED("1vzb5q1afwigxljf6njahgd70"); // return gvte->textlayout(span, fontpath); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/label/000077500000000000000000000000001340005343600174505ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/gen/lib/label/index__c.java000066400000000000000000000504421340005343600220700ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.label; import static gen.lib.label.node__c.AddBranch; import static gen.lib.label.node__c.DisconBranch; import static gen.lib.label.node__c.NodeCover; import static gen.lib.label.node__c.PickBranch; import static gen.lib.label.node__c.RTreeNewNode; import static gen.lib.label.rectangle__c.CombineRect; import static gen.lib.label.rectangle__c.Overlap; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Branch_t; import h.ST_LeafList_t; import h.ST_Node_t___; import h.ST_Node_t___or_object_t; import h.ST_RTree; import h.ST_Rect_t; import smetana.core.Memory; import smetana.core.__ptr__; public class index__c { //3 1rfaqe5urty5uyp5xb2r0idce // LeafList_t *RTreeNewLeafList(Leaf_t * lp) public static ST_LeafList_t RTreeNewLeafList(ST_Branch_t lp) { ENTERING("1rfaqe5urty5uyp5xb2r0idce","RTreeNewLeafList"); try { ST_LeafList_t llp; llp = new ST_LeafList_t(); llp.leaf = lp; llp.next = null; return llp; //UNSUPPORTED("3b215c61vcll0rkorzyelp40j"); // if ((llp = (LeafList_t*)zmalloc(sizeof(LeafList_t)))) { //UNSUPPORTED("48u04cv4b40c0avzy99mdycx5"); // llp->leaf = lp; //UNSUPPORTED("bbvk7v1s0z6yw1xdoq99v233w"); // llp->next = 0; //UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } //UNSUPPORTED("5a1d3zolzdjict0gus6vz04a2"); // return llp; //UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } // //throw new UnsupportedOperationException(); } finally { LEAVING("1rfaqe5urty5uyp5xb2r0idce","RTreeNewLeafList"); } } //3 6pvstz7axi8a7saeqe3nrrmg5 // LeafList_t *RTreeLeafListAdd(LeafList_t * llp, Leaf_t * lp) public static ST_LeafList_t RTreeLeafListAdd(ST_LeafList_t llp, ST_Branch_t lp) { ENTERING("6pvstz7axi8a7saeqe3nrrmg5","RTreeLeafListAdd"); try { ST_LeafList_t nlp; if (N(lp)) return llp; nlp = RTreeNewLeafList(lp); nlp.next = llp; return nlp; } finally { LEAVING("6pvstz7axi8a7saeqe3nrrmg5","RTreeLeafListAdd"); } } //3 6zraor7x44vrnm19d2igkvow2 // void RTreeLeafListFree(LeafList_t * llp) public static void RTreeLeafListFree(ST_LeafList_t llp) { ENTERING("6zraor7x44vrnm19d2igkvow2","RTreeLeafListFree"); try { ST_LeafList_t tlp; while (llp.next!=null) { tlp = (ST_LeafList_t) llp.next; Memory.free(llp); llp = tlp; } Memory.free(llp); } finally { LEAVING("6zraor7x44vrnm19d2igkvow2","RTreeLeafListFree"); } } ///* Allocate space for a node in the list used in DeletRect to // * store Nodes that are too empty. // */ //static struct ListNode *RTreeNewListNode(void) //{ // return (struct ListNode*)zmalloc(sizeof(struct ListNode)); //} // ///* Add a node to the reinsertion list. All its branches will later // * be reinserted into the index structure. // */ //3 aa19m7d7qc06m8id896e60lkg //static int RTreeReInsert(RTree_t * rtp, Node_t * n, struct ListNode **ee) //{ // WARNING!! STRUCT // register struct ListNode *l; // // if (!(l = RTreeNewListNode())) // return -1; // l->node = n; // l->next = *ee; // *ee = l; // return 0; //} // //3 aa29m7d7qc06m8id896e60lkg //RTree_t *RTreeOpen() public static __ptr__ RTreeOpen() { ENTERING("aa29m7d7qc06m8id896e60lkg","RTreeOpen"); try { ST_RTree rtp; rtp = new ST_RTree(); if (rtp!=null) rtp.setPtr("root", RTreeNewIndex(rtp)); return rtp; } finally { LEAVING("aa29m7d7qc06m8id896e60lkg","RTreeOpen"); } } /* Make a new index, empty. Consists of a single node. */ //3 aa39m7d7qc06m8id896e60lkg //Node_t *RTreeNewIndex(RTree_t * rtp) public static ST_Node_t___ RTreeNewIndex(ST_RTree rtp) { ENTERING("aa39m7d7qc06m8id896e60lkg","RTreeNewIndex"); try { ST_Node_t___ x; x = RTreeNewNode(rtp); x.setInt("level", 0); /* leaf */ rtp.setInt("LeafCount", rtp.LeafCount+1); return x; } finally { LEAVING("aa39m7d7qc06m8id896e60lkg","RTreeNewIndex"); } } //3 aa49m7d7qc06m8id896e60lkg //static int RTreeClose2(RTree_t * rtp, Node_t * n) public static int RTreeClose2(ST_RTree rtp, ST_Node_t___ n) { ENTERING("aa49m7d7qc06m8id896e60lkg","RTreeClose2"); try { int i; if (n.level > 0) { for (i = 0; i < 64; i++) { if (N(n.branch[i].child)) continue; if (N(RTreeClose2(rtp, (ST_Node_t___) n.branch[i].child))) { Memory.free(n.branch[i].child); DisconBranch(n, i); rtp.setInt("EntryCount", rtp.EntryCount-1); if (rtp.StatFlag!=0) rtp.setInt("ElimCount", rtp.ElimCount+1); } } } else { for (i = 0; i < 64; i++) { if (N(n.branch[i].child)) continue; // free(n->branch[i].child); DisconBranch(n, i); rtp.setInt("EntryCount", rtp.EntryCount-1); if (rtp.StatFlag!=0) rtp.setInt("ElimCount", rtp.ElimCount+1); } //free(n); } return 0; } finally { LEAVING("aa49m7d7qc06m8id896e60lkg","RTreeClose2"); } } //3 aa59m7d7qc06m8id896e60lkg //int RTreeClose(RTree_t * rtp) public static int RTreeClose(ST_RTree rtp) { ENTERING("aa59m7d7qc06m8id896e60lkg","RTreeClose"); try { RTreeClose2(rtp, (ST_Node_t___) rtp.root); Memory.free(rtp.root); Memory.free(rtp); return 0; } finally { LEAVING("aa59m7d7qc06m8id896e60lkg","RTreeClose"); } } /* RTreeSearch in an index tree or subtree for all data retangles that ** overlap the argument rectangle. ** Returns the number of qualifying data rects. */ //3 aa69m7d7qc06m8id896e60lkg //LeafList_t *RTreeSearch(RTree_t * rtp, Node_t * n, Rect_t * r) public static ST_LeafList_t RTreeSearch(ST_RTree rtp, ST_Node_t___ n, ST_Rect_t r) { ENTERING("aa69m7d7qc06m8id896e60lkg","RTreeSearch"); try { int i; ST_LeafList_t llp = null; // assert(n); // assert(n->level >= 0); // assert(r); rtp.setInt("SeTouchCount", rtp.SeTouchCount+1); if (n.level > 0) { /* this is an internal node in the tree */ for (i = 0; i < 64; i++) if (n.branch[i].child!=null && Overlap(r, n.branch[i].rect)) { ST_LeafList_t tlp = RTreeSearch(rtp, (ST_Node_t___) n.branch[i].child, r); if (llp!=null) { ST_LeafList_t xlp = llp; while (xlp.next!=null) xlp = (ST_LeafList_t) xlp.next; xlp.next = tlp; } else llp = tlp; } } else { /* this is a leaf node */ for (i = 0; i < 64; i++) { if (n.branch[i].child!=null && Overlap(r, n.branch[i].rect)) { llp = RTreeLeafListAdd(llp, /*(Leaf_t *)*/ n.branch[i]); } } } return llp; } finally { LEAVING("aa69m7d7qc06m8id896e60lkg","RTreeSearch"); } } //} // ///* Insert a data rectangle into an index structure. //** RTreeInsert provides for splitting the root; //** returns 1 if root was split, 0 if it was not. //** The level argument specifies the number of steps up from the leaf //** level to insert; e.g. a data rectangle goes in at level = 0. //** RTreeInsert2 does the recursion. //*/ //static int RTreeInsert2(RTree_t *, Rect_t *, void *, Node_t *, Node_t **, // int); ///*static int RTreeInsert2(RTree_t*, Rect_t*, int, Node_t*, Node_t**, int); */ //3 3wss9r0zgt5k06j8ovjv7hq0d // int RTreeInsert(RTree_t * rtp, Rect_t * r, void *data, Node_t ** n, int level) public static int RTreeInsert(ST_RTree rtp, ST_Rect_t r, __ptr__ data, ST_Node_t___ n[], int level) { ENTERING("3wss9r0zgt5k06j8ovjv7hq0d","RTreeInsert"); try { int i; ST_Node_t___ newroot; ST_Node_t___ newnode[] = new ST_Node_t___[1]; final ST_Branch_t b = new ST_Branch_t(); int result = 0; // assert(r && n); // assert(level >= 0 && level <= (*n)->level); // for (i = 0; i < 2; i++) // assert(r->boundary[i] <= r->boundary[2 + i]); if (rtp.StatFlag!=0) { UNSUPPORTED("akhni40ndam0u9c6i7raxw4mp"); // if (rtp->Deleting) UNSUPPORTED("bzb1oqc35evr96528iv16glb0"); // rtp->ReInsertCount++; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("3kxquse3qg2crme5dzybg9jxe"); // rtp->InsertCount++; } if (N(rtp.Deleting)) rtp.setInt("RectCount", rtp.RectCount+1); if (RTreeInsert2(rtp, r, data, n[0], newnode, level)!=0) { /* root was split */ if (rtp.StatFlag!=0) { UNSUPPORTED("2y8kv6b3ysrr61q7tqn76rhhc"); // if (rtp->Deleting) UNSUPPORTED("dn4oynmx9ugizzs5pkxiyptbi"); // rtp->DeTouchCount++; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("2u8wpa4w1q7rg14t07bny6p8i"); // rtp->InTouchCount++; } newroot = RTreeNewNode(rtp); /* grow a new root, make tree taller */ rtp.setInt("NonLeafCount", rtp.NonLeafCount+1); newroot.setInt("level", n[0].level + 1); b.setStruct("rect", NodeCover(n[0])); b.child = n[0]; AddBranch(rtp, b, newroot, null); b.setStruct("rect", NodeCover(newnode[0])); b.child = newnode[0]; AddBranch(rtp, b, newroot, null); n[0] = newroot; // rtp->root = newroot; rtp.setInt("EntryCount", rtp.EntryCount + 2); result = 1; } return result; } finally { LEAVING("3wss9r0zgt5k06j8ovjv7hq0d","RTreeInsert"); } } // public static int RTreeInsert(ST_RTree rtp, ST_Rect_t r, __ptr__ data, ST_Node_t___ n[], int level) { //3 bsc9m7d7qc06m8id896e60lkg // static int RTreeInsert2(RTree_t * rtp, Rect_t * r, void *data, Node_t * n, Node_t ** new, int level) public static int RTreeInsert2(ST_RTree rtp, ST_Rect_t r, __ptr__ data, ST_Node_t___ n, ST_Node_t___ new_[], int level) { ENTERING("bsc9m7d7qc06m8id896e60lkg","RTreeInsert2"); try { /*static int */ /* RTreeInsert2(RTree_t*rtp, Rect_t*r, int data, Node_t*n, Node_t**new, int level) { */ int i=0; final ST_Branch_t b = new ST_Branch_t(); ST_Node_t___ n2[]=new ST_Node_t___[1]; // assert(r && n && new); // assert(level >= 0 && level <= n->level); if (rtp.StatFlag!=0) { UNSUPPORTED("akhni40ndam0u9c6i7raxw4mp"); // if (rtp->Deleting) UNSUPPORTED("8k1kgaoa4b2mcye1xthc3f1kf"); // rtp->DeTouchCount++; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("1um729vqiy3529kbsrzyl9u3y"); // rtp->InTouchCount++; } /* Still above level for insertion, go down tree recursively */ if (n.level > level) { i = PickBranch(r, n); if (N(RTreeInsert2(rtp, r, data, (ST_Node_t___) n.branch[i].child, n2, level))) { /* recurse: child was not split */ n.branch[i].setStruct("rect", CombineRect((ST_Rect_t)r, (ST_Rect_t) n.branch[i].rect)); return 0; } else { /* child was split */ UNSUPPORTED("7evrfdq7uc1smqislqm9d82l6"); // n->branch[i].rect = NodeCover(n->branch[i].child); UNSUPPORTED("echuth2qnq0o4n5gkzgtu5bgs"); // b.child = n2; UNSUPPORTED("50z4r9qcomgi4o7vvwq0v0xs"); // b.rect = NodeCover(n2); UNSUPPORTED("451qw2ioqybj69k9abzvqw4mk"); // rtp->EntryCount++; UNSUPPORTED("9uz11nbvh6yp6yq2axvo7e0fb"); // return AddBranch(rtp, &b, n, new); } } else if (n.level == level) { /* at level for insertion. */ /*Add rect, split if necessary */ b.rect.___(r); b.child = /*(Node_t *)*/(ST_Node_t___or_object_t) data; // THIS CAST IS A BIG ISSUE // UNSUPPORTED("7w1b5nw2bj3zmo70m9bczwwov"); // b.child = (Node_t *) data; rtp.setInt("EntryCount", rtp.EntryCount+1); return AddBranch(rtp, b, n, new_); } else { /* Not supposed to happen */ UNSUPPORTED("22oqraxnqrjall7fj6pooexmi"); // assert((0)); UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; } throw new UnsupportedOperationException(); } finally { LEAVING("bsc9m7d7qc06m8id896e60lkg","RTreeInsert2"); } } //3 eybi74pqddw71yno71n1dxch1 // static void FreeListNode(register struct ListNode *p) public static Object FreeListNode(Object... arg) { UNSUPPORTED("enkn7pc4meks3igihpafaoxnl"); // static void FreeListNode(register struct ListNode *p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bo0y3vz195pcz24vm46pixpb2"); // free(p); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a4tq9skwvzdutka9ei6pbydrk // int RTreeDelete(RTree_t * rtp, Rect_t * r, void *data, Node_t ** nn) public static Object RTreeDelete(Object... arg) { UNSUPPORTED("dxan13j7zc5tysdskndrhp0jy"); // int RTreeDelete(RTree_t * rtp, Rect_t * r, void *data, Node_t ** nn) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("a12nb5dbhoiu403g443fctkns"); // /* int */ UNSUPPORTED("db7nkyc7g4zod4pcosw0eosmi"); // /* RTreeDelete(RTree_t*rtp, Rect_t*r, int data, Node_t**nn) { */ UNSUPPORTED("pp6gyv6pecd6kik4hoguluwp"); // register int i; UNSUPPORTED("ben8zsxtpzeiqo8eli2l8uwl0"); // register Node_t *t; UNSUPPORTED("5pdj91y3888dsu9aiv163adqi"); // struct ListNode *reInsertList = (void *)0; UNSUPPORTED("ej513ottpyeoq8nr5ek3cqnyu"); // register struct ListNode *e; UNSUPPORTED("9fgs287rhe40d3q36tlijajk3"); // assert(r && nn); UNSUPPORTED("djo1drf8zqgd4dlmtnp8268ma"); // assert(*nn); UNSUPPORTED("aickurv6sbkajrl6u32h8s7n0"); // assert(data >= 0); UNSUPPORTED("d7p6had3bhs1yux0acgomhxcq"); // rtp->Deleting = (!(0)); UNSUPPORTED("607lavmustb15rxzq2849utq7"); // if (!RTreeDelete2(rtp, r, data, *nn, &reInsertList)) { UNSUPPORTED("78928a78vetdygse25vd6qw33"); // /* found and deleted a data item */ UNSUPPORTED("bi6ay2t4s62zfticozlr791yq"); // if (rtp->StatFlag) UNSUPPORTED("aiqjtlu1lbfame9tsdduxksph"); // rtp->DeleteCount++; UNSUPPORTED("337cl2y5ymgyje4han1uiddia"); // rtp->RectCount--; UNSUPPORTED("dm3fsqsr312twcwr7ejz72sd5"); // /* reinsert any branches from eliminated nodes */ UNSUPPORTED("3miqozg3j3sz0440ya0edtkn1"); // while (reInsertList) { UNSUPPORTED("8bi7drdkfhozlzpnr9a8beo9r"); // t = reInsertList->node; UNSUPPORTED("ehzcswv2o675ah20nlk8ll73b"); // for (i = 0; i < 64; i++) { UNSUPPORTED("16k4a0oof3m3shq22rp10sufm"); // if (t->branch[i].child) { UNSUPPORTED("4pmqw3ejoeiktbmgw5li4osuk"); // RTreeInsert(rtp, &(t->branch[i].rect), UNSUPPORTED("jn668g7qkg8vdom23tf6xyua"); // /* (int)t->branch[i].child, nn, t->level); */ UNSUPPORTED("cr2tz58k73uenuatj8dllr5e"); // t->branch[i].child, nn, t->level); UNSUPPORTED("3ll931j526x4h3iq2n8lb8npl"); // rtp->EntryCount--; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("a0driook10zxazzgo71kxwf5t"); // e = reInsertList; UNSUPPORTED("3ycjjmywhr2h58szv9f0c3r67"); // reInsertList = reInsertList->next; UNSUPPORTED("2l03pg61762f3m81wcifv6o2t"); // RTreeFreeNode(rtp, e->node); UNSUPPORTED("2nfqlmqqiafmfh2uxj5r72e5z"); // FreeListNode(e); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3uomzgqvjm03fwau1petngub8"); // /* check for redundant root (not leaf, 1 child) and eliminate */ UNSUPPORTED("crynploao8fgrtf7envjtfdaz"); // if ((*nn)->count == 1 && (*nn)->level > 0) { UNSUPPORTED("a588ej7tdnabye2dhwn96zbay"); // if (rtp->StatFlag) UNSUPPORTED("4bzchhtuz1r199e9mi0bp1ece"); // rtp->ElimCount++; UNSUPPORTED("6u2n1qlqovrhoecwygc6fuq2c"); // rtp->EntryCount--; UNSUPPORTED("ehzcswv2o675ah20nlk8ll73b"); // for (i = 0; i < 64; i++) { UNSUPPORTED("jk2oyzi48hf05v99gu6wc2o2"); // if ((t = (*nn)->branch[i].child)) UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("5ba1w7saym0g246ykbjnn0qrf"); // RTreeFreeNode(rtp, *nn); UNSUPPORTED("dnoogjer2v3hmfm7qtw2p4qrv"); // *nn = t; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cpwomgmpysmof2uglfr37v494"); // rtp->Deleting = (0); UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("cpwomgmpysmof2uglfr37v494"); // rtp->Deleting = (0); UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bax12o5n6n8s94wnn7cxgn99 // static int RTreeDelete2(RTree_t * rtp, Rect_t * r, void *data, Node_t * n, ListNode_t ** ee) public static Object RTreeDelete2(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("dl163ikex89epdeiymlnlhkkt"); // RTreeDelete2(RTree_t * rtp, Rect_t * r, void *data, Node_t * n, UNSUPPORTED("7cv8lwqbi5i6si9trbnke7zl9"); // ListNode_t ** ee) UNSUPPORTED("8suowst9wgd6gxhgbdi3h24b7"); // /* static int */ UNSUPPORTED("ap2yhjmvw1l4wh1rujus8t8ef"); // /* RTreeDelete2(RTree_t*rtp, Rect_t*r, int data, Node_t*n, ListNode_t**ee) */ UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("pp6gyv6pecd6kik4hoguluwp"); // register int i; UNSUPPORTED("9yzorirytkswjf0omka5g4c20"); // assert(r && n && ee); UNSUPPORTED("aickurv6sbkajrl6u32h8s7n0"); // assert(data >= 0); UNSUPPORTED("btdpzkb56pz41hfftabazxn4s"); // assert(n->level >= 0); UNSUPPORTED("c435v08qyezw1xnbv2zrqr3te"); // if (rtp->StatFlag) UNSUPPORTED("9qx61yt5qzelxylomit9cn4rv"); // rtp->DeTouchCount++; UNSUPPORTED("5zjfl81difxhf334pznet7o8z"); // if (n->level > 0) { /* not a leaf node */ UNSUPPORTED("r6wug9hvutzrx2jp04v9slbe"); // for (i = 0; i < 64; i++) { UNSUPPORTED("9cxgoq0fd8kxz4eymv34vt66k"); // if (n->branch[i].child && Overlap(r, &(n->branch[i].rect))) { UNSUPPORTED("9c2dxowbn34szo9si1s67zn1d"); // if (!RTreeDelete2(rtp, r, data, n->branch[i].child, ee)) { /*recurse */ UNSUPPORTED("1p8d3xzz5d8g7ach93r5dkfpy"); // if (n->branch[i].child->count >= rtp->MinFill) UNSUPPORTED("8qc1vxcpq7d0q3d4pt56sagi6"); // n->branch[i].rect = NodeCover(n->branch[i].child); UNSUPPORTED("1pj51sbe7du437gcgun1tdp0c"); // else { /* not enough entries in child, eliminate child node */ UNSUPPORTED("1mqsg2rc7oaykxyne9jioil3j"); // RTreeReInsert(rtp, n->branch[i].child, ee); UNSUPPORTED("36htmotk6j7fq59vwfp4lanaj"); // DisconBranch(n, i); UNSUPPORTED("614qavwsv6dpxdog4wxkb2op0"); // rtp->EntryCount--; UNSUPPORTED("ad48i843uruoaahfmd2nxb4qv"); // if (rtp->StatFlag) UNSUPPORTED("jk9sg727bbh6mlccfj53sg1m"); // rtp->ElimCount++; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("y2l9mpq5754ggnklm39b7wg"); // return 0; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("dppt1v5lkz1rfqbwx4n4xwltd"); // } else { /* a leaf node */ UNSUPPORTED("r6wug9hvutzrx2jp04v9slbe"); // for (i = 0; i < 64; i++) { UNSUPPORTED("5g2zznotye25yuclpeyzatgrf"); // if (n->branch[i].child UNSUPPORTED("dx5d5kpda621ehao92qybpo7n"); // && n->branch[i].child == (Node_t *) data) { UNSUPPORTED("3nnhyf15i3s8j44ptc0zjxkof"); // DisconBranch(n, i); UNSUPPORTED("cazijll74xx4uxev9qe61vl0h"); // rtp->EntryCount--; UNSUPPORTED("5izxoao5ryte71964f8yjfd5y"); // return 0; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/label/node__c.java000066400000000000000000000161451340005343600217100ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.label; import static gen.lib.label.rectangle__c.CombineRect; import static gen.lib.label.rectangle__c.InitRect; import static gen.lib.label.rectangle__c.RectArea; import static gen.lib.label.split_q__c.SplitNode; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Branch_t; import h.ST_Node_t___; import h.ST_RTree; import h.ST_Rect_t; public class node__c { //3 9uj7ni1m6q6drtoh56w82d6m4 // Node_t *RTreeNewNode(RTree_t * rtp) public static ST_Node_t___ RTreeNewNode(ST_RTree rtp) { ENTERING("9uj7ni1m6q6drtoh56w82d6m4","RTreeNewNode"); try { ST_Node_t___ n; rtp.setInt("NodeCount", rtp.NodeCount + 1); n = new ST_Node_t___(); InitNode(n); return n; } finally { LEAVING("9uj7ni1m6q6drtoh56w82d6m4","RTreeNewNode"); } } //3 65wa5vy8i5k40218lbhdibrjx // void RTreeFreeNode(RTree_t * rtp, Node_t * p) public static Object RTreeFreeNode(Object... arg) { UNSUPPORTED("e9yu9bfc7a1ihpoc5axpyg4eg"); // void RTreeFreeNode(RTree_t * rtp, Node_t * p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jtyh6hx1w2fcx2gjs8ksbkuh"); // rtp->NodeCount--; UNSUPPORTED("ed5n0l2c9xevohsgtsmv822gw"); // if (p->level == 0) UNSUPPORTED("8pbkap1jra9u3gvgio7ou7y1n"); // rtp->LeafCount--; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("357domcrb707wvdox73ayvdj1"); // rtp->NonLeafCount--; UNSUPPORTED("bo0y3vz195pcz24vm46pixpb2"); // free(p); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4qk9wkm05q2pwf20ud6g2tufg // void InitNode(Node_t * n) public static void InitNode(ST_Node_t___ n) { ENTERING("4qk9wkm05q2pwf20ud6g2tufg","InitNode"); try { int i; n.setInt("count", 0); n.setInt("level", -1); for (i = 0; i < 64; i++) InitBranch(n.branch[i]); // InitBranch(&(n->branch[i])); } finally { LEAVING("4qk9wkm05q2pwf20ud6g2tufg","InitNode"); } } //3 ruhxixxei7au9z1iaj0zggwo // void InitBranch(Branch_t * b) public static void InitBranch(ST_Branch_t b) { ENTERING("ruhxixxei7au9z1iaj0zggwo","InitBranch"); try { InitRect(b.rect); b.child = null; } finally { LEAVING("ruhxixxei7au9z1iaj0zggwo","InitBranch"); } } //3 42vjqe8n5yeq2jjby00xzrotk // Rect_t NodeCover(Node_t * n) public static ST_Rect_t NodeCover(ST_Node_t___ n) { ENTERING("42vjqe8n5yeq2jjby00xzrotk","NodeCover"); try { int i, flag; final ST_Rect_t r = new ST_Rect_t(); // assert(n); InitRect(r); flag = 1; for (i = 0; i < 64; i++) if (n.branch[i].child!=null) { if (flag!=0) { r.___(n.branch[i].rect); flag = 0; } else r.___(CombineRect(r, (ST_Rect_t) n.branch[i].rect)); } return r; } finally { LEAVING("42vjqe8n5yeq2jjby00xzrotk","NodeCover"); } } //3 bek56v2skz6jfvw4uggy2h5w3 // int PickBranch(Rect_t * r, Node_t * n) public static int PickBranch(ST_Rect_t r, ST_Node_t___ n) { ENTERING("bek56v2skz6jfvw4uggy2h5w3","PickBranch"); try { ST_Rect_t rr=null; int i=0, flag=1, increase=0, bestIncr=0, area=0, bestArea=0; int best=0; // assert(r && n); for (i = 0; i < 64; i++) { if (n.branch[i].child!=null) { final ST_Rect_t rect = new ST_Rect_t(); rr = (ST_Rect_t) n.branch[i].rect; area = RectArea((ST_Rect_t) rr); /* increase = RectArea(&CombineRect(r, rr)) - area; */ rect.___(CombineRect((ST_Rect_t) r, rr)); increase = RectArea((ST_Rect_t) rect) - area; if (increase < bestIncr || flag!=0) { best = i; bestArea = area; bestIncr = increase; flag = 0; } else if (increase == bestIncr && area < bestArea) { best = i; bestArea = area; bestIncr = increase; } } } return best; } finally { LEAVING("bek56v2skz6jfvw4uggy2h5w3","PickBranch"); } } //3 2njctcrpeff95ysmv9ji34x4s // int AddBranch(RTree_t * rtp, Branch_t * b, Node_t * n, Node_t ** new) public static int AddBranch(ST_RTree rtp, ST_Branch_t b, ST_Node_t___ n, ST_Node_t___ new_[]) { ENTERING("2njctcrpeff95ysmv9ji34x4s","AddBranch"); try { int i; // assert(b); // assert(n); if (n.count < 64) { /* split won't be necessary */ for (i = 0; i < 64; i++) { /* find empty branch */ if (n.branch[i].child == null) { n.branch[i].___(b.getStruct()); n.setInt("count", n.count+1); break; } } // assert(i < 64); return 0; } else { if (rtp.StatFlag!=0) { UNSUPPORTED("2y8kv6b3ysrr61q7tqn76rhhc"); // if (rtp->Deleting) UNSUPPORTED("dn4oynmx9ugizzs5pkxiyptbi"); // rtp->DeTouchCount++; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("2u8wpa4w1q7rg14t07bny6p8i"); // rtp->InTouchCount++; } // assert(new); SplitNode(rtp, n, b, new_); if (n.level == 0) rtp.setInt("LeafCount", rtp.LeafCount+1); else UNSUPPORTED("6tkfiebspy7ecivrzb3l5y7jd"); // rtp->NonLeafCount++; return 1; } } finally { LEAVING("2njctcrpeff95ysmv9ji34x4s","AddBranch"); } } //3 eqzamflj58f43cflwns9cemnk // void DisconBranch(Node_t * n, int i) public static void DisconBranch(ST_Node_t___ n, int i) { ENTERING("eqzamflj58f43cflwns9cemnk","DisconBranch"); try { // assert(n && i >= 0 && i < 64); // assert(n->branch[i].child); InitBranch(n.branch[i]); n.setInt("count", n.count-1); } finally { LEAVING("eqzamflj58f43cflwns9cemnk","DisconBranch"); } } } plantuml-1.2018.13+ds/src/gen/lib/label/nrtmain__c.java000066400000000000000000000556121340005343600224350ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.label; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class nrtmain__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 ez7q2nzpr17flkmb0odk67ggx // static char *progname //1 4k7cnypsvtgywml89uxukug5r // static int Verbose //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 2i713kmewjct2igf3lwm80462 // static pointf centerPt(xlabel_t * xlp) public static Object centerPt(Object... arg) { UNSUPPORTED("2ehkj7fn7wtb77mg9wdqpdig1"); // static pointf centerPt(xlabel_t * xlp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2bghyit203pd6xw2ihhenzyn8"); // pointf p; UNSUPPORTED("1zfb5l8l1ajr1qwg3mcy71mrm"); // p = xlp->pos; UNSUPPORTED("8hxf8i35knrbncbh2vfaidbi7"); // p.x += (xlp->sz.x) / 2.0; UNSUPPORTED("4pemnun9akazartmat9b8062r"); // p.y += (xlp->sz.y) / 2.0; UNSUPPORTED("91xduilalb406jjyw2g1i07th"); // return p; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 axo7jzudoju3r02pbuzu5u5cg // static int printData(object_t * objs, int n_objs, xlabel_t * lbls, int n_lbls, label_params_t * params) public static Object printData(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("1ts7sby2d9t84a9e3n3h9z7i4"); // printData(object_t * objs, int n_objs, xlabel_t * lbls, int n_lbls, UNSUPPORTED("b2402200eyc80fno3tkigspyc"); // label_params_t * params) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("2a3rymfsfswadknge9x92kumi"); // fprintf(stderr, UNSUPPORTED("9ffvrcx1kz69kf4ohq458tntr"); // "%d objs %d xlabels force=%d bb=(%.02f,%.02f) (%.02f,%.02f)\n", UNSUPPORTED("8lkiqntjtlrl6e91jrj1crmy7"); // n_objs, n_lbls, params->force, params->bb.LL.x, UNSUPPORTED("atpr27z058nxgtq1injs7j3xx"); // params->bb.LL.y, params->bb.UR.x, params->bb.UR.y); UNSUPPORTED("8rqgsy04sx7rq9dr227gsfdny"); // if (Verbose < 2) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("2646yqgzt1fr9gq4thnuvqw62"); // fprintf(stderr, "objects\n"); UNSUPPORTED("bznihqrwh4167vo2mn4du53da"); // for (i = 0; i < n_objs; i++) { UNSUPPORTED("3h9on00kwjf4xo4j60tbhbd0d"); // if(objs[i].lbl && objs[i].lbl->lbl) UNSUPPORTED("2p5wg8zjn154ih218upte0m8u"); // fprintf (stderr, " [%d] %p %p (%.02f, %.02f) (%.02f, %.02f) %s\n", UNSUPPORTED("3nrlvh61ecaah41rdce7opuz6"); // i, &objs[i], objs[i].lbl, objs[i].pos.x,objs[i].pos.y, UNSUPPORTED("38c5nmfxdrj8anxj2tvsuzwyd"); // objs[i].sz.x,objs[i].sz.y, UNSUPPORTED("5010od1avt4gufwitovfspv53"); // ((textlabel_t*)objs[i].lbl->lbl)->text ); UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else UNSUPPORTED("aoaa9ojdu28j43q5olg7ipirz"); // fprintf (stderr, " [%d] %p %p (%.02f, %.02f) (%.02f, %.02f)\n", UNSUPPORTED("3nrlvh61ecaah41rdce7opuz6"); // i, &objs[i], objs[i].lbl, objs[i].pos.x,objs[i].pos.y, UNSUPPORTED("enm5yxjvcqabshcso24gtrc2e"); // objs[i].sz.x,objs[i].sz.y); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5qiw0ng2ayzadjgb1k8dym0y7"); // fprintf(stderr, "xlabels\n"); UNSUPPORTED("30yvif5t111f94y1fs2gd8crq"); // for (i = 0; i < n_lbls; i++) { UNSUPPORTED("5cpl2wq6ypkvhfql4dd7c82s3"); // fprintf(stderr, " [%d] %p (%.02f, %.02f) (%.02f, %.02f) %s\n", UNSUPPORTED("8qph05eaq6mqxunl6b71h8x2g"); // i, &lbls[i], lbls[i].pos.x, lbls[i].pos.y, UNSUPPORTED("4cl6jk5xeitdm8kz9zfyea3zm"); // lbls[i].sz.x, lbls[i].sz.y, UNSUPPORTED("3vd0l036v68y2ae4kl150n8yp"); // ((textlabel_t *)lbls[i].lbl)->text); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c4cg32mzgkpbcst0jy2upq5w3 // int doxlabel(opts_t * opts) public static Object doxlabel(Object... arg) { UNSUPPORTED("8wurvokwz90fe88uipw31lwep"); // int doxlabel(opts_t * opts) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3l5bdi04ekui6vvrgr3s666fx"); // Agraph_t *gp; UNSUPPORTED("1q5pw5siho05tilkhpvceuax5"); // object_t *objs; UNSUPPORTED("88sdp733wy18rctixyqpiarvo"); // xlabel_t *lbls; UNSUPPORTED("aq6jdvqcw04pxk55fs8ppod2c"); // int i, n_objs, n_lbls; UNSUPPORTED("asd06xewa83y0cc930zzf5d25"); // label_params_t params; UNSUPPORTED("4dnqwjhhs92m1h2q7ld3cpbxw"); // Agnode_t *np; UNSUPPORTED("1bl759aws53yjk3xg9shiogx5"); // Agedge_t *ep; UNSUPPORTED("2wem1nsm7z6vxqjo9edb38fpu"); // int n_nlbls = 0, n_elbls = 0; UNSUPPORTED("2lzsl1e035wt5epd1h8f4bn8m"); // boxf bb; UNSUPPORTED("cqwl7s9yvzr8n5v8svuuv1a1q"); // textlabel_t *lp; UNSUPPORTED("1exmnagt3khrhapqoj43kchc9"); // object_t *objp; UNSUPPORTED("42yb201vo7e3ryt0pg3pupi84"); // xlabel_t *xlp; UNSUPPORTED("1ilrhzyqh05f2u3j3vzg0ys8u"); // pointf ur; UNSUPPORTED("2ntp2ibjekwh9j8nygd0ti1xm"); // fprintf(stderr, "reading %s\n", opts->infname); UNSUPPORTED("b7tc1qd0ygab8ky9f8mq6yr1r"); // if (!(gp = agread(opts->inf))) { UNSUPPORTED("2z171ve8godqlic0qmbasth1e"); // fprintf(stderr, "%s: %s not a dot file\n", progname, UNSUPPORTED("6oq4a7osqwufq0eszpp57ktu6"); // opts->infname); UNSUPPORTED("dtw3cma0ziyha0w534bszl0tx"); // exit(1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("beo8iaf6acg59u8is886fmt2x"); // fclose(opts->inf); UNSUPPORTED("9s7txbykwaiwj5rv1xjdpwh4y"); // fprintf(stderr, "laying out %s\n", opts->lay); UNSUPPORTED("aojth6x8xid0d88cuvl2wn8nf"); // if (gvLayout(opts->gvc, gp, opts->lay)) { UNSUPPORTED("e1ce3rd38aij0uzxsx09fu5kp"); // fprintf(stderr, "%s: layout %s failed\n", progname, opts->lay); UNSUPPORTED("dtw3cma0ziyha0w534bszl0tx"); // exit(1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8s81ox08m1abqhigygxh81299"); // fprintf(stderr, "attach labels\n"); UNSUPPORTED("6cchlbw0dymzb3cw1hfo94n6a"); // /* In the real code, this should be optimized using GD_has_labels() */ UNSUPPORTED("bfdixk0pjg05sljut4h57xbbh"); // /* We could probably provide the number of node and edge xlabels */ UNSUPPORTED("27ppdplfezcqw6rdrkzyrr8yg"); // for (np = agfstnode(gp); np; np = agnxtnode(gp, np)) { UNSUPPORTED("cnz7ckum0lz95m8c8e6i1vok7"); // if (ND_xlabel(np)) UNSUPPORTED("3uhi0myy92p6xl4a5oxde7v9z"); // n_nlbls++; UNSUPPORTED("41dpbku41lh3gpb30ds9ex6aa"); // for (ep = agfstout(gp, np); ep; ep = agnxtout(gp, ep)) { UNSUPPORTED("biq91l2ud7l5kr26ls9zbzzke"); // if (ED_xlabel(ep)) UNSUPPORTED("bffseaexubrngpi9o059qepow"); // n_elbls++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5ft4bvs2l0ce26wb6gnuzjao7"); // n_objs = agnnodes(gp) + n_elbls; UNSUPPORTED("5kla6rwar4q1ig2olguocajn6"); // n_lbls = n_nlbls + n_elbls; UNSUPPORTED("3e10kvi719e134x675xgwi1tj"); // objp = objs = (object_t*)zmalloc((n_objs)*sizeof(object_t)); UNSUPPORTED("6z86cmeenod2nx8ej72n0qotk"); // xlp = lbls = (xlabel_t*)zmalloc((n_lbls)*sizeof(xlabel_t)); UNSUPPORTED("f2nzvg1xnr11v28w2feg923cs"); // bb.LL = pointfof(INT_MAX, INT_MAX); UNSUPPORTED("7tttoj8cnxfqgnq2aagnnav48"); // bb.UR = pointfof(-INT_MAX, -INT_MAX); UNSUPPORTED("27ppdplfezcqw6rdrkzyrr8yg"); // for (np = agfstnode(gp); np; np = agnxtnode(gp, np)) { UNSUPPORTED("4siyxwjbs44obgm7h82zjml69"); // /* Add an obstacle per node */ UNSUPPORTED("6cuxjl9g4nxwyz58c201qdb94"); // objp->sz.x = ((ND_width(np))*(double)72); UNSUPPORTED("e3zk2j9kbexxv2xbsgu3pser6"); // objp->sz.y = ((ND_height(np))*(double)72); UNSUPPORTED("cbc8atcbxsu44juz82lkfcgwq"); // objp->pos = ND_coord(np); UNSUPPORTED("3zy29s8ijfmwn910twoywpps1"); // objp->pos.x -= (objp->sz.x) / 2.0; UNSUPPORTED("7jkvg5hvdxus7k3bv57jyjh88"); // objp->pos.y -= (objp->sz.y) / 2.0; UNSUPPORTED("7jndn79f10gyxumgbo6czxe5m"); // /* Adjust bounding box */ UNSUPPORTED("bsgbwiykz32eqdyc49dobwpnr"); // bb.LL.x = MIN(bb.LL.x, objp->pos.x); UNSUPPORTED("2u94r8rlczbki3ge3ihvmo9mi"); // bb.LL.y = MIN(bb.LL.y, objp->pos.y); UNSUPPORTED("4lusjec057jj66bscit5s7lft"); // ur.x = objp->pos.x + objp->sz.x; UNSUPPORTED("9zdffh9aglmrm8cdsmyxb0wrw"); // ur.y = objp->pos.y + objp->sz.y; UNSUPPORTED("crkzyggmy41k3nrp8csmiakes"); // bb.UR.x = MAX(bb.UR.x, ur.x); UNSUPPORTED("5ejpea5qlp1pbghy6n2lsuwfs"); // bb.UR.y = MAX(bb.UR.y, ur.y); UNSUPPORTED("eezvruvdh9ueqsgad8k5xzbqi"); // if (ND_xlabel(np)) { UNSUPPORTED("dq9r3oew49g4p62l8mj95y1dh"); // xlp->sz = ND_xlabel(np)->dimen; UNSUPPORTED("7xq75ru9hsux949swpm3cp4ue"); // xlp->lbl = ND_xlabel(np); UNSUPPORTED("lch95gg7hal8p4g2coq8qya9"); // xlp->set = 0; UNSUPPORTED("9ozlxoe5hy2ssm40umphbfgxe"); // objp->lbl = xlp; UNSUPPORTED("ddik10sdd1c59te8kbgpqsncp"); // xlp++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("bhbvoj12subdn6905juhiubo2"); // objp++; UNSUPPORTED("41dpbku41lh3gpb30ds9ex6aa"); // for (ep = agfstout(gp, np); ep; ep = agnxtout(gp, ep)) { UNSUPPORTED("92f340ohb0u21xl6jgpc2hieo"); // if (ED_label(ep)) { UNSUPPORTED("bbidnvg3rfydq4lbw358qvlik"); // textlabel_t *lp = ED_label(ep); UNSUPPORTED("dow8hf9884ywwrt8hgipox54g"); // lp->pos.x = lp->pos.y = 0.0; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("58ej5pyvcqel713ci83qh7j2n"); // if (!ED_xlabel(ep)) UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; UNSUPPORTED("d6wg3egk1x5aesy2ng1qyjh0z"); // objp->sz.x = 0; UNSUPPORTED("dy9evuaclpueiidwo0pp40904"); // objp->sz.y = 0; UNSUPPORTED("bpwvk9oag9fx8aiebw7xa9rw8"); // objp->pos = edgeMidpoint(gp, ep); UNSUPPORTED("64lz6mea65zfl2kbogusvglpn"); // xlp->sz = ED_xlabel(ep)->dimen; UNSUPPORTED("5rvgp0x8n9fqvbyp32952ouk2"); // xlp->lbl = ED_xlabel(ep); UNSUPPORTED("lch95gg7hal8p4g2coq8qya9"); // xlp->set = 0; UNSUPPORTED("9ozlxoe5hy2ssm40umphbfgxe"); // objp->lbl = xlp; UNSUPPORTED("ddik10sdd1c59te8kbgpqsncp"); // xlp++; UNSUPPORTED("9061jd99guumlgucvlj3a8vub"); // objp++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("d447casut2vhvblc969saqfs4"); // params.force = opts->force; UNSUPPORTED("2ol916ffwy0e2vxinxn4v4sgt"); // params.bb = bb; UNSUPPORTED("2di5wqm6caczzl6bvqe35ry8y"); // if (Verbose) UNSUPPORTED("4iypau1fdov37qnq2ub6iq5ra"); // printData(objs, n_objs, lbls, n_lbls, ¶ms); UNSUPPORTED("25rb35acbkepp55u3bkjxb1gc"); // placeLabels(objs, n_objs, lbls, n_lbls, ¶ms); UNSUPPORTED("tpyqsliwrqzwhuw8vzkm8loc"); // fprintf(stderr, "read label positions\n"); UNSUPPORTED("52mefujap7scy273ud7nyj9hn"); // xlp = lbls; UNSUPPORTED("30yvif5t111f94y1fs2gd8crq"); // for (i = 0; i < n_lbls; i++) { UNSUPPORTED("w0kpfap6pb5scjkqkgsfira0"); // if (xlp->set) { UNSUPPORTED("8xqwhcveb6ivragr1ebkp4pfh"); // lp = (textlabel_t *) (xlp->lbl); UNSUPPORTED("a5h8ktnl3raui7zo5kcjzd2e0"); // lp->set = 1; UNSUPPORTED("4lub8ddx8vt0gove63lajjr4s"); // lp->pos = centerPt(xlp); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1966qdxqc520zc0itk8al0xus"); // xlp++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("baez6nmarx9nht65vulvjojic"); // free(objs); UNSUPPORTED("ayak2o9js1lmsa5vuzul2sdxs"); // free(lbls); UNSUPPORTED("bftxx8axittt2mwc80wvu1f00"); // fprintf(stderr, "writing %s\n", opts->outfname); UNSUPPORTED("323sem4b7jzyg7l5kylxe0gnx"); // gvRender(opts->gvc, gp, opts->fmt, opts->outf); UNSUPPORTED("bp54wy9c70v90k5bb11lppo5l"); // /* clean up */ UNSUPPORTED("67guepsgjnhtoqor7wh4gstti"); // fprintf(stderr, "cleaning up\n"); UNSUPPORTED("dve51clmbbuj7sc653o65y416"); // gvFreeLayout(opts->gvc, gp); UNSUPPORTED("9d0rk5v0wtzmux625ddclpdn1"); // agclose(gp); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9wfwgoq79qhinosrkyial6epj // int checkOpt(char *l, char *legal[], int n) public static Object checkOpt(Object... arg) { UNSUPPORTED("16prj059n95sysjma58fiqgzu"); // int checkOpt(char *l, char *legal[], int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("1vi49g48u2rc9v88yhabta0yw"); // for (i = 0; i < n; i++) { UNSUPPORTED("nnm3nrg0fnq3so1cn59gl1ty"); // if (strcmp(l, legal[i]) == 0) UNSUPPORTED("btmwubugs9vkexo4yb7a5nqel"); // return 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8q6likcxw6ut5zeraaze8shtb // void usage(char *pp) public static Object usage(Object... arg) { UNSUPPORTED("7m2ltqr2kx3w6q4t3g8dzfqpp"); // void usage(char *pp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2a3rymfsfswadknge9x92kumi"); // fprintf(stderr, UNSUPPORTED("4wrs4bfjfwklmwoco1koczjdv"); // "Usage: %s [-fv] [-V$level] [-T$fmt] [-l$layout] [-o$outfile] dotfile\n", UNSUPPORTED("9ollqr0ef4x8spk0rt3sr8vqp"); // pp); UNSUPPORTED("b9185t6i77ez1ac587ul8ndnc"); // return; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3u8wp1vjie9akflq8id8h4jml // static FILE *openFile(char *name, char *mode) public static Object openFile(Object... arg) { UNSUPPORTED("d20hfpuvv6zzaoadalivef5gx"); // static FILE *openFile(char *name, char *mode) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dn2hi0km4q5ldibguffbger1c"); // FILE *fp; UNSUPPORTED("44fhep40ukv2a3ja1nq34hrm8"); // char *modestr; UNSUPPORTED("a5fahi1wh7pd0cs3oalvsoaiv"); // fp = fopen(name, mode); UNSUPPORTED("304p80cpezoo5tih4fcsob9cq"); // if (!fp) { UNSUPPORTED("9ympiq6pzqmd8nshnoq3vpwfi"); // if (*mode == 'r') UNSUPPORTED("14y4vxn380hggwx7a5m3zwyd0"); // modestr = "reading"; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("55vho08zxn3hxhpr4tx4use3p"); // modestr = "writing"; UNSUPPORTED("c7s8at3cqmzgv80hgd8tm7wfb"); // fprintf(stderr, "%s: could not open file %s for %s -- %s\n", UNSUPPORTED("56vywxbowmjyd2ssgb5jaawi7"); // progname, name, modestr, strerror(errno)); UNSUPPORTED("dtw3cma0ziyha0w534bszl0tx"); // exit(1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6x54oh4xeozqrj2isrpofhher"); // return (fp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 egkkwztfbkxu9vvlc0sm05nxv // static void init(int argc, char *argv[], opts_t * opts) public static Object init(Object... arg) { UNSUPPORTED("elmto38lhyd8ckgkm1qswhosv"); // static void init(int argc, char *argv[], opts_t * opts) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("emc3vdvz7smauda3se70e5ogd"); // int c, cnt; UNSUPPORTED("1pbwdmcrlnqb7teoelyxecqu9"); // char **optList; UNSUPPORTED("87dxsbpdsz45s6w205t6ds10b"); // opts->outf = stdout; UNSUPPORTED("7mpmbqdt8ajbx6itgsay4kr6i"); // opts->outfname = "stdout"; UNSUPPORTED("2ah6k3x8emq2o4qkba0zu0zuv"); // progname = argv[0]; UNSUPPORTED("63lodtevhv92534zqnwg4wf1t"); // opts->gvc = gvContext(); UNSUPPORTED("81tz51f3gan5smiwrvn3h1lt2"); // opts->lay = "dot"; UNSUPPORTED("1yiembfofkehuhrorie2b9gsi"); // opts->fmt = "ps"; UNSUPPORTED("7oi2c7s5gl8voe3x4yum7jszu"); // opts->force = 0; UNSUPPORTED("60bek3ektewmma3p6pak5x2am"); // while ((c = getopt(argc, argv, "o:vFl:T:V:")) != EOF) { UNSUPPORTED("7rk995hpmaqbbasmi40mqg0yw"); // switch (c) { UNSUPPORTED("c7a78qt1dx3jxjw23fwcmwr3p"); // case 'F': UNSUPPORTED("biextvcnz6zkqlqxgssaqrstl"); // opts->force = 1; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("bwy7mh2nb7lz950r20rfilwa4"); // case 'l': UNSUPPORTED("6pele3rfkd0r1k5r8qzc5vbha"); // optList = gvPluginList(opts->gvc, "layout", &cnt, NULL); UNSUPPORTED("7kfiavaqy7qmfg2hg1e8z80e1"); // if (checkOpt(optarg, optList, cnt)) UNSUPPORTED("anmrnwabtq1ijqqr2uop2n1bh"); // opts->lay = optarg; UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("4rymfp2u3aj6lx2s6plx3hojv"); // fprintf(stderr, "%s: unknown layout %s\n", progname, UNSUPPORTED("4xhetnmuyh8emewbykj08vroq"); // optarg); UNSUPPORTED("7ujm7da8xuut83e2rygja0n9d"); // exit(1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("2f0a79iza84u7nhurd3n3jjjf"); // case 'T': UNSUPPORTED("9cus1va3ujh87mdys6c9v2z1t"); // optList = gvPluginList(opts->gvc, "device", &cnt, NULL); UNSUPPORTED("7kfiavaqy7qmfg2hg1e8z80e1"); // if (checkOpt(optarg, optList, cnt)) UNSUPPORTED("5altfebkbv6f35oj03qk2492n"); // opts->fmt = optarg; UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("bzcwn6blrae9inr3p5m09e9d"); // fprintf(stderr, "%s: unknown format %s\n", progname, UNSUPPORTED("4xhetnmuyh8emewbykj08vroq"); // optarg); UNSUPPORTED("7ujm7da8xuut83e2rygja0n9d"); // exit(1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("318vlfmcdz9no6i45k86aygon"); // case 'v': UNSUPPORTED("z08wni1aiuv5b8ommxtq10kj"); // Verbose = 1; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("6k6q2a5qrb52v1ue87bbj6dtv"); // case 'V': UNSUPPORTED("3r3fz5bgdw11zenv47obhu5vt"); // Verbose = atoi(optarg); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("2tj3jzqar12mlqrsqiqtnaml4"); // case 'o': UNSUPPORTED("1wx5260eycnikbxaanmopl7b3"); // opts->outf = openFile(optarg, "w"); UNSUPPORTED("e167mkpssrx4z8qunrmw8kh1n"); // opts->outfname = optarg; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("22xk7nfw0r35o66cqu5qjubqb"); // usage(progname); UNSUPPORTED("6f1y0d5qfp1r9zpw0r7m6xfb4"); // exit(1); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3phw6ctc4ona74z9ww17xjaw3"); // if (optind < argc) { UNSUPPORTED("7hpkub9g5s8almwdoymfuenxh"); // opts->inf = openFile(argv[optind], "r"); UNSUPPORTED("3zkn0yg2bqlmxotocssnzhxws"); // opts->infname = argv[optind]; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("30pkf9oeg7gpxsywbm5shgg64"); // opts->inf = stdin; UNSUPPORTED("e61j0rmaw1t3upfgqro72rx91"); // opts->infname = ""; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ct8h35c783zokfb7wxjbkavha"); // if (!opts->outf) { UNSUPPORTED("2s6g8jva40gbl5p87hy413rg4"); // opts->outf = stdout; UNSUPPORTED("e9nmk5kmlczlng9wz7f4q8gtv"); // opts->outfname = ""; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7i7prctjnltgmsf7dgzmddjg9 // int main(int argc, char *argv[]) public static Object main(Object... arg) { UNSUPPORTED("8fr3wh1xwllvel0m0nkh09bjl"); // int main(int argc, char *argv[]) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("kbo4pgmde2ojznpsie5m4t8h"); // opts_t opts; UNSUPPORTED("db6kkkb1xqkrydzxgyiyxl8ds"); // init(argc, argv, &opts); UNSUPPORTED("dap4chqfn6jjoa6j31f8lngs4"); // doxlabel(&opts); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/label/rectangle__c.java000066400000000000000000000171631340005343600227300ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.label; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Rect_t; public class rectangle__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 9mnpt3mibocomreg5h1kk860g // extern Rect_t CoverAll //3 1wtvfzwbzj03e6w5rw4k7qdax // void InitRect(Rect_t * r) public static void InitRect(ST_Rect_t r) { ENTERING("1wtvfzwbzj03e6w5rw4k7qdax","InitRect"); try { int i; for (i = 0; i < 2*2; i++) r.boundary[i]=0; } finally { LEAVING("1wtvfzwbzj03e6w5rw4k7qdax","InitRect"); } } //3 bvazxgli5q4yxvzl5kn1vjqpm // Rect_t NullRect() public static ST_Rect_t NullRect() { ENTERING("bvazxgli5q4yxvzl5kn1vjqpm","NullRect"); try { ST_Rect_t r = new ST_Rect_t(); int i; r.boundary[0]=1; r.boundary[2]=-1; for (i = 1; i < 2; i++) { r.boundary[i]=0; r.boundary[i+2]=0; } return r; } finally { LEAVING("bvazxgli5q4yxvzl5kn1vjqpm","NullRect"); } } //3 1ijarur71gcahchxz8vqf69na // unsigned int RectArea(Rect_t * r) public static int RectArea(ST_Rect_t r) { ENTERING("1ijarur71gcahchxz8vqf69na","RectArea"); try { int i; int area=1, a=1; // assert(r); if (r.boundary[0] > r.boundary[2]) return 0; /* * XXX add overflow checks */ area = 1; for (i = 0; i < 2; i++) { int b = r.boundary[i+2] - r.boundary[i]; a *= b; if( (a / b ) != area) { UNSUPPORTED("6qc59bm54jy4hv9gw8a50rk0u"); // agerr (AGERR, "label: area too large for rtree\n"); UNSUPPORTED("awx87c59fwl0w8r64jfd86jrd"); // return UINT_MAX; } area = a; } return area; } finally { LEAVING("1ijarur71gcahchxz8vqf69na","RectArea"); } } //3 tgmhi1wshyhqky2pappb6w6w // Rect_t CombineRect(Rect_t * r, Rect_t * rr) public static ST_Rect_t CombineRect(ST_Rect_t r, ST_Rect_t rr) { ENTERING("tgmhi1wshyhqky2pappb6w6w","CombineRect"); try { int i, j; ST_Rect_t new_ = new ST_Rect_t(); // assert(r && rr); if (r.boundary[0] > r.boundary[2]) return (ST_Rect_t) rr.copy(); if (rr.boundary[0] > rr.boundary[2]) return (ST_Rect_t) r.copy(); for (i = 0; i < 2; i++) { new_.boundary[i] = Math.min(r.boundary[i], rr.boundary[i]); j = i + 2; new_.boundary[j] = Math.max(r.boundary[j], rr.boundary[j]); } return new_; } finally { LEAVING("tgmhi1wshyhqky2pappb6w6w","CombineRect"); } } //3 9glce34jzknoqj98agg96k03o // int Overlap(Rect_t * r, Rect_t * s) public static boolean Overlap(ST_Rect_t r, ST_Rect_t s) { ENTERING("9glce34jzknoqj98agg96k03o","Overlap"); try { int i, j; // assert(r && s); for (i = 0; i < 2; i++) { j = i + 2; /* index for high sides */ if (r.boundary[i] > s.boundary[j] || s.boundary[i] > r.boundary[j]) return false; } return (N(0)); } finally { LEAVING("9glce34jzknoqj98agg96k03o","Overlap"); } } //3 b2epj09d2wxyndbn4bgdsxr2q // int Contained(Rect_t * r, Rect_t * s) public static Object Contained(Object... arg) { UNSUPPORTED("733zc41b58sdh3p9oeu9fj9l4"); // int Contained(Rect_t * r, Rect_t * s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9awzjr4cb2zjgf6gos90frckl"); // register int i, j, result; UNSUPPORTED("3ilt6jfw7dcaebocva6xawiui"); // assert(r && s); UNSUPPORTED("ef38prhqw1mt7m82qf23llthz"); // /* undefined rect is contained in any other */ UNSUPPORTED("61el74qdlszr9b7htgajgnncw"); // if (((r)->boundary[0] > (r)->boundary[2])) UNSUPPORTED("3adr32h5e1fehu4g7j2u24asz"); // return (!(0)); UNSUPPORTED("97iyq13885wpg4001abrkjhuk"); // /* no rect (except an undefined one) is contained in an undef rect */ UNSUPPORTED("ex7jjwy9foumvka1ks3pzhm6u"); // if (((s)->boundary[0] > (s)->boundary[2])) UNSUPPORTED("e6i1m837bi402fjvy87uxgyf"); // return (0); UNSUPPORTED("41048mrirr0adiwxs12neylq8"); // result = (!(0)); UNSUPPORTED("6xp61z8h2baoxnlm757q289e3"); // for (i = 0; i < 2; i++) { UNSUPPORTED("71gqfx1xze9ccjzy9ids9x8cj"); // j = i + 2; /* index for high sides */ UNSUPPORTED("59et7tzqav7nffmkllv6u1kbt"); // result = result && r->boundary[i] >= s->boundary[i] UNSUPPORTED("4tdt6ca6zi1rw9kklpgicedap"); // && r->boundary[j] <= s->boundary[j]; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("e73y2609z2557xahrcvzmcb8e"); // return result; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/label/split_q__c.java000066400000000000000000000260561340005343600224400ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.label; import static gen.lib.label.node__c.AddBranch; import static gen.lib.label.node__c.InitNode; import static gen.lib.label.node__c.RTreeNewNode; import static gen.lib.label.rectangle__c.CombineRect; import static gen.lib.label.rectangle__c.NullRect; import static gen.lib.label.rectangle__c.RectArea; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import h.Branch_t; import h.ST_Branch_t; import h.ST_Node_t___; import h.ST_PartitionVars; import h.ST_RTree; import h.ST_Rect_t; public class split_q__c { //3 6vl3snxd6k95gamfkwfsfdguc // void SplitNode(RTree_t * rtp, Node_t * n, Branch_t * b, Node_t ** nn) public static void SplitNode(ST_RTree rtp, ST_Node_t___ n, ST_Branch_t b, ST_Node_t___ nn[]) { ENTERING("6vl3snxd6k95gamfkwfsfdguc","SplitNode"); try { ST_PartitionVars p; int level; int area; // assert(n); // assert(b); if (rtp.StatFlag!=0) { UNSUPPORTED("akhni40ndam0u9c6i7raxw4mp"); // if (rtp->Deleting) UNSUPPORTED("4g80zdlbvunm838x8g3ic9tex"); // rtp->DeSplitCount++; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("2cjo6wz1rmxfm5k7u7rw5dqpj"); // rtp->InSplitCount++; } /* load all the branches into a buffer, initialize old node */ level = n.level; GetBranches(rtp, n, b); /* find partition */ p = rtp.split.Partitions[0]; MethodZero(rtp); area = RectArea((ST_Rect_t)p.cover[0]) + RectArea((ST_Rect_t)p.cover[1]); /* record how good the split was for statistics */ if (rtp.StatFlag!=0 && N(rtp.Deleting) && area!=0) UNSUPPORTED("z7xk6s3hzi3qcoiq2exj9hpv"); // rtp->SplitMeritSum += (float) rtp->split.CoverSplitArea / area; /* put branches from buffer into 2 nodes according to chosen partition */ nn[0] = RTreeNewNode(rtp); n.setInt("level", level); nn[0].setInt("level", level); LoadNodes(rtp, n, nn[0], p); // assert(n->count + (*nn)->count == 64 + 1); } finally { LEAVING("6vl3snxd6k95gamfkwfsfdguc","SplitNode"); } } //3 al7lyin008m7kvrvuxhcuvn61 // static void GetBranches(RTree_t * rtp, Node_t * n, Branch_t * b) public static void GetBranches(ST_RTree rtp, ST_Node_t___ n, ST_Branch_t b) { ENTERING("al7lyin008m7kvrvuxhcuvn61","GetBranches"); try { int i; // assert(n); // assert(b); /* load the branch buffer */ for (i = 0; i < 64; i++) { // assert(n->branch[i].child); /* node should have every entry full */ rtp.split.BranchBuf[i].___(n.branch[i]); } rtp.split.BranchBuf[64].___(b); /* calculate rect containing all in the set */ rtp.split.CoverSplit.___(rtp.split.BranchBuf[0].rect); for (i = 1; i < 64 + 1; i++) { rtp.split.setStruct("CoverSplit", CombineRect((ST_Rect_t)rtp.split.CoverSplit, (ST_Rect_t)rtp.split.BranchBuf[i].castTo(ST_Rect_t.class))); } rtp.split.setInt("CoverSplitArea", RectArea((ST_Rect_t)rtp.split.CoverSplit)); InitNode(n); } finally { LEAVING("al7lyin008m7kvrvuxhcuvn61","GetBranches"); } } //3 4woz5xy4gjlahoj7no3ljxmex // static void MethodZero(RTree_t * rtp) public static void MethodZero(ST_RTree rtp) { ENTERING("4woz5xy4gjlahoj7no3ljxmex","MethodZero"); try { ST_Rect_t r; int i, growth0, growth1, diff, biggestDiff; int group, chosen=0, betterGroup=0; InitPVars(rtp); PickSeeds(rtp); while (rtp.split.Partitions[0].count[0] + rtp.split.Partitions[0].count[1] < 64 + 1 && rtp.split.Partitions[0].count[0] < 64 + 1 - rtp.MinFill && rtp.split.Partitions[0].count[1] < 64 + 1 - rtp.MinFill) { biggestDiff = -1; for (i = 0; i < 64 + 1; i++) { if (N(rtp.split.Partitions[0].taken[i])) { final ST_Rect_t rect = new ST_Rect_t(); r = (ST_Rect_t) rtp.split.BranchBuf[i].castTo(ST_Rect_t.class); /* growth0 = RectArea(&CombineRect(r, &rtp->split.Partitions[0].cover[0])) - rtp->split.Partitions[0].area[0]; */ /* growth1 = RectArea(&CombineRect(r, &rtp->split.Partitions[0].cover[1])) - rtp->split.Partitions[0].area[1]; */ rect.___(CombineRect(r, (ST_Rect_t) rtp.split.Partitions[0].cover[0])); growth0 = RectArea((ST_Rect_t)rect) - rtp.split.Partitions[0].area[0]; rect.___(CombineRect(r, (ST_Rect_t) rtp.split.Partitions[0].cover[1])); growth1 = RectArea((ST_Rect_t)rect) - rtp.split.Partitions[0].area[1]; diff = growth1 - growth0; if (diff >= 0) group = 0; else { group = 1; diff = -diff; } if (diff > biggestDiff) { biggestDiff = diff; chosen = i; betterGroup = group; } else if (diff == biggestDiff && rtp.split.Partitions[0].count[group] < rtp.split.Partitions[0].count[betterGroup]) { chosen = i; betterGroup = group; } } } Classify(rtp, chosen, betterGroup); } /* if one group too full, put remaining rects in the other */ if (rtp.split.Partitions[0].count[0] + rtp.split.Partitions[0].count[1] < 64 + 1) { group = 0; UNSUPPORTED("4edp65b21liyii0fj1ikco7o0"); // if (rtp->split.Partitions[0].count[0] >= UNSUPPORTED("20lpsuiyepr2ujozaf6gp4cc"); // 64 + 1 - rtp->MinFill) UNSUPPORTED("9qtt6i40h8vtjp2cvqyb8ycaz"); // group = 1; UNSUPPORTED("2x1nx9nsne4x3ygmcywl1m3og"); // for (i = 0; i < 64 + 1; i++) { UNSUPPORTED("jdepsnmrs3ghh78ql301sfvu"); // if (!rtp->split.Partitions[0].taken[i]) UNSUPPORTED("gqfhorilvtlogp6f2ozx5akf"); // Classify(rtp, i, group); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } } // assert(rtp->split.Partitions[0].count[0] + // rtp->split.Partitions[0].count[1] == 64 + 1); // assert(rtp->split.Partitions[0].count[0] >= rtp->MinFill // && rtp->split.Partitions[0].count[1] >= rtp->MinFill); } finally { LEAVING("4woz5xy4gjlahoj7no3ljxmex","MethodZero"); } } //3 8rui4cun4tvq5xy6ke6r3p55e // static void PickSeeds(RTree_t * rtp) public static void PickSeeds(ST_RTree rtp) { ENTERING("8rui4cun4tvq5xy6ke6r3p55e","PickSeeds"); try { int i, j; int waste, worst; int seed0=0, seed1=0; int area[] = new int[64 + 1]; for (i = 0; i < 64 + 1; i++) area[i] = RectArea((ST_Rect_t) rtp.split.BranchBuf[i].rect); //worst = -rtp->split.CoverSplitArea - 1; worst=0; for (i = 0; i < 64; i++) { for (j = i + 1; j < 64 + 1; j++) { final ST_Rect_t rect = new ST_Rect_t(); /* waste = RectArea(&CombineRect(&rtp->split.BranchBuf[i].rect, &rtp->split.BranchBuf[j].rect)) - area[i] - area[j]; */ rect.___( CombineRect((ST_Rect_t)rtp.split.BranchBuf[i].rect, (ST_Rect_t)rtp.split.BranchBuf[j].rect)); waste = RectArea((ST_Rect_t)rect) - area[i] - area[j]; if (waste > worst) { worst = waste; seed0 = i; seed1 = j; } } } Classify(rtp, seed0, 0); Classify(rtp, seed1, 1); } finally { LEAVING("8rui4cun4tvq5xy6ke6r3p55e","PickSeeds"); } } //3 4qyy2dpbkziuubssvfwb8u1sh // static void Classify(RTree_t * rtp, int i, int group) public static void Classify(ST_RTree rtp, int i, int group) { ENTERING("4qyy2dpbkziuubssvfwb8u1sh","Classify"); try { // assert(!rtp->split.Partitions[0].taken[i]); rtp.split.Partitions[0].partition[i]=group; rtp.split.Partitions[0].taken[i]=1; if (rtp.split.Partitions[0].count[group] == 0) rtp.split.Partitions[0].cover[group].___( rtp.split.BranchBuf[i].rect); else rtp.split.Partitions[0].cover[group].___( CombineRect((ST_Rect_t)rtp.split.BranchBuf[i].rect, (ST_Rect_t)rtp.split.Partitions[0].cover[group])); rtp.split.Partitions[0].area[group]= RectArea((ST_Rect_t)rtp.split.Partitions[0].cover[group]); rtp.split.Partitions[0].count[group]= rtp.split.Partitions[0].count[group]+1; } finally { LEAVING("4qyy2dpbkziuubssvfwb8u1sh","Classify"); } } //3 ay7l4setwyl3hbx4o2jpa7vyz // static void LoadNodes(RTree_t * rtp, Node_t * n, Node_t * q, struct PartitionVars *p) public static void LoadNodes(ST_RTree rtp, ST_Node_t___ n, ST_Node_t___ q, ST_PartitionVars p) { ENTERING("ay7l4setwyl3hbx4o2jpa7vyz","LoadNodes"); try { int i; // assert(n); // assert(q); // assert(p); for (i = 0; i < 64 + 1; i++) { // assert(rtp->split.Partitions[0].partition[i] == 0 || // rtp->split.Partitions[0].partition[i] == 1); if (rtp.split.Partitions[0].partition[i] == 0) AddBranch(rtp, (ST_Branch_t)rtp.split.BranchBuf[i].castTo(Branch_t.class), n, null); else if (rtp.split.Partitions[0].partition[i] == 1) AddBranch(rtp, (ST_Branch_t)rtp.split.BranchBuf[i].castTo(Branch_t.class), q, null); } } finally { LEAVING("ay7l4setwyl3hbx4o2jpa7vyz","LoadNodes"); } } //3 dvgjc83sogjhzf5kxpir405rh // static void InitPVars(RTree_t * rtp) public static void InitPVars(ST_RTree rtp) { ENTERING("dvgjc83sogjhzf5kxpir405rh","InitPVars"); int i; rtp.split.Partitions[0].count[0]=0; rtp.split.Partitions[0].count[1]=0; rtp.split.Partitions[0].cover[0].___(NullRect()); rtp.split.Partitions[0].cover[1].___(NullRect()); rtp.split.Partitions[0].area[0]=0; rtp.split.Partitions[0].area[1]=0; for (i = 0; i < 64 + 1; i++) { rtp.split.Partitions[0].taken[i]=0; rtp.split.Partitions[0].partition[i]=-1; } try { } finally { LEAVING("dvgjc83sogjhzf5kxpir405rh","InitPVars"); } } } plantuml-1.2018.13+ds/src/gen/lib/label/xlabels__c.java000066400000000000000000000737371340005343600224270ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.label; import static gen.lib.cdt.dtclose__c.dtclose; import static gen.lib.cdt.dtopen__c.dtopen; import static gen.lib.label.index__c.RTreeClose; import static gen.lib.label.index__c.RTreeInsert; import static gen.lib.label.index__c.RTreeLeafListFree; import static gen.lib.label.index__c.RTreeOpen; import static gen.lib.label.index__c.RTreeSearch; import static smetana.core.JUtils.EQ; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import h.ST_BestPos_t; import h.ST_HDict_t; import h.ST_LeafList_t; import h.ST_Node_t___; import h.ST_RTree; import h.ST_Rect_t; import h.ST_XLabels_t; import h.ST_dt_s; import h.ST_dtdisc_s; import h.ST_label_params_t; import h.ST_object_t; import h.ST_point; import h.ST_pointf; import h.ST_xlabel_t; import smetana.core.Memory; import smetana.core.Z; import smetana.core.__ptr__; public class xlabels__c { //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 1lrfssuxf2e1e5pvk6j7qrff6 // extern int Verbose //1 17dmpzc4uhvmrcx0x00aw2gbc // Dtdisc_t Hdisc = //3 5p3ac8qk4gnne5hj1dc21ysi // static int icompare(Dt_t * dt, void * v1, void * v2, Dtdisc_t * disc) public static int icompare(ST_dt_s dt, Object v1, Object v2, ST_dtdisc_s disc) { ENTERING("5p3ac8qk4gnne5hj1dc21ysi","icompare"); try { Integer k1 = (Integer) v1; Integer k2 = (Integer) v2; return k1 - k2; } finally { LEAVING("5p3ac8qk4gnne5hj1dc21ysi","icompare"); } } //3 88mbfm305igsr7cew5qx6yldp // static XLabels_t *xlnew(object_t * objs, int n_objs, xlabel_t * lbls, int n_lbls, label_params_t * params) public static ST_XLabels_t xlnew(ST_object_t.Array objs, int n_objs, ST_xlabel_t.Array lbls, int n_lbls, ST_label_params_t params) { ENTERING("88mbfm305igsr7cew5qx6yldp","xlnew"); try { ST_XLabels_t xlp; xlp = new ST_XLabels_t(); /* used to load the rtree in hilbert space filling curve order */ xlp.setPtr("hdx", dtopen(Z.z().Hdisc, Z.z().Dtobag)); if (N(xlp.hdx)) { UNSUPPORTED("4t1y5iinm4310lkpvbal1spve"); // fprintf(stderr, "out of memory\n"); UNSUPPORTED("3m406diamp5s5kwcqtwo4pshf"); // goto bad; } /* for querying intersection candidates */ xlp.setPtr("spdx", RTreeOpen()); if (N(xlp.spdx)) { UNSUPPORTED("4t1y5iinm4310lkpvbal1spve"); // fprintf(stderr, "out of memory\n"); UNSUPPORTED("3m406diamp5s5kwcqtwo4pshf"); // goto bad; } /* save arg pointers in the handle */ xlp.objs = objs; xlp.setInt("n_objs", n_objs); xlp.lbls = lbls; xlp.setInt("n_lbls", n_lbls); xlp.setPtr("params", params); return (ST_XLabels_t) xlp; } finally { LEAVING("88mbfm305igsr7cew5qx6yldp","xlnew"); } //UNSUPPORTED("98zx7s9vt8t1s5x9l35evcxnz"); // bad: //UNSUPPORTED("66s40csd2ivd8rx4h2ut8oai5"); // if (xlp->hdx) //UNSUPPORTED("8mg8tqxa78f1nfk4jh9drw2n0"); // dtclose(xlp->hdx); //UNSUPPORTED("b9uy03exphaovgyz5t4gru409"); // if (xlp->spdx) //UNSUPPORTED("4cfpl6hom6vo3btrjlhfmn6mi"); // RTreeClose(xlp->spdx); //UNSUPPORTED("dms04fhv1vao18v2p0lmk80xf"); // free(xlp); //UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; //UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } } //3 apvhod2s1yjb8717rb7gie2kb // static void xlfree(XLabels_t * xlp) public static void xlfree(ST_XLabels_t xlp) { ENTERING("apvhod2s1yjb8717rb7gie2kb","xlfree"); try { RTreeClose((ST_RTree) xlp.spdx); Memory.free(xlp); } finally { LEAVING("apvhod2s1yjb8717rb7gie2kb","xlfree"); } } //3 6lz36gkh8fla3z6f0lxniy368 // static int floorLog2(unsigned int n) public static int floorLog2(int n) { ENTERING("6lz36gkh8fla3z6f0lxniy368","floorLog2"); try { int pos = 0; if (n == 0) return -1; if (n >= 1 << 16) { n >>= 16; pos += 16; } if (n >= 1 << 8) { n >>= 8; pos += 8; } if (n >= 1 << 4) { n >>= 4; pos += 4; } if (n >= 1 << 2) { n >>= 2; pos += 2; } if (n >= 1 << 1) { pos += 1; } return pos; } finally { LEAVING("6lz36gkh8fla3z6f0lxniy368","floorLog2"); } } //3 uvnzthcpf4xiih05gxie2rx1 // unsigned int xlhorder(XLabels_t * xlp) public static int xlhorder(ST_XLabels_t xlp) { ENTERING("uvnzthcpf4xiih05gxie2rx1","xlhorder"); try { double maxx = xlp.params.bb.UR.x; double maxy = xlp.params.bb.UR.y; return floorLog2(maxx > maxy ? (int)maxx : (int)maxy) + 1; } finally { LEAVING("uvnzthcpf4xiih05gxie2rx1","xlhorder"); } } //3 9lkyvq87bawe3yon7bdwvcjzq // static unsigned int hd_hil_s_from_xy(point p, int n) public static int hd_hil_s_from_xy(ST_point p, int n) { ENTERING("9lkyvq87bawe3yon7bdwvcjzq","hd_hil_s_from_xy"); try { return hd_hil_s_from_xy_((ST_point) p.copy(), n); } finally { LEAVING("9lkyvq87bawe3yon7bdwvcjzq","hd_hil_s_from_xy"); } } private static int hd_hil_s_from_xy_(ST_point p, int n) { int i, x = p.x, y = p.y, xi, yi; int s; s = 0; /* Initialize. */ for (i = n - 1; i >= 0; i--) { xi = (x >> i) & 1; /* Get bit i of x. */ yi = (y >> i) & 1; /* Get bit i of y. */ s = 4 * s + 2 * xi + (xi ^ yi); /* Append two bits to s. */ x = x ^ y; /* These 3 lines swap */ y = y ^ (x & (yi - 1)); /* x and y if yi = 0. */ x = x ^ y; x = x ^ (-xi & (yi - 1)); /* Complement x and y if */ y = y ^ (-xi & (yi - 1)); /* xi = 1 and yi = 0. */ } return s; } //3 bpkzwylrchx5wta1qhytfgbtr // static double aabbaabb(Rect_t * r, Rect_t * s) public static double aabbaabb(ST_Rect_t r, ST_Rect_t s) { ENTERING("bpkzwylrchx5wta1qhytfgbtr","aabbaabb"); try { /* per dimension if( max < omin || min > omax) */ double iminx, iminy, imaxx, imaxy; if (r.boundary[2] < s.boundary[0] || r.boundary[0] > s.boundary[2]) return 0; if (r.boundary[3] < s.boundary[1] || r.boundary[1] > s.boundary[3]) return 0; /* if we get here we have an intersection */ /* rightmost left edge of the 2 rectangles */ iminx = r.boundary[0] > s.boundary[0] ? r.boundary[0] : s.boundary[0]; /* upmost bottom edge */ iminy = r.boundary[1] > s.boundary[1] ? r.boundary[1] : s.boundary[1]; /* leftmost right edge */ imaxx = r.boundary[2] < s.boundary[2] ? r.boundary[2] : s.boundary[2]; /* downmost top edge */ imaxy = r.boundary[3] < s.boundary[3] ? r.boundary[3] : s.boundary[3]; return (imaxx - iminx) * (imaxy - iminy); } finally { LEAVING("bpkzwylrchx5wta1qhytfgbtr","aabbaabb"); } } //3 2g71cq6f8w5jbmbnn2x9y5qfq // static int lblenclosing(object_t * objp, object_t * objp1) public static boolean lblenclosing(ST_object_t objp, ST_object_t objp1) { ENTERING("2g71cq6f8w5jbmbnn2x9y5qfq","lblenclosing"); try { ST_xlabel_t.Array xlp = (ST_xlabel_t.Array) objp.lbl; // assert(objp1->sz.x == 0 && objp1->sz.y == 0); if(N(xlp)) return false; return objp1.pos.x > xlp.getStruct().pos.x && objp1.pos.x < (xlp.getStruct().pos.x + xlp.getStruct().sz.y) && objp1.pos.y > xlp.getStruct().pos.y && objp1.pos.y < (xlp.getStruct().pos.y + xlp.getStruct().sz.y); // UNSUPPORTED("exdts7f2bpam5122kabq2b86c"); // return objp1->pos.x > xlp->pos.x && // UNSUPPORTED("99uxf5dqw5nzdymlzfj764uol"); // objp1->pos.x < (xlp->pos.x + xlp->sz.x) && // UNSUPPORTED("epx7s3oiw75fuioasz208w1k1"); // objp1->pos.y > xlp->pos.y && // UNSUPPORTED("29g3tye8vebllnv9b91xyntzi"); // objp1->pos.y < (xlp->pos.y + xlp->sz.y); // UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } } finally { LEAVING("2g71cq6f8w5jbmbnn2x9y5qfq","lblenclosing"); } } //3 dq1wkb4oxshdggv6cwtgas6m // static void objp2rect(object_t * op, Rect_t * r) public static void objp2rect(ST_object_t op, ST_Rect_t r) { ENTERING("dq1wkb4oxshdggv6cwtgas6m","objp2rect"); try { r.boundary[0]=((int)op.pos.x); r.boundary[1]=((int)op.pos.y); r.boundary[2]=((int)(op.pos.x+op.sz.x)); r.boundary[3]=((int)(op.pos.y+op.sz.y)); } finally { LEAVING("dq1wkb4oxshdggv6cwtgas6m","objp2rect"); } } //3 71b5ttp3xs7lo9fqgb7ypyqgx // static void objplp2rect(object_t * objp, Rect_t * r) public static void objplp2rect(ST_object_t objp, ST_Rect_t r) { ENTERING("71b5ttp3xs7lo9fqgb7ypyqgx","objplp2rect"); try { ST_xlabel_t.Array lp = (ST_xlabel_t.Array) objp.lbl; r.boundary[0]=((int)lp.getStruct().pos.x); r.boundary[1]=((int)lp.getStruct().pos.y); r.boundary[2]=((int)(lp.getStruct().pos.x+lp.getStruct().sz.x)); r.boundary[3]=((int)(lp.getStruct().pos.y+lp.getStruct().sz.y)); } finally { LEAVING("71b5ttp3xs7lo9fqgb7ypyqgx","objplp2rect"); } } //3 ksqjbiie0e6vvaeawdxriie5 // static Rect_t objplpmks(XLabels_t * xlp, object_t * objp) public static ST_Rect_t objplpmks(ST_XLabels_t xlp, ST_object_t objp) { ENTERING("ksqjbiie0e6vvaeawdxriie5","objplpmks"); try { final ST_Rect_t rect = new ST_Rect_t(); final ST_pointf p = new ST_pointf(); p.setDouble("x", 0); p.setDouble("y", 0); if (objp.lbl!=null) p.___(objp.lbl.getStruct().sz); rect.boundary[0]=((int) Math.floor(objp.pos.x - p.x)); rect.boundary[1]=((int) Math.floor(objp.pos.y - p.y)); rect.boundary[2]=((int) Math.ceil(objp.pos.x + objp.sz.x + p.x)); // assert(rect.boundary[2] < INT_MAX); rect.boundary[3]=((int) Math.ceil(objp.pos.y + objp.sz.y + p.y)); // assert(rect.boundary[3] < INT_MAX); return rect; } finally { LEAVING("ksqjbiie0e6vvaeawdxriie5","objplpmks"); } } //3 calnhom3s9dqvvi6crrz3h2wp // static int getintrsxi(XLabels_t * xlp, object_t * op, object_t * cp) public static int getintrsxi(ST_XLabels_t xlp, ST_object_t op, ST_object_t cp) { ENTERING("calnhom3s9dqvvi6crrz3h2wp","getintrsxi"); try { int i = -1; ST_xlabel_t.Array lp = (ST_xlabel_t.Array) op.lbl, clp = (ST_xlabel_t.Array) cp.lbl; assert(lp != clp); if (lp.getStruct().set == 0 || clp.getStruct().set == 0) return i; UNSUPPORTED("bofpvwtmumoe1ckgnlgbwg8bt"); // if ((op->pos.x == 0.0 && op->pos.y == 0.0) || UNSUPPORTED("f039op8rn0jopi9r8kora4cwz"); // (cp->pos.x == 0.0 && cp->pos.y == 0.0)) UNSUPPORTED("11drvggon8u61uz4iw75insly"); // return i; UNSUPPORTED("5t4dji6xy0hdyx5wguao13hy5"); // if (cp->pos.y < op->pos.y) UNSUPPORTED("kx0a7gocqji2ms0neepjemp0"); // if (cp->pos.x < op->pos.x) UNSUPPORTED("al11nyatzn20y82ligyxw6doz"); // i = 0; UNSUPPORTED("6u28hrhgdf9tpy6v85nmoma8q"); // else if (cp->pos.x > op->pos.x) UNSUPPORTED("3nbwdw3wfkpmnrf8loezvflkx"); // i = 2; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("akdfo982ws6tlct2c4wlm7hdb"); // i = 1; UNSUPPORTED("6h2iz13c1pog9oqz0a4f1sqth"); // else if (cp->pos.y > op->pos.y) UNSUPPORTED("kx0a7gocqji2ms0neepjemp0"); // if (cp->pos.x < op->pos.x) UNSUPPORTED("2rdl000508m132a9u1h076lba"); // i = 6; UNSUPPORTED("6u28hrhgdf9tpy6v85nmoma8q"); // else if (cp->pos.x > op->pos.x) UNSUPPORTED("7p6vu0p80gdkcsj4l5hz59dqb"); // i = 8; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("69apu46xpi0gdi4dt1tir6dbh"); // i = 7; UNSUPPORTED("73lwftxejfwwrm0v22inmutya"); // else if (cp->pos.x < op->pos.x) UNSUPPORTED("9t0t38axcdz9uuxxaxd4e5oi2"); // i = 3; UNSUPPORTED("an605gtk4m1ql9srrrj5k6dah"); // else if (cp->pos.x > op->pos.x) UNSUPPORTED("cmp9l0lizmu0ars1jf1oxdms"); // i = 5; UNSUPPORTED("ahwo5hst5k1gyq20ve63ahe81"); // return i; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("calnhom3s9dqvvi6crrz3h2wp","getintrsxi"); } } //3 52awwxu810dg9a2pjq45aomam // static double recordointrsx(XLabels_t * xlp, object_t * op, object_t * cp, Rect_t * rp, double a, object_t * intrsx[9]) public static double recordointrsx(ST_XLabels_t xlp, ST_object_t op, ST_object_t cp, ST_Rect_t rp, double a, ST_object_t[] intrsx) { ENTERING("52awwxu810dg9a2pjq45aomam","recordointrsx"); try { int i = getintrsxi(xlp, op, cp); if (i < 0) i = 5; if (intrsx[i] != null) { double sa, maxa = 0.0; final ST_Rect_t srect = new ST_Rect_t(); /* keep maximally overlapping object */ objp2rect(intrsx[i], srect); sa = aabbaabb(rp, srect); if (sa > a) maxa = sa; /*keep maximally overlapping label */ if (intrsx[i].lbl!=null) { objplp2rect(intrsx[i], srect); sa = aabbaabb(rp, srect); if (sa > a) maxa = sa > maxa ? sa : maxa; } if (maxa > 0.0) return maxa; /*replace overlapping label/object pair */ intrsx[i] = cp; return a; } intrsx[i] = cp; return a; } finally { LEAVING("52awwxu810dg9a2pjq45aomam","recordointrsx"); } } //3 2umrncgkunxoyeuc8i9hd5pwa // static double recordlintrsx(XLabels_t * xlp, object_t * op, object_t * cp, Rect_t * rp, double a, object_t * intrsx[9]) public static double recordlintrsx(ST_XLabels_t xlp, ST_object_t op, ST_object_t cp, ST_Rect_t rp, double a, ST_object_t intrsx[]) { ENTERING("2umrncgkunxoyeuc8i9hd5pwa","recordlintrsx"); try { int i = getintrsxi(xlp, op, cp); if (i < 0) i = 5; if (intrsx[i] != null) { double sa, maxa = 0.0; final ST_Rect_t srect = new ST_Rect_t(); /* keep maximally overlapping object */ objp2rect(intrsx[i], srect); sa = aabbaabb(rp, srect); if (sa > a) maxa = sa; /*keep maximally overlapping label */ if (intrsx[i].lbl!=null) { objplp2rect(intrsx[i], srect); sa = aabbaabb(rp, srect); if (sa > a) maxa = sa > maxa ? sa : maxa; } if (maxa > 0.0) return maxa; /*replace overlapping label/object pair */ intrsx[i] = cp; return a; } intrsx[i] = cp; return a; } finally { LEAVING("2umrncgkunxoyeuc8i9hd5pwa","recordlintrsx"); } } //3 2td62i5hus8obwt8j1lo3ddj9 // static BestPos_t xlintersections(XLabels_t * xlp, object_t * objp, object_t * intrsx[9]) public static ST_BestPos_t xlintersections(ST_XLabels_t xlp, ST_object_t objp, ST_object_t intrsx[]) { ENTERING("2td62i5hus8obwt8j1lo3ddj9","xlintersections"); try { return (ST_BestPos_t) xlintersections_(xlp, objp, intrsx).copy(); } finally { LEAVING("2td62i5hus8obwt8j1lo3ddj9","xlintersections"); } } private static ST_BestPos_t xlintersections_(ST_XLabels_t xlp, ST_object_t objp, ST_object_t intrsx[]) { int i; ST_LeafList_t ilp, llp; final ST_Rect_t rect = new ST_Rect_t(); final ST_Rect_t srect = new ST_Rect_t(); final ST_BestPos_t bp = new ST_BestPos_t(); // assert(objp->lbl); bp.setInt("n", 0); bp.setDouble("area", 0.0); bp.setStruct("pos", objp.lbl.getStruct().pos); for(i=0; i 0 && xlp.objs.get(i).sz.y > 0) continue; if(lblenclosing(objp, (ST_object_t) xlp.objs.plus(i).getStruct())) { bp.setInt("n", bp.n+1); } } objplp2rect((ST_object_t) objp.getStruct(), rect); llp = RTreeSearch((ST_RTree)xlp.spdx, (ST_Node_t___)xlp.spdx.root, rect); if (N(llp)) return bp; for (ilp = llp; ilp!=null; ilp = (ST_LeafList_t) ilp.next) { double a, ra; // WARNING FOR TRANSLATION // In the C code, "data" was used. However ST_Branch_t is very close to ST_Leaf_t // So in Java version, ST_Leaf_t has been removed and ST_Branch_t is used instead ST_object_t cp = (ST_object_t) ilp.leaf.child; if (EQ(cp, objp)) continue; /*label-object intersect */ objp2rect((ST_object_t) cp.getStruct(), srect); a = aabbaabb(rect, srect); if (a > 0.0) { ra = recordointrsx(xlp, objp, cp, rect, a, intrsx); bp.setInt("n", bp.n+1); bp.setDouble("area", bp.area+ra); } /*label-label intersect */ if (N(cp.lbl) || N(cp.lbl.getStruct().set)) continue; objplp2rect((ST_object_t) cp.getStruct(), srect); a = aabbaabb(rect, srect); if (a > 0.0) { ra = recordlintrsx(xlp, objp, cp, rect, a, intrsx); bp.setInt("n", bp.n+1); bp.setDouble("area", bp.area+ra); } } RTreeLeafListFree(llp); return bp; } //3 8rxvucqsqnqej6h8p1osfnk4b // static BestPos_t xladjust(XLabels_t * xlp, object_t * objp) public static ST_BestPos_t xladjust(ST_XLabels_t xlp, ST_object_t objp) { ENTERING("8rxvucqsqnqej6h8p1osfnk4b","xladjust"); try { return (ST_BestPos_t) xladjust_(xlp, objp).copy(); } finally { LEAVING("8rxvucqsqnqej6h8p1osfnk4b","xladjust"); } } private static ST_BestPos_t xladjust_(ST_XLabels_t xlp, ST_object_t objp) { ST_xlabel_t.Array lp = (ST_xlabel_t.Array) objp.lbl; // ST_xlabel_t double xincr = ((2 * lp.getStruct().sz.x + objp.sz.x)) / 8; double yincr = ((2 * lp.getStruct().sz.y + objp.sz.y)) / 2; ST_object_t intrsx[] = new ST_object_t[9]; final ST_BestPos_t bp = new ST_BestPos_t(); final ST_BestPos_t nbp = new ST_BestPos_t(); // assert(objp->lbl); // memset(intrsx, 0, sizeof(intrsx)); /*x left */ lp.getStruct().pos.setDouble("x", objp.pos.x - lp.getStruct().sz.x); /*top */ lp.getStruct().pos.setDouble("y", objp.pos.y + objp.sz.y); bp.___(xlintersections(xlp, objp, intrsx)); if (bp.n == 0) return bp; /*mid */ lp.getStruct().pos.setDouble("y", objp.pos.y); nbp.___(xlintersections(xlp, objp, intrsx)); if (nbp.n == 0) return nbp; if (nbp.area < bp.area) bp.___(nbp); /*bottom */ lp.getStruct().pos.setDouble("y", objp.pos.y - lp.getStruct().sz.y); nbp.___(xlintersections(xlp, objp, intrsx)); if (nbp.n == 0) return nbp; if (nbp.area < bp.area) bp.___(nbp); /*x mid */ lp.getStruct().pos.setDouble("x", objp.pos.x); /*top */ lp.getStruct().pos.setDouble("y", objp.pos.y + objp.sz.y); nbp.___(xlintersections(xlp, objp, intrsx)); if (nbp.n == 0) return nbp; if (nbp.area < bp.area) bp.___(nbp); /*bottom */ lp.getStruct().pos.setDouble("y", objp.pos.y - lp.getStruct().sz.y); nbp.___(xlintersections(xlp, objp, intrsx)); if (nbp.n == 0) return nbp; if (nbp.area < bp.area) bp.___(nbp); /*x right */ lp.getStruct().pos.setDouble("x", objp.pos.x + objp.sz.x); /*top */ lp.getStruct().pos.setDouble("y", objp.pos.y + objp.sz.y); nbp.___(xlintersections(xlp, objp, intrsx)); if (nbp.n == 0) return nbp; if (nbp.area < bp.area) bp.___(nbp); /*mid */ lp.getStruct().pos.setDouble("y", objp.pos.y); nbp.___(xlintersections(xlp, objp, intrsx)); if (nbp.n == 0) return nbp; if (nbp.area < bp.area) bp.___(nbp); /*bottom */ lp.getStruct().pos.setDouble("y", objp.pos.y - lp.getStruct().sz.y); nbp.___(xlintersections(xlp, objp, intrsx)); if (nbp.n == 0) return nbp; if (nbp.area < bp.area) bp.___(nbp); /*sliding from top left */ if (intrsx[6]!=null || intrsx[7]!=null || intrsx[8]!=null || intrsx[3]!=null || intrsx[0]!=null) { /* have to move */ UNSUPPORTED("c5acs4cl77hgu5j6nmhk090uz"); // if (!intrsx[7] && !intrsx[8]) { /* some room right? */ UNSUPPORTED("ez8sbh237xdqdjeewev2ys74y"); // /* slide along upper edge */ UNSUPPORTED("ajgw2jggmwmofm77lgbx5eo2n"); // for (lp->pos.x = objp->pos.x - lp->sz.x, UNSUPPORTED("nwfhss2g67z5exjkorj0brd"); // lp->pos.y = objp->pos.y + objp->sz.y; UNSUPPORTED("eav75dwa3f3ieedr9mnov3a6u"); // lp->pos.x <= (objp->pos.x + objp->sz.x); UNSUPPORTED("38u334kkfej5n3r31uv1afw9q"); // lp->pos.x += xincr) { UNSUPPORTED("8pbum2o0fs86ceaiuxv4efbb6"); // nbp = xlintersections(xlp, objp, intrsx); UNSUPPORTED("5xx7o143ftoj0rhyhg1hqgioa"); // if (nbp.n == 0) UNSUPPORTED("eqanxe9w90oki7yqvwyzpfcw1"); // return nbp; UNSUPPORTED("8yd6g3a3f0g09gmu5f67vah0x"); // if (nbp.area < bp.area) UNSUPPORTED("d6ac36j6lh6qspxwnn3vi0uc3"); // bp = nbp; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("4w0qgfnt6kpuhb381pmra3ln4"); // if (!intrsx[3] && !intrsx[0]) { /* some room down? */ UNSUPPORTED("6st33ex0udr4mk4sa9vd119uz"); // /* slide down left edge */ UNSUPPORTED("ajgw2jggmwmofm77lgbx5eo2n"); // for (lp->pos.x = objp->pos.x - lp->sz.x, UNSUPPORTED("nwfhss2g67z5exjkorj0brd"); // lp->pos.y = objp->pos.y + objp->sz.y; UNSUPPORTED("eolwmrajeldp9gf9ug6ue0gx2"); // lp->pos.y >= (objp->pos.y - lp->sz.y); UNSUPPORTED("bz3822dbe0xnwj4nm7pf39kae"); // lp->pos.y -= yincr) { UNSUPPORTED("8pbum2o0fs86ceaiuxv4efbb6"); // nbp = xlintersections(xlp, objp, intrsx); UNSUPPORTED("5xx7o143ftoj0rhyhg1hqgioa"); // if (nbp.n == 0) UNSUPPORTED("eqanxe9w90oki7yqvwyzpfcw1"); // return nbp; UNSUPPORTED("8yd6g3a3f0g09gmu5f67vah0x"); // if (nbp.area < bp.area) UNSUPPORTED("d6ac36j6lh6qspxwnn3vi0uc3"); // bp = nbp; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } } /*sliding from bottom right */ lp.getStruct().pos.setDouble("x", objp.pos.x + objp.sz.x); lp.getStruct().pos.setDouble("y", objp.pos.y - lp.getStruct().sz.y); if (intrsx[2]!=null || intrsx[1]!=null || intrsx[0]!=null || intrsx[5]!=null || intrsx[8]!=null) { /* have to move */ if (N(intrsx[1]) && N(intrsx[0])) { /* some room left? */ /* slide along lower edge */ for (lp.getStruct().pos.setDouble("x", objp.pos.x + objp.sz.x), lp.getStruct().pos.setDouble("y", objp.pos.y - lp.getStruct().sz.y); lp.getStruct().pos.x >= (objp.pos.x - lp.getStruct().sz.x); lp.getStruct().pos.setDouble("x", lp.getStruct().pos.x - xincr)) { nbp.___(xlintersections(xlp, objp, intrsx)); if (nbp.n == 0) return nbp; if (nbp.area < bp.area) bp.___(nbp); } } if (N(intrsx[5]) && N(intrsx[8])) { /* some room up? */ UNSUPPORTED("4bcpk3ixfwrlr0yzrjv2efigj"); // /* slide up right edge */ UNSUPPORTED("7natp0873pfsvymhhhvki1sev"); // for (lp->pos.x = objp->pos.x + objp->sz.x, UNSUPPORTED("56ycmo0ljb7e86mnezdx3regh"); // lp->pos.y = objp->pos.y - lp->sz.y; UNSUPPORTED("9cepfi69gtzy7muk9d27es8oc"); // lp->pos.y <= (objp->pos.y + objp->sz.y); UNSUPPORTED("az41g895dhl39ckrigxl1c5jl"); // lp->pos.y += yincr) { UNSUPPORTED("8pbum2o0fs86ceaiuxv4efbb6"); // nbp = xlintersections(xlp, objp, intrsx); UNSUPPORTED("5xx7o143ftoj0rhyhg1hqgioa"); // if (nbp.n == 0) UNSUPPORTED("eqanxe9w90oki7yqvwyzpfcw1"); // return nbp; UNSUPPORTED("8yd6g3a3f0g09gmu5f67vah0x"); // if (nbp.area < bp.area) UNSUPPORTED("d6ac36j6lh6qspxwnn3vi0uc3"); // bp = nbp; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } } } return bp; } //3 e29g2hwlogx0zchsnvi464c7t // static int xlhdxload(XLabels_t * xlp) public static int xlhdxload(ST_XLabels_t xlp) { ENTERING("e29g2hwlogx0zchsnvi464c7t","xlhdxload"); try { int i; int order = xlhorder(xlp); for (i = 0; i < xlp.n_objs; i++) { ST_HDict_t hp; final ST_point pi = new ST_point(); hp = new ST_HDict_t(); hp.d.child = xlp.objs.get(i); hp.d.setStruct("rect", objplpmks(xlp, (ST_object_t) xlp.objs.plus(i).getStruct())); /* center of the labeling area */ pi.setInt("x", hp.d.rect.boundary[0] + (hp.d.rect.boundary[2] - hp.d.rect.boundary[0]) / 2); pi.setInt("y", hp.d.rect.boundary[1] + (hp.d.rect.boundary[3] - hp.d.rect.boundary[1]) / 2); hp.setInt("key", hd_hil_s_from_xy(pi, order)); if (N(xlp.hdx.searchf.exe(xlp.hdx, hp, 0000001))) return -1; } return 0; } finally { LEAVING("e29g2hwlogx0zchsnvi464c7t","xlhdxload"); } } //3 26qpvnyd6tmdut8i2wo4itza3 // static void xlhdxunload(XLabels_t * xlp) public static void xlhdxunload(ST_XLabels_t xlp) { ENTERING("26qpvnyd6tmdut8i2wo4itza3","xlhdxunload"); try { //UNSUPPORTED("4bsnj74f63qe288s6be1xmrzw"); // static void xlhdxunload(XLabels_t * xlp) //UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { //UNSUPPORTED("9sqtid8yyo2ws8avf33utdebf"); // int size=dtsize(xlp->hdx), freed=0; //UNSUPPORTED("dm7bmt2fwlkdskmcebdm1ctqj"); // while(dtsize(xlp->hdx) ) { //UNSUPPORTED("a3jz6ykhoarsdfviidq7beb9z"); // void*vp=(((Dt_t*)(xlp->hdx))->data->here ? (((Dt_t*)((xlp->hdx)))->disc->link < 0 ? ((Dthold_t*)((((Dt_t*)(xlp->hdx))->data->here)))->obj : (void*)((char*)((((Dt_t*)(xlp->hdx))->data->here)) - ((Dt_t*)((xlp->hdx)))->disc->link) ):(void*)(0)); //UNSUPPORTED("2covsywkzvpkysnjf34nmr1uw"); // assert(vp); //UNSUPPORTED("a9jmr8hmnwcky7f1e1qorwnjv"); // if(vp) { //UNSUPPORTED("d2vfgb4tj6x8x7cq0kv0qgk23"); // (*(((Dt_t*)(xlp->hdx))->searchf))((xlp->hdx),(void*)(vp),0010000); //UNSUPPORTED("7f4abg2jsf465jjlnp95d9sk6"); // free(vp); //UNSUPPORTED("5hklxkrkvjgi37kkm6v9xajwc"); // freed++; //UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } //UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } //UNSUPPORTED("bifp41eoqo8l51crrab087z21"); // assert(size==freed); //UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } } finally { LEAVING("26qpvnyd6tmdut8i2wo4itza3","xlhdxunload"); } } //3 3wrxwwd3y5ts0ekr32o8vhuvv // static int xlspdxload(XLabels_t * xlp) public static int xlspdxload(ST_XLabels_t xlp) { ENTERING("3wrxwwd3y5ts0ekr32o8vhuvv","xlspdxload"); try { ST_HDict_t op=null; for (op = (ST_HDict_t) xlp.hdx.searchf.exe(xlp.hdx, null, 0000200); op!=null; op = (ST_HDict_t) xlp.hdx.searchf.exe(xlp.hdx, op, 0000010)) { /* tree rectangle data node lvl */ // RTreeInsert(xlp->spdx, &op->d.rect, op->d.data, &xlp->spdx->root, 0); // WARNING ARRAY final ST_Node_t___[] tmp = new ST_Node_t___[] {(ST_Node_t___) xlp.spdx.root}; RTreeInsert((ST_RTree) xlp.spdx, (ST_Rect_t)op.d.rect, op.d.child, tmp, 0); xlp.spdx.setPtr("root", tmp[0]); } return 0; } finally { LEAVING("3wrxwwd3y5ts0ekr32o8vhuvv","xlspdxload"); } } //3 6d3fqrllm55toeo3wscwvv4ty // static int xlinitialize(XLabels_t * xlp) public static int xlinitialize(ST_XLabels_t xlp) { ENTERING("6d3fqrllm55toeo3wscwvv4ty","xlinitialize"); try { int r=0; if ((r = xlhdxload(xlp)) < 0) return r; if ((r = xlspdxload(xlp)) < 0) return r; xlhdxunload(xlp); return dtclose((ST_dt_s) xlp.hdx); } finally { LEAVING("6d3fqrllm55toeo3wscwvv4ty","xlinitialize"); } } //3 brqgbskh3z4ah8infjompibvu // int placeLabels(object_t * objs, int n_objs, xlabel_t * lbls, int n_lbls, label_params_t * params) public static int placeLabels(ST_object_t.Array objs, int n_objs, ST_xlabel_t.Array lbls, int n_lbls, ST_label_params_t params) { ENTERING("brqgbskh3z4ah8infjompibvu","placeLabels"); try { int r, i; final ST_BestPos_t bp = new ST_BestPos_t(); ST_XLabels_t xlp = xlnew(objs, n_objs, lbls, n_lbls, params); if ((r = xlinitialize(xlp)) < 0) return r; /* Place xlabel_t* lp near lp->obj so that the rectangle whose lower-left * corner is lp->pos, and size is lp->sz does not intersect any object * in objs (by convention, an object consisting of a single point * intersects nothing) nor any other label, if possible. On input, * lp->set is 0. * * On output, any label with a position should have this stored in * lp->pos and have lp->set non-zero. * * If params->force is true, all labels must be positioned, even if * overlaps are necessary. * * Return 0 if all labels could be placed without overlap; * non-zero otherwise. */ r = 0; for (i = 0; i < n_objs; i++) { if (objs.get(i).lbl == null) continue; xladjust(xlp, (ST_object_t) objs.get(i).getStruct()); bp.___(xladjust(xlp, (ST_object_t) objs.get(i).getStruct())); if (bp.n == 0) { objs.get(i).lbl.setInt("set", 1); } else if(bp.area == 0) { objs.get(i).lbl.getStruct().pos.setDouble("x", bp.pos.x); objs.get(i).lbl.getStruct().pos.setDouble("y", bp.pos.y); objs.get(i).lbl.setInt("set", 1); } else if (params.force) { objs.get(i).lbl.getStruct().pos.setDouble("x", bp.pos.x); objs.get(i).lbl.getStruct().pos.setDouble("y", bp.pos.y); objs.get(i).lbl.setInt("set", 1); } else { r = 1; } } xlfree(xlp); return r; } finally { LEAVING("brqgbskh3z4ah8infjompibvu","placeLabels"); } } } plantuml-1.2018.13+ds/src/gen/lib/ortho/000077500000000000000000000000001340005343600175245ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/gen/lib/ortho/fPQ__c.java000066400000000000000000000301741340005343600215230ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.ortho; import static smetana.core.Macro.UNSUPPORTED; public class fPQ__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 75wd380yhtm1uol93mb8l3kmn // static snode** pq //1 8m7y12v9uhpfwb9agee4dvvd7 // static int PQcnt //1 37df10if13d1k3ddj140oe9ge // static snode guard //1 3oj5aj3gc05focs9czbzub5sm // static int PQsize //3 6d62kgw3p14u24ayu546j4r82 // void PQgen(int sz) public static Object PQgen(Object... arg) { UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void UNSUPPORTED("mv0qxfr5hxyhgu3l3m6o47cy"); // PQgen(int sz) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("do3zjq97xzdk5dhii167i60qh"); // if (!pq) { UNSUPPORTED("74u3ayhkzemd24zmbuv7wpym8"); // pq = (snode**)zmalloc((sz+1)*sizeof(snode*)); UNSUPPORTED("dezukzubu9nms24lhvphuawxq"); // pq[0] = &guard; UNSUPPORTED("593hemyh9nreh89upeivll5qx"); // PQsize = sz; UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("akljrpu8bej9lq4rmsktz8u2e"); // PQcnt = 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 af70676bgfacdrx355e3fm16w // void PQfree(void) public static Object PQfree(Object... arg) { UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void UNSUPPORTED("a722afmxpzwjdmlojj7lqbxaj"); // PQfree(void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("efn0baufwv42rir223e1awlhs"); // free (pq); UNSUPPORTED("4af6njplv9g18xpb4kh6834b2"); // pq = NULL; UNSUPPORTED("akljrpu8bej9lq4rmsktz8u2e"); // PQcnt = 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9gva9zqwj67hmfsbnnvelzt5i // void PQinit(void) public static Object PQinit(Object... arg) { UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void UNSUPPORTED("3p0cdanvp4f13d8omi42lvjl1"); // PQinit(void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("akljrpu8bej9lq4rmsktz8u2e"); // PQcnt = 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 52wib9gann39qwvmctcw6wxdi // void PQcheck (void) public static Object PQcheck(Object... arg) { UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void UNSUPPORTED("ais4fu8ea90z9l9gc75rtolae"); // PQcheck (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("327a0i7b6rqjqj8wdl0h29mnc"); // int i; UNSUPPORTED("ajjv0cjc9s0osbkjlg35z41k"); // for (i = 1; i <= PQcnt; i++) { UNSUPPORTED("6mg3o7pwh14yf5rgrii3b7la2"); // if ((pq[i])->n_idx != i) { UNSUPPORTED("2kc7vwb5ge1ym5i0vk3t2ku3u"); // assert (0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2lbfs6ynzlunyatr57r41uvz7 // void PQupheap(int k) public static Object PQupheap(Object... arg) { UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void UNSUPPORTED("5hhoge8azwixhuw1r6f1ae6d"); // PQupheap(int k) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7e1sq1127wt16hr7o0andcwob"); // snode* x = pq[k]; UNSUPPORTED("7bfu0p9xmzkty10xv4n4l5cqs"); // int v = x->n_val; UNSUPPORTED("1j1bbq23z0qzohezignztjo66"); // int next = k/2; UNSUPPORTED("ae5pat4mp4l6k25pvk8saz8c7"); // snode* n; UNSUPPORTED("70492o1szwz9au93c3is2goa"); // while ((n = pq[next])->n_val < v) { UNSUPPORTED("4i53ezzk69bsmpugd2h8bo35"); // pq[k] = n; UNSUPPORTED("iolnc8pg22pbme3zbdim1eqy"); // (n)->n_idx = k; UNSUPPORTED("8fpdpgwovt0k58t5u167v63is"); // k = next; UNSUPPORTED("eqtnhenyor3dwsa6on9crthdd"); // next /= 2; UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("1lxwoekai0i8v3rg0vrg6ahmx"); // pq[k] = x; UNSUPPORTED("7ss0wudteh17yswf0ihopig7z"); // (x)->n_idx = k; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dpsy3q4qmuyf70antkm0irwus // int PQ_insert(snode* np) public static Object PQ_insert(Object... arg) { UNSUPPORTED("etrjsq5w49uo9jq5pzifohkqw"); // int UNSUPPORTED("5eeaexrm7pigm7t9d73aqaaht"); // PQ_insert(snode* np) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7d2tojz8u1bqjo7uhe2jqz8ks"); // if (PQcnt == PQsize) { UNSUPPORTED("1fnwaiyzr5fvurskinr46kklp"); // agerr (AGERR, "Heap overflow\n"); UNSUPPORTED("bur99ge8gwr5q0vyjwjyk8z3b"); // return (1); UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("d8u0aq1g7mc9qslpfsw3o3ezz"); // PQcnt++; UNSUPPORTED("8f54fbv0205j58hpu3uq3i2ow"); // pq[PQcnt] = np; UNSUPPORTED("f4e1yfpgiak6lx72g6gk4nyi0"); // PQupheap (PQcnt); UNSUPPORTED("a7h72yd6f22ezx8o0izfoyyzl"); // PQcheck(); UNSUPPORTED("bid671dovx1rdiquw5vm3fttj"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ah2uksf5mfgu7r25rg6poansh // void PQdownheap (int k) public static Object PQdownheap(Object... arg) { UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void UNSUPPORTED("5jo6sukhc9upf5qv4eukh8kop"); // PQdownheap (int k) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dd3235mkocimg2v70ln8ixz3k"); // snode* x = pq[k]; UNSUPPORTED("e0wd4mp2k58ml2bf01e6mtxfc"); // int v = (x)->n_val; UNSUPPORTED("b9pl90rstqz0jhnw3ttda3kx5"); // int lim = PQcnt/2; UNSUPPORTED("917ffzmzxsh6kw3txaqow8dv0"); // snode* n; UNSUPPORTED("zrgst5t0lhf2kxrym9g7gvsn"); // int j; UNSUPPORTED("7bbx1rekibyh3hyxh24lprwwk"); // while (k <= lim) { UNSUPPORTED("disb3eax2r4wgge9im541y9hv"); // j = k+k; UNSUPPORTED("e4w7jx4o3i4gav8ujef2bapbn"); // n = pq[j]; UNSUPPORTED("4yles8zr6ozg2g0df2jefc1l2"); // if (j < PQcnt) { UNSUPPORTED("77cupwd0hd3zp8he6wd4tm6nx"); // if ((n)->n_val < (pq[j+1])->n_val) { UNSUPPORTED("1jeqo15tfc6vbefwf85bniwfn"); // j++; UNSUPPORTED("1sglut5nbxcoto9tvzxs3eixh"); // n = pq[j]; UNSUPPORTED("dquo3qofk56ds5xl95lhvcthf"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3hshbuqs95898wh95e2fdh5uz"); // if (v >= (n)->n_val) break; UNSUPPORTED("4i53ezzk69bsmpugd2h8bo35"); // pq[k] = n; UNSUPPORTED("iolnc8pg22pbme3zbdim1eqy"); // (n)->n_idx = k; UNSUPPORTED("8lpwfkimmel90007dlp5eqpbh"); // k = j; UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("1lxwoekai0i8v3rg0vrg6ahmx"); // pq[k] = x; UNSUPPORTED("7ss0wudteh17yswf0ihopig7z"); // (x)->n_idx = k; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 asdsi15xhxgfyxlqv3bbx7vzv // snode* PQremove (void) public static Object PQremove(Object... arg) { UNSUPPORTED("7qyamsdkopruu23xaccl0bcd2"); // snode* UNSUPPORTED("7j2q3l5jxp3w7ags9kr29frzn"); // PQremove (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5cu5gkv7lbctrvkomvhsw0j1o"); // snode* n; UNSUPPORTED("6078p2rnfog3yn8o3qzs373e2"); // if (PQcnt) { UNSUPPORTED("6a46qhtz2fbsmmd370t7fv44f"); // n = pq[1]; UNSUPPORTED("8s70ivnxixrmkvd1lnojuxkfn"); // pq[1] = pq[PQcnt]; UNSUPPORTED("7o53ly4ejd7hkmf5tx564eb0x"); // PQcnt--; UNSUPPORTED("4e6w4ct22nty5htys3c0346u1"); // if (PQcnt) PQdownheap (1); UNSUPPORTED("26oeamvax1w8xlf1fp3w3uwbz"); // PQcheck(); UNSUPPORTED("69hc24ic55i66g8tf2ne42327"); // return n; UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("7lrkjjj5lce2uf86c1y9o9yoa"); // else return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dvks137inq1ybpgc3p9il60e // void PQupdate (snode* n, int d) public static Object PQupdate(Object... arg) { UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void UNSUPPORTED("b1fi3xtkc0mzuq3pimbrumdj3"); // PQupdate (snode* n, int d) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("byrcaa9kitj1mfe0we79iao5b"); // (n)->n_val = d; UNSUPPORTED("az1v3dey64e8mmt571cqcmw5b"); // PQupheap (n->n_idx); UNSUPPORTED("a7h72yd6f22ezx8o0izfoyyzl"); // PQcheck(); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9u2i85oe7eva5iz0ousp6k9ze // void PQprint (void) public static Object PQprint(Object... arg) { UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void UNSUPPORTED("837kozmovwrdb83nqf648v9hy"); // PQprint (void) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("29u9nk1nrupcw2j8c7qe5glz7"); // int i; UNSUPPORTED("ae5pat4mp4l6k25pvk8saz8c7"); // snode* n; UNSUPPORTED("f3w7y9hew7fq41kdfxhc1bni7"); // fprintf (stderr, "Q: "); UNSUPPORTED("ajjv0cjc9s0osbkjlg35z41k"); // for (i = 1; i <= PQcnt; i++) { UNSUPPORTED("8ma2z0vb3r4euoklbfwtvqixt"); // n = pq[i]; UNSUPPORTED("5vx4bf24j9k0k7d5db0nzqqho"); // fprintf (stderr, "%d(%d:%d) ", UNSUPPORTED("3cv4xg03w7tifmwxdgb02cs87"); // n->index, (n)->n_idx, (n)->n_val); UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("axonnz64pfb53bfq61adrgxoo"); // fprintf (stderr, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/ortho/maze__c.java000066400000000000000000001011451340005343600217660ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.ortho; import static smetana.core.Macro.UNSUPPORTED; public class maze__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 7uu4dvqjnvvhc0gokmgcs954k // extern int odb_flags //1 4322iycvkv4hmlad3noqhgel4 // char* pre = //1 9ozsa5zdtrgxx0s86gc0suyn5 // char* post = //3 9g9xjc2r9n65rkl84jjslos81 // static void psdump (cell* gcells, int n_gcells, boxf BB, boxf* rects, int nrect) public static Object psdump(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("1zp0gx8erzkytols6s6anek61"); // psdump (cell* gcells, int n_gcells, boxf BB, boxf* rects, int nrect) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("2lzsl1e035wt5epd1h8f4bn8m"); // boxf bb; UNSUPPORTED("767492ltpvkpzowhpej4wil2b"); // box absbb; UNSUPPORTED("60497m34eckxdjihuxvqkxsvu"); // absbb.LL.y = absbb.LL.x = 10; UNSUPPORTED("axwbta36ottbp5ug72pnkfza8"); // absbb.UR.x = absbb.LL.x + BB.UR.x - BB.LL.x; UNSUPPORTED("5jojnuuk1njt9p0dm3aklyf4c"); // absbb.UR.y = absbb.LL.y + BB.UR.y - BB.LL.y; UNSUPPORTED("3n4k59tplss0b8rj6cz8wdq4q"); // fputs (pre, stderr); UNSUPPORTED("2c7r664rf3q2nqvcwm076ljgp"); // fprintf (stderr, "%%%%Page: 1 1\n%%%%PageBoundingBox: %d %d %d %d\n", UNSUPPORTED("gvo0wqx49546ze4wrba9h2ir"); // absbb.LL.x, absbb.LL.y, absbb.UR.x, absbb.UR.y); UNSUPPORTED("9z5vt5st7kmlyqdktlquzkygw"); // fprintf (stderr, "%f %f translate\n", 10-BB.LL.x, 10-BB.LL.y); UNSUPPORTED("7v0j1p03zgrz2n8e2sfmouivd"); // fputs ("0 0 1 setrgbcolor\n", stderr); UNSUPPORTED("4elp64ghdngy60otlqydxcc95"); // for (i = 0; i < n_gcells; i++) { UNSUPPORTED("da5sc56v5aj699nvth2tzez6e"); // bb = gcells[i].bb; UNSUPPORTED("1eywmkz80bfnyb49ljgkxcp4x"); // fprintf (stderr, "%f %f %f %f node\n", bb.LL.x, bb.LL.y, bb.UR.x, bb.UR.y); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("epywyt7h8b5f1fzegiuykr1r8"); // fputs ("0 0 0 setrgbcolor\n", stderr); UNSUPPORTED("cymbkb9p93tw0m4uu2kkj35a0"); // for (i = 0; i < nrect; i++) { UNSUPPORTED("6kbayg7dph0ok4aw3x13wjkdp"); // bb = rects[i]; UNSUPPORTED("6smdn9wdodygfk1sxfjl9q1rt"); // fprintf (stderr, "%f %f %f %f cell\n", bb.LL.x, bb.LL.y, bb.UR.x, bb.UR.y); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2to6ts1da6hiyr62cjf8n2rmj"); // fputs ("1 0 0 setrgbcolor\n", stderr); UNSUPPORTED("35fqc70o5xuuv6qdrmnv7z6w5"); // fprintf (stderr, "%f %f %f %f cell\n", BB.LL.x, BB.LL.y, BB.UR.x, BB.UR.y); UNSUPPORTED("e2cdlwdcpu3n7z9jwqa3s87mz"); // fputs (post, stderr); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5uuci5ymtq0q51j1getlj2uzd // static int vcmpid(Dt_t* d, pointf* key1, pointf* key2, Dtdisc_t* disc) public static Object vcmpid(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("3u88ycwd14efwsvwyy7780jbr"); // vcmpid(Dt_t* d, pointf* key1, pointf* key2, Dtdisc_t* disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bswiekdugo71hxqryprabuxdm"); // if (key1->x > key2->x) return 1; UNSUPPORTED("3xqpzrzrofjfgy263mutuwbhr"); // else if (key1->x < key2->x) return -1; UNSUPPORTED("285kfkajed5kbwzt1bg891c12"); // else if (key1->y > key2->y) return 1; UNSUPPORTED("3inoestvznj3b5va767iadnzw"); // else if (key1->y < key2->y) return -1; UNSUPPORTED("7lrkjjj5lce2uf86c1y9o9yoa"); // else return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cl7ra88xdu22d00wqr6z5p1p3 // static int hcmpid(Dt_t* d, pointf* key1, pointf* key2, Dtdisc_t* disc) public static Object hcmpid(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("3xjitmu9hfwuxfgr0qi1r04qg"); // hcmpid(Dt_t* d, pointf* key1, pointf* key2, Dtdisc_t* disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dlpx729kklw9nbmmywrkawtg1"); // if (key1->y > key2->y) return 1; UNSUPPORTED("3inoestvznj3b5va767iadnzw"); // else if (key1->y < key2->y) return -1; UNSUPPORTED("axczvcvlh063j4t14thbuiwmx"); // else if (key1->x > key2->x) return 1; UNSUPPORTED("3xqpzrzrofjfgy263mutuwbhr"); // else if (key1->x < key2->x) return -1; UNSUPPORTED("7lrkjjj5lce2uf86c1y9o9yoa"); // else return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 65ld602fx2uotf16tkazo4kf3 // static Dtdisc_t vdictDisc = //1 bhb4uq3a9aat5tmrtebsgxsza // static Dtdisc_t hdictDisc = //3 p4176ft97w736bpghxhghz3d // static void updateWt (cell* cp, sedge* ep, int sz) public static Object updateWt(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("7q4w394vp6o5d2mqannru219n"); // updateWt (cell* cp, sedge* ep, int sz) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dfo4tnm2f8dlo52sahedzj5v9"); // ep->cnt++; UNSUPPORTED("32vrx8u0i9lp4f9mfpmaun71f"); // if (ep->cnt > sz) { UNSUPPORTED("e1mqs9lo2iip945vyvas2qe3z"); // ep->cnt = 0; UNSUPPORTED("2a244flkhx1rjpipbgdokjx1k"); // ep->weight += 16384; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 blhjst7f42nyvd6sy299gtm3d // void updateWts (sgraph* g, cell* cp, sedge* ep) public static Object updateWts(Object... arg) { UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void UNSUPPORTED("bdbwgs1ph76plmvxczfpeo0fd"); // updateWts (sgraph* g, cell* cp, sedge* ep) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("5us6bymu4crkiqypwh57332hj"); // sedge* e; UNSUPPORTED("dkoxg0eyedifjtrm4x8jlyjls"); // int isBend = ((g->nodes + ep->v1)->isVert != (g->nodes + ep->v2)->isVert); UNSUPPORTED("d0b6n8bhbzbusomlpcp9nczv7"); // int hsz = (((cp->bb.UR.y - cp->bb.LL.y)-3)/2); UNSUPPORTED("48m2yizmm8d4lfvszmls2szq1"); // int vsz = (((cp->bb.UR.x - cp->bb.LL.x)-3)/2); UNSUPPORTED("5ecgup35njvagofmc9zaxes1c"); // int minsz = MIN(hsz, vsz); UNSUPPORTED("dfamh7ue082plphhry3xdnm7o"); // /* Bend edges are added first */ UNSUPPORTED("g33yx85p8wg91aap4znjiva4"); // for (i = 0; i < cp->nedges; i++) { UNSUPPORTED("3v1e6x1tokguyh1cyk9ny2j26"); // e = cp->edges[i]; UNSUPPORTED("boxo665ud04gpicwsnvf3dxep"); // if (!((g->nodes + e->v1)->isVert != (g->nodes + e->v2)->isVert)) break; UNSUPPORTED("a89fyn41tp3jnm2osk1wr48ke"); // updateWt (cp, e, minsz); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } UNSUPPORTED("dlcr5m1q7b4en52gyl8obhj15"); // for (; i < cp->nedges; i++) { UNSUPPORTED("3v1e6x1tokguyh1cyk9ny2j26"); // e = cp->edges[i]; UNSUPPORTED("2l9n6hxqrnrvrs2lgg2kxpekp"); // if (isBend || (e == ep)) updateWt (cp, e, (((g->nodes + e->v1)->isVert)?hsz:vsz)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9kapnv38d6faiuxqp4bzksdz1 // static void markSmall (cell* cp, sgraph* g) public static Object markSmall(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("3tdwg2zpiin5w6zoim60p04th"); // markSmall (cell* cp, sgraph* g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("b2wz81fy8zanwrmoc1n7arr13"); // snode* onp; UNSUPPORTED("50n2otdf7w8whs0szmjkxenig"); // cell* ocp; UNSUPPORTED("c4eu95u0g7in27e9oxw15rph0"); // if (((((cp->bb.UR.y-cp->bb.LL.y)-3)/2) < 2)) { UNSUPPORTED("8m46r4idk2cejwmyejh6jinky"); // for (i = 0; i < cp->nsides; i++) { UNSUPPORTED("biwl8z6o1ijoz32js8fzwvocb"); // onp = cp->sides[i]; UNSUPPORTED("1aq3dyirdqeh65yempl0l0gnm"); // if (!onp->isVert) continue; UNSUPPORTED("1dki697od540pxi3vq3sce42l"); // if (onp->cells[0] == cp) { /* onp on the right of cp */ UNSUPPORTED("64d5wc2sqfuiw23vs07o4l6s7"); // ocp = onp->cells[1]; UNSUPPORTED("eu4j3gbjan4f0ttcs7nf6djbr"); // ocp->flags |= 8; UNSUPPORTED("9rf28jnwy28nfeeku68ed10xj"); // while ((onp = ocp->sides[M_RIGHT]) && !(onp->cells[1]->flags & 1)) { UNSUPPORTED("1akhs24p47qfish65mtm0ukab"); // ocp = onp->cells[1]; UNSUPPORTED("4u6cjsu9q863vx1aqgb0yihbz"); // ocp->flags |= 8; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("2xswp7wv8mz6jgl7wgro8x4bh"); // else { /* onp on the left of cp */ UNSUPPORTED("788pevah9rf0z6mjd3asogvnj"); // ocp = onp->cells[0]; UNSUPPORTED("eu4j3gbjan4f0ttcs7nf6djbr"); // ocp->flags |= 8; UNSUPPORTED("1y5bqnhg7i4c1fturqzrm83q4"); // while ((onp = ocp->sides[M_LEFT]) && !(onp->cells[0]->flags & 1)) { UNSUPPORTED("du48mhkbj3xddektvxzoot6gk"); // ocp = onp->cells[0]; UNSUPPORTED("4u6cjsu9q863vx1aqgb0yihbz"); // ocp->flags |= 8; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("916l539e3joqg6fu1g6o6o6m1"); // if (((((cp->bb.UR.x-cp->bb.LL.x)-3)/2) < 2)) { UNSUPPORTED("8m46r4idk2cejwmyejh6jinky"); // for (i = 0; i < cp->nsides; i++) { UNSUPPORTED("biwl8z6o1ijoz32js8fzwvocb"); // onp = cp->sides[i]; UNSUPPORTED("eamm9cw0ocdt1wrb6xdeisy4c"); // if (onp->isVert) continue; UNSUPPORTED("7w1e0iugb1y82w3gf5mvxqd6n"); // if (onp->cells[0] == cp) { /* onp on the top of cp */ UNSUPPORTED("64d5wc2sqfuiw23vs07o4l6s7"); // ocp = onp->cells[1]; UNSUPPORTED("auy2yjaypfi86526pdiw6nxyk"); // ocp->flags |= 16; UNSUPPORTED("d88x50zssjd4zw4m00dzwnrig"); // while ((onp = ocp->sides[M_TOP]) && !(onp->cells[1]->flags & 1)) { UNSUPPORTED("1akhs24p47qfish65mtm0ukab"); // ocp = onp->cells[1]; UNSUPPORTED("mf674e2ernvx88oxuj2jvr0z"); // ocp->flags |= 16; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("am0piqqao9stqcscpvwx2n1so"); // else { /* onp on the bottom of cp */ UNSUPPORTED("788pevah9rf0z6mjd3asogvnj"); // ocp = onp->cells[0]; UNSUPPORTED("auy2yjaypfi86526pdiw6nxyk"); // ocp->flags |= 16; UNSUPPORTED("mi3y18vi9ndcg7qz68bvpahf"); // while ((onp = ocp->sides[M_BOTTOM]) && !(onp->cells[0]->flags & 1)) { UNSUPPORTED("du48mhkbj3xddektvxzoot6gk"); // ocp = onp->cells[0]; UNSUPPORTED("mf674e2ernvx88oxuj2jvr0z"); // ocp->flags |= 16; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3l3sbpuetdu8ntcpo8pz13k3e // static void createSEdges (cell* cp, sgraph* g) public static Object createSEdges(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("eiufnofet665j4i0xks3yggav"); // createSEdges (cell* cp, sgraph* g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("axfpgrsg8gskangc3qgtq71hz"); // boxf bb = cp->bb; UNSUPPORTED("amp31z1m0vbq1q8zefv5rn3w5"); // double hwt = 1*(bb.UR.x-bb.LL.x); UNSUPPORTED("117vv77kpq1u7vcvnavhc82o9"); // double vwt = 1*(bb.UR.y-bb.LL.y); UNSUPPORTED("3yg7jb3f3z3wrxh6itkf0d5gf"); // double wt = (hwt + vwt)/2.0 + 500; UNSUPPORTED("f3jme7t4b06y2xf3tgf76yger"); // /* We automatically make small channels have high cost to guide routes to UNSUPPORTED("516jhn8ke0rkom44i48cqziuj"); // * more spacious channels. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("cvl5o3802l0vsczlmqn621y5g"); // if (((((bb.UR.y-bb.LL.y)-3)/2) < 2) && !(cp->flags & 8)) { UNSUPPORTED("2ork5nyyvrggj5vavnox5dnik"); // hwt = 16384; UNSUPPORTED("52900dmw3bmqbe886hkd7f0wt"); // wt = 16384; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3mb8guxy615hn4v2qy5ypehr3"); // if (((((bb.UR.x-bb.LL.x)-3)/2) < 2) && !(cp->flags & 16)) { UNSUPPORTED("aik6n8xli7v6xvo8u3rvr7ii0"); // vwt = 16384; UNSUPPORTED("52900dmw3bmqbe886hkd7f0wt"); // wt = 16384; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1r05jnpuv96fwsxl0u1qjjlps"); // if (cp->sides[M_LEFT] && cp->sides[M_TOP]) UNSUPPORTED("4kbjer1m4fqs6a3a264gga6n8"); // cp->edges[cp->nedges++] = createSEdge (g, cp->sides[M_LEFT], cp->sides[M_TOP], wt); UNSUPPORTED("aedmthruftfexyf7cov7u4vvl"); // if (cp->sides[M_TOP] && cp->sides[M_RIGHT]) UNSUPPORTED("5hpsphuhuvv1brp42nrttvb31"); // cp->edges[cp->nedges++] = createSEdge (g, cp->sides[M_TOP], cp->sides[M_RIGHT], wt); UNSUPPORTED("84yyv6mzbxtjgbfa28m4avh6r"); // if (cp->sides[M_LEFT] && cp->sides[M_BOTTOM]) UNSUPPORTED("tyvf713ih73547d7pf5snxf"); // cp->edges[cp->nedges++] = createSEdge (g, cp->sides[M_LEFT], cp->sides[M_BOTTOM], wt); UNSUPPORTED("bnzsrfjru8dtlqidqs86hye5o"); // if (cp->sides[M_BOTTOM] && cp->sides[M_RIGHT]) UNSUPPORTED("69cj63j54kgemat46kq68yrsz"); // cp->edges[cp->nedges++] = createSEdge (g, cp->sides[M_BOTTOM], cp->sides[M_RIGHT], wt); UNSUPPORTED("2sny7e4r4ms0rpg6bxgod0y6w"); // if (cp->sides[M_TOP] && cp->sides[M_BOTTOM]) UNSUPPORTED("eeawpv5dnk3bza402e1fao0sa"); // cp->edges[cp->nedges++] = createSEdge (g, cp->sides[M_TOP], cp->sides[M_BOTTOM], vwt); UNSUPPORTED("2suc8k9vfuvh4m53sqo1etd6w"); // if (cp->sides[M_LEFT] && cp->sides[M_RIGHT]) UNSUPPORTED("9obc9lnx233uhbnedl4zx9ph0"); // cp->edges[cp->nedges++] = createSEdge (g, cp->sides[M_LEFT], cp->sides[M_RIGHT], hwt); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 758etn7f0xldup69utj5juffr // static snode* findSVert (sgraph* g, Dt_t* cdt, pointf p, snodeitem* ditems, boolean isVert) public static Object findSVert(Object... arg) { UNSUPPORTED("1mqfssg5cquehb5bdk2189gy2"); // static snode* UNSUPPORTED("cga4obs9816altnwz6esmme8m"); // findSVert (sgraph* g, Dt_t* cdt, pointf p, snodeitem* ditems, boolean isVert) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("10plv37z3rcnamkp6u1f3fbvy"); // snodeitem* n = (*(((Dt_t*)(cdt))->searchf))((cdt),(void*)(&p),0001000); UNSUPPORTED("aaebo2bb05xyrm6bioykv7j55"); // if (!n) { UNSUPPORTED("2mr1j8jv499c17v211yrq0zid"); // snode* np = createSNode (g); UNSUPPORTED("49x5opmvb6qvpbdzvvwx81n7o"); // assert(ditems); UNSUPPORTED("9imn5k9pmajz70owgy1yst564"); // n = ditems + np->index; UNSUPPORTED("1whmelwelwpr8hmh739a4rx4e"); // n->p = p; UNSUPPORTED("8weo3ve11u2juhqncx820pb23"); // n->np = np; UNSUPPORTED("9js6alb3fxl3uww30tpdie1cc"); // np->isVert = isVert; UNSUPPORTED("lfditfpqzerpfh82n4mjf4e9"); // (*(((Dt_t*)(cdt))->searchf))((cdt),(void*)(n),0000001); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8tkxsnqf69mnlas38600doi66"); // return n->np; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ju0zs4s4k058zbq8y43apnp2 // static void chkSgraph (sgraph* g) public static Object chkSgraph(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("8ywrcod5zukths1uhqhrx6vxw"); // chkSgraph (sgraph* g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("327a0i7b6rqjqj8wdl0h29mnc"); // int i; UNSUPPORTED("23fb0v6g2dlefe4px8tzi8zra"); // snode* np; UNSUPPORTED("3l28r11fb44myi7htm1om4cnr"); // for (i = 0; i < g->nnodes; i++) { UNSUPPORTED("8gpm8loz5nt1uxatp2fd3oe6s"); // np = g->nodes+i; UNSUPPORTED("43gcbpnat2bgm3ejrf1vmy4u"); // if (!np->cells[0]) fprintf (stderr, "failed at node %d[0]\n", i); UNSUPPORTED("4oasbub46ddvzyljkj816mvby"); // assert (np->cells[0]); UNSUPPORTED("5cvdi2wx76ojk7uchdcrjcb6i"); // if (!np->cells[1]) fprintf (stderr, "failed at node %d[1]\n", i); UNSUPPORTED("8qge8qp4tr5copb51yv5xxzr3"); // assert (np->cells[1]); UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 85o629p94h5u46pgb4a0x1fto // static sgraph* mkMazeGraph (maze* mp, boxf bb) public static Object mkMazeGraph(Object... arg) { UNSUPPORTED("4a0ckv6kz4gak54lxsr6w9ioy"); // static sgraph* UNSUPPORTED("3409ksucyvqu8i3qex5l9ogv1"); // mkMazeGraph (maze* mp, boxf bb) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0h9n3v7xo6m86qr2s9jd4nmz"); // int nsides, i, ncnt, maxdeg; UNSUPPORTED("8nt6vrkyw6r9ib7riac3cwzd1"); // int bound = 4*mp->ncells; UNSUPPORTED("8j75p52hdfny88ny2loms6p80"); // sgraph* g = createSGraph (bound + 2); UNSUPPORTED("8p0cao2lz1e6ihnom1zrti2xq"); // Dt_t* vdict = dtopen(&vdictDisc,Dtoset); UNSUPPORTED("bpe1gv2u25ttmjwienjfwsyzd"); // Dt_t* hdict = dtopen(&hdictDisc,Dtoset); UNSUPPORTED("3lxbgi6k04dub0sshm1mawntn"); // snodeitem* ditems = (snodeitem*)zmalloc((bound)*sizeof(snodeitem)); UNSUPPORTED("83j9x6relm30wmuipbei491st"); // snode** sides; UNSUPPORTED("9w8bspidla7axh1uz7uzys18h"); // /* For each cell, create if necessary and attach a node in search UNSUPPORTED("e6kuh48kval5kcakfxzd1z69i"); // * corresponding to each internal face. The node also gets UNSUPPORTED("cyfjarx488wrc88fgx2fnek70"); // * a pointer to the cell. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("8wxcwqqwmrfzljscdhy3971us"); // sides = (snode**)zmalloc((4*mp->ncells)*sizeof(snode*)); UNSUPPORTED("buvjn27k5tz2673nmlkf9ohz5"); // ncnt = 0; UNSUPPORTED("cc6zk9wsty15bcay61nb68jos"); // for (i = 0; i < mp->ncells; i++) { UNSUPPORTED("2noex6z427j2b0xavovcqkxja"); // cell* cp = mp->cells+i; UNSUPPORTED("f3gck9cxfm9jzl1864uz2y79q"); // snode* np; UNSUPPORTED("7nnzkzxddbza1ae9ba66yaath"); // pointf pt; UNSUPPORTED("9l3tga3eg9n944lh5fs2rkb4h"); // cp->nsides = 4; UNSUPPORTED("9dfgiofr0fzw0r6lz4qrt9zyw"); // cp->sides = sides + 4*i; UNSUPPORTED("bfx5d25fi7joih74q1wr7rf4f"); // if (cp->bb.UR.x < bb.UR.x) { UNSUPPORTED("5jm345o0dxsgpqu2h67gvkukd"); // pt.x = cp->bb.UR.x; UNSUPPORTED("d899yxmcyrxgknu569q83j56y"); // pt.y = cp->bb.LL.y; UNSUPPORTED("al78l565joceq8wykiomytl3v"); // np = findSVert (g, vdict, pt, ditems, NOT(0)); UNSUPPORTED("dyj0n8pksb6qap9nu5jmfpj9w"); // np->cells[0] = cp; UNSUPPORTED("4129rynmdsxu71kxazy1hyycy"); // cp->sides[M_RIGHT] = np; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dequu7puz1aj8ss3oni3mx995"); // if (cp->bb.UR.y < bb.UR.y) { UNSUPPORTED("dxvnot4cde33jxs0bsb7nz382"); // pt.x = cp->bb.LL.x; UNSUPPORTED("3p9qsubmglgugaw1d40s99klt"); // pt.y = cp->bb.UR.y; UNSUPPORTED("c3axnzt640u1xryxs43q8cuab"); // np = findSVert (g, hdict, pt, ditems, 0); UNSUPPORTED("dyj0n8pksb6qap9nu5jmfpj9w"); // np->cells[0] = cp; UNSUPPORTED("boewakbellfte64hummys1al4"); // cp->sides[M_TOP] = np; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("40k7l6eiot79jgs4q9j5r2kjv"); // if (cp->bb.LL.x > bb.LL.x) { UNSUPPORTED("8gfqay3lh5vyrik8rxo1yg2nl"); // np = findSVert (g, vdict, cp->bb.LL, ditems, NOT(0)); UNSUPPORTED("d2mluf5pmzh4dvlhfdwky76qv"); // np->cells[1] = cp; UNSUPPORTED("do45kl0dk4amf3cqorzfqm0tf"); // cp->sides[M_LEFT] = np; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("66y49caixd7f6uqyv2baolqae"); // if (cp->bb.LL.y > bb.LL.y) { UNSUPPORTED("2cqyrkg1fyix8wowsnfdeuorq"); // np = findSVert (g, hdict, cp->bb.LL, ditems, 0); UNSUPPORTED("d2mluf5pmzh4dvlhfdwky76qv"); // np->cells[1] = cp; UNSUPPORTED("bhmdbk8okdxhymkp2zrb7u8xy"); // cp->sides[M_BOTTOM] = np; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ay0zemsj6o1e18wmjs05jsshs"); // /* For each gcell, corresponding to a node in the input graph, UNSUPPORTED("e4frwuwjez68hkt6p71wpwlxp"); // * connect it to its corresponding search nodes. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("doc2vwrr7r2f4tx2zxpfpypw4"); // maxdeg = 0; UNSUPPORTED("4rohfkczkjec9j8oi6c5x026a"); // sides = (snode**)zmalloc((g->nnodes)*sizeof(snode*)); UNSUPPORTED("3cxv3gaogbbrf3xu2gz1bxd2l"); // nsides = 0; UNSUPPORTED("eabxb5i0ddkbddnag9j34xjbc"); // for (i = 0; i < mp->ngcells; i++) { UNSUPPORTED("2xvmsgulyy6tipsy4akf2uzj"); // cell* cp = mp->gcells+i; UNSUPPORTED("17m8hsxma8135wjiolo05duux"); // pointf pt; UNSUPPORTED("4c1f2otw76p0krr6ugzi2malz"); // snodeitem* np; UNSUPPORTED("179ywzb15i2sku8g8z7i1boz"); // cp->sides = sides+nsides; UNSUPPORTED("6ct8i1irbix7j6hecssdk2o42"); // pt = cp->bb.LL; UNSUPPORTED("4ns50pdyghalrjqr4o3qpevji"); // np = (*(((Dt_t*)(hdict))->searchf))((hdict),(void*)(&pt),0001000); UNSUPPORTED("298kvmb0795bd6b9fx9zkdwuo"); // for (; np && np->p.x < cp->bb.UR.x; np = (*(((Dt_t*)(hdict))->searchf))((hdict),(void*)(np),0000010)) { UNSUPPORTED("eq4x6lu28wtcm0m1ekd1r4pg5"); // cp->sides[cp->nsides++] = np->np; UNSUPPORTED("iizzgq6n25zyzvx82krjhkem"); // np->np->cells[1] = cp; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("evuyxziekv131tbe328a72tga"); // np = (*(((Dt_t*)(vdict))->searchf))((vdict),(void*)(&pt),0001000); UNSUPPORTED("7pmcauszxeoqlecavr7kzrzcf"); // for (; np && np->p.y < cp->bb.UR.y; np = (*(((Dt_t*)(vdict))->searchf))((vdict),(void*)(np),0000010)) { UNSUPPORTED("eq4x6lu28wtcm0m1ekd1r4pg5"); // cp->sides[cp->nsides++] = np->np; UNSUPPORTED("iizzgq6n25zyzvx82krjhkem"); // np->np->cells[1] = cp; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5h3mvfcnt7jg2xqse67wo1obl"); // pt.y = cp->bb.UR.y; UNSUPPORTED("4ns50pdyghalrjqr4o3qpevji"); // np = (*(((Dt_t*)(hdict))->searchf))((hdict),(void*)(&pt),0001000); UNSUPPORTED("298kvmb0795bd6b9fx9zkdwuo"); // for (; np && np->p.x < cp->bb.UR.x; np = (*(((Dt_t*)(hdict))->searchf))((hdict),(void*)(np),0000010)) { UNSUPPORTED("eq4x6lu28wtcm0m1ekd1r4pg5"); // cp->sides[cp->nsides++] = np->np; UNSUPPORTED("accj0ibwtypfqux48mf08irfq"); // np->np->cells[0] = cp; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6e77uu605lqzyoy5chq2wtqfk"); // pt.x = cp->bb.UR.x; UNSUPPORTED("4pblgwb16qkmxa4gmvm1k7jt8"); // pt.y = cp->bb.LL.y; UNSUPPORTED("evuyxziekv131tbe328a72tga"); // np = (*(((Dt_t*)(vdict))->searchf))((vdict),(void*)(&pt),0001000); UNSUPPORTED("7pmcauszxeoqlecavr7kzrzcf"); // for (; np && np->p.y < cp->bb.UR.y; np = (*(((Dt_t*)(vdict))->searchf))((vdict),(void*)(np),0000010)) { UNSUPPORTED("eq4x6lu28wtcm0m1ekd1r4pg5"); // cp->sides[cp->nsides++] = np->np; UNSUPPORTED("accj0ibwtypfqux48mf08irfq"); // np->np->cells[0] = cp; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("20mszbn1fqt3r5famytys2b7k"); // nsides += cp->nsides; UNSUPPORTED("6025gj96dwgvacuh99fqz7ojm"); // if (cp->nsides > maxdeg) maxdeg = cp->nsides; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("z0dqo9s1gp2o5rf0c6034igz"); // /* sides = RALLOC (nsides, sides, snode*); */ UNSUPPORTED("2qr5jfiul6hnhj5d6z80qgpb1"); // /* Mark cells that are small because of a small node, not because of the close UNSUPPORTED("2lob3t7thoheoyjm2lymh9i9f"); // * alignment of two rectangles. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("eabxb5i0ddkbddnag9j34xjbc"); // for (i = 0; i < mp->ngcells; i++) { UNSUPPORTED("2xvmsgulyy6tipsy4akf2uzj"); // cell* cp = mp->gcells+i; UNSUPPORTED("3d6qq4g3fw0mz4rcay5nx440a"); // markSmall (cp, g); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("el9dwhqim3arfedly8lrp9vq2"); // /* Set index of two dummy nodes used for real nodes */ UNSUPPORTED("dyl9rr87m0sgliepkv3gf27cg"); // g->nodes[g->nnodes].index = g->nnodes; UNSUPPORTED("3r7b7odsrw99ic8or2omu919p"); // g->nodes[g->nnodes+1].index = g->nnodes+1; UNSUPPORTED("2w6qcucx2d9cglbvaflbxw4o6"); // /* create edges UNSUPPORTED("1j0arl1zdd5kcgz4ma54mwxi"); // * For each ordinary cell, there can be at most 6 edges. UNSUPPORTED("eqw7wagcnifpu2fjni6vek5f8"); // * At most 2 gcells will be used at a time, and each of these UNSUPPORTED("xxno67cyczcsgky9n34pauce"); // * can have at most degree maxdeg. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("bsysrnk2t83p9hwmajmhxyhv0"); // initSEdges (g, maxdeg); UNSUPPORTED("cc6zk9wsty15bcay61nb68jos"); // for (i = 0; i < mp->ncells; i++) { UNSUPPORTED("2noex6z427j2b0xavovcqkxja"); // cell* cp = mp->cells+i; UNSUPPORTED("7amfovltkaqx2bzlrepw8j5zm"); // createSEdges (cp, g); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bzohd8qeiebtj0um7pujifzvk"); // /* tidy up memory */ UNSUPPORTED("alfe6acszsh611blhpw2t224g"); // /* g->nodes = RALLOC (g->nnodes+2, g->nodes, snode); */ UNSUPPORTED("daoy3ejdfg7yqywgc1d6l42ls"); // /* g->edges = RALLOC (g->nedges+2*maxdeg, g->edges, sedge); */ UNSUPPORTED("6ay8mbpe7d44870v0xaw2poe1"); // dtclose (vdict); UNSUPPORTED("3bw7qxrnqbqniuud4o0r4sfbs"); // dtclose (hdict); UNSUPPORTED("dzdth58xx98ya8ggp2giwte05"); // free (ditems); UNSUPPORTED("74gpu8xcot4zlnqtwmtwj1gxl"); // chkSgraph (g); UNSUPPORTED("ba08yhdiocr2grhsh1n3a6k6z"); // /* save core graph state */ UNSUPPORTED("1ysafzgp6gjgoh4xzpiziysi4"); // gsave(g); UNSUPPORTED("2syri7q5tc0jyvwq8ecyfo3vr"); // return g; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 47ee79k49zgxrbvcwk6qo1a91 // maze* mkMaze (graph_t* g, int doLbls) public static Object mkMaze(Object... arg) { UNSUPPORTED("8ftsypi54d22742r6wjoy5v25"); // maze* UNSUPPORTED("chjzymjdqshexf6h9lqtpflg6"); // mkMaze (graph_t* g, int doLbls) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7ma9kdgag30w5ofv1niitxbro"); // node_t* n; UNSUPPORTED("aq8iuld39z3anhn3agas7wrpx"); // maze* mp = (maze*)zmalloc(sizeof(maze)); UNSUPPORTED("170trbmtoncj4hi7wpq7j1v1w"); // boxf* rects; UNSUPPORTED("epxy4v5wrs6mm1nymdce9o2mo"); // int i, nrect; UNSUPPORTED("dyevh82lgyyzdp6weja1ovxir"); // cell* cp; UNSUPPORTED("aqeh4gm2tudxnfkw4nym58953"); // double w2, h2; UNSUPPORTED("8ucfzgk767hqg7v3sq95gwtxz"); // boxf bb, BB; UNSUPPORTED("bydgyuxeazagl60ymagro1h9t"); // mp->ngcells = agnnodes(g); UNSUPPORTED("bvlzfj9xz0yyl1uqoyot7rtyg"); // cp = mp->gcells = (cell*)zmalloc((mp->ngcells)*sizeof(cell)); UNSUPPORTED("ffxll70yqx7zs7ajl2nbmdgi"); // BB.LL.x = BB.LL.y = MAXDOUBLE; UNSUPPORTED("cz4gqh4qsnqvih07liqyudf1o"); // BB.UR.x = BB.UR.y = -MAXDOUBLE; UNSUPPORTED("2ci0azpwlbk63rcshlsj1ve8u"); // for (n = agfstnode (g); n; n = agnxtnode(g,n)) { UNSUPPORTED("9eyzmqvpe8fyomq6d83u60ad8"); // w2 = ND_xsize(n)/2.0; UNSUPPORTED("a5huvn2de51imlq70uxu06ix1"); // if (w2 < 1) w2 = 1; UNSUPPORTED("4165mxclove3sa7vcb5pab3lo"); // h2 = ND_ysize(n)/2.0; UNSUPPORTED("5udqpftmbh4p3ikl8bcptzbyf"); // if (h2 < 1) h2 = 1; UNSUPPORTED("9s6b5rf5dh58h3k6k8u0d9wpz"); // bb.LL.x = ND_coord(n).x - w2; UNSUPPORTED("7makiveicd97c7ttfkw3az03m"); // bb.UR.x = ND_coord(n).x + w2; UNSUPPORTED("4iy87lfal1aq0qmyvlj8e6rmy"); // bb.LL.y = ND_coord(n).y - h2; UNSUPPORTED("3e4m3beafo37vj6bje1w9qhnx"); // bb.UR.y = ND_coord(n).y + h2; UNSUPPORTED("ehjvhmi74i8b9imane6e9gs38"); // BB.LL.x = MIN(BB.LL.x, bb.LL.x); UNSUPPORTED("22q0hpto8htuccf0e98b8noee"); // BB.LL.y = MIN(BB.LL.y, bb.LL.y); UNSUPPORTED("ah47wdkrpv5cflac5mmhhjdn5"); // BB.UR.x = MAX(BB.UR.x, bb.UR.x); UNSUPPORTED("5jcljn7v3ijnrk5mw7tznxrai"); // BB.UR.y = MAX(BB.UR.y, bb.UR.y); UNSUPPORTED("cruvxryr09s05g4gxamylge5p"); // cp->bb = bb; UNSUPPORTED("1t8h7vwcednduaar7crw1obrk"); // cp->flags |= 1; UNSUPPORTED("61mx5zuc5l32rfja607gutu3k"); // ND_alg(n) = cp; UNSUPPORTED("4s1pb2i2w7q7dsgd38jko4ff2"); // cp++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("71u00vuawtzqg4gz0lsai1m4a"); // if (doLbls) { UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7sfcm5iivxihxyopxhnmyyv9w"); // BB.LL.x -= 36;; UNSUPPORTED("5illqz3dav1thosefdf7zf012"); // BB.LL.y -= 36;; UNSUPPORTED("5muslgfqvix4h5kxrntmnt2rh"); // BB.UR.x += 36;; UNSUPPORTED("5gw6fudbmpkabywynsetntifs"); // BB.UR.y += 36;; UNSUPPORTED("12xoan2rb09zbemcgjh189oso"); // rects = partition (mp->gcells, mp->ngcells, &nrect, BB); UNSUPPORTED("8qqibd1rblf4kt3wblfja4pch"); // if (odb_flags & 1) psdump (mp->gcells, mp->ngcells, BB, rects, nrect); UNSUPPORTED("f0ajael9mvkz908ohbsqp8u46"); // mp->cells = (cell*)zmalloc((nrect)*sizeof(cell)); UNSUPPORTED("dzo2h9k9ofrv8aifrwhvdxlk"); // mp->ncells = nrect; UNSUPPORTED("cymbkb9p93tw0m4uu2kkj35a0"); // for (i = 0; i < nrect; i++) { UNSUPPORTED("qb6erte9h6etocgwnpipxn18"); // mp->cells[i].bb = rects[i]; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2uqylplzsbm0qd6yfhl4t4vqi"); // free (rects); UNSUPPORTED("ewcr081zwl8ssdtp4n9ofylo0"); // mp->sg = mkMazeGraph (mp, BB); UNSUPPORTED("965jxkqp2n8rpzvodac6mz9mg"); // return mp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 babqclyzdgzlc9rs6vagsa3a9 // void freeMaze (maze* mp) public static Object freeMaze(Object... arg) { UNSUPPORTED("ixanx2vs8hc7piq3w1asfrq5"); // void freeMaze (maze* mp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("65ltdjbqueg56kn1hn5igwiec"); // free (mp->cells[0].sides); UNSUPPORTED("8dgjx2dy276w12zps4vkayrht"); // free (mp->gcells[0].sides); UNSUPPORTED("4u4be1832al75o9ui7p8j20dy"); // free (mp->cells); UNSUPPORTED("4xldapnzfl3mjsal1a38po778"); // free (mp->gcells); UNSUPPORTED("19t5nwndr3zdn7ivgdejb45fh"); // freeSGraph (mp->sg); UNSUPPORTED("8v1nc3xpgspux65bxybvk2gxd"); // dtclose (mp->hchans); UNSUPPORTED("19jphht7cd5e7ovrg923dx1yo"); // dtclose (mp->vchans); UNSUPPORTED("29o1zsbwttldwz75iylxxkrm"); // free (mp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/ortho/ortho__c.java000066400000000000000000003436001340005343600221710ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.ortho; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; import smetana.core.jmp_buf; public class ortho__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 7uu4dvqjnvvhc0gokmgcs954k // extern int odb_flags //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //1 6ddu6mrp88g3kun2w1gg8ck8t // typedef Dict_t PointSet //1 6t1gwljnc5qkhgkp9oc8y7lhm // typedef Dict_t PointMap //1 540u5gu9i0x1wzoxqqx5n2vwp // static jmp_buf jbuf private static jmp_buf jbuf = new jmp_buf(); //1 4i7exv80uvzrbbvqtmcwqgujj // int odb_flags //3 1fgp1w41g6nj3rcw29phstsaj // static cell* cellOf (snode* p, snode* q) public static Object cellOf(Object... arg) { UNSUPPORTED("earoc9gw4gdp2iwqsdlz5babo"); // static cell* UNSUPPORTED("a81f9eexacyqhjwx31312aaij"); // cellOf (snode* p, snode* q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2p9afojds64j2415r77pe11ot"); // cell* cp = p->cells[0]; UNSUPPORTED("6s9p9cp0t5f776vclqnqj9dps"); // if ((cp == q->cells[0]) || (cp == q->cells[1])) return cp; UNSUPPORTED("3x1wxbq1zv1fxtxbt8cqyf2zm"); // else return p->cells[1]; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d9bq37gvmpmw51z5hep2ibevp // static pointf midPt (cell* cp) public static Object midPt(Object... arg) { UNSUPPORTED("2zzd7mrm2u540dwuyzehozffj"); // static pointf UNSUPPORTED("5m9iv8q1cwqhqjdweoca9fxwp"); // midPt (cell* cp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2bghyit203pd6xw2ihhenzyn8"); // pointf p; UNSUPPORTED("6wfic6l7qkikzq3uxy7ra5rk8"); // p.x = (((cp->bb.LL.x)+(cp->bb.UR.x))/2.0); UNSUPPORTED("270uxtsi045j2nyb091mgys86"); // p.y = (((cp->bb.LL.y)+(cp->bb.UR.y))/2.0); UNSUPPORTED("91xduilalb406jjyw2g1i07th"); // return p; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3fs08z3b3bgjahvaa5l6b4zo0 // static pointf sidePt (snode* ptr, cell* cp) public static Object sidePt(Object... arg) { UNSUPPORTED("2zzd7mrm2u540dwuyzehozffj"); // static pointf UNSUPPORTED("a38yr0nzj0vkqomj9uks960c1"); // sidePt (snode* ptr, cell* cp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2e0v7u9pfngzg11mt4kn3oudg"); // pointf pt; UNSUPPORTED("67cqw53uchqjz2cyglbs25v99"); // if (cp == ptr->cells[1]) { UNSUPPORTED("7hlq358idsgr518ei0otfvvzn"); // if (ptr->isVert) { UNSUPPORTED("dxvnot4cde33jxs0bsb7nz382"); // pt.x = cp->bb.LL.x; UNSUPPORTED("64l4d6adxd1dwebr9az75w0bq"); // pt.y = (((cp->bb.LL.y)+(cp->bb.UR.y))/2.0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("b55gnqjtnj37pizchlqw7tuat"); // pt.x = (((cp->bb.LL.x)+(cp->bb.UR.x))/2.0); UNSUPPORTED("d899yxmcyrxgknu569q83j56y"); // pt.y = cp->bb.LL.y; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("7hlq358idsgr518ei0otfvvzn"); // if (ptr->isVert) { UNSUPPORTED("5jm345o0dxsgpqu2h67gvkukd"); // pt.x = cp->bb.UR.x; UNSUPPORTED("64l4d6adxd1dwebr9az75w0bq"); // pt.y = (((cp->bb.LL.y)+(cp->bb.UR.y))/2.0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("b55gnqjtnj37pizchlqw7tuat"); // pt.x = (((cp->bb.LL.x)+(cp->bb.UR.x))/2.0); UNSUPPORTED("3p9qsubmglgugaw1d40s99klt"); // pt.y = cp->bb.UR.y; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ak6zrr3ug1q6nedtkthjyg33a"); // return pt; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7emnes5443mx9i54qiv085z3c // static void setSeg (segment* sp, int dir, double fix, double b1, double b2, int l1, int l2) public static Object setSeg(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("czy1oo8vy1jomzgzissjz1pa8"); // setSeg (segment* sp, int dir, double fix, double b1, double b2, int l1, int l2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2lzx2lnk6n6qiepwpcof58amv"); // sp->isVert = dir; UNSUPPORTED("egu7wy8np7s0sfcam1ccn50l8"); // sp->comm_coord = fix; UNSUPPORTED("4k7kksif599bd6vj4gbjlgdvu"); // if (b1 < b2) { UNSUPPORTED("2kbc7nvci81onspyljnbbm2yy"); // sp->p.p1 = b1; UNSUPPORTED("69ntpjs4vuyb4c55h77zuda23"); // sp->p.p2 = b2; UNSUPPORTED("a5cq2nxrju7radz9bujgt4rhr"); // sp->l1 = l1; UNSUPPORTED("9tatc5wgmjq70eejnp326bw0s"); // sp->l2 = l2; UNSUPPORTED("20uja4lokugnba2pfzz5gomz4"); // sp->flipped = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("dmrpx7gtvzbduny1jg7iwe9m4"); // sp->p.p2 = b1; UNSUPPORTED("1fydpfnyspbu5e91gaqjd462s"); // sp->p.p1 = b2; UNSUPPORTED("1q9i62p8y6lpofiaqtwag6ytb"); // sp->l2 = l1; UNSUPPORTED("askwqfrybpj6e7cjozg2h65p2"); // sp->l1 = l2; UNSUPPORTED("etuylyul4aqlllu3yotsuuzp8"); // sp->flipped = 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ejdbblkeiy6k5qhpj8qsj0z8y // static route convertSPtoRoute (sgraph* g, snode* fst, snode* lst) public static Object convertSPtoRoute(Object... arg) { UNSUPPORTED("8fb3yibi0votqqanq3fr6x8pj"); // static route UNSUPPORTED("wyj8sug7d8lkktfaafr8tnj7"); // convertSPtoRoute (sgraph* g, snode* fst, snode* lst) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("76tjoqkn7jsh2pn0trcuu3nvs"); // route rte; UNSUPPORTED("au5gm9chihcao74rl90b6ryps"); // snode* ptr; UNSUPPORTED("cywzrf8tem3eh04r3uc8ah1di"); // snode* next; UNSUPPORTED("dvl617t5wak51pbm6b2wwpq7a"); // snode* prev; /* node in shortest path just previous to next */ UNSUPPORTED("ccl0rgdbwuva223xhat8drba8"); // int i, sz = 0; UNSUPPORTED("dyevh82lgyyzdp6weja1ovxir"); // cell* cp; UNSUPPORTED("a5qjw7t9yw4fy2yn8wybaubwv"); // cell* ncp; UNSUPPORTED("8tfdncboqzrme5mtb8miqamt8"); // segment seg; UNSUPPORTED("e8ttz1kqzt1p2bbcbynxzgxwr"); // double fix, b1, b2; UNSUPPORTED("1znk1bh9hsbr0uenjzfdyl00x"); // int l1, l2; UNSUPPORTED("af5fm46r9aa1jyef1lcxmilbj"); // pointf bp1, bp2, prevbp; /* bend points */ UNSUPPORTED("b6zcm30rwu0uuagbtdyocmn03"); // /* count no. of nodes in shortest path */ UNSUPPORTED("2wn8ggohh5i2zmr4zmswe82yn"); // for (ptr = fst; ptr; ptr = (ptr)->n_dad) sz++; UNSUPPORTED("32gg7r7g3ge2w1h3so5nleqkn"); // rte.n = 0; UNSUPPORTED("c8dglxlwc6735e241xb2kleps"); // rte.segs = (segment*)zmalloc((sz-2)*sizeof(segment)); /* at most sz-2 segments */ UNSUPPORTED("anlmm69dbu1fyet3im0yytjdv"); // seg.prev = seg.next = 0; UNSUPPORTED("99cys70aea9mlxqhd6l7nznh8"); // ptr = prev = (fst)->n_dad; UNSUPPORTED("adcxm0zct91fjkt21xpk7t2oc"); // next = (ptr)->n_dad; UNSUPPORTED("cw4hqow3w9qpnqan38q4lzr80"); // if ((ptr->cells[0]->flags & 1)) UNSUPPORTED("f3ouda0gkwbhpq1ghgnvzs28s"); // cp = ptr->cells[1]; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("bwecpy85k4r89mdewgkqnxmqs"); // cp = ptr->cells[0]; UNSUPPORTED("8hu317tt07i24q0t1njlxgaaj"); // bp1 = sidePt (ptr, cp); UNSUPPORTED("fojny6cnx3nf3wyctl8jt3m1"); // while ((next)->n_dad!=NULL) { UNSUPPORTED("4685y9um6houwpnmq3o3xdnbl"); // ncp = cellOf (prev, next); UNSUPPORTED("8avl1rf7puyncfn3xpiz6jmyq"); // updateWts (g, ncp, (ptr)->n_edge); UNSUPPORTED("e9wkqtlau9mlc4plmvuuh9n7t"); // /* add seg if path bends or at end */ UNSUPPORTED("f4tdpv7sv5hrh14s0m0qn6ijr"); // if ((ptr->isVert != next->isVert) || ((next)->n_dad == lst)) { UNSUPPORTED("c536jildnbvxtl2yss5a5uez"); // if (ptr->isVert != next->isVert) UNSUPPORTED("8hpdisbshs8wjwypt17ftfmfg"); // bp2 = midPt (ncp); UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("c06vwwj01jup12zkp64pdhnl5"); // bp2 = sidePt(next, ncp); UNSUPPORTED("1yychnglbjeaemvsoqr67uc24"); // if (ptr->isVert) { /* horizontal segment */ UNSUPPORTED("dvn1bwxcs69692i2rl1pm8ks9"); // if (ptr == (fst)->n_dad) l1 = B_NODE; UNSUPPORTED("7xkaeei1db8jok1w7cm6ipvij"); // else if (prevbp.y > bp1.y) l1 = B_UP; UNSUPPORTED("eudlpvdzus72tg534zqj1oyt2"); // else l1 = B_DOWN; UNSUPPORTED("2u5nit0ixq58ppnkni37zkx0p"); // if (ptr->isVert != next->isVert) { UNSUPPORTED("ho3qdbjkg3vo1gms22e3owtc"); // if (next->cells[0] == ncp) l2 = B_UP; UNSUPPORTED("yfq0lkdewjlujiizjym1ixwn"); // else l2 = B_DOWN; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("wfw1pwgc72zyl8jhmc2mx9q1"); // else l2 = B_NODE; UNSUPPORTED("1kjvrvanocnesq3lr4m4rkpql"); // fix = cp->bb.LL.y; UNSUPPORTED("3l1nsh8rq7tmjt0aaypvrjafd"); // b1 = cp->bb.LL.x; UNSUPPORTED("bdk1ammkqt91fkcw3tko38c4f"); // b2 = ncp->bb.LL.x; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("3jhmgphu961hd77sesd05sgwa"); // else { /* vertical segment */ UNSUPPORTED("dvn1bwxcs69692i2rl1pm8ks9"); // if (ptr == (fst)->n_dad) l1 = B_NODE; UNSUPPORTED("5omok2oqvkufnr17ynsa5l31u"); // else if (prevbp.x > bp1.x) l1 = B_RIGHT; UNSUPPORTED("5u8ur9yzca1q5snap89wagubu"); // else l1 = B_LEFT; UNSUPPORTED("2u5nit0ixq58ppnkni37zkx0p"); // if (ptr->isVert != next->isVert) { UNSUPPORTED("70wuwqcivcyzgs1tpuyker0tw"); // if (next->cells[0] == ncp) l2 = B_RIGHT; UNSUPPORTED("b1h57bzme4p9um8dgwvjorz6d"); // else l2 = B_LEFT; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("wfw1pwgc72zyl8jhmc2mx9q1"); // else l2 = B_NODE; UNSUPPORTED("a6wqml6r0ya7a0ukfjl1akcof"); // fix = cp->bb.LL.x; UNSUPPORTED("c5y1a76ll49xwb6f525w31cxw"); // b1 = cp->bb.LL.y; UNSUPPORTED("5y9rsak5s8cwzp9r7hqzjtdn2"); // b2 = ncp->bb.LL.y; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("5ytq0i1egd8zgjegz2alyi2l"); // setSeg (&seg, !ptr->isVert, fix, b1, b2, l1, l2); UNSUPPORTED("3d5wnmejfwzawn8av2oedjr6w"); // rte.segs[rte.n++] = seg; UNSUPPORTED("4butkpw7q0mfe8ci5ktgzfx7h"); // cp = ncp; UNSUPPORTED("6euarq5hpmo6fnhw9236tny10"); // prevbp = bp1; UNSUPPORTED("9ak3tu9gfug7h6n5oe3atds63"); // bp1 = bp2; UNSUPPORTED("6upeg6isij4ds1zu1jxrpacvy"); // if ((ptr->isVert != next->isVert) && ((next)->n_dad == lst)) { UNSUPPORTED("c06vwwj01jup12zkp64pdhnl5"); // bp2 = sidePt(next, ncp); UNSUPPORTED("1ud8fuhorhhfedc95moinbg3n"); // l2 = B_NODE; UNSUPPORTED("7i3it08m376phdxh0p1uzqai5"); // if (next->isVert) { /* horizontal segment */ UNSUPPORTED("6i41faageoastaoondsec5yp4"); // if (prevbp.y > bp1.y) l1 = B_UP; UNSUPPORTED("5g30gkn2ryx49ev1n4e2smcx9"); // else l1 = B_DOWN; UNSUPPORTED("8fxukh2rk7ex4092kgv805ite"); // fix = cp->bb.LL.y; UNSUPPORTED("cuz1j4nsn7d1nc8gyk6pwxms4"); // b1 = cp->bb.LL.x; UNSUPPORTED("6bi6zqtgdmd0jnfszi2huxntb"); // b2 = ncp->bb.LL.x; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else { UNSUPPORTED("qmgaeq8ywmhhu9os2y3ykl5h"); // if (prevbp.x > bp1.x) l1 = B_RIGHT; UNSUPPORTED("elww0yfcft9fn920zdzqjqag4"); // else l1 = B_LEFT; UNSUPPORTED("e942krdqcom8eneazkyc1gf5i"); // fix = cp->bb.LL.x; UNSUPPORTED("225z3yt58cl9ma5i7jb3b6zj1"); // b1 = cp->bb.LL.y; UNSUPPORTED("2grsi5yyliiziqp3ehv7saoqg"); // b2 = ncp->bb.LL.y; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("atcm0274c8dmqoq2enw1723k1"); // setSeg (&seg, !next->isVert, fix, b1, b2, l1, l2); UNSUPPORTED("6eajjgh7sernfrp1c4gqwdqva"); // rte.segs[rte.n++] = seg; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("5oraagbeabq0cwuspqij33hro"); // ptr = next; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1qyv8z4yk5u9fxyioeycj4pg4"); // prev = next; UNSUPPORTED("dtddoorswdnxqgywntqy6r3rj"); // next = (next)->n_dad; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6wc8b07bbvef9c5f0xaq0a7w7"); // rte.segs = realloc (rte.segs, rte.n*sizeof(segment)); UNSUPPORTED("9t92jm5uuo94z4984kskv1zs1"); // for (i=0; i 0) UNSUPPORTED("6ocqv4us3offjwlpkz1trldjf"); // rte.segs[i].prev = rte.segs + (i-1); UNSUPPORTED("140nkijwoi101c4avzme9y00x"); // if (i < rte.n-1) UNSUPPORTED("2zgm1op1kek2062uh1ir84v1p"); // rte.segs[i].next = rte.segs + (i+1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6rsvido8aoxm4xz31egwihvie"); // return rte; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 aqw2pcwz2wbv0f1rw9usmyqgf // static void freeChannel (Dt_t* d, channel* cp, Dtdisc_t* disc) public static Object freeChannel(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("c9euy7p3sclc7ckkp1bzs1jx"); // freeChannel (Dt_t* d, channel* cp, Dtdisc_t* disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b9qijws3odg8l7q5fou8uuguj"); // free_graph (cp->G); UNSUPPORTED("q5fdp3fynm4ytf68bfq4eyi1"); // free (cp->seg_list); UNSUPPORTED("15g2jqm1fxtvztnindiv43hg9"); // free (cp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 czg5smuwmyt5ciilshur9hm5e // static void freeChanItem (Dt_t* d, chanItem* cp, Dtdisc_t* disc) public static Object freeChanItem(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("3shy48lfkzdtnmko723ebxmhv"); // freeChanItem (Dt_t* d, chanItem* cp, Dtdisc_t* disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2j623061b9jjl1jqz6i2eartz"); // dtclose (cp->chans); UNSUPPORTED("15g2jqm1fxtvztnindiv43hg9"); // free (cp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cbapcnadrscvk8m1ip2223p3e // static int chancmpid(Dt_t* d, paird* key1, paird* key2, Dtdisc_t* disc) public static Object chancmpid(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("c3dmj421aezge5a3ggj2xi34t"); // chancmpid(Dt_t* d, paird* key1, paird* key2, Dtdisc_t* disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jh3acz833d3cdotdb2s5kr3v"); // if (key1->p1 > key2->p1) { UNSUPPORTED("p297m3b0zcsixgurzbmjqkqr"); // if (key1->p2 <= key2->p2) return 0; UNSUPPORTED("ayizfb4et318igswkluxa6rgf"); // else return 1; UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("awnfnp6rvvw6qa9g0i6vjio9k"); // else if (key1->p1 < key2->p1) { UNSUPPORTED("6hzvi4g07ent2az0wn1att4zj"); // if (key1->p2 >= key2->p2) return 0; UNSUPPORTED("c20igl46iqplts26214lc7ebm"); // else return -1; UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("7lrkjjj5lce2uf86c1y9o9yoa"); // else return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 659jucoqq7j1ud5wehj42ik2d // static int dcmpid(Dt_t* d, double* key1, double* key2, Dtdisc_t* disc) public static Object dcmpid(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("6vxm1h1q3grwa81zaivfch1re"); // dcmpid(Dt_t* d, double* key1, double* key2, Dtdisc_t* disc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1cu94gjng90rrt7xtp42ifr1"); // if (*key1 > *key2) return 1; UNSUPPORTED("3h1tdtwyfqaqhne2o7pz8yq9h"); // else if (*key1 < *key2) return -1; UNSUPPORTED("7lrkjjj5lce2uf86c1y9o9yoa"); // else return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 ethokur0ooay9stl4lw8geq1r // static Dtdisc_t chanDisc = //1 db0w2llnzryezehbaes3knwwv // static Dtdisc_t chanItemDisc = //3 1yykle604b3x2mutto2rk7k0q // static void addChan (Dt_t* chdict, channel* cp, double j) public static Object addChan(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("5y1j3qnhsbg3b86o7hpanej1s"); // addChan (Dt_t* chdict, channel* cp, double j) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("67yxlxmzwjczlfm96jhe7luye"); // chanItem* subd = (*(((Dt_t*)(chdict))->searchf))((chdict),(void*)(&j),0001000); UNSUPPORTED("bl97x4t04cnuvu98zcsh3u3r1"); // if (!subd) { UNSUPPORTED("92ya0nhv9b16cc5o2095t5rp2"); // subd = (chanItem*)zmalloc(sizeof(chanItem)); UNSUPPORTED("6kkqd46tx54vo55rc8xyc93dg"); // subd->v = j; UNSUPPORTED("e4cijg0myh4jmsjklqxc3ia0r"); // subd->chans = dtopen (&chanDisc, Dtoset); UNSUPPORTED("anh61bjg3nlucvypx7x43xfk7"); // (*(((Dt_t*)(chdict))->searchf))((chdict),(void*)(subd),0000001); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("344a2yp8gxqtygac1hl0bxduf"); // (*(((Dt_t*)(subd->chans))->searchf))((subd->chans),(void*)(cp),0000001); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 870j0jbluhoffx3ke1eog9a0e // static Dt_t* extractHChans (maze* mp) public static Object extractHChans(Object... arg) { UNSUPPORTED("2xt7ub3z01qt6i7l0luh5zpbd"); // static Dt_t* UNSUPPORTED("6h6avfk40i1d436sls3sjaic3"); // extractHChans (maze* mp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("bhhrlzv5tqbx6ctv8b8hya7ll"); // snode* np; UNSUPPORTED("2pyx8we0m19pr0whdh4wa2df9"); // Dt_t* hchans = dtopen (&chanItemDisc, Dtoset); UNSUPPORTED("cc6zk9wsty15bcay61nb68jos"); // for (i = 0; i < mp->ncells; i++) { UNSUPPORTED("6mflke7nml2pfj18uu5t0itb2"); // channel* chp; UNSUPPORTED("2noex6z427j2b0xavovcqkxja"); // cell* cp = mp->cells+i; UNSUPPORTED("4id7mgutk26h361i0yn0dr0c9"); // cell* nextcp; UNSUPPORTED("lrx70e5v1i9g2x8dyh0781af"); // if ((cp->flags & 4)) continue; UNSUPPORTED("4fw3zqbj9rdk41p6d04n8l4p9"); // /* move left */ UNSUPPORTED("4hw0byd0u8kw6qzgqn54tsvsm"); // while ((np = cp->sides[M_LEFT]) && (nextcp = np->cells[0]) && UNSUPPORTED("rfl3ehaprpjsjs96qg8xsipw"); // !(nextcp->flags & 1)) { UNSUPPORTED("292smg9hw43fsfevnum565skt"); // cp = nextcp; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cor1kngy665478bu9tlxw55y0"); // chp = (channel*)zmalloc(sizeof(channel)); UNSUPPORTED("3tv0uje2s5tbgyq4tltlazjfp"); // chp->cp = cp; UNSUPPORTED("241dtcbm0olj1vf27gmksfshg"); // chp->p.p1 = cp->bb.LL.x; UNSUPPORTED("67k0t4al7ygki756mk386ga5v"); // /* move right */ UNSUPPORTED("c89349lhw5ip8nh8afxcjd01t"); // cp->flags |= 4; UNSUPPORTED("6ky3mzdgm24nohd7cwj4ljp2k"); // while ((np = cp->sides[M_RIGHT]) && (nextcp = np->cells[1]) && UNSUPPORTED("rfl3ehaprpjsjs96qg8xsipw"); // !(nextcp->flags & 1)) { UNSUPPORTED("292smg9hw43fsfevnum565skt"); // cp = nextcp; UNSUPPORTED("1en3ueviartdiagf21oyb422w"); // cp->flags |= 4; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("78071fo42hy6imylzbfy3bf8i"); // chp->p.p2 = cp->bb.UR.x; UNSUPPORTED("e8p02vlsess6lxodmtmo1c1ms"); // addChan (hchans, chp, chp->cp->bb.LL.y); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bq8ebjnwnc14ngjegh07xcdh7"); // return hchans; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7s43hm0mz2wo1mdduca26ojr5 // static Dt_t* extractVChans (maze* mp) public static Object extractVChans(Object... arg) { UNSUPPORTED("2xt7ub3z01qt6i7l0luh5zpbd"); // static Dt_t* UNSUPPORTED("c36zuoh2qlc3lrap5d8f3y8lk"); // extractVChans (maze* mp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("bhhrlzv5tqbx6ctv8b8hya7ll"); // snode* np; UNSUPPORTED("dnn2hmk22k5leb4unfdv23ay"); // Dt_t* vchans = dtopen (&chanItemDisc, Dtoset); UNSUPPORTED("cc6zk9wsty15bcay61nb68jos"); // for (i = 0; i < mp->ncells; i++) { UNSUPPORTED("6mflke7nml2pfj18uu5t0itb2"); // channel* chp; UNSUPPORTED("2noex6z427j2b0xavovcqkxja"); // cell* cp = mp->cells+i; UNSUPPORTED("4id7mgutk26h361i0yn0dr0c9"); // cell* nextcp; UNSUPPORTED("4oetph2txtwv1olvghotnhpps"); // if ((cp->flags & 2)) continue; UNSUPPORTED("c6rkuey5ihzorfjp9881pbmej"); // /* move down */ UNSUPPORTED("a9307fsrcb38pq8una61um0oe"); // while ((np = cp->sides[M_BOTTOM]) && (nextcp = np->cells[0]) && UNSUPPORTED("rfl3ehaprpjsjs96qg8xsipw"); // !(nextcp->flags & 1)) { UNSUPPORTED("292smg9hw43fsfevnum565skt"); // cp = nextcp; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cor1kngy665478bu9tlxw55y0"); // chp = (channel*)zmalloc(sizeof(channel)); UNSUPPORTED("3tv0uje2s5tbgyq4tltlazjfp"); // chp->cp = cp; UNSUPPORTED("1yizwyrbv5k2pljd9srrt507t"); // chp->p.p1 = cp->bb.LL.y; UNSUPPORTED("9l69ytmot9sii7jf1nezunp0j"); // /* move up */ UNSUPPORTED("ekzngugyx3nx0hy0tcenivo3e"); // cp->flags |= 2; UNSUPPORTED("eaga01f5n4bcc04jzd7koe2zn"); // while ((np = cp->sides[M_TOP]) && (nextcp = np->cells[1]) && UNSUPPORTED("rfl3ehaprpjsjs96qg8xsipw"); // !(nextcp->flags & 1)) { UNSUPPORTED("292smg9hw43fsfevnum565skt"); // cp = nextcp; UNSUPPORTED("2z9bt6rzic3h5f2bswrctlkm5"); // cp->flags |= 2; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("4t6wc1803m511jzzii1e5refw"); // chp->p.p2 = cp->bb.UR.y; UNSUPPORTED("117s1riz7scnahvfdhjad7oo7"); // addChan (vchans, chp, chp->cp->bb.LL.x); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("mc3k9myynjaxs0u8wam7xntw"); // return vchans; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3fx0dtmoubptoy863qaohsyiv // static void insertChan (channel* chan, segment* seg) public static Object insertChan(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("9wvfovtdcnhpa9y21q29xb2xs"); // insertChan (channel* chan, segment* seg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8rut445afekmag201py7zerog"); // seg->ind_no = chan->cnt++; UNSUPPORTED("1fpx5uvyy1jw7h6nzfgxqij4q"); // chan->seg_list = ALLOC(chan->cnt, chan->seg_list, segment*); UNSUPPORTED("dtkgbijbhv6zio2otpjus55me"); // chan->seg_list[chan->cnt-1] = seg; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2k7dmuexcawtry3q8ifzylkb9 // static channel* chanSearch (Dt_t* chans, segment* seg) public static Object chanSearch(Object... arg) { UNSUPPORTED("9qh7gtx6joh26yrtekarlkx5k"); // static channel* UNSUPPORTED("6iggv78oc0ydb9b7w5c37fcdb"); // chanSearch (Dt_t* chans, segment* seg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6ysgprb9sb91hot466r1pbjvf"); // channel* cp; UNSUPPORTED("3eoemzrlaus9ecq2mmuirfx2e"); // chanItem* chani = (*(((Dt_t*)(chans))->searchf))((chans),(void*)(&seg->comm_coord),0001000); UNSUPPORTED("xbnh2djh0amu19ivzrfv1zrb"); // assert (chani); UNSUPPORTED("a5sgr1i6e2c5nbli6kjtt8w0o"); // cp = (*(((Dt_t*)(chani->chans))->searchf))((chani->chans),(void*)(&seg->p),0001000); UNSUPPORTED("1e4wppypayzgri783mhjwfvr3"); // assert (cp); UNSUPPORTED("4jjmko29xep9s4rocrlxrqsof"); // return cp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e8ecrel25ykgpfve8c2pg90bt // static void assignSegs (int nrtes, route* route_list, maze* mp) public static Object assignSegs(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("9gbzlbbthoblu6f8211e9rp46"); // assignSegs (int nrtes, route* route_list, maze* mp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7pmetyg241ybw8hq3j61i271y"); // channel* chan; UNSUPPORTED("dzpsknrwv8qkqq20hjnjpjn68"); // int i, j; UNSUPPORTED("arcr89i9kld6j0uwf2fd919vf"); // for (i=0;iisVert) UNSUPPORTED("bdeg9z0esjwizlyn8av1pup0v"); // chan = chanSearch(mp->vchans, seg); UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("52uzmq8ikrhropj8svxedldsn"); // chan = chanSearch(mp->hchans, seg); UNSUPPORTED("73ufkqlb3bea3t1t87hm2wgdl"); // insertChan (chan, seg); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4648ghx1zvrhmfvw1szjx5en // static void addLoop (sgraph* sg, cell* cp, snode* dp, snode* sp) public static Object addLoop(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("a3tsmcxhg7iyjoceb1tpll3mb"); // addLoop (sgraph* sg, cell* cp, snode* dp, snode* sp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("a5bapcojbf1pon4upj40dgnit"); // int onTop; UNSUPPORTED("2mmprwecm43sdonztnzfjh86u"); // pointf midp = midPt (cp); UNSUPPORTED("2zty3wxdquu2fbdk9ag3eibug"); // for (i = 0; i < cp->nsides; i++) { UNSUPPORTED("6aknf99z3dbb067he348v23c2"); // cell* ocp; UNSUPPORTED("9wdrv4uc4c7ssn0qpmxgz5eu1"); // pointf p; UNSUPPORTED("97a26i8tw0qmzg5i2dlia94tf"); // double wt; UNSUPPORTED("2o74t2kk9zszzjmhl2o58radp"); // snode* onp = cp->sides[i]; UNSUPPORTED("2bh0qvoskfpyikivdli33p1t7"); // if (onp->isVert) continue; UNSUPPORTED("3r96db0og4bylr45sqo2u7ire"); // if (onp->cells[0] == cp) { UNSUPPORTED("5ld3bwx3i8kedyixr9hiunybw"); // onTop = 1; UNSUPPORTED("7u4yqyzc7gp7vvs8j9a8o1vz3"); // ocp = onp->cells[1]; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("4nrjdhrb9ccxue57dab1e82ec"); // onTop = 0; UNSUPPORTED("5t2fdtivke5zplmmsz3noc2h2"); // ocp = onp->cells[0]; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3o5hqzfql7utdq40v2mp489na"); // p = sidePt (onp, ocp); UNSUPPORTED("2pqzno9l1yhihvq61yikfha7x"); // wt = abs(p.x - midp.x) + abs(p.y - midp.y); UNSUPPORTED("eeypctdtd8leg1t71p1ef13ns"); // if (onTop) UNSUPPORTED("ay6bley4n4nuqyi003sc8kb3d"); // createSEdge (sg, sp, onp, 0); /* FIX weight */ UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("bhgjjjfikli3ur37hc7x7pvem"); // createSEdge (sg, dp, onp, 0); /* FIX weight */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3o1amzqcqc6xflt5rclqgaoop"); // sg->nnodes += 2; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 89iyhk6f9rhg0e8rz0hlwkesx // static void addNodeEdges (sgraph* sg, cell* cp, snode* np) public static Object addNodeEdges(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("3s08k325s6c0dzl8xxm0e71pf"); // addNodeEdges (sgraph* sg, cell* cp, snode* np) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("2mmprwecm43sdonztnzfjh86u"); // pointf midp = midPt (cp); UNSUPPORTED("2zty3wxdquu2fbdk9ag3eibug"); // for (i = 0; i < cp->nsides; i++) { UNSUPPORTED("2o74t2kk9zszzjmhl2o58radp"); // snode* onp = cp->sides[i]; UNSUPPORTED("6aknf99z3dbb067he348v23c2"); // cell* ocp; UNSUPPORTED("9wdrv4uc4c7ssn0qpmxgz5eu1"); // pointf p; UNSUPPORTED("97a26i8tw0qmzg5i2dlia94tf"); // double wt; UNSUPPORTED("5tmebwuyw7chpq5iitcyuvnod"); // if (onp->cells[0] == cp) UNSUPPORTED("7u4yqyzc7gp7vvs8j9a8o1vz3"); // ocp = onp->cells[1]; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("5t2fdtivke5zplmmsz3noc2h2"); // ocp = onp->cells[0]; UNSUPPORTED("3o5hqzfql7utdq40v2mp489na"); // p = sidePt (onp, ocp); UNSUPPORTED("2pqzno9l1yhihvq61yikfha7x"); // wt = abs(p.x - midp.x) + abs(p.y - midp.y); UNSUPPORTED("d513bewr1npimr2it2ia2k56r"); // createSEdge (sg, np, onp, 0); /* FIX weight */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("580kqdl0txe4fd1g3jdsx7oj8"); // sg->nnodes++; UNSUPPORTED("8dkxzvuy1kheqf9w0lmvljni5"); // np->cells[0] = np->cells[1] = cp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7yrubx0zxon9c2uglsfqdw6wb // static char* bendToStr (bend b) public static Object bendToStr(Object... arg) { UNSUPPORTED("aso9sesbnmywhnboxv863whri"); // static char* bendToStr (bend b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1nqf38mopzr5h6gz1w5jgibcq"); // char* s; UNSUPPORTED("6ep6naubtnkle2baax49za5kt"); // switch (b) { UNSUPPORTED("468ky1b2wfpa4muv0a4vayt73"); // case B_NODE : UNSUPPORTED("7asao4q2agscqkw1vxzbiovd"); // s = "B_NODE"; UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("9p3ucw6vl509wdnlc9fo3qviu"); // case B_UP : UNSUPPORTED("eabybll1yskskaq7a8kxvc8tp"); // s = "B_UP"; UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("6y3zt8d6u1qyjwi9sxz0vhxov"); // case B_LEFT : UNSUPPORTED("83j5r4h8qfyqcjko2filk6pf6"); // s = "B_LEFT"; UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("9twa5d2kxeox6wxq7il75kpvb"); // case B_DOWN : UNSUPPORTED("2lrnwyogg8ylvavh64j9fsc4v"); // s = "B_DOWN"; UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("e3th0xydbkfhgz8nlphys6knw"); // case B_RIGHT : UNSUPPORTED("4z5jeqjq3629k9tjxww0ixjqv"); // s = "B_RIGHT"; UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break; UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("cw8hinum739bvjkye9axxkjp3"); // return s; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 90xcxnm75ks9geu9fenh3dm1y // static void putSeg (FILE* fp, segment* seg) public static Object putSeg(Object... arg) { UNSUPPORTED("ezdh139xemkeu6ueshufvm7w2"); // static void putSeg (FILE* fp, segment* seg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("70c5pnzzsu7czszgxj1512qab"); // if (seg->isVert) UNSUPPORTED("ah8jrf48288m893sn0xhnsoyl"); // fprintf (fp, "((%f,%f),(%f,%f)) %s %s", seg->comm_coord, seg->p.p1, UNSUPPORTED("1m3ectywf3939xa468uztvqoq"); // seg->comm_coord, seg->p.p2, bendToStr (seg->l1), bendToStr (seg->l2)); UNSUPPORTED("8983svt6g1kt3l45bd6ju9mw6"); // else UNSUPPORTED("c1qsbthiirdz2q4klv9p53rth"); // fprintf (fp, "((%f,%f),(%f,%f)) %s %s", seg->p.p1,seg->comm_coord, UNSUPPORTED("bxjfdk1v4pdjllz1clm0jzi7c"); // seg->p.p2, seg->comm_coord, bendToStr (seg->l1), bendToStr (seg->l2)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2fdwckbttldonqwo3v1bwb0tx // static void dumpChanG (channel* cp, int v) public static Object dumpChanG(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("1jiwdzplvv49bv58z35y6cdxe"); // dumpChanG (channel* cp, int v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8ebsbykup813mmiz374hgxn60"); // int k; UNSUPPORTED("9sznn1kro0jd847rh8vo0hwbc"); // intitem* ip; UNSUPPORTED("1e46umbsk6iochvxe1wvpa4hm"); // Dt_t* adj; UNSUPPORTED("6oro5r2fdy2jr6tual6x7sagh"); // if (cp->cnt < 2) return; UNSUPPORTED("cz9tbd9xi7o70lfrwgwnls8ry"); // fprintf (stderr, "channel %d (%f,%f)\n", v, cp->p.p1, cp->p.p2); UNSUPPORTED("2e81m6ga4aivsowi1d0mro7qz"); // for (k=0;kcnt;k++) { UNSUPPORTED("esbukm9onpnxbeewu9ks5cx7q"); // adj = cp->G->vertices[k].adj_list; UNSUPPORTED("7d5y6bg0ngegbqsnsn7gu87bt"); // if (dtsize(adj) == 0) continue; UNSUPPORTED("7wdg4xscc6apj5ksye6gvz131"); // putSeg (stderr, cp->seg_list[k]); UNSUPPORTED("d811shlhb0ykm0lp0t2naamkw"); // fputs (" ->\n", stderr); UNSUPPORTED("4lca7ud2mcwkyvh8ynb1pjo61"); // for (ip = (intitem*)(*(((Dt_t*)(adj))->searchf))((adj),(void*)(0),0000200); ip; ip = (intitem*)(*(((Dt_t*)(adj))->searchf))((adj),(void*)(ip),0000010)) { UNSUPPORTED("drhixa423prmpgu5j6qe8l3je"); // fputs (" ", stderr); UNSUPPORTED("8kybw0d4hrww4xqhdna4mlsgc"); // putSeg (stderr, cp->seg_list[ip->id]); UNSUPPORTED("24p9gcmr0oxvz0sli52c722vt"); // fputs ("\n", stderr); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d0tqkl09dlk95z7uv7a0esz2h // static void assignTrackNo (Dt_t* chans) public static Object assignTrackNo(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("32zdrf69xvfxhlj0l5jffzppy"); // assignTrackNo (Dt_t* chans) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("a4p8766eh6ra21i7u5o9nf6rm"); // Dt_t* lp; UNSUPPORTED("1mqjeo37v4tmo6kht0rep1tht"); // Dtlink_t* l1; UNSUPPORTED("eiqtkkndttzmunuxtnm99mkpy"); // Dtlink_t* l2; UNSUPPORTED("dbd08d8bpiw762wer960cicgj"); // channel* cp; UNSUPPORTED("b0kisc5bimb4jnz3z1g2yhbqv"); // int k; UNSUPPORTED("cp4kv1fg74up3ubek2qyx8d25"); // for (l1 = dtflatten (chans); l1; l1 = (((Dtlink_t*)(l1))->right)) { UNSUPPORTED("950o75hi1nj794oxa101pt5t0"); // lp = ((chanItem*)l1)->chans; UNSUPPORTED("71dqer4eeiqshvsh6rbj0kis5"); // for (l2 = dtflatten (lp); l2; l2 = (((Dtlink_t*)(l2))->right)) { UNSUPPORTED("135wr0zp93ul7lqzg4608t7cy"); // cp = (channel*)l2; UNSUPPORTED("jmhm2rezhg6jgnyq2vvyf1xt"); // if (cp->cnt) { UNSUPPORTED("oz7u32hmswbxtvcx0h9iwqbc"); // if (odb_flags & 8) dumpChanG (cp, ((chanItem*)l1)->v); UNSUPPORTED("4g04bc8ywv1z7gpxqhucbcys2"); // top_sort (cp->G); UNSUPPORTED("9u4bikrj4ida8i29gym2jn5b9"); // for (k=0;kcnt;k++) UNSUPPORTED("8o41cm37dmlh7y14o8j7byzbn"); // cp->seg_list[k]->track_no = cp->G->vertices[k].topsort_order+1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("9pqd0punhe3g1up9qd8xxo652"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4cvz30tum1j5kh2mr4tikagu7 // static void create_graphs(Dt_t* chans) public static Object create_graphs(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("bhabfg4ovu9hg3f74xotdq8w2"); // create_graphs(Dt_t* chans) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("a4p8766eh6ra21i7u5o9nf6rm"); // Dt_t* lp; UNSUPPORTED("1mqjeo37v4tmo6kht0rep1tht"); // Dtlink_t* l1; UNSUPPORTED("eiqtkkndttzmunuxtnm99mkpy"); // Dtlink_t* l2; UNSUPPORTED("dbd08d8bpiw762wer960cicgj"); // channel* cp; UNSUPPORTED("cp4kv1fg74up3ubek2qyx8d25"); // for (l1 = dtflatten (chans); l1; l1 = (((Dtlink_t*)(l1))->right)) { UNSUPPORTED("950o75hi1nj794oxa101pt5t0"); // lp = ((chanItem*)l1)->chans; UNSUPPORTED("71dqer4eeiqshvsh6rbj0kis5"); // for (l2 = dtflatten (lp); l2; l2 = (((Dtlink_t*)(l2))->right)) { UNSUPPORTED("135wr0zp93ul7lqzg4608t7cy"); // cp = (channel*)l2; UNSUPPORTED("3cr2g51ro0c0oi5l2n756dpbt"); // cp->G = make_graph (cp->cnt); UNSUPPORTED("9pqd0punhe3g1up9qd8xxo652"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bzybz2vhse04djha8f0fquflw // static int eqEndSeg (bend S1l2, bend S2l2, bend T1, bend T2) public static Object eqEndSeg(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("85zkrfkxr894bmai11bwpink8"); // eqEndSeg (bend S1l2, bend S2l2, bend T1, bend T2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7gxac6sgui9mlexwzhcjde73q"); // if (((S1l2==T2)&&(S2l2=!T2)) UNSUPPORTED("60oyzebkxpkavx2feau5rt7kl"); // || ((S1l2==B_NODE)&&(S2l2==T1))) UNSUPPORTED("dcqs008t3a3ccoe71d0lqe7yd"); // return(0); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("1b9bshcz3yhp7bwyu248z4k9t"); // return(-1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eb1uhz6fkbngny6t6auaxxt9b // static int overlapSeg (segment* S1, segment* S2, bend T1, bend T2) public static Object overlapSeg(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("ezv23yz3jqikw7nzsie354dxc"); // overlapSeg (segment* S1, segment* S2, bend T1, bend T2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("a78h8j082nhcdjv739yn4qppz"); // if(S1->p.p2p.p2) { UNSUPPORTED("4rsshkwyw60o88gdb3dn0ovf4"); // if(S1->l2==T1&&S2->l1==T2) return(-1); UNSUPPORTED("2mabne1z2rhv79s1slqsz0khx"); // else if(S1->l2==T2&&S2->l1==T1) return(1); UNSUPPORTED("2vzk76estb6plbulns7pz9fh4"); // else return(0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("f2sgqrqg5ty4z7q2umaxpejio"); // else if(S1->p.p2==S2->p.p2) { UNSUPPORTED("ct6utyz0mi3m48f5wk8rnqoc3"); // if(S2->l1==T2) return eqEndSeg (S1->l2, S2->l2, T1, T2); UNSUPPORTED("5ot15cxdtf6ibi79p9ahnuiyy"); // else return -1*eqEndSeg (S2->l2, S1->l2, T1, T2); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("7aq9p42tl9bfo9gar2o9pyo6"); // else { /* S1->p.p2>S2->p.p2 */ UNSUPPORTED("89qwmoj26o4fkmkwqkugfzwjf"); // if(S2->l1==T2&&S2->l2==T2) return(-1); UNSUPPORTED("adhycem4k08o2rbxo59z3jkhz"); // else if (S2->l1==T1&&S2->l2==T1) return(1); UNSUPPORTED("2vzk76estb6plbulns7pz9fh4"); // else return(0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 916xnvutvt73y05azmf2m6y6t // static int ellSeg (bend S1l1, bend S1l2, bend T) public static Object ellSeg(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("akzolart54jjjeeqmyxqrnmuc"); // ellSeg (bend S1l1, bend S1l2, bend T) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("be5bxc372qf9z4u0bn8p5f3a2"); // if (S1l1 == T) { UNSUPPORTED("19rq2setuug0dsuwd18u6bp16"); // if (S1l2== T) return -1; UNSUPPORTED("3x8iplz4npgo85ip5rp23jmcu"); // else return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ayizfb4et318igswkluxa6rgf"); // else return 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3set1dgc7lhl9wfckj4voync3 // static int segCmp (segment* S1, segment* S2, bend T1, bend T2) public static Object segCmp(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("5so0u4o583yem7g066n6h5h8v"); // segCmp (segment* S1, segment* S2, bend T1, bend T2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cgb5j5ouyqocl1eu5sq5ul1m1"); // /* no overlap */ UNSUPPORTED("1m7w9c5br675ne9d38ak6hu53"); // if((S1->p.p2p.p1)||(S1->p.p1>S2->p.p2)) return(0); UNSUPPORTED("edg1u6oyftrvreqlbjqxcznnc"); // /* left endpoint of S2 inside S1 */ UNSUPPORTED("1x0gxclmpt2dwwdqev2ara450"); // if(S1->p.p1p.p1&&S2->p.p1p.p2) UNSUPPORTED("am1178qaqllybktyjo3nv97xc"); // return overlapSeg (S1, S2, T1, T2); UNSUPPORTED("bvhn7dxguoamigzpbv1635rse"); // /* left endpoint of S1 inside S2 */ UNSUPPORTED("1x5d71ow7dh9gcypm1uex4adi"); // else if(S2->p.p1p.p1&&S1->p.p1p.p2) UNSUPPORTED("8jh6cjdtp573oq8qqbvo18fjx"); // return -1*overlapSeg (S2, S1, T1, T2); UNSUPPORTED("cjqc4716c7f0ty1biibdcbi3b"); // else if(S1->p.p1==S2->p.p1) { UNSUPPORTED("1a96hc1yp8pa6nhuky2f3kpov"); // if(S1->p.p2==S2->p.p2) { UNSUPPORTED("dakz4gu568b47ilof0mjlkp3g"); // if((S1->l1==S2->l1)&&(S1->l2==S2->l2)) UNSUPPORTED("dtxrebylagy9i05p1v1fhxnuz"); // return(0); UNSUPPORTED("57vde3e47agnudbdc9bacshif"); // else if (S2->l1==S2->l2) { UNSUPPORTED("67o69o09wpy0v0ur5f1l1c5s5"); // if(S2->l1==T1) return(1); UNSUPPORTED("b6r32yfv7dexk3ru7g6nqwg1g"); // else if(S2->l1==T2) return(-1); UNSUPPORTED("ek9n5w1l5tq5so113ne9728y8"); // else if ((S1->l1!=T1)&&(S1->l2!=T1)) return (1); UNSUPPORTED("3877rrvm4cl9vsly8mophiluw"); // else if ((S1->l1!=T2)&&(S1->l2!=T2)) return (-1); UNSUPPORTED("7ke2h1gpwvqi6ougdwfz82wmh"); // else return 0; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("3lz4dhijiqr5ht941jdjwgi7z"); // else if ((S2->l1==T1)&&(S2->l2==T2)) { UNSUPPORTED("6679v73zr10343sabv0545ajx"); // if ((S1->l1!=T1)&&(S1->l2==T2)) return 1; UNSUPPORTED("5c357ofc3tlta7b6ntliniwd9"); // else if ((S1->l1==T1)&&(S1->l2!=T2)) return -1; UNSUPPORTED("7ke2h1gpwvqi6ougdwfz82wmh"); // else return 0; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("evz657j0gnvx74823jqra523c"); // else if ((S2->l2==T1)&&(S2->l1==T2)) { UNSUPPORTED("aitlrwojh186x6j2ty4o4gocm"); // if ((S1->l2!=T1)&&(S1->l1==T2)) return 1; UNSUPPORTED("er78pkwc9gkhcxvyjq62zor6c"); // else if ((S1->l2==T1)&&(S1->l1!=T2)) return -1; UNSUPPORTED("7ke2h1gpwvqi6ougdwfz82wmh"); // else return 0; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("1ny3yv8c13bp4zcfp8dvffoa8"); // else if ((S2->l1==B_NODE)&&(S2->l2==T1)) { UNSUPPORTED("4mlaa90t6h9d80djun5rflzkq"); // return ellSeg (S1->l1, S1->l2, T1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("3dq7kw6w7e1wh4etca0rl6d0v"); // else if ((S2->l1==B_NODE)&&(S2->l2==T2)) { UNSUPPORTED("4i2pfdj4zt2umblnmyoloiduk"); // return -1*ellSeg (S1->l1, S1->l2, T2); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("2v5dfnazye6510cbha31l8i7w"); // else if ((S2->l1==T1)&&(S2->l2==B_NODE)) { UNSUPPORTED("4rq25g617jse4401t7v75md57"); // return ellSeg (S1->l2, S1->l1, T1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("96b656c5ejlopals3g50cqegi"); // else { /* ((S2->l1==T2)&&(S2->l2==B_NODE)) */ UNSUPPORTED("bcifb3xs85visnlkzrg2nt70g"); // return -1*ellSeg (S1->l2, S1->l1, T2); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("bmcaw8gehzc5d62dx0w3skyig"); // else if(S1->p.p2p.p2) { UNSUPPORTED("1u3o14xi8e1cxvb445iu3kct6"); // if(S1->l2==T1) UNSUPPORTED("1qnx7k0mdbkhofu0mdzisxijd"); // return eqEndSeg (S2->l1, S1->l1, T1, T2); UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("d9rodbu7eiqzjvik47smclsdl"); // return -1*eqEndSeg (S2->l1, S1->l1, T1, T2); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("7aq9p42tl9bfo9gar2o9pyo6"); // else { /* S1->p.p2>S2->p.p2 */ UNSUPPORTED("51m1xa8u2znzxazdwantwyuyv"); // if(S2->l2==T2) UNSUPPORTED("4f3mewxm7upg06y9z4bjrn4vf"); // return eqEndSeg (S1->l1, S2->l1, T1, T2); UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("b7xkdbwtc22b1j95kr0hty8sp"); // return -1*eqEndSeg (S1->l1, S2->l1, T1, T2); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1z3rgo8s9sfovtqdrlci7ydng"); // else if(S1->p.p2==S2->p.p1) { UNSUPPORTED("dryuqkmwg4utuh4fz56nec4iu"); // if(S1->l2==S2->l1) return(0); UNSUPPORTED("92dwbh0qiegdwle729knbwdao"); // else if(S1->l2==T2) return(1); UNSUPPORTED("2yl5dq1it450fqpkn8wjdxab4"); // else return(-1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ewjrcchl8l1d8fp4y1r6qfbp3"); // else { /* S1->p.p1==S2->p.p2 */ UNSUPPORTED("1h7f8h4o89nvu26mb04i68h34"); // if(S1->l1==S2->l2) return(0); UNSUPPORTED("e97u2o9q8t0rv2icxkb8fsowu"); // else if(S1->l1==T2) return(1); UNSUPPORTED("2yl5dq1it450fqpkn8wjdxab4"); // else return(-1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6ufddz487491174h94zezajk8"); // assert(0); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2why0kxj0qrlrn435c0twfblb // static int seg_cmp(segment* S1, segment* S2) public static Object seg_cmp(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("5ucj9rj7ohyk0eh1h5jzk9qhh"); // seg_cmp(segment* S1, segment* S2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef82t09fd18di0isi59csjlwu"); // if(S1->isVert!=S2->isVert||S1->comm_coord!=S2->comm_coord) { UNSUPPORTED("2a6h1eg3z0m4zzhdw7vtdz33i"); // agerr (AGERR, "incomparable segments !! -- Aborting\n"); UNSUPPORTED("1ghgraebed3srgimi1gdqx5nj"); // longjmp(jbuf, 1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("88n6v57rjcx5w9zz51wjd80mn"); // if(S1->isVert) UNSUPPORTED("10jcxkwtbmjakpk36jpzzhsnm"); // return segCmp (S1, S2, B_RIGHT, B_LEFT); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("1ealfunb0xbji4f46jf9balu7"); // return segCmp (S1, S2, B_DOWN, B_UP); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7ycppm4b8xqpa85ov0gpp4r1w // static void add_edges_in_G(channel* cp) public static Object add_edges_in_G(Object... arg) { UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void UNSUPPORTED("e7prlxhst1riecg8sy2dq7ho3"); // add_edges_in_G(channel* cp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2b5x6xxv7d1fwjdnit9o6fac4"); // int x,y; UNSUPPORTED("462fowlguwrqt49rjdjc35vdl"); // segment** seg_list = cp->seg_list; UNSUPPORTED("9zouge4neqmqsg96284lxensf"); // int size = cp->cnt; UNSUPPORTED("dmbfnx3582vhxsi4o65ruesyn"); // rawgraph* G = cp->G; UNSUPPORTED("8uyd6tjjadhk8ovw1osaocc0g"); // for(x=0;x+1right)) { UNSUPPORTED("950o75hi1nj794oxa101pt5t0"); // lp = ((chanItem*)l1)->chans; UNSUPPORTED("71dqer4eeiqshvsh6rbj0kis5"); // for (l2 = dtflatten (lp); l2; l2 = (((Dtlink_t*)(l2))->right)) { UNSUPPORTED("135wr0zp93ul7lqzg4608t7cy"); // cp = (channel*)l2; UNSUPPORTED("b9bbgy74zwpeh6zk1wsld8tx2"); // if (cp->cnt) UNSUPPORTED("37n1ytiss9w7m68eh2a5ahf44"); // add_edges_in_G(cp); UNSUPPORTED("9pqd0punhe3g1up9qd8xxo652"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 emn5p2pij0zdp2hl3dyjefe36 // static segment* next_seg(segment* seg, int dir) public static Object next_seg(Object... arg) { UNSUPPORTED("5hl6i4lkcopw8a7eywmfv5qyv"); // static segment* UNSUPPORTED("6ov8c8zpwswdr0pj1gzchtfwx"); // next_seg(segment* seg, int dir) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6ri8jco2tikytst7ste1069yq"); // assert(seg); UNSUPPORTED("9yxubvqbrubzc3jcqnh9rpnmf"); // if (!dir) UNSUPPORTED("8dd4jx4ni1rdife7uof1nuwi9"); // return(seg->prev); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("5c5he207xx8av0i912x9hawr2"); // return(seg->next); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cs3u9dks2e2tzv2xu98p77w90 // static int propagate_prec(segment* seg, int prec, int hops, int dir) public static Object propagate_prec(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("tr6cv9djjf64a8yuh6q95jsp"); // propagate_prec(segment* seg, int prec, int hops, int dir) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dpr58lv2eeka28wequlp2xrzl"); // int x; UNSUPPORTED("ay64podpnebhkrkm9jq6r391s"); // int ans=prec; UNSUPPORTED("5ih4ipri3bjcgm61xdrc8ud4y"); // segment* next; UNSUPPORTED("cbeluzwuxiponx0az49dgkui4"); // segment* current; UNSUPPORTED("o8icbmalf0qgkleaf5kmc0ui"); // current = seg; UNSUPPORTED("yvzhy5oaj4saluubblynzmhv"); // for(x=1;x<=hops;x++) { UNSUPPORTED("9h1ebsbxexcfuink8l7o97r07"); // next = next_seg(current, dir); UNSUPPORTED("2gosr1fjv173ysmvks0ybbgvt"); // if(!current->isVert) { UNSUPPORTED("4v64kcbbxxsk315fnsi8ya930"); // if(next->comm_coord==current->p.p1) { UNSUPPORTED("6gkb69knhwko2b5weglnqbil9"); // if(current->l1==B_UP) ans *= -1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("2o8y0vj6uxky1dqkbntiyges"); // if(current->l2==B_DOWN) ans *= -1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("4v64kcbbxxsk315fnsi8ya930"); // if(next->comm_coord==current->p.p1) { UNSUPPORTED("bzsdu04we48ifrljpe0az0g4j"); // if(current->l1==B_RIGHT) ans *= -1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("2q2w4w0cp24ko6jdyfchiodyq"); // if(current->l2==B_LEFT) ans *= -1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("10sew6kuf3dcpt2wqk10ptksi"); // current = next; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dhivmxtyss2i31bgun146pdvx"); // return(ans); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bp53nx2ri4vm9anrojt7u7c2u // static int is_parallel(segment* s1, segment* s2) public static Object is_parallel(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("ddygyr541ybi2kvxacd9n2m9j"); // is_parallel(segment* s1, segment* s2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("51or2j2w3vw4tt3ek3h4o7r2t"); // assert (s1->comm_coord==s2->comm_coord); UNSUPPORTED("9gufgbv51f5we43a6jx1uyqh9"); // return ((s1->p.p1==s2->p.p1)&& UNSUPPORTED("4cxvzf3a2g1ubcxf02lgmj2xh"); // (s1->p.p2==s2->p.p2)&& UNSUPPORTED("bzty8iew02v127lmuh0uuecmi"); // (s1->l1==s2->l1)&& UNSUPPORTED("8ilakshy93x5k5my1hijj1fpw"); // (s1->l2==s2->l2)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5cy5xm5pageww1ken6y8teea4 // static pair decide_point(segment* si, segment* sj, int dir1, int dir2) public static Object decide_point(Object... arg) { UNSUPPORTED("f1byl3savsjxfld9h2fobwfo3"); // static pair UNSUPPORTED("7l2qer0l7u4rucnbo5kqj4vgc"); // decide_point(segment* si, segment* sj, int dir1, int dir2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dfk7h3txri9a3b4e7wkrzosju"); // int prec, ans = 0, temp; UNSUPPORTED("axbwlxs3xs2c5t2is2ke1ham5"); // pair ret; UNSUPPORTED("36dbtz3qjw44q55zoxfkmkykb"); // segment* np1; UNSUPPORTED("b95suv5ftmjl1s7ra4hrpi2db"); // segment* np2; UNSUPPORTED("afc9pg3q0h9ku0fioayd8nokq"); // while ((np1 = next_seg(si,dir1)) && (np2 = next_seg(sj,dir2)) && UNSUPPORTED("a0ti049y8u1wrflxigii3nmuq"); // is_parallel(np1, np2)) { UNSUPPORTED("aunxscflrorekqz8lv1sco0h1"); // ans++; UNSUPPORTED("ok657kaukdbv5j6b55n9lu6c"); // si = np1; UNSUPPORTED("7e7drakmuxwngzq18f1lbsn1g"); // sj = np2; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4z9en58svufdyqqt3fyi3z80j"); // if (!np1) UNSUPPORTED("98h93apvsb643md8j6fnbun83"); // prec = 0; UNSUPPORTED("8p3l7vg6fa42z5f9qr4kcwdbk"); // else if (!np2) UNSUPPORTED("9o9tshvh3903w7oznf4dx4ksw"); // assert(0); /* FIXME */ UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("9sednl43da21gajvwpmk1pyle"); // temp = seg_cmp(np1, np2); UNSUPPORTED("bojwazeev7k8w4xnz842s9dc6"); // prec = propagate_prec(np1, temp, ans+1, 1-dir1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c46mwi9n2qk3nz5az4iu04e2s"); // ret.a = ans; UNSUPPORTED("5vibf15888faapk0uzvvophg9"); // ret.b = prec; UNSUPPORTED("35t727xxibdqfcn6xwikpae5w"); // return(ret); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lqaqtqdkw9rqhmyltdrzs6xy // static void set_parallel_edges (segment* seg1, segment* seg2, int dir1, int dir2, int hops, maze* mp) public static Object set_parallel_edges(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("3p9s2fmb4u10tilwejs0l9pp1"); // set_parallel_edges (segment* seg1, segment* seg2, int dir1, int dir2, int hops, UNSUPPORTED("1rikd6gjoe3cvxggpkhj7z34d"); // maze* mp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dpr58lv2eeka28wequlp2xrzl"); // int x; UNSUPPORTED("7pmetyg241ybw8hq3j61i271y"); // channel* chan; UNSUPPORTED("81v3bzorfnk43chwizhwmbb1n"); // channel* nchan; UNSUPPORTED("2qv0nvdra5zvo2b2ewep1ala4"); // segment* prev1; UNSUPPORTED("6s95g7xlatuyfm26klez18no0"); // segment* prev2; UNSUPPORTED("430rnwqjk85b89sh9kt07e6a0"); // if (seg1->isVert) UNSUPPORTED("4m8jh0bz7h9xwt55zl1stxnm8"); // chan = chanSearch(mp->vchans, seg1); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("4sukugpamblizlwievszn8nl3"); // chan = chanSearch(mp->hchans, seg1); UNSUPPORTED("1elt521vxb74ewc1nqabq3gby"); // insert_edge(chan->G, seg1->ind_no, seg2->ind_no); UNSUPPORTED("2n7xloj5t3tkvc8h58imqk8td"); // for (x=1;x<=hops;x++) { UNSUPPORTED("iytowix4us30gxbxx69ke9rn"); // prev1 = next_seg(seg1, dir1); UNSUPPORTED("9v39bw7og01cgrd9fnjubn0pi"); // prev2 = next_seg(seg2, dir2); UNSUPPORTED("7q2x5kqynrhvcsduekv09bdn4"); // if(!seg1->isVert) { UNSUPPORTED("7hs0lytek5umsxrj0a6jc8t5f"); // nchan = chanSearch(mp->vchans, prev1); UNSUPPORTED("7lpjkbjai262xfygabcg0nwnu"); // if(prev1->comm_coord==seg1->p.p1) { UNSUPPORTED("13ucbaachj06c0mvgupkiswfl"); // if(seg1->l1==B_UP) { UNSUPPORTED("e14484zac1ca6tr55nq056y2s"); // if(edge_exists(chan->G, seg1->ind_no, seg2->ind_no)) UNSUPPORTED("850me5iwi1gvweet5jzd7lqwy"); // insert_edge(nchan->G, prev2->ind_no, prev1->ind_no); UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else UNSUPPORTED("9jmkjj0x67qxhr4shs6ibvgk3"); // insert_edge(nchan->G, prev1->ind_no, prev2->ind_no); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else { UNSUPPORTED("e14484zac1ca6tr55nq056y2s"); // if(edge_exists(chan->G, seg1->ind_no, seg2->ind_no)) UNSUPPORTED("9jmkjj0x67qxhr4shs6ibvgk3"); // insert_edge(nchan->G, prev1->ind_no, prev2->ind_no); UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else UNSUPPORTED("850me5iwi1gvweet5jzd7lqwy"); // insert_edge(nchan->G, prev2->ind_no, prev1->ind_no); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("8vywd7o1vdaaij4z9jtx8pi63"); // if(seg1->l2==B_UP) { UNSUPPORTED("e14484zac1ca6tr55nq056y2s"); // if(edge_exists(chan->G, seg1->ind_no, seg2->ind_no)) UNSUPPORTED("173hlqu5ukdae2k6wt7ch1x8p"); // insert_edge(nchan->G,prev1->ind_no, prev2->ind_no); UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else UNSUPPORTED("7lby5m10dvjryzfv32elha7cq"); // insert_edge(nchan->G,prev2->ind_no, prev1->ind_no); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else { UNSUPPORTED("e14484zac1ca6tr55nq056y2s"); // if(edge_exists(chan->G, seg1->ind_no, seg2->ind_no)) UNSUPPORTED("850me5iwi1gvweet5jzd7lqwy"); // insert_edge(nchan->G, prev2->ind_no, prev1->ind_no); UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else UNSUPPORTED("9jmkjj0x67qxhr4shs6ibvgk3"); // insert_edge(nchan->G, prev1->ind_no, prev2->ind_no); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("9tap010f91m7yxd7a77xcc6gy"); // nchan = chanSearch(mp->hchans, prev1); UNSUPPORTED("7lpjkbjai262xfygabcg0nwnu"); // if(prev1->comm_coord==seg1->p.p1) { UNSUPPORTED("bv0pfzaflx2zmsfq7fl4fumox"); // if(seg1->l1==B_LEFT) { UNSUPPORTED("e14484zac1ca6tr55nq056y2s"); // if(edge_exists(chan->G, seg1->ind_no, seg2->ind_no)) UNSUPPORTED("9jmkjj0x67qxhr4shs6ibvgk3"); // insert_edge(nchan->G, prev1->ind_no, prev2->ind_no); UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else UNSUPPORTED("850me5iwi1gvweet5jzd7lqwy"); // insert_edge(nchan->G, prev2->ind_no, prev1->ind_no); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else { UNSUPPORTED("e14484zac1ca6tr55nq056y2s"); // if(edge_exists(chan->G, seg1->ind_no, seg2->ind_no)) UNSUPPORTED("850me5iwi1gvweet5jzd7lqwy"); // insert_edge(nchan->G, prev2->ind_no, prev1->ind_no); UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else UNSUPPORTED("9jmkjj0x67qxhr4shs6ibvgk3"); // insert_edge(nchan->G, prev1->ind_no, prev2->ind_no); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("nvpd9xg7sp7w29u53zc5n7om"); // if(seg1->l2==B_LEFT) { UNSUPPORTED("e14484zac1ca6tr55nq056y2s"); // if(edge_exists(chan->G, seg1->ind_no, seg2->ind_no)) UNSUPPORTED("850me5iwi1gvweet5jzd7lqwy"); // insert_edge(nchan->G, prev2->ind_no, prev1->ind_no); UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else UNSUPPORTED("9jmkjj0x67qxhr4shs6ibvgk3"); // insert_edge(nchan->G, prev1->ind_no, prev2->ind_no); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else { UNSUPPORTED("e14484zac1ca6tr55nq056y2s"); // if(edge_exists(chan->G, seg1->ind_no, seg2->ind_no)) UNSUPPORTED("9jmkjj0x67qxhr4shs6ibvgk3"); // insert_edge(nchan->G, prev1->ind_no, prev2->ind_no); UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else UNSUPPORTED("850me5iwi1gvweet5jzd7lqwy"); // insert_edge(nchan->G, prev2->ind_no, prev1->ind_no); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3d9r09rxjpct04hoj66705cp1"); // chan = nchan; UNSUPPORTED("2c2yvnaxh16x89y9hq4w5yk1m"); // seg1 = prev1; UNSUPPORTED("11ckhoc2b2u2dsurx9qg07st6"); // seg2 = prev2; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 38cpeb1o8uvzyjd93p234ds9f // static void removeEdge(segment* seg1, segment* seg2, int dir, maze* mp) public static Object removeEdge(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("6sgltkpz58p9krap0y1sbvj6k"); // removeEdge(segment* seg1, segment* seg2, int dir, maze* mp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("szrq58jnhhhevz1yqgbr4ck2"); // segment* ptr1; UNSUPPORTED("31dak66p4n83b984pfixwotla"); // segment* ptr2; UNSUPPORTED("7pmetyg241ybw8hq3j61i271y"); // channel* chan; UNSUPPORTED("3f6utfpnejoda18juym1fb1ko"); // ptr1 = seg1; UNSUPPORTED("4zdcf2h90axz04i03w6ttg5k4"); // ptr2 = seg2; UNSUPPORTED("bnoomvnxrkeudsz6vyirx44uc"); // while(is_parallel(ptr1, ptr2)) { UNSUPPORTED("bgoj9z4ow368rwa0wiqpvom0o"); // ptr1 = next_seg(ptr1, 1); UNSUPPORTED("6k9a6lk6tlg00as6qklki8xiz"); // ptr2 = next_seg(ptr2, dir); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ai7oa06ous30ke73ob1k1h6go"); // if(ptr1->isVert) UNSUPPORTED("7qlxjn3a1d6nys3x5s0ngrs5q"); // chan = chanSearch(mp->vchans, ptr1); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("79qdq8et7m2rlyh1z4wss3y1n"); // chan = chanSearch(mp->hchans, ptr1); UNSUPPORTED("1f4mrzxo4q83k5yazad1hezbb"); // remove_redge (chan->G, ptr1->ind_no, ptr2->ind_no); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eiig50kmclab4ei88pq4soo34 // static void addPEdges (channel* cp, maze* mp) public static Object addPEdges(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("68fs5heyk95e6jn74c6cgq01t"); // addPEdges (channel* cp, maze* mp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8nbbb2xvtigkcv51627tsphb7"); // int i,j; UNSUPPORTED("691z894ert27013tlk15hh2qh"); // /* dir[1,2] are used to figure out whether we should use prev UNSUPPORTED("d52bbwvlo6xaftcxmyc07f9w5"); // * pointers or next pointers -- 0 : decrease, 1 : increase UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("2ihd1217lj7h5zt9n0d1q5cna"); // int dir; UNSUPPORTED("2ur22e7h79m2ohnopwac8a76b"); // /* number of hops along the route to get to the deciding points */ UNSUPPORTED("8czu5hbarwrdzcuxp2djvv4rp"); // pair hops; UNSUPPORTED("3cz2vt0y2kw2ogxww3u2j1kl6"); // /* precedences of the deciding points : same convention as UNSUPPORTED("1tpdmm5wve9rduvay2ahgvle9"); // * seg_cmp function UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("522qtrew5eqvwpn5wxnu2k9dn"); // int prec1, prec2; UNSUPPORTED("1fnwnz6zqrixdpfmd5wf4hbj"); // pair p; UNSUPPORTED("dmbfnx3582vhxsi4o65ruesyn"); // rawgraph* G = cp->G; UNSUPPORTED("7hb8fcc74usveupz7kgy2qol3"); // segment** segs = cp->seg_list; UNSUPPORTED("39nnkurg9t4qq74t5jz3zkjrl"); // for(i=0;i+1cnt;i++) { UNSUPPORTED("6a9jbb5aterxr0g0hiu2pyhld"); // for(j=i+1;jcnt;j++) { UNSUPPORTED("3dvaxn4ireem858ssmcsr58hn"); // if (!edge_exists(G,i,j) && !edge_exists(G,j,i)) { UNSUPPORTED("dpy9omkq97zyoo9w1inx3pbm9"); // if (is_parallel(segs[i], segs[j])) { UNSUPPORTED("6ig9p93cmed2v70a0npblnlxp"); // /* get_directions */ UNSUPPORTED("amvy33u98h6r9qq7ugnuf2nlz"); // if(segs[i]->prev==0) { UNSUPPORTED("cc25alanei7n0arh5bqailcv4"); // if(segs[j]->prev==0) UNSUPPORTED("27dopm02s7e623flmf0oyucf6"); // dir = 0; UNSUPPORTED("cqgi8f4d37bqva8z6bx5rvn7w"); // else UNSUPPORTED("afmb9itetac5509pz0vzquffn"); // dir = 1; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6tva5tknk59csaydjoaehlxqy"); // else if(segs[j]->prev==0) { UNSUPPORTED("bf3scu300t9b1jl5wrxkahki9"); // dir = 1; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("cphaexi33y32dnefwtu3jsom4"); // else { UNSUPPORTED("ay1tigliz8fu739c3s4lnp4c8"); // if(segs[i]->prev->comm_coord==segs[j]->prev->comm_coord) UNSUPPORTED("27dopm02s7e623flmf0oyucf6"); // dir = 0; UNSUPPORTED("cqgi8f4d37bqva8z6bx5rvn7w"); // else UNSUPPORTED("afmb9itetac5509pz0vzquffn"); // dir = 1; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("2h9ts7wzrya1rr66lklhh0rda"); // p = decide_point(segs[i], segs[j], 0, dir); UNSUPPORTED("y15vvy2yhgh75hmjibm6d0tv"); // hops.a = p.a; UNSUPPORTED("6y60dh26moscelbp5xfex7fy7"); // prec1 = p.b; UNSUPPORTED("1fwna4qrlam89qjgrsjnzwkuc"); // p = decide_point(segs[i], segs[j], 1, 1-dir); UNSUPPORTED("7ck6vr1ic310ui6v7y8lcpwbh"); // hops.b = p.a; UNSUPPORTED("564q1rsht56yza954y2x1jtm"); // prec2 = p.b; UNSUPPORTED("dtcs9mr4kwcta690gbrwlt910"); // switch(prec1) { UNSUPPORTED("7xhopigym72b3wkri4tfjy1dy"); // case -1 : UNSUPPORTED("enqa6da4597ij1v8v5x3f251q"); // set_parallel_edges (segs[j], segs[i], dir, 0, hops.a, mp); UNSUPPORTED("6diyb5ikl44b7ym0eennr0yq6"); // set_parallel_edges (segs[j], segs[i], 1-dir, 1, hops.b, mp); UNSUPPORTED("5r2jji4zmdfrbfwx99e4tv69i"); // if(prec2==1) UNSUPPORTED("8x6usd0clpqn19g8onqqgzjn4"); // removeEdge (segs[i], segs[j], 1-dir, mp); UNSUPPORTED("a5064jph9xpw67dcun2my4mcm"); // break; UNSUPPORTED("22xfu28lqt3r284k47pbuy7cz"); // case 0 : UNSUPPORTED("4dfzzbp1vuxk64hoh65xa34yc"); // switch(prec2) { UNSUPPORTED("4gsejoo0eevrt7un6e6qn989l"); // case -1: UNSUPPORTED("emhqawmwj90tfh02qk8r1pk0v"); // set_parallel_edges (segs[j], segs[i], dir, 0, hops.a, mp); UNSUPPORTED("9n3o6zltbzimqd4msu9ngqtyd"); // set_parallel_edges (segs[j], segs[i], 1-dir, 1, hops.b, mp); UNSUPPORTED("a4shncx2bmdaa04gvja9v2blz"); // break; UNSUPPORTED("9bar4olfqd3r7389ggqw5djvq"); // case 0 : UNSUPPORTED("2s64t77sytwec1d6n2jbf74wc"); // set_parallel_edges (segs[i], segs[j], 0, dir, hops.a, mp); UNSUPPORTED("6r0468haso97c6g4zkdfg9kt2"); // set_parallel_edges (segs[i], segs[j], 1, 1-dir, hops.b, mp); UNSUPPORTED("a4shncx2bmdaa04gvja9v2blz"); // break; UNSUPPORTED("4yd30eh9icuxnqotseihb7l4w"); // case 1: UNSUPPORTED("2s64t77sytwec1d6n2jbf74wc"); // set_parallel_edges (segs[i], segs[j], 0, dir, hops.a, mp); UNSUPPORTED("6r0468haso97c6g4zkdfg9kt2"); // set_parallel_edges (segs[i], segs[j], 1, 1-dir, hops.b, mp); UNSUPPORTED("a4shncx2bmdaa04gvja9v2blz"); // break; UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // } UNSUPPORTED("a5064jph9xpw67dcun2my4mcm"); // break; UNSUPPORTED("7725wrsrh4ancb1bh89l3x12r"); // case 1 : UNSUPPORTED("3ubmnbt9kypi1ptpye7w37vkl"); // set_parallel_edges (segs[i], segs[j], 0, dir, hops.a, mp); UNSUPPORTED("4s97q82e6wclxf2y8jhzfh14k"); // set_parallel_edges (segs[i], segs[j], 1, 1-dir, hops.b, mp); UNSUPPORTED("5zh7u5zg9v4zshpcfsj3brwfk"); // if(prec2==-1) UNSUPPORTED("8x6usd0clpqn19g8onqqgzjn4"); // removeEdge (segs[i], segs[j], 1-dir, mp); UNSUPPORTED("a5064jph9xpw67dcun2my4mcm"); // break; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 98d1c54yaxchy0ms0e99lst7s // static void add_p_edges (Dt_t* chans, maze* mp) public static Object add_p_edges(Object... arg) { UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void UNSUPPORTED("5ebboq5zrhtd0rfaeawkl5s2f"); // add_p_edges (Dt_t* chans, maze* mp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("a4p8766eh6ra21i7u5o9nf6rm"); // Dt_t* lp; UNSUPPORTED("1mqjeo37v4tmo6kht0rep1tht"); // Dtlink_t* l1; UNSUPPORTED("eiqtkkndttzmunuxtnm99mkpy"); // Dtlink_t* l2; UNSUPPORTED("cp4kv1fg74up3ubek2qyx8d25"); // for (l1 = dtflatten (chans); l1; l1 = (((Dtlink_t*)(l1))->right)) { UNSUPPORTED("950o75hi1nj794oxa101pt5t0"); // lp = ((chanItem*)l1)->chans; UNSUPPORTED("71dqer4eeiqshvsh6rbj0kis5"); // for (l2 = dtflatten (lp); l2; l2 = (((Dtlink_t*)(l2))->right)) { UNSUPPORTED("di14tjuua1p9n96grrfboue6o"); // addPEdges ((channel*)l2, mp); UNSUPPORTED("9pqd0punhe3g1up9qd8xxo652"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxsh28469kd6r9fen9l7v8f2w // static void assignTracks (int nrtes, route* route_list, maze* mp) public static Object assignTracks(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("e80kmdu0n8gwftxrcchppqznf"); // assignTracks (int nrtes, route* route_list, maze* mp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("26qmbe7syf8caazopicbw1o73"); // /* Create the graphs for each channel */ UNSUPPORTED("5kswlmxeu7z6znausks9omj52"); // create_graphs(mp->hchans); UNSUPPORTED("1qo05yt4o0eiyn1axxxfiecee"); // create_graphs(mp->vchans); UNSUPPORTED("9k9f44tgb14d6rvcxauyk4kg3"); // /* add edges between non-parallel segments */ UNSUPPORTED("2bpipgzzkyey9l1jwcx2ytvc0"); // add_np_edges(mp->hchans); UNSUPPORTED("7fju2e1xyweu6benhq0akolab"); // add_np_edges(mp->vchans); UNSUPPORTED("a2akrqgy2t88akl274eg0somv"); // /* add edges between parallel segments + remove appropriate edges */ UNSUPPORTED("5zdimrk15jv0lju7twpsqz29m"); // add_p_edges(mp->hchans, mp); UNSUPPORTED("9bqggms2mbxxvkbh0u4jidv0l"); // add_p_edges(mp->vchans, mp); UNSUPPORTED("9envbpdpd498dstkls2pqtswo"); // /* Assign the tracks after a top sort */ UNSUPPORTED("10z0c5n6u2v6o7td59aig5lfd"); // assignTrackNo (mp->hchans); UNSUPPORTED("t8kw88xoabf7nbvqv8ds7www"); // assignTrackNo (mp->vchans); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 udi38qq74cw0pvrqn6g1yle5 // static double vtrack (segment* seg, maze* m) public static Object vtrack(Object... arg) { UNSUPPORTED("lt6cippjix5bbvyhkcpl8g7g"); // static double UNSUPPORTED("19x5ivyvkfhintu5d2rpflcvo"); // vtrack (segment* seg, maze* m) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1xvv17gm5rfjinvy3gmnsc2ke"); // channel* chp = chanSearch(m->vchans, seg); UNSUPPORTED("76k3vszrhcky681kek2r7d5h9"); // double f = ((double)seg->track_no)/(chp->cnt+1); UNSUPPORTED("2ug8vx71z1uw4iw38ehgqdc7g"); // double left = chp->cp->bb.LL.x; UNSUPPORTED("f2ozrx5u8liyshw7972fqzlry"); // double right = chp->cp->bb.UR.x; UNSUPPORTED("2gju483ltduiu0c964t9ir9wa"); // return left + f*(right-left); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3cqaxjb6pietkwiyugn6h26kd // static int htrack (segment* seg, maze* m) public static Object htrack(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("a2hs7lm69vuj9mt0513f8z4oz"); // htrack (segment* seg, maze* m) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("40ntn3e9uwr1zuuu2sbtdsa6w"); // channel* chp = chanSearch(m->hchans, seg); UNSUPPORTED("erszzli51plsbzcgsn48c0180"); // double f = 1.0 - ((double)seg->track_no)/(chp->cnt+1); UNSUPPORTED("4i67gabp0r3u9scclorhs3ktm"); // double lo = chp->cp->bb.LL.y; UNSUPPORTED("4p8tiujx3t2fm7is5dxnoqxhe"); // double hi = chp->cp->bb.UR.y; UNSUPPORTED("83od9je177vrwp4ps0kbd4szw"); // return lo + f*(hi-lo); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 83e5ejcqta67f2p2asgbtfaoi // static pointf addPoints(pointf p0, pointf p1) public static Object addPoints(Object... arg) { UNSUPPORTED("2zzd7mrm2u540dwuyzehozffj"); // static pointf UNSUPPORTED("682qkd4mibtnxpxyv5orrsjtx"); // addPoints(pointf p0, pointf p1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("f5hox117bxx1r58lcs3udisoe"); // p0.x += p1.x; UNSUPPORTED("ujsxixrtu1t8f32elbvw8dwa"); // p0.y += p1.y; UNSUPPORTED("3eojsvh2rm970fcai0twfpvnl"); // return p0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a0iuxsb2zu9l7k8a3v4ixv00e // static void attachOrthoEdges (Agraph_t* g, maze* mp, int n_edges, route* route_list, splineInfo *sinfo, epair_t es[], int doLbls) public static Object attachOrthoEdges(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("cspgusupjxy5utjicgxrmrq7w"); // attachOrthoEdges (Agraph_t* g, maze* mp, int n_edges, route* route_list, splineInfo *sinfo, epair_t es[], int doLbls) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bzsk5t9x5gtbz8fnomb2f9s4v"); // int irte = 0; UNSUPPORTED("9guu55302lj09t48j16nqyxbq"); // int i, ipt, npts; UNSUPPORTED("5b40dnpfc88et1cia7fuj40yb"); // pointf* ispline = 0; UNSUPPORTED("dprplco8u5mu9i11jo6go6bcy"); // int splsz = 0; UNSUPPORTED("2asgcu0nywvhoazecb6ofcubs"); // pointf p, p1, q1; UNSUPPORTED("76tjoqkn7jsh2pn0trcuu3nvs"); // route rte; UNSUPPORTED("9ixgpcejsl25oetqsy1ewnfnu"); // segment* seg; UNSUPPORTED("6yramhpyls8c6kexupyqip8oq"); // Agedge_t* e; UNSUPPORTED("ef044lvbrsjiucn4ouhr6x2qb"); // textlabel_t* lbl; UNSUPPORTED("77xmhk7dbpg0c00j8666pclyi"); // for (; irte < n_edges; irte++) { UNSUPPORTED("bv52iygkt2gg4gzoyp4c9wk6b"); // e = es[irte].e; UNSUPPORTED("ay9p5i1iubyhzon5z6a3jrw9n"); // p1 = addPoints(ND_coord(agtail(e)), ED_tail_port(e).p); UNSUPPORTED("4z87m5xmyxfqf4gbe4pskna9n"); // q1 = addPoints(ND_coord(aghead(e)), ED_head_port(e).p); UNSUPPORTED("8wciy7quxxigt8dwxr9ctgk2d"); // rte = route_list[irte]; UNSUPPORTED("6ed9g47vzboko6g0h5y17e1ou"); // npts = 1 + 3*rte.n; UNSUPPORTED("efs0cd713nnm7zxrgb0l11wz"); // if (npts > splsz) { UNSUPPORTED("5d7b0ws1zxf4b536zojp5j1gy"); // if (ispline) free (ispline); UNSUPPORTED("dqxwk098ekx7gst5gdhr310bc"); // ispline = (pointf*)gmalloc((npts)*sizeof(pointf)); UNSUPPORTED("e4i1tff7gmkjg8kevj7hw8gs1"); // splsz = npts; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1ry9c35mgaxl2ivjx1h2v5cr0"); // seg = rte.segs; UNSUPPORTED("6pz2d4cdoe2l7351iysy6x98p"); // if (seg->isVert) { UNSUPPORTED("91n0eh3r7wj0n97kdj9ld31kj"); // p.x = vtrack(seg, mp); UNSUPPORTED("45fe06ci8qec4u7eii52becqh"); // p.y = p1.y; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("9t5iimum2tu1jo5tlcx6m7fhq"); // p.y = htrack(seg, mp); UNSUPPORTED("8je4vuu6jnq5fu4znanftosq8"); // p.x = p1.x; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("76sz3tzo9psbgiwiel6nlkhyd"); // ispline[0] = ispline[1] = p; UNSUPPORTED("2xvzqz1y0roznr4j0qz8gdn97"); // ipt = 2; UNSUPPORTED("ehl4i682tsgw4ev386bxd9bvk"); // for (i = 1;iisVert) UNSUPPORTED("5ordk0g9tt85vst6tn9y7yw5e"); // p.x = vtrack(seg, mp); UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("2e3jl8piax6scxsrx2jl4mn0m"); // p.y = htrack(seg, mp); UNSUPPORTED("5zlu7lc3edxwcalx4u2toh91o"); // ispline[ipt+2] = ispline[ipt+1] = ispline[ipt] = p; UNSUPPORTED("1h4km88eju8ubv62x2a9mwdzm"); // ipt += 3; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6pz2d4cdoe2l7351iysy6x98p"); // if (seg->isVert) { UNSUPPORTED("91n0eh3r7wj0n97kdj9ld31kj"); // p.x = vtrack(seg, mp); UNSUPPORTED("obj8bne89a63k09t0vg3ksax"); // p.y = q1.y; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("9t5iimum2tu1jo5tlcx6m7fhq"); // p.y = htrack(seg, mp); UNSUPPORTED("cwlvttt636ou35je24a6zn8fw"); // p.x = q1.x; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6883d1dn4elcixp0dy2yzu4ck"); // ispline[ipt] = ispline[ipt+1] = p; UNSUPPORTED("e7wcbocwpb0ubwm19n3qdsfdu"); // if (Verbose > 1) UNSUPPORTED("6243buyivvpmixvapfka7f2n3"); // fprintf(stderr, "ortho %s %s\n", agnameof(agtail(e)),agnameof(aghead(e))); UNSUPPORTED("aiznf16jsmgfywhbln59n8weh"); // clip_and_install(e, aghead(e), ispline, npts, sinfo); UNSUPPORTED("5odapjhwjcy61acm5m79qw8fs"); // if (doLbls && (lbl = ED_label(e)) && !lbl->set) UNSUPPORTED("2bpsdc28nv5l876oe7rqtanlx"); // addEdgeLabels(g, e, p1, q1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c0bfcb8svwdkq95cokqra1pi2"); // free(ispline); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e71zkztxzapvl1mgiq8p5gzzs // static int edgeLen (Agedge_t* e) public static Object edgeLen(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("4eh66xikxzh6l4lhjcmvtv8cn"); // edgeLen (Agedge_t* e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1vcqzavbye1orax38cfndljrr"); // pointf p = ND_coord(agtail(e)); UNSUPPORTED("d1qthvuzf3w3d5qujx199xm23"); // pointf q = ND_coord(aghead(e)); UNSUPPORTED("7b42di3iyhbsuhhw6yaw6539m"); // return (int)DIST2(p,q); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7afj2qnluiytxt8hvcnhreb2 // static int edgecmp(epair_t* e0, epair_t* e1) public static Object edgecmp(Object... arg) { UNSUPPORTED("4biy4n19ul16vp6vcv9xmui1i"); // static int edgecmp(epair_t* e0, epair_t* e1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dlcw570tkt0usu32yvwm8cd3q"); // return (e0->d - e1->d); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 v4bpabyggw2gk3qw5qiapig9 // static boolean spline_merge(node_t * n) public static Object spline_merge(Object... arg) { UNSUPPORTED("676qpx3n8ouo1wjyumn6zmyxp"); // static boolean spline_merge(node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 90yjqn8lf9ig968uma0q5sh34 // static boolean swap_ends_p(edge_t * e) public static Object swap_ends_p(Object... arg) { UNSUPPORTED("3fjj0uj2p25pitmluszw94p02"); // static boolean swap_ends_p(edge_t * e) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 9nmy74adtwr7rthq8xzoptzrf // static splineInfo sinfo = //3 9rb5k3o906weqm31n2i8lv5so // void orthoEdges (Agraph_t* g, int doLbls) public static Object orthoEdges(Object... arg) { UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void UNSUPPORTED("9ttq9irkfbqsx0q7wcnetzy74"); // orthoEdges (Agraph_t* g, int doLbls) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2omyui5qg1nq6by9uehikdjsy"); // sgraph* sg; UNSUPPORTED("7cg9ke1jhysixb020x5an69jv"); // maze* mp; UNSUPPORTED("cu6yxi1acnq5g0btge7zjdkm0"); // int n_edges; UNSUPPORTED("9ro0xuxbh1xd61xqzcaaadikl"); // route* route_list; UNSUPPORTED("bl7f59ax29638dd6kka6eopr"); // int i, gstart; UNSUPPORTED("ci2zh69w6nhi0q816i1ixuy9k"); // Agnode_t* n; UNSUPPORTED("6yramhpyls8c6kexupyqip8oq"); // Agedge_t* e; UNSUPPORTED("7kt5z7l3gj30fc2g11brz7hn3"); // snode* sn; UNSUPPORTED("4lm0qpz2knefonz0ik550n9qi"); // snode* dn; UNSUPPORTED("f0kzqokjxzhga3oyrmev903hw"); // epair_t* es = (epair_t*)gmalloc((agnedges(g))*sizeof(epair_t)); UNSUPPORTED("ih7y3b036cc7gqpd8tqtpr9q"); // cell* start; UNSUPPORTED("1jv0h6v7ggk7dfm6oqzs4u3lj"); // cell* dest; UNSUPPORTED("4vt2v1dwhho9ajlyh6nnd1d8h"); // PointSet* ps; UNSUPPORTED("ef044lvbrsjiucn4ouhr6x2qb"); // textlabel_t* lbl; UNSUPPORTED("e800kdbiqq8i4me0u6fwkd370"); // if (Concentrate) UNSUPPORTED("7r91fjc8u70111hbxlvqd7ktw"); // ps = newPS(); UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("9wn8pvvih4vrawe5alvfhm9yn"); // char* s = agget(g, "odb"); UNSUPPORTED("b8c7bwegidsegu11m5xttb11j"); // char c; UNSUPPORTED("1jro8v0ct38i7wcl91bk3ic3e"); // odb_flags = 0; UNSUPPORTED("3jmzbbt2cpizqt2dufx87w3al"); // if (s && (*s != '\0')) { UNSUPPORTED("7ns3g2gy7v368e78t92w9xfwe"); // while ((c = *s++)) { UNSUPPORTED("2mo7busikqaj4ukkdtf5zm8ik"); // switch (c) { UNSUPPORTED("ahx4iaogjvo14pciwab02xzsk"); // case 'c' : UNSUPPORTED("eai7hbieqphsrvjgzprem79fi"); // odb_flags |= 8; // emit channel graph UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break; UNSUPPORTED("3dcblef3ry3y3dukenp1w4dfg"); // case 'i' : UNSUPPORTED("8f1c36fjkua8s8jgm0zigqvgv"); // odb_flags |= (2|16); // emit search graphs UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break; UNSUPPORTED("a5nt85f0rq0jcipae19734270"); // case 'm' : UNSUPPORTED("6jh77aqljluu3rx42j6uz2wog"); // odb_flags |= 1; // emit maze UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break; UNSUPPORTED("ci305ii9fygih5qjkc9cb43gn"); // case 'r' : UNSUPPORTED("db7u5t19gdpwvuygsvb2vjc3d"); // odb_flags |= 4; // emit routes in maze UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break; UNSUPPORTED("bt1b5biu9zb9zccgj0cr658xz"); // case 's' : UNSUPPORTED("3uqs3qb95942pbzmg53uqc42a"); // odb_flags |= 2; // emit search graph UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("71u00vuawtzqg4gz0lsai1m4a"); // if (doLbls) { UNSUPPORTED("10xzs4g55w92883ej7ty5glms"); // agerr(AGWARN, "Orthogonal edges do not currently handle edge labels. Try using xlabels.\n"); UNSUPPORTED("ditf90dyqp9mua87s8pumvi32"); // doLbls = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("etv0iiw2ala4rlayc040wzggy"); // mp = mkMaze (g, doLbls); UNSUPPORTED("4mmgpe06gcmxv31p3y6ipyf5s"); // sg = mp->sg; UNSUPPORTED("emjkv8wxfnbb355266hsa90ni"); // if (odb_flags & 2) emitSearchGraph (stderr, sg); UNSUPPORTED("6kfj8qzl4paerer9gefcgsf7h"); // /* store edges to be routed in es, along with their lengths */ UNSUPPORTED("c8047kmsz3vp9lv0w3cw7yas8"); // n_edges = 0; UNSUPPORTED("ef1ej9licmntta3ibshtov76v"); // for (n = agfstnode (g); n; n = agnxtnode(g, n)) { UNSUPPORTED("bojcrt9w5b2e0csoijdzfkvq9"); // for (e = agfstout(g, n); e; e = agnxtout(g,e)) { UNSUPPORTED("2xpa4q3kqyqhcc2z6j7asagqt"); // if ((Nop == 2) && ED_spl(e)) continue; UNSUPPORTED("41rwk0z8paqjc2mcm2a1byosa"); // if (Concentrate) { UNSUPPORTED("9luudm8wqdv4jx4s0ustrk6br"); // int ti = AGSEQ(agtail(e)); UNSUPPORTED("c976iy0d8sqzcrczrfzsoevxv"); // int hi = AGSEQ(aghead(e)); UNSUPPORTED("48wqpeunj9fn8sno227cy07cn"); // if (ti <= hi) { UNSUPPORTED("4xk5rpi8h5diyml5ko1c9pb4o"); // if (isInPS (ps,ti,hi)) continue; UNSUPPORTED("eufspanc57875qmod8zz8vvj"); // else addPS (ps,ti,hi); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else { UNSUPPORTED("9g3uik8w4uis1skxgzm9wfjkr"); // if (isInPS (ps,hi,ti)) continue; UNSUPPORTED("ckw8orokucnmrq9rly0vp6483"); // else addPS (ps,hi,ti); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("disvm7blt6qwq36jp0pcx05p8"); // es[n_edges].e = e; UNSUPPORTED("8treoc9xy0md6z4ggqb44auyg"); // es[n_edges].d = edgeLen (e); UNSUPPORTED("e9hecjb6c3qp2o2tya683ai62"); // n_edges++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("191cpw36uzdm3gqmxfphm1xbu"); // route_list = (route*)zmalloc((n_edges)*sizeof(route)); UNSUPPORTED("2gq02agovwtyskbeh5vefmslh"); // qsort((char *)es, n_edges, sizeof(epair_t), (qsort_cmpf) edgecmp); UNSUPPORTED("brl796jea4mql81k1b7ershdc"); // gstart = sg->nnodes; UNSUPPORTED("cs9x91hl58n3ub79e9ugvdn4x"); // PQgen (sg->nnodes+2); UNSUPPORTED("5d43q0fg31x5nwtqm0ata3zjz"); // sn = &sg->nodes[gstart]; UNSUPPORTED("66qkjbw0jrnak7d2s42h0jg70"); // dn = &sg->nodes[gstart+1]; UNSUPPORTED("6gdenpywxn3p3xidvp7z66cf1"); // for (i = 0; i < n_edges; i++) { UNSUPPORTED("49gwq06gbm2qhfpy2s6ar6gje"); // if ((i > 0) && (odb_flags & 16)) emitSearchGraph (stderr, sg); UNSUPPORTED("a80m8bfu7lu477kat2scc0z01"); // e = es[i].e; UNSUPPORTED("cod1w9an9gcxijan671a4atdt"); // start = ((cell*)ND_alg(agtail(e))); UNSUPPORTED("emi0a8wy2fz98d3tyq50nu13j"); // dest = ((cell*)ND_alg(aghead(e))); UNSUPPORTED("3n4xox18pqitgomsjx10rjonm"); // if (doLbls && (lbl = ED_label(e)) && lbl->set) { UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("596hk3sqi3zgv5ypngx0bx7mq"); // if (start == dest) UNSUPPORTED("d0zcyw4sme2i3mtmhe3hlbrmc"); // addLoop (sg, start, dn, sn); UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("3uirdblzfj10bp724w2p35bup"); // addNodeEdges (sg, dest, dn); UNSUPPORTED("52k51th88uehvgef7fd4gfbu6"); // addNodeEdges (sg, start, sn); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("dd3ztkz69q7dffhj4ihaizk6s"); // if (shortPath (sg, dn, sn)) goto orthofinish; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("nl2nzce1mtx118xuy1w9uq6v"); // route_list[i] = convertSPtoRoute(sg, sn, dn); UNSUPPORTED("bt25p7tmlvva5imw8gh97toy4"); // reset (sg); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9br7yf8ixw2vq0ih496kr0a3p"); // PQfree (); UNSUPPORTED("1h1p1wlchwso3mavejmc8cyxv"); // mp->hchans = extractHChans (mp); UNSUPPORTED("dbw3nbw93ongdgdhdtscvuxb8"); // mp->vchans = extractVChans (mp); UNSUPPORTED("9r77bxpkuu3nsxa0nttqjh0hl"); // assignSegs (n_edges, route_list, mp); UNSUPPORTED("bbjzso9cox08g0ax9rs132q90"); // if (setjmp(jbuf)) UNSUPPORTED("uycdh1qmy4ty2pb0zgz2v78a"); // goto orthofinish; UNSUPPORTED("41rz8iqv9lm60deshcar8hjxa"); // assignTracks (n_edges, route_list, mp); UNSUPPORTED("as0ctk4holgq03a3hl4doch8d"); // if (odb_flags & 4) emitGraph (stderr, mp, n_edges, route_list, es); UNSUPPORTED("c1p0r114sfd1lvyamywzbro10"); // attachOrthoEdges (g, mp, n_edges, route_list, &sinfo, es, doLbls); UNSUPPORTED("7e5qeaxbygknkdgnv53oq2u1e"); // orthofinish: UNSUPPORTED("2o1inibord55o8k32yn7kfrwl"); // if (Concentrate) UNSUPPORTED("ghiimsk3vbhjzh67h8pwbk95"); // freePS (ps); UNSUPPORTED("an57w0rx9dpimg8nf764q8n97"); // for (i=0; i < n_edges; i++) UNSUPPORTED("3fz1dnh6u4wislz0u5bxb5ugh"); // free (route_list[i].segs); UNSUPPORTED("570o41p0l7jgclg83j647v910"); // free (route_list); UNSUPPORTED("3pnwqn95p3wz9ni8ys8j0u5hv"); // freeMaze (mp); UNSUPPORTED("d507lsxnfvq57ccke7bica6zl"); // free (es); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 d9p47q2g7x3b0asfu3jvceq3l // static char* prolog2 = //1 475m5xvb3loybtd1l2z8rftoq // static char* epilog2 = //3 dx1s3vj94skvk7pmrz4s875l9 // static point coordOf (cell* cp, snode* np) public static Object coordOf(Object... arg) { UNSUPPORTED("5ji3k3tukj2uxmd2ympfpwtml"); // static point UNSUPPORTED("dd9sjhv4zfl34767d8g79k27"); // coordOf (cell* cp, snode* np) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("41nrdsugvfgw23s93g0dhizkn"); // point p; UNSUPPORTED("703pcgiucdy0i6g6mphde8dno"); // if (cp->sides[M_TOP] == np) { UNSUPPORTED("68easn97lilb2aqdb8frrsss1"); // p.x = (cp->bb.LL.x + cp->bb.UR.x)/2; UNSUPPORTED("6aab1cx7aql0barme21mg8zqj"); // p.y = cp->bb.UR.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("835f42b2b380czfp1110k8i9k"); // else if (cp->sides[M_BOTTOM] == np) { UNSUPPORTED("68easn97lilb2aqdb8frrsss1"); // p.x = (cp->bb.LL.x + cp->bb.UR.x)/2; UNSUPPORTED("2hak744886lhw45wamafgo56x"); // p.y = cp->bb.LL.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5ik2pzxq0pwcq7l7og6ti9ee3"); // else if (cp->sides[M_LEFT] == np) { UNSUPPORTED("1t69shrxanujd9qd85gq4qeng"); // p.y = (cp->bb.LL.y + cp->bb.UR.y)/2; UNSUPPORTED("4k1o0atpyqo35gcbuse4az3rg"); // p.x = cp->bb.LL.x; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4u9elo3yvf0zruskl3zjt2b2f"); // else if (cp->sides[M_RIGHT] == np) { UNSUPPORTED("1t69shrxanujd9qd85gq4qeng"); // p.y = (cp->bb.LL.y + cp->bb.UR.y)/2; UNSUPPORTED("ehaxid5d4p09fg8swm5oivbh9"); // p.x = cp->bb.UR.x; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("91xduilalb406jjyw2g1i07th"); // return p; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 88q5zadn0aehrwxgxwm2qrbrk // static boxf emitEdge (FILE* fp, Agedge_t* e, route rte, maze* m, int ix, boxf bb) public static Object emitEdge(Object... arg) { UNSUPPORTED("d5qt6s97burjfu5qe0oxyyrmr"); // static boxf UNSUPPORTED("dnxab88k0n0c2bl3z0wgvml6i"); // emitEdge (FILE* fp, Agedge_t* e, route rte, maze* m, int ix, boxf bb) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eusea1bk6jn8fd1b9chikta59"); // int i, x, y; UNSUPPORTED("orqp5l9owubc5xfs0c6zc4fu"); // boxf n = ((cell*)ND_alg(agtail(e)))->bb; UNSUPPORTED("bv14gu5qoc27okyaav2vdl3fi"); // segment* seg = rte.segs; UNSUPPORTED("9z20n0kimree8b0ala1dzcz3f"); // if (seg->isVert) { UNSUPPORTED("d35lpqdphvgn7a4elfttfttf5"); // x = vtrack(seg, m); UNSUPPORTED("7d8m8clw270qs6crbw28fvj90"); // y = (n.UR.y + n.LL.y)/2; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("cl661znjs3x3fj8d1y9cg24sj"); // y = htrack(seg, m); UNSUPPORTED("c1hxt4wou5pqdatrc4gw3y5yt"); // x = (n.UR.x + n.LL.x)/2; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("xhluynvutbzbfvcxx2cjyytz"); // bb.LL.x = MIN(bb.LL.x, 1*x); UNSUPPORTED("33wk87zqb5r4f23468khg93pg"); // bb.LL.y = MIN(bb.LL.y, 1*y); UNSUPPORTED("6mk0mwcxlhcgch8smmk49m01g"); // bb.UR.x = MAX(bb.UR.x, 1*x); UNSUPPORTED("4z54bwwdfw0evollgabbhoyfh"); // bb.UR.y = MAX(bb.UR.y, 1*y); UNSUPPORTED("bd57sg9ngr5l29b4xy3hasneh"); // fprintf (fp, "newpath %d %d moveto\n", 1*x, 1*y); UNSUPPORTED("rfx8uba9j7zxsbk2dfcyo2j8"); // for (i = 1;iisVert) { UNSUPPORTED("1b5sxos9qcnmmvphnk5nns37s"); // x = vtrack(seg, m); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("19kkar9zhosg7ryut8il82rx7"); // y = htrack(seg, m); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2d7turuf2z2kzsjsi5ajmg6np"); // bb.LL.x = MIN(bb.LL.x, 1*x); UNSUPPORTED("c2qeisl94yrotinrfx39xxqo3"); // bb.LL.y = MIN(bb.LL.y, 1*y); UNSUPPORTED("2y9tfuxsj7noszyfrt0ahp2lk"); // bb.UR.x = MAX(bb.UR.x, 1*x); UNSUPPORTED("ckczjxes8uggdg6ltkg2gqw5x"); // bb.UR.y = MAX(bb.UR.y, 1*y); UNSUPPORTED("dwd2wbhfazyd038t2qn0hc7bv"); // fprintf (fp, "%d %d lineto\n", 1*x, 1*y); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b0b65d8qp73v6bg7hjzivvqz9"); // n = ((cell*)ND_alg(aghead(e)))->bb; UNSUPPORTED("9z20n0kimree8b0ala1dzcz3f"); // if (seg->isVert) { UNSUPPORTED("d35lpqdphvgn7a4elfttfttf5"); // x = vtrack(seg, m); UNSUPPORTED("7d8m8clw270qs6crbw28fvj90"); // y = (n.UR.y + n.LL.y)/2; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("cl661znjs3x3fj8d1y9cg24sj"); // y = htrack(seg, m); UNSUPPORTED("d0efs14iyqyu5lops51368trn"); // x = (n.LL.x + n.UR.x)/2; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("xhluynvutbzbfvcxx2cjyytz"); // bb.LL.x = MIN(bb.LL.x, 1*x); UNSUPPORTED("33wk87zqb5r4f23468khg93pg"); // bb.LL.y = MIN(bb.LL.y, 1*y); UNSUPPORTED("6mk0mwcxlhcgch8smmk49m01g"); // bb.UR.x = MAX(bb.UR.x, 1*x); UNSUPPORTED("4z54bwwdfw0evollgabbhoyfh"); // bb.UR.y = MAX(bb.UR.y, 1*y); UNSUPPORTED("4lv2wvln641rjodmppi1ea8ow"); // fprintf (fp, "%d %d lineto stroke\n", 1*x, 1*y); UNSUPPORTED("5v5hh30squmit8o2i5hs25eig"); // return bb; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 26m9b9nmqeqz2egz17qjrsmi6 // static void emitSearchGraph (FILE* fp, sgraph* sg) public static Object emitSearchGraph(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("3afa3kd81chzz47ecdq46zrer"); // emitSearchGraph (FILE* fp, sgraph* sg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dyevh82lgyyzdp6weja1ovxir"); // cell* cp; UNSUPPORTED("bhhrlzv5tqbx6ctv8b8hya7ll"); // snode* np; UNSUPPORTED("2360u3fv51vz7azzvwtpxz8ys"); // sedge* ep; UNSUPPORTED("41nrdsugvfgw23s93g0dhizkn"); // point p; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("6gvhztp2b7m89nv2btikaiyz4"); // fputs ("graph G {\n", fp); UNSUPPORTED("bmtp7y0sxxjdh22j8p4pvgssu"); // fputs (" node[shape=point]\n", fp); UNSUPPORTED("89usm1dk3yo4ttycgh9mcqv0f"); // for (i = 0; i < sg->nnodes; i++) { UNSUPPORTED("3kjyiosnhbp02weff5w4htinu"); // np = sg->nodes+i; UNSUPPORTED("4k5we2dw3u45kv7a09gffw8tf"); // cp = np->cells[0]; UNSUPPORTED("1kn01nkzc34bp86c9bvl7a74b"); // if (cp == np->cells[1]) { UNSUPPORTED("e78riujsgaj8ogp31bihqa6rr"); // pointf pf = midPt (cp); UNSUPPORTED("1hdg4vfvme7qnviehisvcj5jl"); // p.x = pf.x; UNSUPPORTED("7o9naunu16bztru6ho4g6yp5s"); // p.y = pf.y; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("7ks8s38h2f1xoqnd6vgdegepn"); // if ((cp->flags & 1)) cp = np->cells[1]; UNSUPPORTED("995g67hltj0paxtxlkedyryh1"); // p = coordOf (cp, np); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("7lalws1y1951xlz9ffakcbom8"); // fprintf (fp, " %d [pos=\"%d,%d\"]\n", i, p.x, p.y); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2ktcncbuekdxpzstdfs5xnwyu"); // for (i = 0; i < sg->nedges; i++) { UNSUPPORTED("6hjfrnsaxev4hsgcyeka41z77"); // ep = sg->edges+i; UNSUPPORTED("a7b1ejc81bv3o5ahc8hoxa98u"); // fprintf (fp, " %d -- %d[len=\"%f\"]\n", ep->v1, ep->v2, ep->weight); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("69smfbpzurcjvgjvm90vhl35k"); // fputs ("}\n", fp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7qavznbkl6bvpmm9axulwfdbe // static void emitGraph (FILE* fp, maze* mp, int n_edges, route* route_list, epair_t es[]) public static Object emitGraph(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("bkcsiggpetlvefiz01q93uej4"); // emitGraph (FILE* fp, maze* mp, int n_edges, route* route_list, epair_t es[]) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("7546bgor76e4n44ldtchty3d4"); // boxf bb, absbb; UNSUPPORTED("emg8ro778e56pul9iomm1odwo"); // box bbox; UNSUPPORTED("c1kybqd5l3qg3n9a305wjynks"); // absbb.LL.x = absbb.LL.y = MAXDOUBLE; UNSUPPORTED("8k7etzgpxlrl6uupdtjg0hodh"); // absbb.UR.x = absbb.UR.y = -MAXDOUBLE; UNSUPPORTED("118oh6o7l5ozdkayqepqyzeq1"); // fprintf (fp, "%s", prolog2); UNSUPPORTED("1m4pf51j8j5r5hwafqhf1gpxp"); // fprintf (fp, "%d %d translate\n", 10, 10); UNSUPPORTED("1l4k0raj069p4juux59nmeddm"); // fputs ("0 0 1 setrgbcolor\n", fp); UNSUPPORTED("eabxb5i0ddkbddnag9j34xjbc"); // for (i = 0; i < mp->ngcells; i++) { UNSUPPORTED("8we0nz55uqrc136qh9ei4wi1r"); // bb = mp->gcells[i].bb; UNSUPPORTED("eaawrfhkil1c35bbtxc96ifj7"); // fprintf (fp, "%f %f %f %f node\n", bb.LL.x, bb.LL.y, bb.UR.x, bb.UR.y); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6gdenpywxn3p3xidvp7z66cf1"); // for (i = 0; i < n_edges; i++) { UNSUPPORTED("c0bzh5j9t4e77lu0tb21a67bz"); // absbb = emitEdge (fp, es[i].e, route_list[i], mp, i, absbb); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("86kkucwmapf5ozkph3236xcgb"); // fputs ("0.8 0.8 0.8 setrgbcolor\n", fp); UNSUPPORTED("cc6zk9wsty15bcay61nb68jos"); // for (i = 0; i < mp->ncells; i++) { UNSUPPORTED("323ihqshamlg2xo726pk3b3vj"); // bb = mp->cells[i].bb; UNSUPPORTED("e86ar5rrwd873yux3qqdkktes"); // fprintf (fp, "%f %f %f %f cell\n", bb.LL.x, bb.LL.y, bb.UR.x, bb.UR.y); UNSUPPORTED("1739n1u2wlfk0ha07u0i2kqns"); // absbb.LL.x = MIN(absbb.LL.x, bb.LL.x); UNSUPPORTED("2k0qxt9afi97ol188k2rxoiot"); // absbb.LL.y = MIN(absbb.LL.y, bb.LL.y); UNSUPPORTED("cgmau9yngryx709jc2th5sk7o"); // absbb.UR.x = MAX(absbb.UR.x, bb.UR.x); UNSUPPORTED("b08g38fj835q33y3jhlu4r7or"); // absbb.UR.y = MAX(absbb.UR.y, bb.UR.y); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("66qdohztsd8obgtrz7n7aneyq"); // bbox.LL.x = absbb.LL.x + 10; UNSUPPORTED("eanpui2i9474f3m8ugpr9isad"); // bbox.LL.y = absbb.LL.y + 10; UNSUPPORTED("8azdlhxair6id14ox480nrq72"); // bbox.UR.x = absbb.UR.x + 10; UNSUPPORTED("3pbdldqi9gmkwgneq7kyfowun"); // bbox.UR.y = absbb.UR.y + 10; UNSUPPORTED("e2528fy8l69smovwey76qcix3"); // fprintf (fp, epilog2, bbox.LL.x, bbox.LL.y, bbox.UR.x, bbox.UR.y); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/ortho/partition__c.java000066400000000000000000001446341340005343600230550ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.ortho; import static smetana.core.Macro.UNSUPPORTED; public class partition__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 1duz2zmve5bdooct0ezmnnaxq // static int chain_idx, mon_idx //1 67uj2vwqlb937zf3jgzd5bre1 // static monchain_t* mchain //1 b7wevmtwi3ljzl56axez0c18m // static vertexchain_t* vert //1 2owm4aavvrdgcsmzw0xh1keul // static int* mon //3 c5f2ppu5vis7zj6x1ehr7ipb8 // static void convert (boxf bb, int flip, int ccw, pointf* pts) public static Object convert(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("7z9p7ryaqovx8l4zvz8ut5lh"); // convert (boxf bb, int flip, int ccw, pointf* pts) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("d4u5o9hun4r9ctb05sitn35ie"); // pts[0] = bb.LL; UNSUPPORTED("8c7ixjyy0o8pk7jvbhubvu7fk"); // pts[2] = bb.UR; UNSUPPORTED("3oqttg1p147o6iu2ik3nuhaag"); // if (ccw) { UNSUPPORTED("b6cwugc335s6xo11bjy8lzdtv"); // pts[1].x = bb.UR.x; UNSUPPORTED("5g8pg756wtn4jz9pynuub13nu"); // pts[1].y = bb.LL.y; UNSUPPORTED("86i7iwyoibsuencp95bp2l0q4"); // pts[3].x = bb.LL.x; UNSUPPORTED("es4u9iskz0bxl8yc2utghf7yw"); // pts[3].y = bb.UR.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("apctdgahb5872oqu7l5h6puc2"); // pts[1].x = bb.LL.x; UNSUPPORTED("7hnlqi5nik1acsnv1f8p6bcl"); // pts[1].y = bb.UR.y; UNSUPPORTED("7jd9pnw8dy4kydjdmsqgagnag"); // pts[3].x = bb.UR.x; UNSUPPORTED("tk95qh6cyvgcle477dclxmdc"); // pts[3].y = bb.LL.y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9wlzvfxuhvsgkkq6lvlrw01d2"); // if (flip) { UNSUPPORTED("bbuxsg26kpzb2fl660hjri9l8"); // int i; UNSUPPORTED("5d0rjolqhmqfhdts46h273pw"); // for (i = 0; i < 4; i++) { UNSUPPORTED("9dpwe8ucpbv8y180jmvfjohj0"); // double tmp = pts[i].y; UNSUPPORTED("8nsyib2abbayywi8ydtyfrh1w"); // pts[i].y = pts[i].x; UNSUPPORTED("e2stbhhso88rb6d0bps3wesbm"); // pts[i].x = -tmp; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7f2x9i3stjkwyki8jhp8g4crp // static int store (segment_t* seg, int first, pointf* pts) public static Object store(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("ck5s10q08ha996jg1dthuj4gz"); // store (segment_t* seg, int first, pointf* pts) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6a67ll1vnp0gczc7sdxxm0eus"); // int i, last = first + 4 - 1; UNSUPPORTED("cp0v943eklkgtfrjyj59exkgj"); // int j = 0; UNSUPPORTED("32ltq51ztqu722sxfo74u4mtw"); // for (i = first; i <= last; i++, j++) { UNSUPPORTED("79puvan9sro080fsgrgz2t2q7"); // if (i == first) { UNSUPPORTED("64r4m4ormvokugbo70tnvjx5m"); // seg[i].next = first+1; UNSUPPORTED("1dm0tna3ay2sbc2yaliye2bse"); // seg[i].prev = last; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6cjbyd0qmosdne3p1e7cmt94k"); // else if (i == last) { UNSUPPORTED("eanh96xgpeo6woibzznfh0wbv"); // seg[i].next = first; UNSUPPORTED("9dcogmtm6yucs0hqvurnlvd8c"); // seg[i].prev = last-1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("2n6qylkakd0eh8qirmanhkqv6"); // seg[i].next = i+1; UNSUPPORTED("e074ljxriocjv010xtqimpe82"); // seg[i].prev = i-1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5n6eo7o5v5jxlkoan6t7rxrs6"); // seg[i].is_inserted = 0; UNSUPPORTED("8boueifn4zp07ophbsfll1c4j"); // seg[seg[i].prev].v1 = seg[i].v0 = pts[j]; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2fba7o4mz0g2iwmw1tsdmnyeq"); // return (last+1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 86pkmn254w4mzlbm1tvtj0utl // static void genSegments (cell* cells, int ncells, boxf bb, segment_t* seg, int flip) public static Object genSegments(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("1kvuie0el6g2uqdy7kissygr5"); // genSegments (cell* cells, int ncells, boxf bb, segment_t* seg, int flip) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("brjd2xw92qki6azgl484qbcab"); // int j = 0, i = 1; UNSUPPORTED("d8sp6cfkpfyndzmid92shiq50"); // pointf pts[4]; UNSUPPORTED("599xkip8oct4w8qnqgosguvxf"); // convert (bb, flip, 1, pts); UNSUPPORTED("2ukjeetspuv54livez9siabr3"); // i = store (seg, i, pts); UNSUPPORTED("c0t3vyjxjf53cre3fnsjl1zct"); // for (j = 0; j < ncells; j++) { UNSUPPORTED("nnyfz2s31gezrnoj0r6t3c7e"); // convert (cells[j].bb, flip, 0, pts); UNSUPPORTED("dtkvdb642xk2z42q0cqxa8cuw"); // i = store (seg, i, pts); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 adiv3g0l2lfgmsrp6nszkbu7e // static void generateRandomOrdering(int n, int* permute) public static Object generateRandomOrdering(Object... arg) { UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void UNSUPPORTED("bayg75oypsrrhfr1fn4t44xzq"); // generateRandomOrdering(int n, int* permute) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dbbxghj26zogt3ririv6d35rx"); // int i, j, tmp; UNSUPPORTED("bm4rxb9avtrlnwyqnenc25krj"); // for (i = 0; i <= n; i++) permute[i] = i; UNSUPPORTED("8m819riue7hsq2j2p8vn2ssb5"); // for (i = 1; i <= n; i++) { UNSUPPORTED("2kwf0aqv8qsg7rp5zguz8rp9a"); // j = i + drand48() * (n + 1 - i); UNSUPPORTED("7d04842291lql0mh7uyxlrdk5"); // if (j != i) { UNSUPPORTED("9c8awz319ebq9x0wpxjy3vdr6"); // tmp = permute[i]; UNSUPPORTED("9tz2w7jz6snz46csphfzc6j1r"); // permute [i] = permute[j]; UNSUPPORTED("c274z0kj80nfnoqb077lr9e5w"); // permute [j] = tmp; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 abhkjog92vle0cw28y59cd6ny // static int inside_polygon (trap_t *t, segment_t* seg) public static Object inside_polygon(Object... arg) { UNSUPPORTED("d9cz56vtrl0ri6hz88cumukuf"); // static int UNSUPPORTED("5e3r7cxnwod76fm476ejisqjs"); // inside_polygon (trap_t *t, segment_t* seg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1iqmfrt5wo4mwmshecxpdfpa9"); // int rseg = t->rseg; UNSUPPORTED("dxnx57i2vw0o7ngs9bgwpet6"); // if (t->state == 2) UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("ciw4dstxif0s9rksfu13tmxi1"); // if ((t->lseg <= 0) || (t->rseg <= 0)) UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("ea7zf31094dwtjf2dzluky008"); // if (((t->u0 <= 0) && (t->u1 <= 0)) || UNSUPPORTED("e15aszibtu1esr9cm5ddq9d5u"); // ((t->d0 <= 0) && (t->d1 <= 0))) /* triangle */ UNSUPPORTED("be5gm064ul8v8gm34w7hgonoj"); // return ((((&seg[rseg].v1)->y > (&seg[rseg].v0)->y + 1.0e-7) ? NOT(0) : (((&seg[rseg].v1)->y < (&seg[rseg].v0)->y - 1.0e-7) ? 0 : ((&seg[rseg].v1)->x > (&seg[rseg].v0)->x)))); UNSUPPORTED("bid671dovx1rdiquw5vm3fttj"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ew088xpoj2s831ch0zbnz5elx // static double get_angle (pointf *vp0, pointf *vpnext, pointf *vp1) public static Object get_angle(Object... arg) { UNSUPPORTED("lt6cippjix5bbvyhkcpl8g7g"); // static double UNSUPPORTED("dahlnw9xplc13ehv56akxp6fe"); // get_angle (pointf *vp0, pointf *vpnext, pointf *vp1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("369yvcclaxnouso7vjmxhcz1l"); // pointf v0, v1; UNSUPPORTED("941ut9wx36d2re4xt7vn0stim"); // v0.x = vpnext->x - vp0->x; UNSUPPORTED("7dfsrn98hfr6a80nms62qv9dy"); // v0.y = vpnext->y - vp0->y; UNSUPPORTED("eholvtx37o5y2d1638yxn6v24"); // v1.x = vp1->x - vp0->x; UNSUPPORTED("9967xssda33wyljha7pewt4mk"); // v1.y = vp1->y - vp0->y; UNSUPPORTED("j9n4bua0t2z6uqjun1rcultc"); // if (((v0).x * (v1).y - (v1).x * (v0).y) >= 0) /* sine is positive */ UNSUPPORTED("cf3rdnuyrr7l7ewade7a57djr"); // return ((v0).x * (v1).x + (v0).y * (v1).y)/(sqrt((v0).x * (v0).x + (v0).y * (v0).y))/(sqrt((v1).x * (v1).x + (v1).y * (v1).y)); UNSUPPORTED("8983svt6g1kt3l45bd6ju9mw6"); // else UNSUPPORTED("b8d4rpcuwbgggvigw19cs3pz3"); // return (-1.0 * ((v0).x * (v1).x + (v0).y * (v1).y)/(sqrt((v0).x * (v0).x + (v0).y * (v0).y))/(sqrt((v1).x * (v1).x + (v1).y * (v1).y)) - 2); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7gi4ub1tqpupq617koabfz9iy // static int get_vertex_positions (int v0, int v1, int *ip, int *iq) public static Object get_vertex_positions(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("86uczcsl4cyu14zme5scqmswu"); // get_vertex_positions (int v0, int v1, int *ip, int *iq) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("en82orb21pn5f2w6hxc0pmi6r"); // vertexchain_t *vp0, *vp1; UNSUPPORTED("9cyat6ft4tmgpumn70l9fwydy"); // register int i; UNSUPPORTED("55a7kpuxgq6hsi6ljkbdivg16"); // double angle, temp; UNSUPPORTED("bjekmi3f789xf2g33a7v1marm"); // int tp, tq; UNSUPPORTED("6v6uklf23950dew0q3vlmjmtu"); // vp0 = &vert[v0]; UNSUPPORTED("e6h7hqx9nzufu0i4o6xctjri6"); // vp1 = &vert[v1]; UNSUPPORTED("ety4qtnzh8rpooitlhb64ufil"); // /* p is identified as follows. Scan from (v0, v1) rightwards till */ UNSUPPORTED("9em6bl9ikz3uv4t3tpkdoxeb9"); // /* you hit the first segment starting from v0. That chain is the */ UNSUPPORTED("17iufy6n7vezx6qpdhhsc8zvy"); // /* chain of our interest */ UNSUPPORTED("zq0nk6k4owgwciv5sc0z95vf"); // angle = -4.0; UNSUPPORTED("2d2pdjjgu969q63zrkykinxdb"); // for (i = 0; i < 4; i++) UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("aiwx3n6xiaje2wbcw9fja0kp6"); // if (vp0->vnext[i] <= 0) UNSUPPORTED("6hzbngzom80qdcr88vnds1r59"); // continue; UNSUPPORTED("2qqqfeckj323vggxs72i2b9bd"); // if ((temp = get_angle(&vp0->pt, &(vert[vp0->vnext[i]].pt), UNSUPPORTED("bfendrzuwv7ttibwlfxnzh3mv"); // &vp1->pt)) > angle) UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("d5mp4kdylwkyngcbi2ra9gda7"); // angle = temp; UNSUPPORTED("8gf4rptcek1rtsswxgp4f5sp"); // tp = i; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("29ch4xe4dtb8vrs3u6br7fkfn"); // *ip = tp; UNSUPPORTED("449uwiujph9yz1kmgp91x1mph"); // /* Do similar actions for q */ UNSUPPORTED("zq0nk6k4owgwciv5sc0z95vf"); // angle = -4.0; UNSUPPORTED("2d2pdjjgu969q63zrkykinxdb"); // for (i = 0; i < 4; i++) UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("6utzp015ebcuvv226lur8xqjn"); // if (vp1->vnext[i] <= 0) UNSUPPORTED("6u4qfk9ctif0s5v6pg2ym2kh0"); // continue; UNSUPPORTED("4qeaopyujc1p8ghdkrfs8swg1"); // if ((temp = get_angle(&vp1->pt, &(vert[vp1->vnext[i]].pt), UNSUPPORTED("6d1kzaf50kwdnqztg4frxwh8t"); // &vp0->pt)) > angle) UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("d5mp4kdylwkyngcbi2ra9gda7"); // angle = temp; UNSUPPORTED("5ksmrx85xq93zau95l8v9vcve"); // tq = i; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8xqnxp3votu03cx1jrh2jwkzn"); // *iq = tq; UNSUPPORTED("bid671dovx1rdiquw5vm3fttj"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9a6v0rhhqdmefbgzi11be5g6h // static int make_new_monotone_poly (int mcur, int v0, int v1) public static Object make_new_monotone_poly(Object... arg) { UNSUPPORTED("d9cz56vtrl0ri6hz88cumukuf"); // static int UNSUPPORTED("8dv9txhv2yeoqkzbydeqjl054"); // make_new_monotone_poly (int mcur, int v0, int v1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9ikjwwfx33ts34kb25fa7bc2l"); // int p, q, ip, iq; UNSUPPORTED("9j34whh433i14tkn8pbaxw6gh"); // int mnew = (++mon_idx); UNSUPPORTED("56fxdenx5fitvdwopxm5znugu"); // int i, j, nf0, nf1; UNSUPPORTED("en82orb21pn5f2w6hxc0pmi6r"); // vertexchain_t *vp0, *vp1; UNSUPPORTED("6v6uklf23950dew0q3vlmjmtu"); // vp0 = &vert[v0]; UNSUPPORTED("e6h7hqx9nzufu0i4o6xctjri6"); // vp1 = &vert[v1]; UNSUPPORTED("alqs5f8e3n3u5onl2jk7dufp7"); // get_vertex_positions(v0, v1, &ip, &iq); UNSUPPORTED("2hakm8lo9g5t2j1ag9nyr2s6n"); // p = vp0->vpos[ip]; UNSUPPORTED("9cggg3kyqycbmj88qwiid1uar"); // q = vp1->vpos[iq]; UNSUPPORTED("3rkbxqt4po5kl0o0mduct8rcc"); // /* At this stage, we have got the positions of v0 and v1 in the */ UNSUPPORTED("c8605sg6k4m4718ch7un7l4n0"); // /* desired chain. Now modify the linked lists */ UNSUPPORTED("h85pxdzzlj05gngtc6052x5l"); // i = (++chain_idx); /* for the new list */ UNSUPPORTED("eowz6d0op1t6t0njrx6bb0yn8"); // j = (++chain_idx); UNSUPPORTED("dn6hlugxl248e01l7ox4q9u8w"); // mchain[i].vnum = v0; UNSUPPORTED("cbym1az3wmxvz10xvo5c25vlp"); // mchain[j].vnum = v1; UNSUPPORTED("3xenn6wt1u82649f6st1y0jpy"); // mchain[i].next = mchain[p].next; UNSUPPORTED("8gj5lqet3v2djl0zzmduxhjbo"); // mchain[mchain[p].next].prev = i; UNSUPPORTED("8jwcwnyjn22k8hwa6snhelhdv"); // mchain[i].prev = j; UNSUPPORTED("e8e675obna2uq1ayo5j6qxb3c"); // mchain[j].next = i; UNSUPPORTED("249azfk4cx6fvn29okrr43mxg"); // mchain[j].prev = mchain[q].prev; UNSUPPORTED("1ejluvyey6e0j7029btn2imcn"); // mchain[mchain[q].prev].next = j; UNSUPPORTED("d1hgtt0rm4nozlb8yt6pa0k8q"); // mchain[p].next = q; UNSUPPORTED("c8s9isar38c8ee9yj9szqdh2j"); // mchain[q].prev = p; UNSUPPORTED("42hpz0zje3mclnj3dro8ypwml"); // nf0 = vp0->nextfree; UNSUPPORTED("3vhonm18vr4ry7uanlxdzsa78"); // nf1 = vp1->nextfree; UNSUPPORTED("dikgb6wf4n9mffboqek4g7min"); // vp0->vnext[ip] = v1; UNSUPPORTED("dcc84n7kvdgludx7het4l77pa"); // vp0->vpos[nf0] = i; UNSUPPORTED("bn2d4dxs38on2tt66qsk854a7"); // vp0->vnext[nf0] = mchain[mchain[i].next].vnum; UNSUPPORTED("s8g0h9c5ugu7jx7fammu57j5"); // vp1->vpos[nf1] = j; UNSUPPORTED("2cfbu34obnbyi820v423b3p3a"); // vp1->vnext[nf1] = v0; UNSUPPORTED("18ghn7twlfq25wg7ho4mdpjq5"); // vp0->nextfree++; UNSUPPORTED("6pibe6i58ps0evcw0elchlr5n"); // vp1->nextfree++; UNSUPPORTED("8ofsl1uexufhfiekbia3rpw71"); // mon[mcur] = p; UNSUPPORTED("6qcylzq69scx8z47rc3q53c2p"); // mon[mnew] = i; UNSUPPORTED("1txsom7ht7w6bgk1wfyx8lsst"); // return mnew; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d0so1zakha0q0j27n2kdrpttw // static int traverse_polygon (int* visited, boxf* decomp, int size, segment_t* seg, trap_t* tr, int mcur, int trnum, int from, int flip, int dir) public static Object traverse_polygon(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("9guvbji3t13b64dg1nyaopea3"); // traverse_polygon (int* visited, boxf* decomp, int size, segment_t* seg, trap_t* tr, UNSUPPORTED("cop1jvb6sbgiafrugdgcuyww8"); // int mcur, int trnum, int from, int flip, int dir) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9hip0zrehch3ppd50n93ndz9f"); // trap_t *t = &tr[trnum]; UNSUPPORTED("9vw5pneq9i40hijbn87i6muzw"); // int mnew; UNSUPPORTED("4by94oz8hw5ksrudixtwwrdjt"); // int v0, v1; UNSUPPORTED("4d0metbv0f36rcwe2dlscspik"); // int retval; UNSUPPORTED("6b0tp7olw8su1dlt9r0409joh"); // int do_switch = 0; UNSUPPORTED("d0q9pab7nbe8xr6dncj1rkglj"); // if ((trnum <= 0) || visited[trnum]) UNSUPPORTED("5fnyq1zql95vx5xiysa7fj12a"); // return size; UNSUPPORTED("cnabgqf0r6cwbefc6z48v4muv"); // visited[trnum] = NOT(0); UNSUPPORTED("e3779kj7w5dz1oy9qmxmrgv6x"); // if ((t->hi.y > t->lo.y) && UNSUPPORTED("1bkd7ej5xoxkn9w9yngm73in6"); // (seg[t->lseg].v0.x == seg[t->lseg].v1.x) && UNSUPPORTED("6dhg0j2967gtz8tbuf2fkmvte"); // (seg[t->rseg].v0.x == seg[t->rseg].v1.x)) { UNSUPPORTED("cegqs3fbxpy1vh6ttghu2haol"); // if (flip) { UNSUPPORTED("6uelhwb8drf4b6q5ru2myp9gr"); // decomp[size].LL.x = t->lo.y; UNSUPPORTED("3ie5nszkp1w8ls6i09xu2kj58"); // decomp[size].LL.y = -seg[t->rseg].v0.x; UNSUPPORTED("61vo1z771fo68sucys7bs0ijk"); // decomp[size].UR.x = t->hi.y; UNSUPPORTED("a9grvoswejyt77ctdmsonk0qt"); // decomp[size].UR.y = -seg[t->lseg].v0.x; UNSUPPORTED("yjgjo2sxpmhb7skgxwjx03ie"); // } else { UNSUPPORTED("8ruo1j70pzrg494vp86s1sqc"); // decomp[size].LL.x = seg[t->lseg].v0.x; UNSUPPORTED("6mj48zie12c6x3u7xea2f8hr3"); // decomp[size].LL.y = t->lo.y; UNSUPPORTED("39hkdsjwkvofrh735gqoi7dci"); // decomp[size].UR.x = seg[t->rseg].v0.x; UNSUPPORTED("1bjhgfi5s9y6kuu4xguq9bd20"); // decomp[size].UR.y = t->hi.y; UNSUPPORTED("dquo3qofk56ds5xl95lhvcthf"); // } UNSUPPORTED("cy8kzhvb0obp7jgom47s7zco9"); // size++; UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("8xva2s9wcuidd7mlvpytarai8"); // /* We have much more information available here. */ UNSUPPORTED("zp53t0r52m3c9e801jgb0anx"); // /* rseg: goes upwards */ UNSUPPORTED("2a7sgu699nkxh3e7rs42nslze"); // /* lseg: goes downwards */ UNSUPPORTED("bspvkvr3shhnvq13d1c9svgc8"); // /* Initially assume that dir = TR_FROM_DN (from the left) */ UNSUPPORTED("859erkm7vifnaeylhrg1ge489"); // /* Switch v0 and v1 if necessary afterwards */ UNSUPPORTED("7nenieaup2bo7wznju50124gu"); // /* special cases for triangles with cusps at the opposite ends. */ UNSUPPORTED("2f72rdf12bkur0sb8jzt141et"); // /* take care of this first */ UNSUPPORTED("ark0tbg2u4lksur0hn1thlg8u"); // if ((t->u0 <= 0) && (t->u1 <= 0)) UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("2gky1sit45s3urap7m9572dui"); // if ((t->d0 > 0) && (t->d1 > 0)) /* downward opening triangle */ UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("a7q0c7q3zwi84dk8feu8hw949"); // v0 = tr[t->d1].lseg; UNSUPPORTED("3un92nsknf6dvivoo4ut6xpjw"); // v1 = t->lseg; UNSUPPORTED("b9sp6domcray594tb7rq7599"); // if (from == t->d1) UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("9b48jw83n2qlbd27xuf69c5qe"); // do_switch = NOT(0); UNSUPPORTED("7dchvr9xk6f4wwi83audzw6vj"); // mnew = make_new_monotone_poly(mcur, v1, v0); UNSUPPORTED("4mo16xjesdvkqcrs3j9pw6rb6"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1); UNSUPPORTED("dtlg30b72ms08kp03lb2akq3r"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d0, trnum, flip, 1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("5ente0j9qdx8ibzrosxtyl4nv"); // mnew = make_new_monotone_poly(mcur, v0, v1); UNSUPPORTED("3r3k4encoopl3sdf3f1ozjqhk"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1); UNSUPPORTED("1zydelpskydrv2jlukrghxjqm"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d1, trnum, flip, 1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("d1qk9y23kl78admhc396jcrkj"); // retval = -1; /* Just traverse all neighbours */ UNSUPPORTED("55rfugj7cpg4mi8oc5lwm9ve9"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2); UNSUPPORTED("7n2ov6zceqcw0j8pmeiz8hn4s"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2); UNSUPPORTED("e1jcx0tbalqyelsxssbh3lmt6"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1); UNSUPPORTED("4me7fmwngeaircvtb7sff3ijj"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("biibbejkkn6y2hgp4rbkzlt63"); // else if ((t->d0 <= 0) && (t->d1 <= 0)) UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("co9cdjh0zss1ce6wn5hsovb4o"); // if ((t->u0 > 0) && (t->u1 > 0)) /* upward opening triangle */ UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("608hye0unh62kxu73xjcim0vg"); // v0 = t->rseg; UNSUPPORTED("997u5iufydhu5b83stykxqi4s"); // v1 = tr[t->u0].rseg; UNSUPPORTED("5pqs6tn54r9kjjuv7noh9n97t"); // if (from == t->u1) UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("9b48jw83n2qlbd27xuf69c5qe"); // do_switch = NOT(0); UNSUPPORTED("7dchvr9xk6f4wwi83audzw6vj"); // mnew = make_new_monotone_poly(mcur, v1, v0); UNSUPPORTED("c0yxgwq7qw8py1stvijtw9ut3"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2); UNSUPPORTED("et6qmwrb429cnthwmphempxu0"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u0, trnum, flip, 2); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("5ente0j9qdx8ibzrosxtyl4nv"); // mnew = make_new_monotone_poly(mcur, v0, v1); UNSUPPORTED("bxugslyfkclt3755mhv0sc3ht"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2); UNSUPPORTED("64qq66m1iccqslv5wour58853"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u1, trnum, flip, 2); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("d1qk9y23kl78admhc396jcrkj"); // retval = -1; /* Just traverse all neighbours */ UNSUPPORTED("55rfugj7cpg4mi8oc5lwm9ve9"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2); UNSUPPORTED("7n2ov6zceqcw0j8pmeiz8hn4s"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2); UNSUPPORTED("e1jcx0tbalqyelsxssbh3lmt6"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1); UNSUPPORTED("4me7fmwngeaircvtb7sff3ijj"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1izitiatr2ulhvy8h0pnsxiiz"); // else if ((t->u0 > 0) && (t->u1 > 0)) UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("5pvgc5lzsbemakfagmdy8onnt"); // if ((t->d0 > 0) && (t->d1 > 0)) /* downward + upward cusps */ UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("a7q0c7q3zwi84dk8feu8hw949"); // v0 = tr[t->d1].lseg; UNSUPPORTED("997u5iufydhu5b83stykxqi4s"); // v1 = tr[t->u0].rseg; UNSUPPORTED("3oejl3ub1rc10j9jmx94a30sw"); // retval = 3; UNSUPPORTED("cpjixbghid2v2ttmi1omjq4df"); // if (((dir == 2) && (t->d1 == from)) || UNSUPPORTED("1vtjp034u1x48uhzu2jvmh0ek"); // ((dir == 1) && (t->u1 == from))) UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("9b48jw83n2qlbd27xuf69c5qe"); // do_switch = NOT(0); UNSUPPORTED("7dchvr9xk6f4wwi83audzw6vj"); // mnew = make_new_monotone_poly(mcur, v1, v0); UNSUPPORTED("c0yxgwq7qw8py1stvijtw9ut3"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2); UNSUPPORTED("4mo16xjesdvkqcrs3j9pw6rb6"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1); UNSUPPORTED("bwjfea2e7yj2tyyhz2fj73xub"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u0, trnum, flip, 2); UNSUPPORTED("c6tug0v8jlllvmf2nw412i7az"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d0, trnum, flip, 1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("5ente0j9qdx8ibzrosxtyl4nv"); // mnew = make_new_monotone_poly(mcur, v0, v1); UNSUPPORTED("bxugslyfkclt3755mhv0sc3ht"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2); UNSUPPORTED("3r3k4encoopl3sdf3f1ozjqhk"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1); UNSUPPORTED("64qq66m1iccqslv5wour58853"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u1, trnum, flip, 2); UNSUPPORTED("b00fn0czpty1ag5ihw9ev67k9"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d1, trnum, flip, 1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("7vbb8vznij9zlyolu6orgzq63"); // else /* only downward cusp */ UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("8a5njs108pwwsicxpr9cp011e"); // if (((fabs((&t->lo)->y - (&seg[t->lseg].v1)->y) <= 1.0e-7) && (fabs((&t->lo)->x - (&seg[t->lseg].v1)->x) <= 1.0e-7))) UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("iq55fez7l08t1doqy34awci0"); // v0 = tr[t->u0].rseg; UNSUPPORTED("6dqmuhbse549xc7nbc1t4fi8c"); // v1 = seg[t->lseg].next; UNSUPPORTED("3o1isg154krcrahue9rgdvzzv"); // retval = 4; UNSUPPORTED("ct1dz4hcovsoo7o89yuv4jqaj"); // if ((dir == 1) && (t->u0 == from)) UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("747hebbjlsz3afhysgh8jddh3"); // do_switch = NOT(0); UNSUPPORTED("a63etqdmntd8mnuuuuq2iv8uk"); // mnew = make_new_monotone_poly(mcur, v1, v0); UNSUPPORTED("e78lvv8zmyhisqei55jg0b5ow"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2); UNSUPPORTED("dspgt98nlpx18w318d5b65jdf"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d0, trnum, flip, 1); UNSUPPORTED("8321g7cqx5few6bc5d8ltrpbu"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u1, trnum, flip, 2); UNSUPPORTED("9vnwz4c8xw8z1762jvr65pidr"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d1, trnum, flip, 1); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("6tnv93tybou8dnl9l7lcmyp50"); // mnew = make_new_monotone_poly(mcur, v0, v1); UNSUPPORTED("66azwpktshnoqv46ag8h77g8h"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2); UNSUPPORTED("el7cvlcafkwitwo8t66cutvmj"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1); UNSUPPORTED("ck5jclcux876638ifzrabja6c"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1); UNSUPPORTED("6vtwa1ilotojo4dxm38prhhb6"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u0, trnum, flip, 2); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("7mcbwj8a2veib26ww67v0xayb"); // v0 = t->rseg; UNSUPPORTED("el138o2v6si9fi54s9rho23kj"); // v1 = tr[t->u0].rseg; UNSUPPORTED("cdlggb241g5t55g6npu51bhjo"); // retval = 5; UNSUPPORTED("5jw5gn3xil0quizho5x17qzin"); // if ((dir == 1) && (t->u1 == from)) UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("747hebbjlsz3afhysgh8jddh3"); // do_switch = NOT(0); UNSUPPORTED("a63etqdmntd8mnuuuuq2iv8uk"); // mnew = make_new_monotone_poly(mcur, v1, v0); UNSUPPORTED("66azwpktshnoqv46ag8h77g8h"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2); UNSUPPORTED("9vnwz4c8xw8z1762jvr65pidr"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d1, trnum, flip, 1); UNSUPPORTED("dspgt98nlpx18w318d5b65jdf"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d0, trnum, flip, 1); UNSUPPORTED("6vtwa1ilotojo4dxm38prhhb6"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u0, trnum, flip, 2); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("6tnv93tybou8dnl9l7lcmyp50"); // mnew = make_new_monotone_poly(mcur, v0, v1); UNSUPPORTED("e78lvv8zmyhisqei55jg0b5ow"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2); UNSUPPORTED("el7cvlcafkwitwo8t66cutvmj"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1); UNSUPPORTED("ck5jclcux876638ifzrabja6c"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1); UNSUPPORTED("8321g7cqx5few6bc5d8ltrpbu"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u1, trnum, flip, 2); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8ql1l7nv15rr51xt5ty1sjycw"); // else if ((t->u0 > 0) || (t->u1 > 0)) /* no downward cusp */ UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("duzxgn403jzqn6d6ut3gz298t"); // if ((t->d0 > 0) && (t->d1 > 0)) /* only upward cusp */ UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("4xbxe3o8leve6xm0t19ee2vfe"); // if (((fabs((&t->hi)->y - (&seg[t->lseg].v0)->y) <= 1.0e-7) && (fabs((&t->hi)->x - (&seg[t->lseg].v0)->x) <= 1.0e-7))) UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("ddiuyd0k6l4ju7yt0t7gnkyn2"); // v0 = tr[t->d1].lseg; UNSUPPORTED("3xgnfxeseit96nt2oywbb12cm"); // v1 = t->lseg; UNSUPPORTED("612bonw6ququtpyb2otlknu6u"); // retval = 6; UNSUPPORTED("52c1b8vw0ww4s2y1fp9e5rjxt"); // if (!((dir == 2) && (t->d0 == from))) UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("747hebbjlsz3afhysgh8jddh3"); // do_switch = NOT(0); UNSUPPORTED("a63etqdmntd8mnuuuuq2iv8uk"); // mnew = make_new_monotone_poly(mcur, v1, v0); UNSUPPORTED("66azwpktshnoqv46ag8h77g8h"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2); UNSUPPORTED("ck5jclcux876638ifzrabja6c"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1); UNSUPPORTED("e78lvv8zmyhisqei55jg0b5ow"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2); UNSUPPORTED("dspgt98nlpx18w318d5b65jdf"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d0, trnum, flip, 1); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("6tnv93tybou8dnl9l7lcmyp50"); // mnew = make_new_monotone_poly(mcur, v0, v1); UNSUPPORTED("el7cvlcafkwitwo8t66cutvmj"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1); UNSUPPORTED("6vtwa1ilotojo4dxm38prhhb6"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u0, trnum, flip, 2); UNSUPPORTED("8321g7cqx5few6bc5d8ltrpbu"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u1, trnum, flip, 2); UNSUPPORTED("5yk6sndya5s45z9fap3jlftsv"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d1, trnum, flip, 1); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("ddiuyd0k6l4ju7yt0t7gnkyn2"); // v0 = tr[t->d1].lseg; UNSUPPORTED("7wup2u127p4wprrhd2g65hvf6"); // v1 = seg[t->rseg].next; UNSUPPORTED("6ywwmc78aiixut85yk4dr53yx"); // retval = 7; UNSUPPORTED("ayjr7wdfuvpw08o3v1x8gwrxn"); // if ((dir == 2) && (t->d1 == from)) UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("747hebbjlsz3afhysgh8jddh3"); // do_switch = NOT(0); UNSUPPORTED("a63etqdmntd8mnuuuuq2iv8uk"); // mnew = make_new_monotone_poly(mcur, v1, v0); UNSUPPORTED("ck5jclcux876638ifzrabja6c"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1); UNSUPPORTED("8321g7cqx5few6bc5d8ltrpbu"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u1, trnum, flip, 2); UNSUPPORTED("6vtwa1ilotojo4dxm38prhhb6"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u0, trnum, flip, 2); UNSUPPORTED("dspgt98nlpx18w318d5b65jdf"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d0, trnum, flip, 1); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("6tnv93tybou8dnl9l7lcmyp50"); // mnew = make_new_monotone_poly(mcur, v0, v1); UNSUPPORTED("e78lvv8zmyhisqei55jg0b5ow"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2); UNSUPPORTED("el7cvlcafkwitwo8t66cutvmj"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1); UNSUPPORTED("66azwpktshnoqv46ag8h77g8h"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2); UNSUPPORTED("9vnwz4c8xw8z1762jvr65pidr"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d1, trnum, flip, 1); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cs5d2p3v6x67knxt079180lf1"); // else /* no cusp */ UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("u3jb6lmd4ip7tq4edphxoy2z"); // if (((fabs((&t->hi)->y - (&seg[t->lseg].v0)->y) <= 1.0e-7) && (fabs((&t->hi)->x - (&seg[t->lseg].v0)->x) <= 1.0e-7)) && UNSUPPORTED("8hbx4q52b68r4izus3j4ewijg"); // ((fabs((&t->lo)->y - (&seg[t->rseg].v0)->y) <= 1.0e-7) && (fabs((&t->lo)->x - (&seg[t->rseg].v0)->x) <= 1.0e-7))) UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("7mcbwj8a2veib26ww67v0xayb"); // v0 = t->rseg; UNSUPPORTED("3xgnfxeseit96nt2oywbb12cm"); // v1 = t->lseg; UNSUPPORTED("cj0s3n96u7e6tq1nzlxp8a7gv"); // retval = 2; UNSUPPORTED("azgs71ez0f45idcd7u0uhjkz4"); // if (dir == 1) UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("747hebbjlsz3afhysgh8jddh3"); // do_switch = NOT(0); UNSUPPORTED("a63etqdmntd8mnuuuuq2iv8uk"); // mnew = make_new_monotone_poly(mcur, v1, v0); UNSUPPORTED("e78lvv8zmyhisqei55jg0b5ow"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2); UNSUPPORTED("66azwpktshnoqv46ag8h77g8h"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2); UNSUPPORTED("9vnwz4c8xw8z1762jvr65pidr"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d1, trnum, flip, 1); UNSUPPORTED("dspgt98nlpx18w318d5b65jdf"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d0, trnum, flip, 1); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("6tnv93tybou8dnl9l7lcmyp50"); // mnew = make_new_monotone_poly(mcur, v0, v1); UNSUPPORTED("ck5jclcux876638ifzrabja6c"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1); UNSUPPORTED("el7cvlcafkwitwo8t66cutvmj"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1); UNSUPPORTED("6vtwa1ilotojo4dxm38prhhb6"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u0, trnum, flip, 2); UNSUPPORTED("8321g7cqx5few6bc5d8ltrpbu"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u1, trnum, flip, 2); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("30bq1zitecexyibeos8lcz9ms"); // else if (((fabs((&t->hi)->y - (&seg[t->rseg].v1)->y) <= 1.0e-7) && (fabs((&t->hi)->x - (&seg[t->rseg].v1)->x) <= 1.0e-7)) && UNSUPPORTED("7fm0u4okmm25vcrbk21uccbkf"); // ((fabs((&t->lo)->y - (&seg[t->lseg].v1)->y) <= 1.0e-7) && (fabs((&t->lo)->x - (&seg[t->lseg].v1)->x) <= 1.0e-7))) UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("8e5yhelccmj6n8d33ziozi9ej"); // v0 = seg[t->rseg].next; UNSUPPORTED("6dqmuhbse549xc7nbc1t4fi8c"); // v1 = seg[t->lseg].next; UNSUPPORTED("eh17urgk88bfnpryw1evbojlf"); // retval = 1; UNSUPPORTED("azgs71ez0f45idcd7u0uhjkz4"); // if (dir == 1) UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("747hebbjlsz3afhysgh8jddh3"); // do_switch = NOT(0); UNSUPPORTED("a63etqdmntd8mnuuuuq2iv8uk"); // mnew = make_new_monotone_poly(mcur, v1, v0); UNSUPPORTED("e78lvv8zmyhisqei55jg0b5ow"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2); UNSUPPORTED("66azwpktshnoqv46ag8h77g8h"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2); UNSUPPORTED("9vnwz4c8xw8z1762jvr65pidr"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d1, trnum, flip, 1); UNSUPPORTED("dspgt98nlpx18w318d5b65jdf"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d0, trnum, flip, 1); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("6tnv93tybou8dnl9l7lcmyp50"); // mnew = make_new_monotone_poly(mcur, v0, v1); UNSUPPORTED("ck5jclcux876638ifzrabja6c"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1); UNSUPPORTED("el7cvlcafkwitwo8t66cutvmj"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1); UNSUPPORTED("6vtwa1ilotojo4dxm38prhhb6"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u0, trnum, flip, 2); UNSUPPORTED("8321g7cqx5few6bc5d8ltrpbu"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u1, trnum, flip, 2); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("4i2amsjqesppq3lp9vpmv7r4r"); // else /* no split possible */ UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("a4ghaevttvkkfms2dhd4j26pc"); // retval = -1; UNSUPPORTED("bxugslyfkclt3755mhv0sc3ht"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2); UNSUPPORTED("3r3k4encoopl3sdf3f1ozjqhk"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1); UNSUPPORTED("c0yxgwq7qw8py1stvijtw9ut3"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2); UNSUPPORTED("3ypcbrw5a964vz3dszjca8xvw"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8mmoka8dpm06e00j83nvx2wfc"); // return size; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1q5h2go20arrwvxkwi1dpllun // static int monotonate_trapezoids(int nsegs, segment_t*seg, trap_t* tr, int flip, boxf* decomp) public static Object monotonate_trapezoids(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("4st5re5qeun3fazm6nwtr2504"); // monotonate_trapezoids(int nsegs, segment_t*seg, trap_t* tr, UNSUPPORTED("3gqslrg5hqigs6bb03nagwbax"); // int flip, boxf* decomp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9v0t4zzai4k1kr9wu7yirdcca"); // int i, size; UNSUPPORTED("2axop7sy1z49z2ga4o3phveq3"); // int tr_start; UNSUPPORTED("403dbgvseikvuaz19wa8ka871"); // int tr_size = (5*(nsegs)+1); UNSUPPORTED("5l974t0r35h6lgions7zrfr9n"); // int* visited = (int*)zmalloc((tr_size)*sizeof(int)); UNSUPPORTED("8kbv1p0hl6a1jsb28mp9xizs6"); // mchain = (monchain_t*)zmalloc((tr_size)*sizeof(monchain_t)); UNSUPPORTED("50knp82hjjep106iokix8jayb"); // vert = (vertexchain_t*)zmalloc((nsegs+1)*sizeof(vertexchain_t)); UNSUPPORTED("3joe7zjof9jfs427j0nanppzg"); // mon = (int*)zmalloc((nsegs)*sizeof(int)); UNSUPPORTED("5stezg8pn70o9al2yeof9vbbm"); // /* First locate a trapezoid which lies inside the polygon */ UNSUPPORTED("clz63gofo9l9x4djgclagrdbl"); // /* and which is triangular */ UNSUPPORTED("bfkwyvnluov44fmf0ve0qc47b"); // for (i = 0; i < (5*(nsegs)+1); i++) UNSUPPORTED("3kwag0shsa1vlgnpfz2z52jad"); // if (inside_polygon(&tr[i], seg)) break; UNSUPPORTED("ebpi22p8d3ms6x8kif7wf849m"); // tr_start = i; UNSUPPORTED("80e8cmn8ppz1g34yart4h3guc"); // /* Initialise the mon data-structure and start spanning all the */ UNSUPPORTED("c288aziy4b5qyrm0inw81wpf"); // /* trapezoids within the polygon */ UNSUPPORTED("9qxeq136dyf2jnwd4bf1kuaq6"); // for (i = 1; i <= nsegs; i++) { UNSUPPORTED("9m9y60p6vbo7stjuyotwxb88s"); // mchain[i].prev = seg[i].prev; UNSUPPORTED("88ejlvwd7gy17hqrhragtc8zv"); // mchain[i].next = seg[i].next; UNSUPPORTED("cu3ie2h2ob81y8d5ebxfm56uj"); // mchain[i].vnum = i; UNSUPPORTED("9akiu4gv6b7q4t4v7jbvspe77"); // vert[i].pt = seg[i].v0; UNSUPPORTED("j6yppsuzqh4phhdx6t7chtp3"); // vert[i].vnext[0] = seg[i].next; /* next vertex */ UNSUPPORTED("avvt0stq2xxai7od20rqmnt4c"); // vert[i].vpos[0] = i; /* locn. of next vertex */ UNSUPPORTED("68bp8qgzocylz07fdkq761k61"); // vert[i].nextfree = 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("50js3uabj113ezvs27yvc5zv5"); // chain_idx = nsegs; UNSUPPORTED("8ocywthfoxu2ckdm469ksnvdw"); // mon_idx = 0; UNSUPPORTED("36vw4fu4m3w15c4afhp1dgf7p"); // mon[0] = 1; /* position of any vertex in the first */ UNSUPPORTED("1gkcquzwnonqmlrklzwimth46"); // /* chain */ UNSUPPORTED("5mq8oebfg9zlu2dh458odwyza"); // /* traverse the polygon */ UNSUPPORTED("l12iv7r3oz1l157wkxev3k26"); // if (tr[tr_start].u0 > 0) UNSUPPORTED("ef00tkl3m246yucima83gjqry"); // size = traverse_polygon (visited, decomp, 0, seg, tr, 0, tr_start, tr[tr_start].u0, flip, 1); UNSUPPORTED("ek9ndv4cgpvv1ppq3o6hffjln"); // else if (tr[tr_start].d0 > 0) UNSUPPORTED("2phk6542w1awpzofg19twa9u3"); // size = traverse_polygon (visited, decomp, 0, seg, tr, 0, tr_start, tr[tr_start].d0, flip, 2); UNSUPPORTED("7p1upi5nlpk6oews5ejvqxzgq"); // free (visited); UNSUPPORTED("dyur1to2vops13ap1n0q7lsol"); // free (mchain); UNSUPPORTED("8pnrg51s1fq9cek6lwdi7795g"); // free (vert); UNSUPPORTED("d0yk4ad70j6la3tjcpwkdaqvf"); // free (mon); UNSUPPORTED("6vecslx1iges54gigd2bc6x6h"); // /* return the number of rects created */ UNSUPPORTED("8mmoka8dpm06e00j83nvx2wfc"); // return size; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7dl8o2typqtrtf964o8l9x9mn // static int rectIntersect (boxf *d, const boxf *r0, const boxf *r1) public static Object rectIntersect(Object... arg) { UNSUPPORTED("d9cz56vtrl0ri6hz88cumukuf"); // static int UNSUPPORTED("emzrn19dd9a1n8a75xt78ialj"); // rectIntersect (boxf *d, const boxf *r0, const boxf *r1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6wfj8onzmd4ihhh62dqfmqpbx"); // double t; UNSUPPORTED("10mg3ctpr0doly1xr4mn7m39v"); // t = (r0->LL.x > r1->LL.x) ? r0->LL.x : r1->LL.x; UNSUPPORTED("4q3ymg1fo2b29aomy5kba4o06"); // d->UR.x = (r0->UR.x < r1->UR.x) ? r0->UR.x : r1->UR.x; UNSUPPORTED("1muxzktb9b7cx05opqest2kf9"); // d->LL.x = t; UNSUPPORTED("qu5cb749o6mku5meyk7xzjiq"); // t = (r0->LL.y > r1->LL.y) ? r0->LL.y : r1->LL.y; UNSUPPORTED("3063iivbgzdi6hh53rsfr6o54"); // d->UR.y = (r0->UR.y < r1->UR.y) ? r0->UR.y : r1->UR.y; UNSUPPORTED("5at6mfpw5k8ldnmm0icvhnj8j"); // d->LL.y = t; UNSUPPORTED("upus29izwyyfylisn68yvdtv"); // if ((d->LL.x >= d->UR.x) || UNSUPPORTED("b45965pwcafgyy3hsxz3h3ywo"); // (d->LL.y >= d->UR.y)) UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("3tcgz4dupb6kw5tdk7n3pca2l"); // return 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 73fynz7ym6jvzqhvlj7evww7y // boxf* partition (cell* cells, int ncells, int* nrects, boxf bb) public static Object partition(Object... arg) { UNSUPPORTED("e6wfqaorm3eq04ew3viebrrmw"); // boxf* UNSUPPORTED("6tl2sd3xvb9xj27ba3ekerljs"); // partition (cell* cells, int ncells, int* nrects, boxf bb) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5a9fu6e10ez4wfuzd6drz5wqj"); // int nsegs = 4*(ncells+1); UNSUPPORTED("8wy6s9fpdi1b5ozj26nvgi5k8"); // segment_t* segs = (segment_t*)gmalloc((nsegs+1)*sizeof(segment_t)); UNSUPPORTED("56aa5hinuuh4nm3lzmpzutm67"); // int* permute = (int*)zmalloc((nsegs+1)*sizeof(int)); UNSUPPORTED("79evy8eevd0rueiuu9nwedmmd"); // int hd_size, vd_size; UNSUPPORTED("377uv2ijmy274yxftumax5tc"); // int i, j, cnt = 0; UNSUPPORTED("aset1r6i7s8ess7vp2yh2hy3l"); // boxf* rs; UNSUPPORTED("bxa465e0rk3cso7kp0a5dkzjk"); // int ntraps = (5*(nsegs)+1); UNSUPPORTED("er46tt5i0x6c3jxkq7mwoku1i"); // trap_t* trs = (trap_t*)gmalloc((ntraps)*sizeof(trap_t)); UNSUPPORTED("afztmb3ryx5mnwhx57hubf04c"); // boxf* hor_decomp = (boxf*)zmalloc((ntraps)*sizeof(boxf)); UNSUPPORTED("57drcp2w6xycpft0alhizl1jb"); // boxf* vert_decomp = (boxf*)zmalloc((ntraps)*sizeof(boxf)); UNSUPPORTED("1k4qbp811phcxky1im1ceolu8"); // int nt; UNSUPPORTED("4x4e3wgmpgyp48r9d918kpji2"); // /* fprintf (stderr, "cells = %d segs = %d traps = %d\n", ncells, nsegs, ntraps); */ UNSUPPORTED("3aznlcy8m96vtolzl06u5su27"); // genSegments (cells, ncells, bb, segs, 0); UNSUPPORTED("cc0cvkd217k2gs1dd318mzfup"); // srand(173); UNSUPPORTED("1icg2pbsojr5i5uz47hr32q6g"); // generateRandomOrdering (nsegs, permute); UNSUPPORTED("diwoovfk15pa3cutfdespebi4"); // nt = construct_trapezoids(nsegs, segs, permute, ntraps, trs); UNSUPPORTED("9y24uilj6sd8c40w65qz24w28"); // /* fprintf (stderr, "hor traps = %d\n", nt); */ UNSUPPORTED("bywih9homfisgvn30fa9ylam6"); // hd_size = monotonate_trapezoids (nsegs, segs, trs, 0, hor_decomp); UNSUPPORTED("br66y4yenl0hukxxeblvw92wg"); // genSegments (cells, ncells, bb, segs, 1); UNSUPPORTED("1icg2pbsojr5i5uz47hr32q6g"); // generateRandomOrdering (nsegs, permute); UNSUPPORTED("diwoovfk15pa3cutfdespebi4"); // nt = construct_trapezoids(nsegs, segs, permute, ntraps, trs); UNSUPPORTED("nklu5u660tkq7hgg1skeyos0"); // /* fprintf (stderr, "ver traps = %d\n", nt); */ UNSUPPORTED("aan563s5w2u32ftofra38kc7f"); // vd_size = monotonate_trapezoids (nsegs, segs, trs, 1, vert_decomp); UNSUPPORTED("3tjm1uhdfv0fgkihdgxfbtp2k"); // rs = (boxf*)zmalloc((hd_size*vd_size)*sizeof(boxf)); UNSUPPORTED("1rg2b95x8evw81ge2jwloma9y"); // for (i=0; invs = n; UNSUPPORTED("8o0aimsmyrmbv62ryv7vejhv1"); // g->vertices = (vertex*)zmalloc((n)*sizeof(vertex)); UNSUPPORTED("dudyytiqbhk3xyognwkwx5tt1"); // for(i=0;ivertices[i].adj_list = openIntSet (); UNSUPPORTED("1anncbcbrd6gx9hlo6mg1ha7d"); // g->vertices[i].color = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2syri7q5tc0jyvwq8ecyfo3vr"); // return g; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5qv1mxxuhkzua2w2dqem19lny // void free_graph(rawgraph* g) public static Object free_graph(Object... arg) { UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void UNSUPPORTED("6cqftcuhpqak3hl5c518hyr4e"); // free_graph(rawgraph* g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("31v9apskm8ur1w7f890v55btk"); // for(i=0;invs;i++) UNSUPPORTED("mfqz9m45ul5js6fnn03ol8j5"); // dtclose(g->vertices[i].adj_list); UNSUPPORTED("4836xd1juguptr6qebt07jlrh"); // free (g->vertices); UNSUPPORTED("dwuc0y4whcauryjdz2g3rdyey"); // free (g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 186nbf92ja5ttnrgvj422eqf5 // void insert_edge(rawgraph* g, int v1, int v2) public static Object insert_edge(Object... arg) { UNSUPPORTED("347dderd02mvlozoheqo4ejwo"); // void UNSUPPORTED("jldraubzdwc00et6agtk6726"); // insert_edge(rawgraph* g, int v1, int v2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2rjvy9cij6zo2nowb4w37hnjt"); // intitem obj; UNSUPPORTED("bmm6cyaytc4kc2ri4gey846yp"); // obj.id = v2; UNSUPPORTED("a1hlf5bwzya3m4ujh9zokvj3a"); // (*(((Dt_t*)(g->vertices[v1].adj_list))->searchf))((g->vertices[v1].adj_list),(void*)(&obj),0000001); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1r1ufpzdilo5438zjdky0uy2w // void remove_redge(rawgraph* g, int v1, int v2) public static Object remove_redge(Object... arg) { UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void UNSUPPORTED("a9gk586ljggidricdp6evpxau"); // remove_redge(rawgraph* g, int v1, int v2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2rjvy9cij6zo2nowb4w37hnjt"); // intitem obj; UNSUPPORTED("bmm6cyaytc4kc2ri4gey846yp"); // obj.id = v2; UNSUPPORTED("14tyn9y8xz91kr6dfeier49r"); // (*(((Dt_t*)(g->vertices[v1].adj_list))->searchf))((g->vertices[v1].adj_list),(void*)(&obj),0000002); UNSUPPORTED("c4j1680th3r5qcpns3u4zjale"); // obj.id = v1; UNSUPPORTED("9oqxwhwpfvzwxbnltjdoq1oga"); // (*(((Dt_t*)(g->vertices[v2].adj_list))->searchf))((g->vertices[v2].adj_list),(void*)(&obj),0000002); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3ff6zoop8jhts0qsvj91k9dfk // int edge_exists(rawgraph* g, int v1, int v2) public static Object edge_exists(Object... arg) { UNSUPPORTED("etrjsq5w49uo9jq5pzifohkqw"); // int UNSUPPORTED("4urd9z39jr49sen0w7s573505"); // edge_exists(rawgraph* g, int v1, int v2) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e2phkxwl9hjxom6accmixx6p2"); // return ((*(((Dt_t*)(g->vertices[v1].adj_list))->searchf))((g->vertices[v1].adj_list),(void*)(&v2),0001000) != 0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1zivcgw1xwk6pq169yqc75oh1 // static stack* mkStack (int i) public static Object mkStack(Object... arg) { UNSUPPORTED("9cla0obmp67i5rjsjxiqdeimj"); // static stack* UNSUPPORTED("ci2xjox5enk1600klp4wnc4d0"); // mkStack (int i) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8bsg9hgmxo09dmbp0rqikzip9"); // stack* sp = (stack*)zmalloc(sizeof(stack)); UNSUPPORTED("dgvcpjjkop19ctj9c6as7irgh"); // sp->vals = (int*)zmalloc((i)*sizeof(int)); UNSUPPORTED("6ak6snmn7x9mv08cxv1uhqto0"); // sp->top = -1; UNSUPPORTED("c31qqlge2adqev6kmlr0iuaea"); // return sp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 56jaryc2ndgkphreacgutgkko // static void freeStack (stack* s) public static Object freeStack(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("1tmwfqmwfffw7layx1b9l774l"); // freeStack (stack* s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4ivw0yolzv64dlaqawvv30x5v"); // free (s->vals); UNSUPPORTED("f1430a029xzg8cabffg2k9l6j"); // free (s); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 40jmhsu64yd114q5sxnbwirxh // static void pushStack (stack* s, int i) public static Object pushStack(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("efz1du2gap9f44f5qfs4oa0ga"); // pushStack (stack* s, int i) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1a9i725yadesextx7inlkz10x"); // s->top++; UNSUPPORTED("5pdmgjwfiz1iusmq5fydnblap"); // s->vals[s->top] = i; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4oxcr6qfkyvzxsr9y5oo4ok34 // static int popStack (stack* s) public static Object popStack(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("9blpzh0xe07qxynad8t5mqz8x"); // popStack (stack* s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6m5stt3wg7jgpdcvvk37onm1s"); // int v; UNSUPPORTED("ceenb9p2929863jeh6inli97k"); // if (s->top == -1) return -1; UNSUPPORTED("efrvy47jf2m4lt70c0u4yxt67"); // v = s->vals[s->top]; UNSUPPORTED("owa601uw5gl8igjnyr2lfsq7"); // s->top--; UNSUPPORTED("dpci52ct1zm8k1aasm170ru2j"); // return v; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2jkcimgyhf4lzdolm41833uv1 // static int DFS_visit(rawgraph* g, int v, int time, stack* sp) public static Object DFS_visit(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("9tjvxtubftvfbyn9yg9s2ukk5"); // DFS_visit(rawgraph* g, int v, int time, stack* sp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("efg3j1wpsky3c1yns7rcddd1g"); // Dt_t* adj; UNSUPPORTED("6i10bzt8ybhoodrtwofkpcavu"); // Dtlink_t* link; UNSUPPORTED("9uf2icnp9lntl8gmbrqtn59cu"); // int id; UNSUPPORTED("b69yoemu1fzv6up7qzrryu9z1"); // vertex* vp; UNSUPPORTED("eoyjtfht0qiqsx0g6j3shub2r"); // vp = g->vertices + v; UNSUPPORTED("1bpaugmlepecgk8uiqqd6lhih"); // vp->color = 1; UNSUPPORTED("17rwtc50qcliu6s4uujnjxlfn"); // /* g->vertices[v].d = time; */ UNSUPPORTED("c8ss949bn9k3dw76vpp186lei"); // adj = vp->adj_list; UNSUPPORTED("5mtxa718isij6bd88jbwav09r"); // time = time + 1; UNSUPPORTED("683z4jufz8k2kssqjqpceyjzm"); // for(link = dtflatten (adj); link; link = (((Dtlink_t*)(link))->right)) { UNSUPPORTED("2aeor5mnjzhwqpcgc294oq70m"); // id = ((intitem*)(((Dt_t*)(adj))->disc->link < 0 ? ((Dthold_t*)((link)))->obj : (void*)((char*)((link)) - ((Dt_t*)(adj))->disc->link) ))->id; UNSUPPORTED("1fci76oeaq8sz2pvp4p6npq73"); // if(g->vertices[id].color == 0) UNSUPPORTED("94vjlul0tyxbd7e0q4ing2z1h"); // time = DFS_visit(g, id, time, sp); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2rts8n24enk3adhy8owm41yh9"); // vp->color = 2; UNSUPPORTED("c4n0lojve186vzv3wqq6dk1pl"); // /* g->vertices[v].f = time; */ UNSUPPORTED("axvith90awf9705pbyhu4nx38"); // pushStack (sp, v); UNSUPPORTED("9pkzxm2gxhkcw8p51ercqleh1"); // return (time + 1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9r0jqlhxs5buqs5hsdqnbj84j // void top_sort(rawgraph* g) public static Object top_sort(Object... arg) { UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void UNSUPPORTED("4yot0xeux4j9xntlfs27gwtcf"); // top_sort(rawgraph* g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b9q08fv1def3y3mbkfcttoygi"); // int i, v; UNSUPPORTED("c3xjd5j8j3bgmchyoisbyw64b"); // int time = 0; UNSUPPORTED("551funk1bxiemly3silcqtngw"); // int count = 0; UNSUPPORTED("c7rls4c8tdfpn2b8sp15reiyh"); // stack* sp; UNSUPPORTED("9n2rm2xd87zhiqudy5248ij10"); // if (g->nvs == 0) return; UNSUPPORTED("5j8ivb7xr19v4nmq7wd60cj5p"); // if (g->nvs == 1) { UNSUPPORTED("5p60crx1qes9x8eijukw93td3"); // g->vertices[0].topsort_order = count; UNSUPPORTED("6bj8inpmr5ulm16jmfxsstjtn"); // return; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dlug72rf2lqioskxr8kgz0r1f"); // sp = mkStack (g->nvs); UNSUPPORTED("89rud9nlbi3f8k7rz0vv5vtd8"); // for(i=0;invs;i++) { UNSUPPORTED("9lczna1336ncq8zrahl9nzymo"); // if(g->vertices[i].color == 0) UNSUPPORTED("6ln2w0gjr0kz3163kops6o4p1"); // time = DFS_visit(g, i, time, sp); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a9tz9ejeuh2cz8adl3rtuxvth"); // while((v = popStack(sp)) >= 0) { UNSUPPORTED("9m1c27tt4l4z6f1503uugs6ak"); // g->vertices[v].topsort_order = count; UNSUPPORTED("4221wbi45004vm34bns3e6zhv"); // count++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("71qiyws5c2bt08glef0zb8cfv"); // freeStack (sp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/ortho/sgraph__c.java000066400000000000000000000332571340005343600223260ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.ortho; import static smetana.core.Macro.UNSUPPORTED; public class sgraph__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //3 do1p8q9fgspbwjclhfas1e31i // void gsave (sgraph* G) public static Object gsave(Object... arg) { UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void UNSUPPORTED("53tz1kawkoq5faz7kymp6ptpo"); // gsave (sgraph* G) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("4a3idvuwsn45q081062uxj30b"); // G->save_nnodes = G->nnodes; UNSUPPORTED("dvjft3jbvipb8kx48kn2cxq4d"); // G->save_nedges = G->nedges; UNSUPPORTED("ehil2x3e5xjd504di5xq03ix2"); // for (i = 0; i < G->nnodes; i++) UNSUPPORTED("8phdmwqejnwfe17clzvzqusic"); // G->nodes[i].save_n_adj = G->nodes[i].n_adj; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4bd3mhrsaxr0us4mbdlnz3fva // void reset(sgraph* G) public static Object reset(Object... arg) { UNSUPPORTED("347dderd02mvlozoheqo4ejwo"); // void UNSUPPORTED("o6ryffoh62mg3jqikb1bcvcn"); // reset(sgraph* G) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("4z92iyiytnarfwg69q6q1qxdo"); // G->nnodes = G->save_nnodes; UNSUPPORTED("gi9g609ppu0efm44uexae3lg"); // G->nedges = G->save_nedges; UNSUPPORTED("ehil2x3e5xjd504di5xq03ix2"); // for (i = 0; i < G->nnodes; i++) UNSUPPORTED("amo8o2h5u6ikoe5ouawwnxttv"); // G->nodes[i].n_adj = G->nodes[i].save_n_adj; UNSUPPORTED("395pz5pbzjp227kygyayer2m0"); // for (; i < G->nnodes+2; i++) UNSUPPORTED("1w65z5djtqk8i6nk3cu9qavs9"); // G->nodes[i].n_adj = 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2uooy3bnw1kc4mm4ns09blzvd // void initSEdges (sgraph* g, int maxdeg) public static Object initSEdges(Object... arg) { UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void UNSUPPORTED("3t8ixyxav6ee8tjumnj6c4on7"); // initSEdges (sgraph* g, int maxdeg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("584qbup3c7sdxo8kave8mllal"); // int* adj = (int*)zmalloc((6*g->nnodes + 2*maxdeg)*sizeof(int)); UNSUPPORTED("dvc1rp1rnjfmjnxvwpm004stb"); // g->edges = (sedge*)zmalloc((3*g->nnodes + maxdeg)*sizeof(sedge)); UNSUPPORTED("eavilhxlidc3wjniw4glglbnt"); // for (i = 0; i < g->nnodes; i++) { UNSUPPORTED("ckt5vl01ya7v4i84i9yxcipv0"); // g->nodes[i].adj_edge_list = adj; UNSUPPORTED("dzxhiwbj9xcvedfridh0okcez"); // adj += 6; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dgkzkhndgc3xziilvfagce4xi"); // for (; i < g->nnodes+2; i++) { UNSUPPORTED("ckt5vl01ya7v4i84i9yxcipv0"); // g->nodes[i].adj_edge_list = adj; UNSUPPORTED("68si7kljcmnbf59kgy3rk0m6z"); // adj += maxdeg; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4lws7mi89ekzzcc99wuw9r7l8 // sgraph* createSGraph (int nnodes) public static Object createSGraph(Object... arg) { UNSUPPORTED("9xadge294rqhy06asmqycka8m"); // sgraph* UNSUPPORTED("eqjwxhjyhqmefxsvpknl1bnfx"); // createSGraph (int nnodes) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dwa606y0aknngzxrrsnswltbr"); // sgraph* g = (sgraph*)zmalloc(sizeof(sgraph)); UNSUPPORTED("1i02j60f9yupm02tj9rvzps0o"); // /* create the nodes vector in the search graph */ UNSUPPORTED("3yhlfn7hpvrjkdva5gida8jqo"); // g->nnodes = 0; UNSUPPORTED("47bxz2s175s5k1snvid5o4hve"); // g->nodes = (snode*)zmalloc((nnodes)*sizeof(snode)); UNSUPPORTED("2syri7q5tc0jyvwq8ecyfo3vr"); // return g; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4jwt9radjtehigwninuxfni66 // snode* createSNode (sgraph* g) public static Object createSNode(Object... arg) { UNSUPPORTED("7qyamsdkopruu23xaccl0bcd2"); // snode* UNSUPPORTED("753vtsohiclqv7nl3y14twf19"); // createSNode (sgraph* g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1hdbk7wtbmf5ysy77ka3v1wv1"); // snode* np = g->nodes+g->nnodes; UNSUPPORTED("12345aoqngizwar08ubsjkjql"); // np->index = g->nnodes; UNSUPPORTED("1pdvfvgbmueo5t1u1q4rbj9t4"); // g->nnodes++; UNSUPPORTED("8iwc9afkw6pes2mgfhktuxzj8"); // return np; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 49zscu3ughv1sfoes00tmvzew // static void addEdgeToNode (snode* np, sedge* e, int idx) public static Object addEdgeToNode(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("dpg266aklzv95plhgmmdgdl2h"); // addEdgeToNode (snode* np, sedge* e, int idx) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3bjz47ii1rlzjcxhnphx8bepr"); // np->adj_edge_list[np->n_adj] = idx; UNSUPPORTED("2vd3mg5b94lmz0n3qsamkbrbk"); // np->n_adj++; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 25bbgi67jwpg5nrx87bctkn5s // sedge* createSEdge (sgraph* g, snode* v1, snode* v2, double wt) public static Object createSEdge(Object... arg) { UNSUPPORTED("de30fcx2rpq95h8prggzz38de"); // sedge* UNSUPPORTED("e67qstzz1cjy6tm1gp72tqiy9"); // createSEdge (sgraph* g, snode* v1, snode* v2, double wt) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5us6bymu4crkiqypwh57332hj"); // sedge* e; UNSUPPORTED("3edhazo5e0eznk99j763w7wvk"); // int idx = g->nedges++; UNSUPPORTED("12o3iah7k1tllf6ehoks5ez9r"); // e = g->edges + idx; UNSUPPORTED("742bl52l6dlhwl8vdmr0gi6mt"); // e->v1 = v1->index; UNSUPPORTED("eo17frg8yipb9e15ykaocxv8"); // e->v2 = v2->index; UNSUPPORTED("3tbomhde001xxpsgrqrxaj5qq"); // e->weight = wt; UNSUPPORTED("bdajav43vx6s0dqy0k4qzz34r"); // e->cnt = 0; UNSUPPORTED("2fxbnv4tmis57zol548d8t69o"); // addEdgeToNode (v1, e, idx); UNSUPPORTED("8fhmkjmzcgsaedp55s0lgcnzf"); // addEdgeToNode (v2, e, idx); UNSUPPORTED("2bswif6w6ot01ynlvkimntfly"); // return e; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cmavbm512p00aze5hpa7ewqnf // void freeSGraph (sgraph* g) public static Object freeSGraph(Object... arg) { UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void UNSUPPORTED("9hthkvnsrcbkqzxbng2mlgcr"); // freeSGraph (sgraph* g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5xfei00jwgg7b7kejqmwtve51"); // free (g->nodes[0].adj_edge_list); UNSUPPORTED("apli015280vdkava7kzfu45gt"); // free (g->nodes); UNSUPPORTED("aobfrb6yk5ivr8l2memu6iegu"); // free (g->edges); UNSUPPORTED("dwuc0y4whcauryjdz2g3rdyey"); // free (g); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1rcimcpgyvapk639i1ln4ubi5 // static snode* adjacentNode(sgraph* g, sedge* e, snode* n) public static Object adjacentNode(Object... arg) { UNSUPPORTED("1mqfssg5cquehb5bdk2189gy2"); // static snode* UNSUPPORTED("d7hrrud3osvm08rbt95y6nc7v"); // adjacentNode(sgraph* g, sedge* e, snode* n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("aapvzqekocoy044mxh46608wo"); // if (e->v1==n->index) UNSUPPORTED("62g358pvqoywxqbeb39tjulp2"); // return (&(g->nodes[e->v2])); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("dkxx6omcntqirmu5yygun7kop"); // return (&(g->nodes[e->v1])); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9giqtyb1anron57zz1mdcuwr0 // int shortPath (sgraph* g, snode* from, snode* to) public static Object shortPath(Object... arg) { UNSUPPORTED("etrjsq5w49uo9jq5pzifohkqw"); // int UNSUPPORTED("2d7cnx1fuelcu110onyrglta1"); // shortPath (sgraph* g, snode* from, snode* to) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2azqjiolcsah2sn6lnkbcv8q6"); // snode* n; UNSUPPORTED("5us6bymu4crkiqypwh57332hj"); // sedge* e; UNSUPPORTED("a4iu3ng9cbut3oe6j3w1hhtlw"); // snode* adjn; UNSUPPORTED("5azgw3jpyk2yccpp3p4s3q817"); // int d; UNSUPPORTED("1ouxm7u78s3lne6g97el7yirj"); // int x, y; UNSUPPORTED("cj7nzqwbchsm0mvo2wmynwq5u"); // for (x = 0; xnnodes; x++) { UNSUPPORTED("7d5ytzu7ryaoy73g9z0g89g37"); // snode* temp; UNSUPPORTED("ed9j6kqbny3qsxz8e8dk4vxe6"); // temp = &(g->nodes[x]); UNSUPPORTED("78pvwvoqedjj594q1og8f58lt"); // (temp)->n_val = INT_MIN; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6ig938tzt63g78nuq5ozjoxia"); // PQinit(); UNSUPPORTED("d1qoqypb9nj64lzirszjt4ips"); // if (PQ_insert (from)) return 1; UNSUPPORTED("5jv8ecdm6aag2bo5uj5oaqdmn"); // (from)->n_dad = NULL; UNSUPPORTED("ddhvyzr3vort1bce9uxacz0cy"); // (from)->n_val = 0; UNSUPPORTED("58d6z37ovsflm1901h2priinl"); // while ((n = PQremove())) { UNSUPPORTED("83j13xloeu1fjo8bdrw4zv4ot"); // (n)->n_val *= -1; UNSUPPORTED("62t0o3w85qn5ull41imvtkl2v"); // if (n == to) break; UNSUPPORTED("2yuzydrscmjwya9vwcjaub1bw"); // for (y=0; yn_adj; y++) { UNSUPPORTED("7dykckcqwi0r01sokehzys07u"); // e = &(g->edges[n->adj_edge_list[y]]); UNSUPPORTED("ee5sii5zq78njilg2b84rcedx"); // adjn = adjacentNode(g, e, n); UNSUPPORTED("dcr46uov2a9y4x1d805di1vkj"); // if ((adjn)->n_val < 0) { UNSUPPORTED("ean1jlrfbqj5db693w8atob75"); // d = -((n)->n_val + (e->weight)); UNSUPPORTED("5i12njirmr3egi8u7dyh2x5jq"); // if ((adjn)->n_val == INT_MIN) { UNSUPPORTED("7fyonsun390xwjwz5nvv6387t"); // (adjn)->n_val = d; UNSUPPORTED("17otcakp576j9myi0y8j2018l"); // if (PQ_insert(adjn)) return 1; UNSUPPORTED("cr4e7c9poda05whkcy9htuvi4"); // (adjn)->n_dad = n; UNSUPPORTED("4ag21fj7gx3dj7pmwqjl89ucr"); // (adjn)->n_edge = e; UNSUPPORTED("1vo9ytkxoezj3oe6k9py3kdc4"); // } UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else { UNSUPPORTED("ddue9dplflq1i5vnoxj8kmr5q"); // if ((adjn)->n_val < d) { UNSUPPORTED("btt3je7wg001msmvi1swe6o2i"); // PQupdate(adjn, d); UNSUPPORTED("dkztzg2evj6hhccujfulxxaif"); // (adjn)->n_dad = n; UNSUPPORTED("7jm2ji6pc40tpai19vzx2ewqf"); // (adjn)->n_edge = e; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7a6hw5yb8rm8wg0rs40229cw4"); // /* PQfree(); */ UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/ortho/trapezoid__c.java000066400000000000000000002020111340005343600230250ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.ortho; import static smetana.core.Macro.UNSUPPORTED; public class trapezoid__c { //1 9sub06q78sfddgkymxfcy2c73 // static int q_idx //1 6g6us29cvfladuvel3e1yesjo // static int tr_idx //1 d43x33t89dq1mez0urx9oiia6 // static int QSIZE //1 bweoibjhrqkbu4mf0na0da9i4 // static int TRSIZE //3 ezwgb38ifqfgyqxu3qqar9lpw // static int newnode() public static Object newnode(Object... arg) { UNSUPPORTED("7foww06xea9wyyn20fapyohtz"); // static int newnode() UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("aqs9lgy5mghk1gc6qzg6yfy4s"); // if (q_idx < QSIZE) UNSUPPORTED("8djpsfvmvn0bc1er4s9kph9cj"); // return q_idx++; UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("11efsmyeab3fqgi4nmlwej7ui"); // fprintf(stderr, "newnode: Query-table overflow\n"); UNSUPPORTED("2g1czwq8qs1hp7515i11qbn75"); // assert(0); UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4lbfds1s3bs19eoap1a3m3e6z // static int newtrap(trap_t* tr) public static Object newtrap(Object... arg) { UNSUPPORTED("5u9cievsb4s3x8zwuu8pspcam"); // static int newtrap(trap_t* tr) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("d8y9k9n2vzw3s1hdo0dyfgusw"); // if (tr_idx < TRSIZE) { UNSUPPORTED("24d5qbi4y7dlh2alv9w6dspvq"); // tr[tr_idx].lseg = -1; UNSUPPORTED("9zrdh7a878ko4cmpzev5ayinb"); // tr[tr_idx].rseg = -1; UNSUPPORTED("74u8379xavsf8burpaazx8doy"); // tr[tr_idx].state = 1; UNSUPPORTED("cp5hfaygeyrh9332itky24tau"); // return tr_idx++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("4zebr8hhs7o8tpx01k01mpds0"); // fprintf(stderr, "newtrap: Trapezoid-table overflow %d\n", tr_idx); UNSUPPORTED("2g1czwq8qs1hp7515i11qbn75"); // assert(0); UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3vts8knsk95mverrgac2cq3yc // static int _max (pointf *yval, pointf *v0, pointf *v1) public static Object _max(Object... arg) { UNSUPPORTED("b70ixswaw70rop2i3a10o3usx"); // static int _max (pointf *yval, pointf *v0, pointf *v1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8sp05pzzul51jatoi7t38rnpp"); // if (v0->y > v1->y + 1.0e-7) UNSUPPORTED("180yy7z15hk29ewh0m4iwy075"); // *yval = *v0; UNSUPPORTED("2ty39vroyyu183wiz8ofw0rxa"); // else if ((fabs(v0->y - v1->y) <= 1.0e-7)) UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("72xrk5q82zxqso4bc60bh0en6"); // if (v0->x > v1->x + 1.0e-7) UNSUPPORTED("1cpd3nxmmss753abfkrjus62"); // *yval = *v0; UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else UNSUPPORTED("90n843sj6wbl3520yksspwwd7"); // *yval = *v1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8983svt6g1kt3l45bd6ju9mw6"); // else UNSUPPORTED("3alzaeg88yo110ikg55vztkke"); // *yval = *v1; UNSUPPORTED("bid671dovx1rdiquw5vm3fttj"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5wxt3huxqmnpq4koff0wywqeg // static int _min (pointf *yval, pointf *v0, pointf *v1) public static Object _min(Object... arg) { UNSUPPORTED("41dy0yxvmnu3g6nomhqjilah6"); // static int _min (pointf *yval, pointf *v0, pointf *v1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6kmfzgofw4kdg3jrtg4qesuzn"); // if (v0->y < v1->y - 1.0e-7) UNSUPPORTED("180yy7z15hk29ewh0m4iwy075"); // *yval = *v0; UNSUPPORTED("2ty39vroyyu183wiz8ofw0rxa"); // else if ((fabs(v0->y - v1->y) <= 1.0e-7)) UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("459y4uw84m4wk21vkdz3fp0q"); // if (v0->x < v1->x) UNSUPPORTED("1cpd3nxmmss753abfkrjus62"); // *yval = *v0; UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else UNSUPPORTED("90n843sj6wbl3520yksspwwd7"); // *yval = *v1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8983svt6g1kt3l45bd6ju9mw6"); // else UNSUPPORTED("3alzaeg88yo110ikg55vztkke"); // *yval = *v1; UNSUPPORTED("bid671dovx1rdiquw5vm3fttj"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1tgrd4zziresuq6qhk0xfoa92 // static int _greater_than_equal_to (pointf *v0, pointf *v1) public static Object _greater_than_equal_to(Object... arg) { UNSUPPORTED("3x672w6uwysfps5nvhyqmwl95"); // static int _greater_than_equal_to (pointf *v0, pointf *v1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8sp05pzzul51jatoi7t38rnpp"); // if (v0->y > v1->y + 1.0e-7) UNSUPPORTED("4si0cf97a5sfd9ozuunds9goz"); // return (!(0)); UNSUPPORTED("cmmtmayq5o6ek8zgcrha6po9p"); // else if (v0->y < v1->y - 1.0e-7) UNSUPPORTED("297p5iu8oro94tdg9v29bbgiw"); // return (0); UNSUPPORTED("8983svt6g1kt3l45bd6ju9mw6"); // else UNSUPPORTED("ccnvf5snmgs9gvqzl6fmieioz"); // return (v0->x >= v1->x); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ckf51i5h4qoeq20aso56vcc5h // static int _less_than (pointf *v0, pointf *v1) public static Object _less_than(Object... arg) { UNSUPPORTED("8ancjlh02pjhsn49e6a25wl6r"); // static int _less_than (pointf *v0, pointf *v1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6kmfzgofw4kdg3jrtg4qesuzn"); // if (v0->y < v1->y - 1.0e-7) UNSUPPORTED("4si0cf97a5sfd9ozuunds9goz"); // return (!(0)); UNSUPPORTED("cg91nfse0xdez0vz4ak53mlc6"); // else if (v0->y > v1->y + 1.0e-7) UNSUPPORTED("297p5iu8oro94tdg9v29bbgiw"); // return (0); UNSUPPORTED("8983svt6g1kt3l45bd6ju9mw6"); // else UNSUPPORTED("5gqsmyi9rrv1qx6cgtd2xi44t"); // return (v0->x < v1->x); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7q4v9wyz2nlemt8xq7v0184fv // static int init_query_structure(int segnum, segment_t* seg, trap_t* tr, qnode_t* qs) public static Object init_query_structure(Object... arg) { UNSUPPORTED("d9cz56vtrl0ri6hz88cumukuf"); // static int UNSUPPORTED("80esr9k64zjsp5282c35kte4"); // init_query_structure(int segnum, segment_t* seg, trap_t* tr, qnode_t* qs) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2esdkeckyaxmhthp1vzn695tv"); // int i1, i2, i3, i4, i5, i6, i7, root; UNSUPPORTED("1etoutqq3u32ryiyi4rlsmsro"); // int t1, t2, t3, t4; UNSUPPORTED("55wy1clqaecn10s0jetfvt04s"); // segment_t *s = &seg[segnum]; UNSUPPORTED("c83t5z66410r47uvwhte8atg2"); // i1 = newnode(); UNSUPPORTED("6tcn5be7qo2ntg03pl4u3r61e"); // qs[i1].nodetype = 2; UNSUPPORTED("c1r0tcnd1jjxieidujrboz04k"); // _max(&qs[i1].yval, &s->v0, &s->v1); /* root */ UNSUPPORTED("f428tco5zyg6ypbzmd6nv8jxo"); // root = i1; UNSUPPORTED("1939agqcbtihe79feh1epnhqd"); // qs[i1].right = i2 = newnode(); UNSUPPORTED("bclzn2z0bot5q64khoc3xo1eh"); // qs[i2].nodetype = 3; UNSUPPORTED("3wxpvt6gxhzk59qbw5yybfzok"); // qs[i2].parent = i1; UNSUPPORTED("50zz911fku71s62zxmf340erk"); // qs[i1].left = i3 = newnode(); UNSUPPORTED("a2m2pfcpcs6m23o59w73a3ult"); // qs[i3].nodetype = 2; UNSUPPORTED("844hmc2g8n8v8oq1t3pu20waf"); // _min(&qs[i3].yval, &s->v0, &s->v1); /* root */ UNSUPPORTED("6eqlqz24lil3mz951mbp9aigr"); // qs[i3].parent = i1; UNSUPPORTED("6umgkg0ppnkz3jqbvyaxe1m2i"); // qs[i3].left = i4 = newnode(); UNSUPPORTED("2a5a7b307rm5psez1mdr9nc42"); // qs[i4].nodetype = 3; UNSUPPORTED("1qbi9f0emsed1xpkk2p6wqgr1"); // qs[i4].parent = i3; UNSUPPORTED("7ijfbel4e53xg0oyi1hdok8qp"); // qs[i3].right = i5 = newnode(); UNSUPPORTED("d9lgcb4dl6oscs3faq8cipzdp"); // qs[i5].nodetype = 1; UNSUPPORTED("3ncb03lht8293piupe9raycfn"); // qs[i5].segnum = segnum; UNSUPPORTED("b3g3e6ii94dctnonsv4wd6pdl"); // qs[i5].parent = i3; UNSUPPORTED("2hrir3mvn61r4z0suya88l2nq"); // qs[i5].left = i6 = newnode(); UNSUPPORTED("z8w28kgi1isfybx3itfos5s6"); // qs[i6].nodetype = 3; UNSUPPORTED("cu0goy732xo6v416gatn10gvh"); // qs[i6].parent = i5; UNSUPPORTED("8mrutb9o0h1by9tk58yfkoqth"); // qs[i5].right = i7 = newnode(); UNSUPPORTED("4hxmyrxp7ehrl5bbgglxggb3v"); // qs[i7].nodetype = 3; UNSUPPORTED("7cv8pxpknvmffsmvootfn7huq"); // qs[i7].parent = i5; UNSUPPORTED("47um0g3rf0a66rfc8ix8q7vds"); // t1 = newtrap(tr); /* middle left */ UNSUPPORTED("dhqbu2kqod5qekt4mbkpcokkj"); // t2 = newtrap(tr); /* middle right */ UNSUPPORTED("9d3tauevh5y1ibiiwo6wp2v76"); // t3 = newtrap(tr); /* bottom-most */ UNSUPPORTED("8by6n8cunt2i39aek7qn4bxzm"); // t4 = newtrap(tr); /* topmost */ UNSUPPORTED("9ooybm01jfqc70193duq4ut3k"); // tr[t1].hi = tr[t2].hi = tr[t4].lo = qs[i1].yval; UNSUPPORTED("ahal1vcbrbvp2tots6ntov40m"); // tr[t1].lo = tr[t2].lo = tr[t3].hi = qs[i3].yval; UNSUPPORTED("awhuxi9kh5n3qn62td3x1rx2e"); // tr[t4].hi.y = (double) (1<<30); UNSUPPORTED("9yuy8hbx22hhqfluto46v4rb3"); // tr[t4].hi.x = (double) (1<<30); UNSUPPORTED("dogql1uip3yn8sty2gnmwevpt"); // tr[t3].lo.y = (double) -1* (1<<30); UNSUPPORTED("d2iv9aswbnku15auic7ves2fg"); // tr[t3].lo.x = (double) -1* (1<<30); UNSUPPORTED("8y0utktr8o66ckjdf97ig9bw3"); // tr[t1].rseg = tr[t2].lseg = segnum; UNSUPPORTED("8my9cfjyt5wyy7n9gqm30i6f"); // tr[t1].u0 = tr[t2].u0 = t4; UNSUPPORTED("78rq2swfcihc9nwji63nql4b3"); // tr[t1].d0 = tr[t2].d0 = t3; UNSUPPORTED("ebptwtro7kf1luhehrxb744p8"); // tr[t4].d0 = tr[t3].u0 = t1; UNSUPPORTED("amaflatnwoybz3paepojnqzjc"); // tr[t4].d1 = tr[t3].u1 = t2; UNSUPPORTED("cgyw8wailvfpayg8djskaqm0j"); // tr[t1].sink = i6; UNSUPPORTED("2sj6wyx5ww6w67v1loc3qhk4a"); // tr[t2].sink = i7; UNSUPPORTED("4h7l33kqm6unri8ilybcbjfcw"); // tr[t3].sink = i4; UNSUPPORTED("2wmmcp3dsa7xgu0t7iyv906s2"); // tr[t4].sink = i2; UNSUPPORTED("bxw0r5s14kl48z1l94rbm9ur"); // tr[t1].state = tr[t2].state = 1; UNSUPPORTED("5n86x6hksj9v0g2mlx1fxaafr"); // tr[t3].state = tr[t4].state = 1; UNSUPPORTED("2xueg60vz46kgccrmtjvwznoi"); // qs[i2].trnum = t4; UNSUPPORTED("6cc5iezoueqotgmhzeglj4pz9"); // qs[i4].trnum = t3; UNSUPPORTED("187dsocnulk5op8i2uxlll76g"); // qs[i6].trnum = t1; UNSUPPORTED("eu7m875ftlwx5wo4kxra1uhmp"); // qs[i7].trnum = t2; UNSUPPORTED("68vdbfxjp39ycnev1lw2fz5px"); // s->is_inserted = (!(0)); UNSUPPORTED("8kli59ivt5ad0heic1p0r3dbs"); // return root; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8ewy3ncs31dca68taarb3iw8t // static int is_left_of (int segnum, segment_t* seg, pointf *v) public static Object is_left_of(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("5njshx2lwca6yvst4l5l2kvum"); // is_left_of (int segnum, segment_t* seg, pointf *v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("55wy1clqaecn10s0jetfvt04s"); // segment_t *s = &seg[segnum]; UNSUPPORTED("42zj0zwvmsgnq8k1sof5wa9x2"); // double area; UNSUPPORTED("63r3u1i01cseh1k50rrs740v"); // if ((((&s->v1)->y > (&s->v0)->y + 1.0e-7) ? (!(0)) : (((&s->v1)->y < (&s->v0)->y - 1.0e-7) ? (0) : ((&s->v1)->x > (&s->v0)->x)))) /* seg. going upwards */ UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("cbadnx7r0dofl81ka6xnnq6o7"); // if ((fabs(s->v1.y - v->y) <= 1.0e-7)) UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("cxi8g1p2jce4akg5ny6kbhrfj"); // if (v->x < s->v1.x) UNSUPPORTED("1fw3mcjmrjyug8inon5ce6dqp"); // area = 1.0; UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else UNSUPPORTED("7jzu14omzk1dfuz500k0pmy3i"); // area = -1.0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3y16ysaprb1mi29myg2n7khc3"); // else if ((fabs(s->v0.y - v->y) <= 1.0e-7)) UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("blqfzreaz43r05gwx8e2g2mwl"); // if (v->x < s->v0.x) UNSUPPORTED("1fw3mcjmrjyug8inon5ce6dqp"); // area = 1.0; UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else UNSUPPORTED("7jzu14omzk1dfuz500k0pmy3i"); // area = -1.0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else UNSUPPORTED("9j65co4mvzqq92gveemasixui"); // area = (((s->v1).x - (s->v0).x)*(((*v)).y - (s->v0).y) - ((s->v1).y - (s->v0).y)*(((*v)).x - (s->v0).x)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1ifob9844re1ifigjf8fkr37a"); // else /* v0 > v1 */ UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("cbadnx7r0dofl81ka6xnnq6o7"); // if ((fabs(s->v1.y - v->y) <= 1.0e-7)) UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("cxi8g1p2jce4akg5ny6kbhrfj"); // if (v->x < s->v1.x) UNSUPPORTED("1fw3mcjmrjyug8inon5ce6dqp"); // area = 1.0; UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else UNSUPPORTED("7jzu14omzk1dfuz500k0pmy3i"); // area = -1.0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3y16ysaprb1mi29myg2n7khc3"); // else if ((fabs(s->v0.y - v->y) <= 1.0e-7)) UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("blqfzreaz43r05gwx8e2g2mwl"); // if (v->x < s->v0.x) UNSUPPORTED("1fw3mcjmrjyug8inon5ce6dqp"); // area = 1.0; UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else UNSUPPORTED("7jzu14omzk1dfuz500k0pmy3i"); // area = -1.0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else UNSUPPORTED("4mok58gqh8sibhgfd7iko8c9v"); // area = (((s->v0).x - (s->v1).x)*(((*v)).y - (s->v1).y) - ((s->v0).y - (s->v1).y)*(((*v)).x - (s->v1).x)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("f01je1mbiagbodxwrd5uinsjb"); // if (area > 0.0) UNSUPPORTED("4si0cf97a5sfd9ozuunds9goz"); // return (!(0)); UNSUPPORTED("783dsehm4gdkhlghq59hccnzp"); // else UNSUPPORTED("297p5iu8oro94tdg9v29bbgiw"); // return (0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ds0k9vbvh7ed069gt2xxgoh8f // static int inserted (int segnum, segment_t* seg, int whichpt) public static Object inserted(Object... arg) { UNSUPPORTED("1hxgwm2z6apwm18im719wroya"); // static int inserted (int segnum, segment_t* seg, int whichpt) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("178ivgdk5i7c18ldleui4zwx8"); // if (whichpt == 1) UNSUPPORTED("6ne7u4gw5ulsrhx8n7u6rkli4"); // return seg[seg[segnum].prev].is_inserted; UNSUPPORTED("8983svt6g1kt3l45bd6ju9mw6"); // else UNSUPPORTED("e67pnyvlna9gyn2uw744phhx8"); // return seg[seg[segnum].next].is_inserted; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3sd5i6hidutg4bza9cb9iqpxj // static int locate_endpoint (pointf *v, pointf *vo, int r, segment_t* seg, qnode_t* qs) public static Object locate_endpoint(Object... arg) { UNSUPPORTED("d9cz56vtrl0ri6hz88cumukuf"); // static int UNSUPPORTED("40jqc5hn9dtw9jy159l2bpv0g"); // locate_endpoint (pointf *v, pointf *vo, int r, segment_t* seg, qnode_t* qs) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cmndkfofn727hmimgmjjqabmb"); // qnode_t *rptr = &qs[r]; UNSUPPORTED("9no4uq8gm1skxdt3c5npacs5o"); // switch (rptr->nodetype) { UNSUPPORTED("33l7a58zp8vj6fuliwdkk2nkn"); // case 3: UNSUPPORTED("chlduh24i0dc156oi8zegnisk"); // return rptr->trnum; UNSUPPORTED("4u5xz2u3urj13y0aw30fdyup5"); // case 2: UNSUPPORTED("360mq4ndaxyqt1kvu3lx2g9iv"); // if ((((v)->y > (&rptr->yval)->y + 1.0e-7) ? (!(0)) : (((v)->y < (&rptr->yval)->y - 1.0e-7) ? (0) : ((v)->x > (&rptr->yval)->x)))) /* above */ UNSUPPORTED("1rwlw98jlk3uq5eash5mq3kty"); // return locate_endpoint(v, vo, rptr->right, seg, qs); UNSUPPORTED("2x6nvn1yiw8qe6y0l034l612c"); // else if (((fabs((v)->y - (&rptr->yval)->y) <= 1.0e-7) && (fabs((v)->x - (&rptr->yval)->x) <= 1.0e-7))) /* the point is already */ UNSUPPORTED("e4032360lx81txp3ugx7q41pg"); // { /* inserted. */ UNSUPPORTED("5mpyvd6pkc7oidge31j3rtrt4"); // if ((((vo)->y > (&rptr->yval)->y + 1.0e-7) ? (!(0)) : (((vo)->y < (&rptr->yval)->y - 1.0e-7) ? (0) : ((vo)->x > (&rptr->yval)->x)))) /* above */ UNSUPPORTED("9v669sdem5q69ss1a3sedpyhr"); // return locate_endpoint(v, vo, rptr->right, seg, qs); UNSUPPORTED("embybz3p65nxf0rx8b52bb0cj"); // else UNSUPPORTED("4hct334tbu519smetk1d6vmf2"); // return locate_endpoint(v, vo, rptr->left, seg, qs); /* below */ UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else UNSUPPORTED("54lgz3gtv3i7kpaib8hyvgbfz"); // return locate_endpoint(v, vo, rptr->left, seg, qs); /* below */ UNSUPPORTED("d0gk15gzj4wz8nv54zbr285hm"); // case 1: UNSUPPORTED("9lajd4oadrk3ahujglee1gdtr"); // if (((fabs((v)->y - (&seg[rptr->segnum].v0)->y) <= 1.0e-7) && (fabs((v)->x - (&seg[rptr->segnum].v0)->x) <= 1.0e-7)) || UNSUPPORTED("f48mzifmh37dv8tr0qtoo49je"); // ((fabs((v)->y - (&seg[rptr->segnum].v1)->y) <= 1.0e-7) && (fabs((v)->x - (&seg[rptr->segnum].v1)->x) <= 1.0e-7))) UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("9z6xoklpdo4zj5pno4f5ce0h7"); // if ((fabs(v->y - vo->y) <= 1.0e-7)) /* horizontal segment */ UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("er0sr1b1xyl1koezju4fce9s9"); // if (vo->x < v->x) UNSUPPORTED("btfxao9lmldnm9ox00uhp9k89"); // return locate_endpoint(v, vo, rptr->left, seg, qs); /* left */ UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else UNSUPPORTED("46b4vvmvw19uagy9lolvbjpva"); // return locate_endpoint(v, vo, rptr->right, seg, qs); /* right */ UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("7h5s2qfodilr20w0xkcpxkptk"); // else if (is_left_of(rptr->segnum, seg, vo)) UNSUPPORTED("42gk6xyx9b3ob9l5n3r5csyt1"); // return locate_endpoint(v, vo, rptr->left, seg, qs); /* left */ UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else UNSUPPORTED("b95yqgth0rp8t6hd608cwibcv"); // return locate_endpoint(v, vo, rptr->right, seg, qs); /* right */ UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9h1dd7wy66jgqp0wcr4kep5c2"); // else if (is_left_of(rptr->segnum, seg, v)) UNSUPPORTED("2q0jgs1w9wo5aut83ngsh2kqr"); // return locate_endpoint(v, vo, rptr->left, seg, qs); /* left */ UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else UNSUPPORTED("56jpzw5vjtdztvgezig0lr54s"); // return locate_endpoint(v, vo, rptr->right, seg, qs); /* right */ UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("7popo524s1mkw4my7n7tm8zwm"); // fprintf(stderr, "unexpected case in locate_endpoint\n"); UNSUPPORTED("2kc7vwb5ge1ym5i0vk3t2ku3u"); // assert (0); UNSUPPORTED("aihsv59rc0q4ji937lr34lo8k"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1rl8ucq8uwd451ybs5xqlr67w"); // return 1; /* stop warning */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dbmj7tlr6ld9ptryu0lsaq4tc // static void merge_trapezoids (int segnum, int tfirst, int tlast, int side, trap_t* tr, qnode_t* qs) public static Object merge_trapezoids(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("d3sy6vv9zv5n4mb41oxk1obz6"); // merge_trapezoids (int segnum, int tfirst, int tlast, int side, trap_t* tr, UNSUPPORTED("3yigib6ow3jx4tobp06lwnbpn"); // qnode_t* qs) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7zesosg72mooutvqm92puylwn"); // int t, tnext, cond; UNSUPPORTED("srqa51ewat44yd9ccq23akdt"); // int ptnext; UNSUPPORTED("dumb9eoy9ae3crz585y5gm7jd"); // /* First merge polys on the LHS */ UNSUPPORTED("8dfvttfe7lc7i6u3r5ecr1fu7"); // t = tfirst; UNSUPPORTED("4prw3c0s3s628lu72k6lantaz"); // while ((t > 0) && _greater_than_equal_to(&tr[t].lo, &tr[tlast].lo)) UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("e01nwr4jvd1tahpmnshgnq2jv"); // if (side == 1) UNSUPPORTED("clu6aa5l65xiz793joqfsuqpj"); // cond = ((((tnext = tr[t].d0) > 0) && (tr[tnext].rseg == segnum)) || UNSUPPORTED("58j0umsvte3xelv7t0rq6gjmz"); // (((tnext = tr[t].d1) > 0) && (tr[tnext].rseg == segnum))); UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else UNSUPPORTED("ay6y0octsk8vv6mxe73k52poq"); // cond = ((((tnext = tr[t].d0) > 0) && (tr[tnext].lseg == segnum)) || UNSUPPORTED("9giajatrisho4roj4jmi2mtdu"); // (((tnext = tr[t].d1) > 0) && (tr[tnext].lseg == segnum))); UNSUPPORTED("9jg0aj4lchk2qzrqzcn6ou93"); // if (cond) UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("4sfxjqv3pdk6ccs6trnltbq2f"); // if ((tr[t].lseg == tr[tnext].lseg) && UNSUPPORTED("8waxrtn63q8iol80ocgfo5avl"); // (tr[t].rseg == tr[tnext].rseg)) /* good neighbours */ UNSUPPORTED("4zrza3uxjr5k879ok6o3ajyq5"); // { /* merge them */ UNSUPPORTED("de9a84mtxjfcb7d29uq6ysi80"); // /* Use the upper node as the new node i.e. t */ UNSUPPORTED("5hnggs6fldg6n2aa0v0wb7mhs"); // ptnext = qs[tr[tnext].sink].parent; UNSUPPORTED("4aftlg6xged6gwbjcopvljfdk"); // if (qs[ptnext].left == tr[tnext].sink) UNSUPPORTED("f034psp1axv24k350wb0intx5"); // qs[ptnext].left = tr[t].sink; UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else UNSUPPORTED("erqbnxbh6c3ixq6cid3y15v6f"); // qs[ptnext].right = tr[t].sink; /* redirect parent */ UNSUPPORTED("f51s02y9sf5wp5418x4hjsyr3"); // /* Change the upper neighbours of the lower trapezoids */ UNSUPPORTED("4s40zetcif254u9y9h8shaf7j"); // if ((tr[t].d0 = tr[tnext].d0) > 0) { UNSUPPORTED("7kf24rblb1mya5dy87gfod71g"); // if (tr[tr[t].d0].u0 == tnext) UNSUPPORTED("5ippcybc2d61q6we5qdy4i2qa"); // tr[tr[t].d0].u0 = t; UNSUPPORTED("4n5ukkxajjh25cyvxn2mfv7p5"); // else if (tr[tr[t].d0].u1 == tnext) UNSUPPORTED("49bf3poo5ld3e7zfa7owoqwkt"); // tr[tr[t].d0].u1 = t; UNSUPPORTED("1rlnjstsgqacqe09a5425xsv7"); // } UNSUPPORTED("cx0c40s7cejokjr55q624jp8i"); // if ((tr[t].d1 = tr[tnext].d1) > 0) { UNSUPPORTED("6tk5voiwfy6257or9pk26rpls"); // if (tr[tr[t].d1].u0 == tnext) UNSUPPORTED("8vwe6jjx4f0cxtyk1cjsred13"); // tr[tr[t].d1].u0 = t; UNSUPPORTED("faags7rxrk8rz9u528brw9w1"); // else if (tr[tr[t].d1].u1 == tnext) UNSUPPORTED("c1g7dyxu9y9bu3cnqai6ffpai"); // tr[tr[t].d1].u1 = t; UNSUPPORTED("1rlnjstsgqacqe09a5425xsv7"); // } UNSUPPORTED("rqi8hsnl6a07uwsdllnklsov"); // tr[t].lo = tr[tnext].lo; UNSUPPORTED("alq15ri09p1ftxvstnhiy11pw"); // tr[tnext].state = 2; /* invalidate the lower */ UNSUPPORTED("7g5imzgc3x4g8m1764txnxwyg"); // /* trapezium */ UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("22mnxtwfg5bxnxn9hi92d3s98"); // else /* not good neighbours */ UNSUPPORTED("62cajrs5gvbcki7xpbugxr503"); // t = tnext; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cy3s4c19cvi3od7ig0v5w1dau"); // else /* do not satisfy the outer if */ UNSUPPORTED("9ndn482wriowrzfxei5dwe91s"); // t = tnext; UNSUPPORTED("65mlofu9i9895kq8xkb6x103e"); // } /* end-while */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 423adx9iu4aqsh6kmh9d6a9be // static int add_segment (int segnum, segment_t* seg, trap_t* tr, qnode_t* qs) public static Object add_segment(Object... arg) { UNSUPPORTED("d9cz56vtrl0ri6hz88cumukuf"); // static int UNSUPPORTED("6kdmtyxbba7hab6oumuavm30n"); // add_segment (int segnum, segment_t* seg, trap_t* tr, qnode_t* qs) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("aywleif3lrmut4f9ns6y61k57"); // segment_t s; UNSUPPORTED("364wkucwxm1xu5s9elyid5hh4"); // int tu, tl, sk, tfirst, tlast; UNSUPPORTED("3sfv77g4x70yfiew8fyfwgniw"); // int tfirstr, tlastr, tfirstl, tlastl; UNSUPPORTED("hfh89kyneima7i4d8yp0hbwi"); // int i1, i2, t, tn; UNSUPPORTED("8z6gljvt2mmr0150xzv8dl25q"); // pointf tpt; UNSUPPORTED("dnwffbpvy39x5k4uyp0o8auxh"); // int tritop = 0, tribot = 0, is_swapped; UNSUPPORTED("94kgtpn18xur5803w9zeeemzl"); // int tmptriseg; UNSUPPORTED("1pyedo5b6xqv0d871wz5tos5c"); // s = seg[segnum]; UNSUPPORTED("8gkp133xtnguno18r03aljy2z"); // if ((((&s.v1)->y > (&s.v0)->y + 1.0e-7) ? (!(0)) : (((&s.v1)->y < (&s.v0)->y - 1.0e-7) ? (0) : ((&s.v1)->x > (&s.v0)->x)))) /* Get higher vertex in v0 */ UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("cwmbl7chjorytaifkyv8kht3c"); // int tmp; UNSUPPORTED("5luhts0zxuhi3potzediaro1z"); // tpt = s.v0; UNSUPPORTED("3zornvro5dwtu8yscak3thc3j"); // s.v0 = s.v1; UNSUPPORTED("7xkhhzhpalzk4r57usnt0ei5g"); // s.v1 = tpt; UNSUPPORTED("bqhqxuz448ejhe47314s7ywqn"); // tmp = s.root0; UNSUPPORTED("2re8ujw6s9kgcmuthp39hguph"); // s.root0 = s.root1; UNSUPPORTED("75kknuapl2tfu08nxm6s55sm1"); // s.root1 = tmp; UNSUPPORTED("9eflrb5pudqbmm3wm6qeiwwsz"); // is_swapped = (!(0)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("kf5313k7om91mo87n2t6l6mk"); // else is_swapped = (0); UNSUPPORTED("9fmss7ubwydpupsrikix6nafv"); // if ((is_swapped) ? !inserted(segnum, seg, 2) : UNSUPPORTED("6hcg7juc159xaz2xirhecwc5n"); // !inserted(segnum, seg, 1)) /* insert v0 in the tree */ UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("c8xc5g4gm8dkiy87rty8nml52"); // int tmp_d; UNSUPPORTED("2qpiovudynlersguqz1by6yg8"); // tu = locate_endpoint(&s.v0, &s.v1, s.root0, seg, qs); UNSUPPORTED("3vk36g0d9b4pv8frx4h1q7url"); // tl = newtrap(tr); /* tl is the new lower trapezoid */ UNSUPPORTED("1lylt0f9mi470jwcjjrujr0lv"); // tr[tl].state = 1; UNSUPPORTED("e36yrv3eo2yxyqvkbbxaji21d"); // tr[tl] = tr[tu]; UNSUPPORTED("9wngpyofpofpk3iw7x1nua784"); // tr[tu].lo.y = tr[tl].hi.y = s.v0.y; UNSUPPORTED("kayts5od8vhhpy0xbhr9dkxg"); // tr[tu].lo.x = tr[tl].hi.x = s.v0.x; UNSUPPORTED("5boxd28ndhyga6l1be8q33e4q"); // tr[tu].d0 = tl; UNSUPPORTED("40mjz1kftaduly7n34bovhzoa"); // tr[tu].d1 = 0; UNSUPPORTED("8ohfd1sq3vt575ufy2sejpq49"); // tr[tl].u0 = tu; UNSUPPORTED("er5qcoyhp181kav6eod7im5xk"); // tr[tl].u1 = 0; UNSUPPORTED("dmb9ggnvbbi4oj28pzhxe0i4s"); // if (((tmp_d = tr[tl].d0) > 0) && (tr[tmp_d].u0 == tu)) UNSUPPORTED("7dung2mkyltlpc6rn6xg2w2qa"); // tr[tmp_d].u0 = tl; UNSUPPORTED("6mzktvtijtpt77jiqbxio9zos"); // if (((tmp_d = tr[tl].d0) > 0) && (tr[tmp_d].u1 == tu)) UNSUPPORTED("4hk19hnhoihfn3k52lnb5wnmi"); // tr[tmp_d].u1 = tl; UNSUPPORTED("50ybcyf9j71skb8bxbrvd4wfo"); // if (((tmp_d = tr[tl].d1) > 0) && (tr[tmp_d].u0 == tu)) UNSUPPORTED("7dung2mkyltlpc6rn6xg2w2qa"); // tr[tmp_d].u0 = tl; UNSUPPORTED("burj10cn6158fzm20uvqf635h"); // if (((tmp_d = tr[tl].d1) > 0) && (tr[tmp_d].u1 == tu)) UNSUPPORTED("4hk19hnhoihfn3k52lnb5wnmi"); // tr[tmp_d].u1 = tl; UNSUPPORTED("511t3099c7ezfx13h8n2yb4qc"); // /* Now update the query structure and obtain the sinks for the */ UNSUPPORTED("c9xihvs3g1nqpo1l2de28bsb"); // /* two trapezoids */ UNSUPPORTED("csfd7w5pm87z8w5eoyoa2movw"); // i1 = newnode(); /* Upper trapezoid sink */ UNSUPPORTED("564u4l90sl4dmr5g58s7iqs8x"); // i2 = newnode(); /* Lower trapezoid sink */ UNSUPPORTED("7oz11ubssufczo1a50yljtcvy"); // sk = tr[tu].sink; UNSUPPORTED("b677gy1yh3616vmj895bab5b"); // qs[sk].nodetype = 2; UNSUPPORTED("k2rmuj3cg2b11t520einze0k"); // qs[sk].yval = s.v0; UNSUPPORTED("bxfy7g6fyf60ts626mpqxu6se"); // qs[sk].segnum = segnum; /* not really reqd ... maybe later */ UNSUPPORTED("89s0xn0ow2pfjhij4atarki22"); // qs[sk].left = i2; UNSUPPORTED("41dfb6dqvo0ska2nsf8cg7mlp"); // qs[sk].right = i1; UNSUPPORTED("e9qlif497bsjdb7r26vnxr6zv"); // qs[i1].nodetype = 3; UNSUPPORTED("20z4ufoaz5upwcj5cwcfdbsxt"); // qs[i1].trnum = tu; UNSUPPORTED("3sg533hzyg1vg1p3yue1tnscq"); // qs[i1].parent = sk; UNSUPPORTED("b7ik0xdl2ccze3lyok2lk1u8i"); // qs[i2].nodetype = 3; UNSUPPORTED("dw3di9wgg1xfyl4volkqwvr2a"); // qs[i2].trnum = tl; UNSUPPORTED("1aovaau4d0p4kaw0ceoit4mk8"); // qs[i2].parent = sk; UNSUPPORTED("bv09rvz94qyrsm8yxn6ib3gjz"); // tr[tu].sink = i1; UNSUPPORTED("edgs0wz1q5yh76ulwbge7k0y5"); // tr[tl].sink = i2; UNSUPPORTED("6lodj5exd6zj9qf7jjt4ajwcb"); // tfirst = tl; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9ai90pnlwcnwugiwlrp31rno1"); // else /* v0 already present */ UNSUPPORTED("1na80phemhx8r2c3bejhbvi9q"); // { /* Get the topmost intersecting trapezoid */ UNSUPPORTED("bux5mye3492eeh39qlfwu4h0i"); // tfirst = locate_endpoint(&s.v0, &s.v1, s.root0, seg, qs); UNSUPPORTED("9sgryoanil25eur6sx2wvst7w"); // tritop = 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("73p090oxqw3wxq9qn6hpedl6r"); // if ((is_swapped) ? !inserted(segnum, seg, 1) : UNSUPPORTED("4nw2s0j85w6cpo3ch1vo46vxr"); // !inserted(segnum, seg, 2)) /* insert v1 in the tree */ UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("c8xc5g4gm8dkiy87rty8nml52"); // int tmp_d; UNSUPPORTED("8k5whoux68dwuz2ebzjwdz2lh"); // tu = locate_endpoint(&s.v1, &s.v0, s.root1, seg, qs); UNSUPPORTED("3vk36g0d9b4pv8frx4h1q7url"); // tl = newtrap(tr); /* tl is the new lower trapezoid */ UNSUPPORTED("1lylt0f9mi470jwcjjrujr0lv"); // tr[tl].state = 1; UNSUPPORTED("e36yrv3eo2yxyqvkbbxaji21d"); // tr[tl] = tr[tu]; UNSUPPORTED("7dp0os3ywo9qpt13od74hlz32"); // tr[tu].lo.y = tr[tl].hi.y = s.v1.y; UNSUPPORTED("b9h60u19dl3vo6dnfe9rl89ki"); // tr[tu].lo.x = tr[tl].hi.x = s.v1.x; UNSUPPORTED("5boxd28ndhyga6l1be8q33e4q"); // tr[tu].d0 = tl; UNSUPPORTED("40mjz1kftaduly7n34bovhzoa"); // tr[tu].d1 = 0; UNSUPPORTED("8ohfd1sq3vt575ufy2sejpq49"); // tr[tl].u0 = tu; UNSUPPORTED("er5qcoyhp181kav6eod7im5xk"); // tr[tl].u1 = 0; UNSUPPORTED("dmb9ggnvbbi4oj28pzhxe0i4s"); // if (((tmp_d = tr[tl].d0) > 0) && (tr[tmp_d].u0 == tu)) UNSUPPORTED("7dung2mkyltlpc6rn6xg2w2qa"); // tr[tmp_d].u0 = tl; UNSUPPORTED("6mzktvtijtpt77jiqbxio9zos"); // if (((tmp_d = tr[tl].d0) > 0) && (tr[tmp_d].u1 == tu)) UNSUPPORTED("4hk19hnhoihfn3k52lnb5wnmi"); // tr[tmp_d].u1 = tl; UNSUPPORTED("50ybcyf9j71skb8bxbrvd4wfo"); // if (((tmp_d = tr[tl].d1) > 0) && (tr[tmp_d].u0 == tu)) UNSUPPORTED("7dung2mkyltlpc6rn6xg2w2qa"); // tr[tmp_d].u0 = tl; UNSUPPORTED("burj10cn6158fzm20uvqf635h"); // if (((tmp_d = tr[tl].d1) > 0) && (tr[tmp_d].u1 == tu)) UNSUPPORTED("4hk19hnhoihfn3k52lnb5wnmi"); // tr[tmp_d].u1 = tl; UNSUPPORTED("511t3099c7ezfx13h8n2yb4qc"); // /* Now update the query structure and obtain the sinks for the */ UNSUPPORTED("c9xihvs3g1nqpo1l2de28bsb"); // /* two trapezoids */ UNSUPPORTED("csfd7w5pm87z8w5eoyoa2movw"); // i1 = newnode(); /* Upper trapezoid sink */ UNSUPPORTED("564u4l90sl4dmr5g58s7iqs8x"); // i2 = newnode(); /* Lower trapezoid sink */ UNSUPPORTED("7oz11ubssufczo1a50yljtcvy"); // sk = tr[tu].sink; UNSUPPORTED("b677gy1yh3616vmj895bab5b"); // qs[sk].nodetype = 2; UNSUPPORTED("b27knotih9bj8ve0japzl9l9v"); // qs[sk].yval = s.v1; UNSUPPORTED("bxfy7g6fyf60ts626mpqxu6se"); // qs[sk].segnum = segnum; /* not really reqd ... maybe later */ UNSUPPORTED("89s0xn0ow2pfjhij4atarki22"); // qs[sk].left = i2; UNSUPPORTED("41dfb6dqvo0ska2nsf8cg7mlp"); // qs[sk].right = i1; UNSUPPORTED("e9qlif497bsjdb7r26vnxr6zv"); // qs[i1].nodetype = 3; UNSUPPORTED("20z4ufoaz5upwcj5cwcfdbsxt"); // qs[i1].trnum = tu; UNSUPPORTED("3sg533hzyg1vg1p3yue1tnscq"); // qs[i1].parent = sk; UNSUPPORTED("b7ik0xdl2ccze3lyok2lk1u8i"); // qs[i2].nodetype = 3; UNSUPPORTED("dw3di9wgg1xfyl4volkqwvr2a"); // qs[i2].trnum = tl; UNSUPPORTED("1aovaau4d0p4kaw0ceoit4mk8"); // qs[i2].parent = sk; UNSUPPORTED("bv09rvz94qyrsm8yxn6ib3gjz"); // tr[tu].sink = i1; UNSUPPORTED("edgs0wz1q5yh76ulwbge7k0y5"); // tr[tl].sink = i2; UNSUPPORTED("n3654qaak8jk8d5on2gwnw3f"); // tlast = tu; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("71qg7qvginab7d0qflim4y82r"); // else /* v1 already present */ UNSUPPORTED("e56qskbf1f1spsk53sle0yg9x"); // { /* Get the lowermost intersecting trapezoid */ UNSUPPORTED("f5e0c0cb0tzted54oxk1lg8so"); // tlast = locate_endpoint(&s.v1, &s.v0, s.root1, seg, qs); UNSUPPORTED("19802pxxzzbhz30pxvxhuauza"); // tribot = 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6or2wr1m9e6t9eswiywjcnari"); // /* Thread the segment into the query tree creating a new X-node */ UNSUPPORTED("953uyi8s6j0kjt6kii0ifi05n"); // /* First, split all the trapezoids which are intersected by s into */ UNSUPPORTED("2ec1eki04zl9bzcirfgpxwz1d"); // /* two */ UNSUPPORTED("7vltbln6jmb4dcnt727aotqu"); // t = tfirst; /* topmost trapezoid */ UNSUPPORTED("86huck5mq1n2xe2bgd5h0g4qh"); // while ((t > 0) && UNSUPPORTED("9a2osatsmh7im166493j5z9ql"); // _greater_than_equal_to(&tr[t].lo, &tr[tlast].lo)) UNSUPPORTED("8q0qvfyu6b98xudyzf1jey121"); // /* traverse from top to bot */ UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { UNSUPPORTED("c361t9ie1jl34waoz1qx7qglt"); // int t_sav, tn_sav; UNSUPPORTED("735i6dbhhrwalqp0rdzf1plzu"); // sk = tr[t].sink; UNSUPPORTED("11cd0f59j2rlnu33mg33fy21u"); // i1 = newnode(); /* left trapezoid sink */ UNSUPPORTED("8iq31y998euwxxys7lz4i0di5"); // i2 = newnode(); /* right trapezoid sink */ UNSUPPORTED("eki95gcvgxhhxodpx7hhb2ms"); // qs[sk].nodetype = 1; UNSUPPORTED("bic1vt1c10xyb4dh0jvmlwitc"); // qs[sk].segnum = segnum; UNSUPPORTED("1oop28nporjqqttdge2bzb9yr"); // qs[sk].left = i1; UNSUPPORTED("9j0y61zaus712wgthf8xl2bjs"); // qs[sk].right = i2; UNSUPPORTED("a2vaedsgrsasf749gokb7o6zn"); // qs[i1].nodetype = 3; /* left trapezoid (use existing one) */ UNSUPPORTED("d3wvuzqx7whtc7lkr3a1c6x1e"); // qs[i1].trnum = t; UNSUPPORTED("3sg533hzyg1vg1p3yue1tnscq"); // qs[i1].parent = sk; UNSUPPORTED("4f8cdthira5gw458qa3g8n1pw"); // qs[i2].nodetype = 3; /* right trapezoid (allocate new) */ UNSUPPORTED("72zn9njck31ow5p4cd7x2vhdp"); // qs[i2].trnum = tn = newtrap(tr); UNSUPPORTED("cs7pcwh6y85gsxjbjcd3fp4th"); // tr[tn].state = 1; UNSUPPORTED("1aovaau4d0p4kaw0ceoit4mk8"); // qs[i2].parent = sk; UNSUPPORTED("8tii09oyev9eg5v8tjs5xqnzi"); // if (t == tfirst) UNSUPPORTED("c7vntoti83d7nzm1pez02dojb"); // tfirstr = tn; UNSUPPORTED("4lrakx12kpsm7brfxuacfvepm"); // if (((fabs((&tr[t].lo)->y - (&tr[tlast].lo)->y) <= 1.0e-7) && (fabs((&tr[t].lo)->x - (&tr[tlast].lo)->x) <= 1.0e-7))) UNSUPPORTED("dyxxoq2rclqc042m49pabo5tu"); // tlastr = tn; UNSUPPORTED("3m5dvd9h55xvklqd7bt4yyg18"); // tr[tn] = tr[t]; UNSUPPORTED("4m7mubrux1t63hm4v0mbdoft0"); // tr[t].sink = i1; UNSUPPORTED("34b00t67vxmsuf1t0urk7kfni"); // tr[tn].sink = i2; UNSUPPORTED("5ilkt84avyzqnbgenie56bfpa"); // t_sav = t; UNSUPPORTED("1ndtxyyz47mtzmcxjr2kg61ci"); // tn_sav = tn; UNSUPPORTED("8fi9adh8qsrwfrgcxhrxnygb5"); // /* error */ UNSUPPORTED("9ufele7a3qptly4g8e4gzkr4u"); // if ((tr[t].d0 <= 0) && (tr[t].d1 <= 0)) /* case cannot arise */ UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("2j1bqg7boruaga6kpx00agtvb"); // fprintf(stderr, "add_segment: error\n"); UNSUPPORTED("5tzm1n3i8u3c1oms5ri2fiqbt"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("787ro5xblsfkpjif4xda30sc2"); // /* only one trapezoid below. partition t into two and make the */ UNSUPPORTED("5j474wt6fmynj8yasccaob1py"); // /* two resulting trapezoids t and tn as the upper neighbours of */ UNSUPPORTED("aqtupurtnt0dzlj5jafgtirwc"); // /* the sole lower trapezoid */ UNSUPPORTED("ewm9o917kyj2ae62y3e5bdvqf"); // else if ((tr[t].d0 > 0) && (tr[t].d1 <= 0)) UNSUPPORTED("9cj5nz12eopffdahw5emn4c08"); // { /* Only one trapezoid below */ UNSUPPORTED("6a1dcxf2rsr9zq5pxrpuecig1"); // if ((tr[t].u0 > 0) && (tr[t].u1 > 0)) UNSUPPORTED("4vladne5kzv3xueclq0sxcjho"); // { /* continuation of a chain from abv. */ UNSUPPORTED("bwewd7qprc37qhwxz3ko1y4uq"); // if (tr[t].usave > 0) /* three upper neighbours */ UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("esaqksoargwy10mkyzhmv2p9v"); // if (tr[t].uside == 1) UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // { UNSUPPORTED("82gucb8vt172fhq2ug560dgje"); // tr[tn].u0 = tr[t].u1; UNSUPPORTED("lgzjorwqs1rmmyj7q8jzt16e"); // tr[t].u1 = -1; UNSUPPORTED("6wku8ik0lpiqemv9dmew6dodf"); // tr[tn].u1 = tr[t].usave; UNSUPPORTED("1h87mqh0ff7hg3ogzwu8daiai"); // tr[tr[t].u0].d0 = t; UNSUPPORTED("30jz3yn7hygbk25oykenqo2tp"); // tr[tr[tn].u0].d0 = tn; UNSUPPORTED("ehcdy9xx8x9l0nz0oybez912h"); // tr[tr[tn].u1].d0 = tn; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6cf2pwwuzbumwpxili1otryjb"); // else /* intersects in the right */ UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // { UNSUPPORTED("1zxekgfse665xkba3vu2wy0c0"); // tr[tn].u1 = -1; UNSUPPORTED("82gucb8vt172fhq2ug560dgje"); // tr[tn].u0 = tr[t].u1; UNSUPPORTED("dedip96pnjatmrxwr3szb2ltb"); // tr[t].u1 = tr[t].u0; UNSUPPORTED("be5obz58np1ogzt1m8welxd6c"); // tr[t].u0 = tr[t].usave; UNSUPPORTED("1h87mqh0ff7hg3ogzwu8daiai"); // tr[tr[t].u0].d0 = t; UNSUPPORTED("2d4udv8v764lhooiia78atj4b"); // tr[tr[t].u1].d0 = t; UNSUPPORTED("72euqk1bum10xtl1bm12ug86r"); // tr[tr[tn].u0].d0 = tn; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("d52osx7vrtw97wm9ut9vfa5wj"); // tr[t].usave = tr[tn].usave = 0; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("91694gf7sahoxvmiw82owvef2"); // else /* No usave.... simple case */ UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("e2zdzb3rlpq6pieuayb44oijq"); // tr[tn].u0 = tr[t].u1; UNSUPPORTED("6291oktyj53xp9yslzj405wgb"); // tr[t].u1 = tr[tn].u1 = -1; UNSUPPORTED("ay4xwmue8kz8uzp2wgge6752p"); // tr[tr[tn].u0].d0 = tn; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("embybz3p65nxf0rx8b52bb0cj"); // else UNSUPPORTED("2auoskyvfrf0wu8ekti5fs1n4"); // { /* fresh seg. or upward cusp */ UNSUPPORTED("2hrv5rm87wox9rp79f6wpn619"); // int tmp_u = tr[t].u0; UNSUPPORTED("8zaj2aem34dupb1plqsm8uwk5"); // int td0, td1; UNSUPPORTED("6f3f5nfgz2txzlmdcntsu2yyx"); // if (((td0 = tr[tmp_u].d0) > 0) && UNSUPPORTED("7ed0ylnawdzj4xmtq0ih0wt7o"); // ((td1 = tr[tmp_u].d1) > 0)) UNSUPPORTED("8dh5ldf8m83e9ngo1yqfbo7m1"); // { /* upward cusp */ UNSUPPORTED("62v7ooft04km5zqvbpql7o5ps"); // if ((tr[td0].rseg > 0) && UNSUPPORTED("4hx3tu7xyeswnab7x0q6yoefl"); // !is_left_of(tr[td0].rseg, seg, &s.v1)) UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // { UNSUPPORTED("201vn0jou9fcf0n2tjih472mz"); // tr[t].u0 = tr[t].u1 = tr[tn].u1 = -1; UNSUPPORTED("rg3tngg7tj2qgf4erhpbcau8"); // tr[tr[tn].u0].d1 = tn; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("crxpsdr3uqrfkq55ecsr4zuxi"); // else /* cusp going leftwards */ UNSUPPORTED("bkwn0jotk953x4wcx60j0p47f"); // { UNSUPPORTED("e9ql35kajykty3zsmtldh0wzb"); // tr[tn].u0 = tr[tn].u1 = tr[t].u1 = -1; UNSUPPORTED("1h87mqh0ff7hg3ogzwu8daiai"); // tr[tr[t].u0].d0 = t; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("dayzocp22vmevtvo1awep6h63"); // else /* fresh segment */ UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("1i8cfmzh5xxisiuekr63cd7hs"); // tr[tr[t].u0].d0 = t; UNSUPPORTED("694mejpoguhaimtc4oglzp817"); // tr[tr[t].u0].d1 = tn; UNSUPPORTED("5m5bo8wuz7zrobc77883wcpw1"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("e0kb482en9la96mrxyisdyquw"); // if ((fabs(tr[t].lo.y - tr[tlast].lo.y) <= 1.0e-7) && UNSUPPORTED("8d08n1tz1fajvu4tkkmyvqto3"); // (fabs(tr[t].lo.x - tr[tlast].lo.x) <= 1.0e-7) && tribot) UNSUPPORTED("2pqges4a601rkdgoh9ay4fwkc"); // { /* bottom forms a triangle */ UNSUPPORTED("74q36498zx96m389wznj126jh"); // if (is_swapped) UNSUPPORTED("c6l0dqua1wi4sm2nno83tqjpu"); // tmptriseg = seg[segnum].prev; UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else UNSUPPORTED("cr8el00rgafuidxf7dkqmprk9"); // tmptriseg = seg[segnum].next; UNSUPPORTED("7m5vjpo3bvkkv7dehsu8lk1i0"); // if ((tmptriseg > 0) && is_left_of(tmptriseg, seg, &s.v0)) UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("vgbcetfcktd1hjnqclhp7w01"); // /* L-R downward cusp */ UNSUPPORTED("5ippcybc2d61q6we5qdy4i2qa"); // tr[tr[t].d0].u0 = t; UNSUPPORTED("ejo4cyfym8ojporxegfwpinht"); // tr[tn].d0 = tr[tn].d1 = -1; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("eldt3ci812qmne3db4ojeuhz7"); // /* R-L downward cusp */ UNSUPPORTED("8g2jcubbcwsaaenx674f63kth"); // tr[tr[tn].d0].u1 = tn; UNSUPPORTED("3c4euuu782207qdjnwrjswbyy"); // tr[t].d0 = tr[t].d1 = -1; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("cad2a1rc10cprtvojmol6lcxf"); // if ((tr[tr[t].d0].u0 > 0) && (tr[tr[t].d0].u1 > 0)) UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("6ilx5r7u9y1m64f57y23qxlii"); // if (tr[tr[t].d0].u0 == t) /* passes thru LHS */ UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // { UNSUPPORTED("5my98yb1h8davodq05wl96zgu"); // tr[tr[t].d0].usave = tr[tr[t].d0].u1; UNSUPPORTED("5lykreqcj4w4ugg2fshp1085g"); // tr[tr[t].d0].uside = 1; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("12hbppj0gv84xkilzofj6ohze"); // else UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // { UNSUPPORTED("azh2ilm9el27ve1j7t3o8lo3k"); // tr[tr[t].d0].usave = tr[tr[t].d0].u0; UNSUPPORTED("2wjhisme7ontii2rgbvel3qza"); // tr[tr[t].d0].uside = 2; UNSUPPORTED("ctzn5o8xqkywd73gcu6ofjsb7"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("3vlkssstu9yp43651wjntawrq"); // tr[tr[t].d0].u0 = t; UNSUPPORTED("dy31y8zhzxmyas9wde5g3vvlh"); // tr[tr[t].d0].u1 = tn; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("er72bs1z1fiixf6x2m2ck5218"); // t = tr[t].d0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3vmznfuejkuwxfecdhhksjlqn"); // else if ((tr[t].d0 <= 0) && (tr[t].d1 > 0)) UNSUPPORTED("9cj5nz12eopffdahw5emn4c08"); // { /* Only one trapezoid below */ UNSUPPORTED("6a1dcxf2rsr9zq5pxrpuecig1"); // if ((tr[t].u0 > 0) && (tr[t].u1 > 0)) UNSUPPORTED("4vladne5kzv3xueclq0sxcjho"); // { /* continuation of a chain from abv. */ UNSUPPORTED("bwewd7qprc37qhwxz3ko1y4uq"); // if (tr[t].usave > 0) /* three upper neighbours */ UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("esaqksoargwy10mkyzhmv2p9v"); // if (tr[t].uside == 1) UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // { UNSUPPORTED("82gucb8vt172fhq2ug560dgje"); // tr[tn].u0 = tr[t].u1; UNSUPPORTED("lgzjorwqs1rmmyj7q8jzt16e"); // tr[t].u1 = -1; UNSUPPORTED("6wku8ik0lpiqemv9dmew6dodf"); // tr[tn].u1 = tr[t].usave; UNSUPPORTED("1h87mqh0ff7hg3ogzwu8daiai"); // tr[tr[t].u0].d0 = t; UNSUPPORTED("30jz3yn7hygbk25oykenqo2tp"); // tr[tr[tn].u0].d0 = tn; UNSUPPORTED("ehcdy9xx8x9l0nz0oybez912h"); // tr[tr[tn].u1].d0 = tn; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6cf2pwwuzbumwpxili1otryjb"); // else /* intersects in the right */ UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // { UNSUPPORTED("1zxekgfse665xkba3vu2wy0c0"); // tr[tn].u1 = -1; UNSUPPORTED("82gucb8vt172fhq2ug560dgje"); // tr[tn].u0 = tr[t].u1; UNSUPPORTED("dedip96pnjatmrxwr3szb2ltb"); // tr[t].u1 = tr[t].u0; UNSUPPORTED("be5obz58np1ogzt1m8welxd6c"); // tr[t].u0 = tr[t].usave; UNSUPPORTED("1h87mqh0ff7hg3ogzwu8daiai"); // tr[tr[t].u0].d0 = t; UNSUPPORTED("2d4udv8v764lhooiia78atj4b"); // tr[tr[t].u1].d0 = t; UNSUPPORTED("72euqk1bum10xtl1bm12ug86r"); // tr[tr[tn].u0].d0 = tn; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("d52osx7vrtw97wm9ut9vfa5wj"); // tr[t].usave = tr[tn].usave = 0; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("91694gf7sahoxvmiw82owvef2"); // else /* No usave.... simple case */ UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("e2zdzb3rlpq6pieuayb44oijq"); // tr[tn].u0 = tr[t].u1; UNSUPPORTED("6291oktyj53xp9yslzj405wgb"); // tr[t].u1 = tr[tn].u1 = -1; UNSUPPORTED("ay4xwmue8kz8uzp2wgge6752p"); // tr[tr[tn].u0].d0 = tn; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("embybz3p65nxf0rx8b52bb0cj"); // else UNSUPPORTED("2auoskyvfrf0wu8ekti5fs1n4"); // { /* fresh seg. or upward cusp */ UNSUPPORTED("2hrv5rm87wox9rp79f6wpn619"); // int tmp_u = tr[t].u0; UNSUPPORTED("8zaj2aem34dupb1plqsm8uwk5"); // int td0, td1; UNSUPPORTED("6f3f5nfgz2txzlmdcntsu2yyx"); // if (((td0 = tr[tmp_u].d0) > 0) && UNSUPPORTED("7ed0ylnawdzj4xmtq0ih0wt7o"); // ((td1 = tr[tmp_u].d1) > 0)) UNSUPPORTED("8dh5ldf8m83e9ngo1yqfbo7m1"); // { /* upward cusp */ UNSUPPORTED("62v7ooft04km5zqvbpql7o5ps"); // if ((tr[td0].rseg > 0) && UNSUPPORTED("4hx3tu7xyeswnab7x0q6yoefl"); // !is_left_of(tr[td0].rseg, seg, &s.v1)) UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // { UNSUPPORTED("201vn0jou9fcf0n2tjih472mz"); // tr[t].u0 = tr[t].u1 = tr[tn].u1 = -1; UNSUPPORTED("rg3tngg7tj2qgf4erhpbcau8"); // tr[tr[tn].u0].d1 = tn; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("e77o5ieo3c02dom0f04cj7inv"); // else UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // { UNSUPPORTED("e9ql35kajykty3zsmtldh0wzb"); // tr[tn].u0 = tr[tn].u1 = tr[t].u1 = -1; UNSUPPORTED("1h87mqh0ff7hg3ogzwu8daiai"); // tr[tr[t].u0].d0 = t; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("dayzocp22vmevtvo1awep6h63"); // else /* fresh segment */ UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("1i8cfmzh5xxisiuekr63cd7hs"); // tr[tr[t].u0].d0 = t; UNSUPPORTED("694mejpoguhaimtc4oglzp817"); // tr[tr[t].u0].d1 = tn; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("e0kb482en9la96mrxyisdyquw"); // if ((fabs(tr[t].lo.y - tr[tlast].lo.y) <= 1.0e-7) && UNSUPPORTED("8d08n1tz1fajvu4tkkmyvqto3"); // (fabs(tr[t].lo.x - tr[tlast].lo.x) <= 1.0e-7) && tribot) UNSUPPORTED("2pqges4a601rkdgoh9ay4fwkc"); // { /* bottom forms a triangle */ UNSUPPORTED("3xb6452d73nnzbrvxea9r7avd"); // /* int tmpseg; */ UNSUPPORTED("74q36498zx96m389wznj126jh"); // if (is_swapped) UNSUPPORTED("c6l0dqua1wi4sm2nno83tqjpu"); // tmptriseg = seg[segnum].prev; UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else UNSUPPORTED("cr8el00rgafuidxf7dkqmprk9"); // tmptriseg = seg[segnum].next; UNSUPPORTED("c1pnfnnei4xmduu3ik7cdc40k"); // /* if ((tmpseg > 0) && is_left_of(tmpseg, seg, &s.v0)) */ UNSUPPORTED("7m5vjpo3bvkkv7dehsu8lk1i0"); // if ((tmptriseg > 0) && is_left_of(tmptriseg, seg, &s.v0)) UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("7its0v1anhryibc6kbl7e3rih"); // /* L-R downward cusp */ UNSUPPORTED("8vwe6jjx4f0cxtyk1cjsred13"); // tr[tr[t].d1].u0 = t; UNSUPPORTED("ejo4cyfym8ojporxegfwpinht"); // tr[tn].d0 = tr[tn].d1 = -1; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("2j9f9vrzjshiti7k2l10sx84u"); // /* R-L downward cusp */ UNSUPPORTED("e1gz5epvwn4p0q5i8fveabsz8"); // tr[tr[tn].d1].u1 = tn; UNSUPPORTED("3c4euuu782207qdjnwrjswbyy"); // tr[t].d0 = tr[t].d1 = -1; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("1qf8h2an6bk6wlk3fyq6i22ad"); // } UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("dp2662k6f23gqdw8zett9yvym"); // if ((tr[tr[t].d1].u0 > 0) && (tr[tr[t].d1].u1 > 0)) UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("77i22g6l292mg0okyxnajy9gb"); // if (tr[tr[t].d1].u0 == t) /* passes thru LHS */ UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // { UNSUPPORTED("42sveu7omg4ras47bkv0d1q9l"); // tr[tr[t].d1].usave = tr[tr[t].d1].u1; UNSUPPORTED("3u8ltfhvqrsqd7ghc6mp90sk9"); // tr[tr[t].d1].uside = 1; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("12hbppj0gv84xkilzofj6ohze"); // else UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // { UNSUPPORTED("4pcz02ip4pmu4wcvx249zt3hg"); // tr[tr[t].d1].usave = tr[tr[t].d1].u0; UNSUPPORTED("16fb5zagcitmzonkbzu89irjk"); // tr[tr[t].d1].uside = 2; UNSUPPORTED("ctzn5o8xqkywd73gcu6ofjsb7"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6s5143onio335hfkk9om9l2a9"); // tr[tr[t].d1].u0 = t; UNSUPPORTED("6y4fvgf18azjngp3ph603viqk"); // tr[tr[t].d1].u1 = tn; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("5ltskdvhhim7914v7bcvcdu1y"); // t = tr[t].d1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("d8ibg8ps7psb492dez8t19wv3"); // /* two trapezoids below. Find out which one is intersected by */ UNSUPPORTED("cpnw42brz1nujz70qenh15r33"); // /* this segment and proceed down that one */ UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { UNSUPPORTED("aeo0l7hd0tz385ecxm03tsqb1"); // /* int tmpseg = tr[tr[t].d0].rseg; */ UNSUPPORTED("21dtwfwxm34d3el5rfez2ddio"); // double y0, yt; UNSUPPORTED("ds4ikd3wmue9s0ynmtxz1aw74"); // pointf tmppt; UNSUPPORTED("ah7kj1y9wo89l5ql0wxxjuqlt"); // int tnext, i_d0, i_d1; UNSUPPORTED("9l5ekv5nqwnh36g4gcr1x82aj"); // i_d0 = i_d1 = (0); UNSUPPORTED("4z75kl9vosft7cj42ce1arxdo"); // if ((fabs(tr[t].lo.y - s.v0.y) <= 1.0e-7)) UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("c8cramjmaogq40iauxa5mwm71"); // if (tr[t].lo.x > s.v0.x) UNSUPPORTED("18rqvljf5nebs454zlt2irs1i"); // i_d0 = (!(0)); UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else UNSUPPORTED("v34oktxyq713ipav88bmcfn6"); // i_d1 = (!(0)); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("db0whoy6j8f6uwqf5v4ilkh4v"); // tmppt.y = y0 = tr[t].lo.y; UNSUPPORTED("e5hekltsjclzspvdy92oh7kbu"); // yt = (y0 - s.v0.y)/(s.v1.y - s.v0.y); UNSUPPORTED("f30z7uxjf30rbkx5rdbcrwsm4"); // tmppt.x = s.v0.x + yt * (s.v1.x - s.v0.x); UNSUPPORTED("b4znl042gb9xqbe7w3hs5cz0y"); // if (_less_than(&tmppt, &tr[t].lo)) UNSUPPORTED("18rqvljf5nebs454zlt2irs1i"); // i_d0 = (!(0)); UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else UNSUPPORTED("v34oktxyq713ipav88bmcfn6"); // i_d1 = (!(0)); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("9hbp7chg2crbrb1u4rnba7190"); // /* check continuity from the top so that the lower-neighbour */ UNSUPPORTED("81ywl919vnapbffcabfhs0ntz"); // /* values are properly filled for the upper trapezoid */ UNSUPPORTED("6a1dcxf2rsr9zq5pxrpuecig1"); // if ((tr[t].u0 > 0) && (tr[t].u1 > 0)) UNSUPPORTED("4vladne5kzv3xueclq0sxcjho"); // { /* continuation of a chain from abv. */ UNSUPPORTED("bwewd7qprc37qhwxz3ko1y4uq"); // if (tr[t].usave > 0) /* three upper neighbours */ UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("esaqksoargwy10mkyzhmv2p9v"); // if (tr[t].uside == 1) UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // { UNSUPPORTED("82gucb8vt172fhq2ug560dgje"); // tr[tn].u0 = tr[t].u1; UNSUPPORTED("lgzjorwqs1rmmyj7q8jzt16e"); // tr[t].u1 = -1; UNSUPPORTED("6wku8ik0lpiqemv9dmew6dodf"); // tr[tn].u1 = tr[t].usave; UNSUPPORTED("1h87mqh0ff7hg3ogzwu8daiai"); // tr[tr[t].u0].d0 = t; UNSUPPORTED("30jz3yn7hygbk25oykenqo2tp"); // tr[tr[tn].u0].d0 = tn; UNSUPPORTED("ehcdy9xx8x9l0nz0oybez912h"); // tr[tr[tn].u1].d0 = tn; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6cf2pwwuzbumwpxili1otryjb"); // else /* intersects in the right */ UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // { UNSUPPORTED("1zxekgfse665xkba3vu2wy0c0"); // tr[tn].u1 = -1; UNSUPPORTED("82gucb8vt172fhq2ug560dgje"); // tr[tn].u0 = tr[t].u1; UNSUPPORTED("dedip96pnjatmrxwr3szb2ltb"); // tr[t].u1 = tr[t].u0; UNSUPPORTED("be5obz58np1ogzt1m8welxd6c"); // tr[t].u0 = tr[t].usave; UNSUPPORTED("1h87mqh0ff7hg3ogzwu8daiai"); // tr[tr[t].u0].d0 = t; UNSUPPORTED("2d4udv8v764lhooiia78atj4b"); // tr[tr[t].u1].d0 = t; UNSUPPORTED("72euqk1bum10xtl1bm12ug86r"); // tr[tr[tn].u0].d0 = tn; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("d52osx7vrtw97wm9ut9vfa5wj"); // tr[t].usave = tr[tn].usave = 0; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("91694gf7sahoxvmiw82owvef2"); // else /* No usave.... simple case */ UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("e2zdzb3rlpq6pieuayb44oijq"); // tr[tn].u0 = tr[t].u1; UNSUPPORTED("ddpnvdcma38disf8tyw74xp3g"); // tr[tn].u1 = -1; UNSUPPORTED("dqxje9ppj2ffgivrfpyid7ffd"); // tr[t].u1 = -1; UNSUPPORTED("ay4xwmue8kz8uzp2wgge6752p"); // tr[tr[tn].u0].d0 = tn; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("embybz3p65nxf0rx8b52bb0cj"); // else UNSUPPORTED("2auoskyvfrf0wu8ekti5fs1n4"); // { /* fresh seg. or upward cusp */ UNSUPPORTED("2hrv5rm87wox9rp79f6wpn619"); // int tmp_u = tr[t].u0; UNSUPPORTED("8zaj2aem34dupb1plqsm8uwk5"); // int td0, td1; UNSUPPORTED("6f3f5nfgz2txzlmdcntsu2yyx"); // if (((td0 = tr[tmp_u].d0) > 0) && UNSUPPORTED("7ed0ylnawdzj4xmtq0ih0wt7o"); // ((td1 = tr[tmp_u].d1) > 0)) UNSUPPORTED("8dh5ldf8m83e9ngo1yqfbo7m1"); // { /* upward cusp */ UNSUPPORTED("62v7ooft04km5zqvbpql7o5ps"); // if ((tr[td0].rseg > 0) && UNSUPPORTED("4hx3tu7xyeswnab7x0q6yoefl"); // !is_left_of(tr[td0].rseg, seg, &s.v1)) UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // { UNSUPPORTED("201vn0jou9fcf0n2tjih472mz"); // tr[t].u0 = tr[t].u1 = tr[tn].u1 = -1; UNSUPPORTED("rg3tngg7tj2qgf4erhpbcau8"); // tr[tr[tn].u0].d1 = tn; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("e77o5ieo3c02dom0f04cj7inv"); // else UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // { UNSUPPORTED("e9ql35kajykty3zsmtldh0wzb"); // tr[tn].u0 = tr[tn].u1 = tr[t].u1 = -1; UNSUPPORTED("1h87mqh0ff7hg3ogzwu8daiai"); // tr[tr[t].u0].d0 = t; UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("dayzocp22vmevtvo1awep6h63"); // else /* fresh segment */ UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { UNSUPPORTED("1i8cfmzh5xxisiuekr63cd7hs"); // tr[tr[t].u0].d0 = t; UNSUPPORTED("694mejpoguhaimtc4oglzp817"); // tr[tr[t].u0].d1 = tn; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("e0kb482en9la96mrxyisdyquw"); // if ((fabs(tr[t].lo.y - tr[tlast].lo.y) <= 1.0e-7) && UNSUPPORTED("8d08n1tz1fajvu4tkkmyvqto3"); // (fabs(tr[t].lo.x - tr[tlast].lo.x) <= 1.0e-7) && tribot) UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("4i449ebwuk75bwvj3njk3c62q"); // /* this case arises only at the lowest trapezoid.. i.e. UNSUPPORTED("chl5iuvrjyna1uuc1kjo3qe67"); // tlast, if the lower endpoint of the segment is UNSUPPORTED("9x1ytb8hzdseof3w011rw1vo6"); // already inserted in the structure */ UNSUPPORTED("3vlkssstu9yp43651wjntawrq"); // tr[tr[t].d0].u0 = t; UNSUPPORTED("m24vo48yuozp20pg0jewoocj"); // tr[tr[t].d0].u1 = -1; UNSUPPORTED("bqsxgabpkfrz4qsvsfyt54x4d"); // tr[tr[t].d1].u0 = tn; UNSUPPORTED("5pcabowqh0osy2bara83fy53g"); // tr[tr[t].d1].u1 = -1; UNSUPPORTED("9akd96bko966x16jg4ghdofjt"); // tr[tn].d0 = tr[t].d1; UNSUPPORTED("ez9y4mtzds5q3em5b2h4m0dj"); // tr[t].d1 = tr[tn].d1 = -1; UNSUPPORTED("7zlu4fl3iisiyyfhc8efkikq2"); // tnext = tr[t].d1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("7ekeyr3kxnx2g4xkar2e97ujg"); // else if (i_d0) UNSUPPORTED("df98v04w3tfu8ysuydsf7y85a"); // /* intersecting d0 */ UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("3vlkssstu9yp43651wjntawrq"); // tr[tr[t].d0].u0 = t; UNSUPPORTED("dy31y8zhzxmyas9wde5g3vvlh"); // tr[tr[t].d0].u1 = tn; UNSUPPORTED("bqsxgabpkfrz4qsvsfyt54x4d"); // tr[tr[t].d1].u0 = tn; UNSUPPORTED("5pcabowqh0osy2bara83fy53g"); // tr[tr[t].d1].u1 = -1; UNSUPPORTED("f4j0by9ay0t0diwmyfz091taa"); // /* new code to determine the bottom neighbours of the */ UNSUPPORTED("62pe8dmdbu3mmvgi9x43iqe6b"); // /* newly partitioned trapezoid */ UNSUPPORTED("6qcsr9br9c9peep8mzd4eldpu"); // tr[t].d1 = -1; UNSUPPORTED("7n0btjlxfoym1gc1tkc5zrbdg"); // tnext = tr[t].d0; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("et6v36d4wyvf6eg7htev3s7m9"); // else /* intersecting d1 */ UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { UNSUPPORTED("3vlkssstu9yp43651wjntawrq"); // tr[tr[t].d0].u0 = t; UNSUPPORTED("m24vo48yuozp20pg0jewoocj"); // tr[tr[t].d0].u1 = -1; UNSUPPORTED("6s5143onio335hfkk9om9l2a9"); // tr[tr[t].d1].u0 = t; UNSUPPORTED("6y4fvgf18azjngp3ph603viqk"); // tr[tr[t].d1].u1 = tn; UNSUPPORTED("f4j0by9ay0t0diwmyfz091taa"); // /* new code to determine the bottom neighbours of the */ UNSUPPORTED("62pe8dmdbu3mmvgi9x43iqe6b"); // /* newly partitioned trapezoid */ UNSUPPORTED("9akd96bko966x16jg4ghdofjt"); // tr[tn].d0 = tr[t].d1; UNSUPPORTED("41y3k6fjtt5tbdx3goo3bnr1i"); // tr[tn].d1 = -1; UNSUPPORTED("da00twqjxr6q0clcep0wcdlql"); // tnext = tr[t].d1; UNSUPPORTED("1dgkp19ct6hczd1425v8q1dct"); // } UNSUPPORTED("6fwmq6tx1y4cibphzm0f4wakm"); // t = tnext; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("e44ec6lx2mkb3zz7hmhjx90rq"); // tr[t_sav].rseg = tr[tn_sav].lseg = segnum; UNSUPPORTED("65mlofu9i9895kq8xkb6x103e"); // } /* end-while */ UNSUPPORTED("8rkpqhwjgyuqdygp3b2o580ff"); // /* Now combine those trapezoids which share common segments. We can */ UNSUPPORTED("cklqh43b0korps6nmg2eefd70"); // /* use the pointers to the parent to connect these together. This */ UNSUPPORTED("nzam565p5xaq9ashe9ekcjks"); // /* works only because all these new trapezoids have been formed */ UNSUPPORTED("81u7z601i80he54qa00v17ami"); // /* due to splitting by the segment, and hence have only one parent */ UNSUPPORTED("cn4qmoxsrclu3q3mbcc9ff7fw"); // tfirstl = tfirst; UNSUPPORTED("duhakllu2zu2zvohf6zxwdnqc"); // tlastl = tlast; UNSUPPORTED("36mff9r0jqhoc1chz9zqbk3x1"); // merge_trapezoids(segnum, tfirstl, tlastl, 1, tr, qs); UNSUPPORTED("aldx6ji29f73y5modmaxg9zs9"); // merge_trapezoids(segnum, tfirstr, tlastr, 2, tr, qs); UNSUPPORTED("5e3z4o423d4ob6d3adzxdeipj"); // seg[segnum].is_inserted = (!(0)); UNSUPPORTED("bid671dovx1rdiquw5vm3fttj"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7afsay7ejf6pnu6atsg7glt53 // static void find_new_roots(int segnum, segment_t* seg, trap_t* tr, qnode_t* qs) public static Object find_new_roots(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("hytfu5b4w9vy61qxrhvzemj3"); // find_new_roots(int segnum, segment_t* seg, trap_t* tr, qnode_t* qs) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("55wy1clqaecn10s0jetfvt04s"); // segment_t *s = &seg[segnum]; UNSUPPORTED("13js9c1rj1roq5meh748h5zjy"); // if (s->is_inserted) return; UNSUPPORTED("3v99ch3hok3ae2fl5leqyzkd7"); // s->root0 = locate_endpoint(&s->v0, &s->v1, s->root0, seg, qs); UNSUPPORTED("7xdyqtj001z8eqv93gzye5r0k"); // s->root0 = tr[s->root0].sink; UNSUPPORTED("azljsp4ofo8uf3sqfwo50lv7y"); // s->root1 = locate_endpoint(&s->v1, &s->v0, s->root1, seg, qs); UNSUPPORTED("4cgieg4q0okhq82lczulvj2ok"); // s->root1 = tr[s->root1].sink; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1ftshkxhp22o0xgh3kuc3sile // static int math_logstar_n(int n) public static Object math_logstar_n(Object... arg) { UNSUPPORTED("3a94rmq48cptlea8l9svm2vdf"); // static int math_logstar_n(int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9cyat6ft4tmgpumn70l9fwydy"); // register int i; UNSUPPORTED("6om7utuy6ofppg87j05edy4cy"); // double v; UNSUPPORTED("2r6ldqvvcn5lqu4qdj5pias2v"); // for (i = 0, v = (double) n; v >= 1; i++) UNSUPPORTED("1d99ficfyx27epymfs7pc5c4"); // v = (log(v)/log(2)); UNSUPPORTED("17678qqlxjn7yfcjfzl0pk4ao"); // return (i - 1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 20alp7vy21dvsx8ums8pezh3o // static int math_N(int n, int h) public static Object math_N(Object... arg) { UNSUPPORTED("dd4ge3rbi53dw0wh8a3si1jh7"); // static int math_N(int n, int h) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9cyat6ft4tmgpumn70l9fwydy"); // register int i; UNSUPPORTED("6om7utuy6ofppg87j05edy4cy"); // double v; UNSUPPORTED("ujffxxrs7gz2vawl37d9jslq"); // for (i = 0, v = (int) n; i < h; i++) UNSUPPORTED("1d99ficfyx27epymfs7pc5c4"); // v = (log(v)/log(2)); UNSUPPORTED("enxjvr50hyamoic6g6lwxie70"); // return (int) ceil((double) 1.0*n/v); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9jpwujop3smqitn3gmtcrcixm // int construct_trapezoids(int nseg, segment_t* seg, int* permute, int ntraps, trap_t* tr) public static Object construct_trapezoids(Object... arg) { UNSUPPORTED("etrjsq5w49uo9jq5pzifohkqw"); // int UNSUPPORTED("cywexw0hiyl2gthuawhdixmym"); // construct_trapezoids(int nseg, segment_t* seg, int* permute, int ntraps, UNSUPPORTED("benaopemb2t6pehss4gcdybzb"); // trap_t* tr) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("c4yv5wsz9md0n246eno8qs5et"); // int root, h; UNSUPPORTED("1c0phmc3iq7tb3sotrpcjoup9"); // int segi = 1; UNSUPPORTED("7jamhwzh4w6lx0bpq57thdtpt"); // qnode_t* qs; UNSUPPORTED("1yqtu5d20wep1ymxy1y0nv1g0"); // QSIZE = 2*ntraps; UNSUPPORTED("3mcur34pgw6444857byhvmgs5"); // TRSIZE = ntraps; UNSUPPORTED("alj695bdzyptc3wnccsnyuano"); // qs = (qnode_t*)zmalloc((2*ntraps)*sizeof(qnode_t)); UNSUPPORTED("eroaf3tk5y6euf62it6cxn758"); // q_idx = tr_idx = 1; UNSUPPORTED("873fgjnxtke0s60r4k3bn0se8"); // memset((void *)tr, 0, ntraps*sizeof(trap_t)); UNSUPPORTED("dznan6lx9lxucsy4yr6edbkas"); // /* Add the first segment and get the query structure and trapezoid */ UNSUPPORTED("acrntweri3uun3ahwdudmq1bc"); // /* list initialised */ UNSUPPORTED("57gkh96bcrh9z87hoeeqq9nw4"); // root = init_query_structure(permute[segi++], seg, tr, qs); UNSUPPORTED("56oij2ngkqcxgpihju021plmr"); // for (i = 1; i <= nseg; i++) UNSUPPORTED("137jp8s4g6ip477ywoxna6hr4"); // seg[i].root0 = seg[i].root1 = root; UNSUPPORTED("56osqlqd8y3slj5zr13d4grc7"); // for (h = 1; h <= math_logstar_n(nseg); h++) { UNSUPPORTED("tmjwiqe8s4q112nev98zolt7"); // for (i = math_N(nseg, h -1) + 1; i <= math_N(nseg, h); i++) UNSUPPORTED("bk608pqmg2xw7fpucgxkgwhmo"); // add_segment(permute[segi++], seg, tr, qs); UNSUPPORTED("9lu6zl26144vbdgsqc1mc6wwz"); // /* Find a new root for each of the segment endpoints */ UNSUPPORTED("d1y51tnl70njrosh5iimn6xmx"); // for (i = 1; i <= nseg; i++) UNSUPPORTED("cfk5n685oegsos34urlk5307z"); // find_new_roots(i, seg, tr, qs); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4sfugdwxcf71d498tnurlvs5"); // for (i = math_N(nseg, math_logstar_n(nseg)) + 1; i <= nseg; i++) UNSUPPORTED("eqduqz9al6zdpuhe8fsvnn2en"); // add_segment(permute[segi++], seg, tr, qs); UNSUPPORTED("5olrlwcgauazrftmytyls44zs"); // free (qs); UNSUPPORTED("awblwd52926w1zhpsot3aqld9"); // return tr_idx; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/pack/000077500000000000000000000000001340005343600173075ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/gen/lib/pack/ccomps__c.java000066400000000000000000001610161340005343600221040ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.pack; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; import smetana.core.jmp_buf; public class ccomps__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 exy2l03ceq9zw4vf01bbd4d3o // typedef unsigned int packval_t //1 540u5gu9i0x1wzoxqqx5n2vwp // static jmp_buf jbuf private static jmp_buf jbuf = new jmp_buf(); //3 ewv0wgzjcdnccieiofn923tzs // static void initStk(stk_t* sp, blk_t* bp, Agnode_t** base, void (*actionfn) (Agnode_t *, void *), int (*markfn) (Agnode_t *, int)) public static Object initStk(Object... arg) { UNSUPPORTED("4owkhdzsvdc67eibb0hkce52q"); // static void initStk(stk_t* sp, blk_t* bp, Agnode_t** base, void (*actionfn) (Agnode_t *, void *), UNSUPPORTED("2ugi0pnat35n3v5vu8m6wo8c9"); // int (*markfn) (Agnode_t *, int)) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4cbv5zljxbezjfjh2w96uqzqo"); // bp->data = base; UNSUPPORTED("426ak2yitexsg6w4qx8qa3hhn"); // bp->endp = bp->data + 1024; UNSUPPORTED("cobh6ukbtrqg5kazfkb5qbwos"); // bp->prev = bp->next = NULL; UNSUPPORTED("d0y7isc6mkt4zs7cuxs0z8cbi"); // sp->curblk = sp->fstblk = bp; UNSUPPORTED("4plit1pai1xwb6lmp8vxdw765"); // sp->curp = sp->curblk->data; UNSUPPORTED("6jgugocuz58zaphptxebwqqu0"); // sp->actionfn = actionfn; UNSUPPORTED("40ff66oit4kaivk88m97roufs"); // sp->markfn = markfn; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 avbxwaxrnn1f4ijqvx6vxj4v9 // static void freeBlk (blk_t* bp) public static Object freeBlk(Object... arg) { UNSUPPORTED("29r3rvz6nqb5jkizgs6l1gfir"); // static void freeBlk (blk_t* bp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ac5kl6l72wqbpu92jfnqucas5"); // free (bp->data); UNSUPPORTED("c9jxbo3hkfopwopqpnypylnqn"); // free (bp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 905gm18k22sxeiqmefouokdo7 // static void freeStk (stk_t* sp) public static Object freeStk(Object... arg) { UNSUPPORTED("7voev7gkgzy2irm66y8o7lv98"); // static void freeStk (stk_t* sp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("80y0y8nl1rhrvjhyidchkoszx"); // blk_t* bp; UNSUPPORTED("2hg7cngzjwbp4pra1mt6hm7c8"); // blk_t* nxtbp; UNSUPPORTED("bxbujse1qlvr5o62jaz7w882b"); // for (bp = sp->fstblk->next; bp; bp = nxtbp) { UNSUPPORTED("9ongyx2cs1pmip1padbv3faub"); // nxtbp = bp->next; UNSUPPORTED("8nhlz8mf83z61xbe7ebmuvrvg"); // freeBlk (bp); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 hd5g5m1klfh6fir1b88dxxy0 // static void push(stk_t* sp, Agnode_t * np) public static Object push(Object... arg) { UNSUPPORTED("4mi4cbphlu8woard9ipkskhxa"); // static void push(stk_t* sp, Agnode_t * np) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7sn7er3kav3y1pmuuel14uk4g"); // if (sp->curp == sp->curblk->endp) { UNSUPPORTED("7ejfjo9ujnhxt1brqoyvda98z"); // if (sp->curblk->next == NULL) { UNSUPPORTED("8p9lw9k3c5g8o70jiwpc4khxg"); // blk_t *bp = (blk_t*)gmalloc(sizeof(blk_t)); UNSUPPORTED("vmqejt4xnnxkowx9kdfiom2v"); // if (bp == 0) { UNSUPPORTED("64rnd8pm27zc8ih7z4lo209g6"); // agerr(AGERR, "gc: Out of memory\n"); UNSUPPORTED("6a6l5zrquzjwwujlojo3bxgmx"); // longjmp(jbuf, 1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("8lzokfu3379ms29120i1pi1u7"); // bp->prev = sp->curblk; UNSUPPORTED("5355u0h1ffziua427nbgktm4f"); // bp->next = NULL; UNSUPPORTED("10q0f3r7358yitvftkhg0ndxj"); // bp->data = (Agnode_t **)gmalloc((1000000)*sizeof(Agnode_t *)); UNSUPPORTED("7cdsxgqqn6n13r36rho1tazbr"); // if (bp->data == 0) { UNSUPPORTED("64rnd8pm27zc8ih7z4lo209g6"); // agerr(AGERR, "gc: Out of memory\n"); UNSUPPORTED("6a6l5zrquzjwwujlojo3bxgmx"); // longjmp(jbuf, 1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("6di34zac4wnahzd9mi35073nv"); // bp->endp = bp->data + 1000000; UNSUPPORTED("4t6bbh2oqn8c69wf8nk793yd0"); // sp->curblk->next = bp; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("ch08fzplwlydp5ixuffkebkjo"); // sp->curblk = sp->curblk->next; UNSUPPORTED("2wgliq4kn3k88bzp6t95d09ox"); // sp->curp = sp->curblk->data; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ct5glogt08r7tscahocggmdfc"); // ((sp)->markfn(np,1)); UNSUPPORTED("9sik0jiysxoobhzxy0ak66cpp"); // *sp->curp++ = np; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e6guowi184k24c0h3wmo4jgwi // static Agnode_t *pop(stk_t* sp) public static Object pop(Object... arg) { UNSUPPORTED("f2vfqjdyjli6458h1bzgg94f4"); // static Agnode_t *pop(stk_t* sp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("brdzto4291wjh8nzcp3nalomf"); // if (sp->curp == sp->curblk->data) { UNSUPPORTED("35z2251j4uecu4a3nol54xs6x"); // if (sp->curblk == sp->fstblk) UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("3ilhmneazyfaw2w1tuqpbo2bm"); // sp->curblk = sp->curblk->prev; UNSUPPORTED("av0wsua2iig5is0rmch044ib2"); // sp->curp = sp->curblk->endp; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8sjk9jdrp04i7gd4folcevdaz"); // sp->curp--; UNSUPPORTED("4c0inpy6hwyly336ksznoypxk"); // return *sp->curp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4qon7xpbucrl2h3x79m1mrhdy // static int dfs(Agraph_t * g, Agnode_t * n, void *state, stk_t* stk) public static Object dfs(Object... arg) { UNSUPPORTED("c6pqde78hulcrl0f3eogd7ib3"); // static int dfs(Agraph_t * g, Agnode_t * n, void *state, stk_t* stk) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("cbgfck2y57x0eyijt2684hs46"); // Agnode_t *other; UNSUPPORTED("behjm5bjsenezpg3f7cncvteu"); // int cnt = 0; UNSUPPORTED("6ahe2jq1dzq4y0pnmufi2vw3u"); // push (stk, n); UNSUPPORTED("dgfqwrzjkj3ev00ljgm6ayh9m"); // while ((n = pop(stk))) { UNSUPPORTED("1szm63athnlkprt3pv29pjc6z"); // cnt++; UNSUPPORTED("czpypkhhg6vw19r3ysrzw0g7x"); // if (stk->actionfn) stk->actionfn(n, state); UNSUPPORTED("5pyyxln0sos0bzz7gqoxiygvs"); // for (e = agfstedge(g, n); e; e = agnxtedge(g, e, n)) { UNSUPPORTED("efh17yk4k8csgso8w3lpvem9j"); // if ((other = agtail(e)) == n) UNSUPPORTED("51ukauobgihi6jj53ljaewspy"); // other = aghead(e); UNSUPPORTED("3i6jyepdzfttpuanl9xkt3l74"); // if (!((stk)->markfn(other,-1))) UNSUPPORTED("2r2yl007yl5rb5pi6ykq8ze9m"); // push(stk, other); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3zkt5kbq3sockq663o3s3ync7"); // return cnt; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 174yjh9lnitag5picxfy766ci // static int isLegal(char *p) public static Object isLegal(Object... arg) { UNSUPPORTED("49bgdm1mc1l4egxrugqfcsxft"); // static int isLegal(char *p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("10sir32iwi5l2jyfgp65pihto"); // unsigned char c; UNSUPPORTED("73mude5vwxafdk7a208ydvwwk"); // while ((c = *(unsigned char *) p++)) { UNSUPPORTED("c704d9cbejqs424vb7en49y9c"); // if ((c != '_') && !isalnum(c)) UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3tcgz4dupb6kw5tdk7n3pca2l"); // return 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5st5bmswl1esywsmkbn2ncrq8 // static void insertFn(Agnode_t * n, void *state) public static Object insertFn(Object... arg) { UNSUPPORTED("dfx1qatv0ncgh1c0k5xc2mgs"); // static void insertFn(Agnode_t * n, void *state) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("314x2h86n0dnk8f7lk9qju5ev"); // agsubnode((Agraph_t *) state,n,1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6rise12p1nj7fgxw063r6ta8i // static int markFn (Agnode_t* n, int v) public static Object markFn(Object... arg) { UNSUPPORTED("756hr5llx7m5qrjsd89e43sih"); // static int markFn (Agnode_t* n, int v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7p7i4cv4qt10ow22vl9znw72j"); // int ret; UNSUPPORTED("bb4ryyd0u2nyew8s02tgj44mz"); // if (v < 0) return ND_mark(n); UNSUPPORTED("agb9yqeh2hgzfwhn99lhe9nej"); // ret = ND_mark(n); UNSUPPORTED("ez00xa01bio9a8f4bkdnqthwe"); // ND_mark(n) = v; UNSUPPORTED("f3b7mj138albdr4lodyomke0z"); // return ret; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9m4rpn5fxnq9fz0xjsa7cwl // static char* setPrefix (char* pfx, int* lenp, char* buf, int buflen) public static Object setPrefix(Object... arg) { UNSUPPORTED("1yranxmu2maol02ulzd1ka1re"); // static char* UNSUPPORTED("5vpw3fxc1m9xx0a9kbusu2lu4"); // setPrefix (char* pfx, int* lenp, char* buf, int buflen) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dwe86466ugstemepdfk8yzphz"); // int len; UNSUPPORTED("euqqtidhrr0boizgvrdl79ed9"); // char* name; UNSUPPORTED("1c7sond4zth2sag1wbbl3t222"); // if (!pfx || !isLegal(pfx)) { UNSUPPORTED("2844112cattqbxvd6b7ce564t"); // pfx = "_cc_"; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8hiwachi0j9lvf75thphnbcg6"); // len = strlen(pfx); UNSUPPORTED("5gzy2dz1vy190rh06xgh0m5u5"); // if (len + 25 <= buflen) UNSUPPORTED("d77612sl11xi52ir9qb9xlbj1"); // name = buf; UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("n9xihlwlyyntpy3723l3tn20"); // if (!(name = (char *) gmalloc(len + 25))) return NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("byt633e1ijrc7va3qghegkhgf"); // strcpy(name, pfx); UNSUPPORTED("54tcra08tvmrr18bbqnrzq2ty"); // *lenp = len; UNSUPPORTED("d8c692wl5ut9pklgbb0o4igud"); // return name; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 29iykhzfyaspduditcr7ufri3 // Agraph_t **pccomps(Agraph_t * g, int *ncc, char *pfx, boolean * pinned) public static Object pccomps(Object... arg) { UNSUPPORTED("9592a0sohpkfkhnxqgkd1t8xx"); // Agraph_t **pccomps(Agraph_t * g, int *ncc, char *pfx, boolean * pinned) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("azrybezo3qgwcugn67vwwsfjq"); // int c_cnt = 0; UNSUPPORTED("9v478fb3v8s4hrtw6o447bhau"); // char buffer[128]; UNSUPPORTED("8i0d7frxcvvmzhidle0zin9i0"); // char *name; UNSUPPORTED("eyezi8gbtgev1y2marpkc69yj"); // Agraph_t *out = 0; UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("8i0oxshyd0x2idt42lftg3zjx"); // Agraph_t **ccs; UNSUPPORTED("dwe86466ugstemepdfk8yzphz"); // int len; UNSUPPORTED("2bcwwo628380s594v69l4227q"); // int bnd = 10; UNSUPPORTED("8b988hcz92alr94zkfaa6fzf2"); // boolean pin = 0; UNSUPPORTED("7yhkdqak81ozlnttsdgys1u73"); // stk_t stk; UNSUPPORTED("569n8uukmri0xiy62ctofxq74"); // blk_t blk; UNSUPPORTED("4rzpakwprbbiyxu0p7mszvgt"); // Agnode_t* base[1024]; UNSUPPORTED("bhqjv6dj0aycz89qaoyr18yjt"); // int error = 0; UNSUPPORTED("254mtuuhqbzuf93i7qlphavdc"); // if (agnnodes(g) == 0) { UNSUPPORTED("5ojqtedar4ecf884rvp0r36iu"); // *ncc = 0; UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ajoz89eaec73wuy8zxf06ifo4"); // name = setPrefix (pfx, &len, buffer, 128); UNSUPPORTED("f3456xelgcn1uercqhtm0lkq7"); // ccs = (Agraph_t **)gmalloc((bnd)*sizeof(Agraph_t *)); UNSUPPORTED("bxcxf1l5mkrh3ledoksmyvts5"); // initStk (&stk, &blk, base, insertFn, markFn); UNSUPPORTED("16hw9gw0dz2w7mrtba0eoqrdi"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("d9gqryaqwhyp5tgpniv6hnwv2"); // ((&stk)->markfn(n,0)); UNSUPPORTED("ci9r8sj8tbc6yer5c8cebb0cm"); // if (setjmp(jbuf)) { UNSUPPORTED("9kfwhlafp0jfjaqja0h7o44j3"); // error = 1; UNSUPPORTED("ek2tuwzllhwxjyaifgtzhek1p"); // goto packerror; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6td879ed4e8kzbz3j6eslw7sk"); // /* Component with pinned nodes */ UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("3jk51f0a1c8hnomknt8lim471"); // if (((&stk)->markfn(n,-1)) || !(ND_pinned(n) == 3)) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("6mjcpt5xx0wfprtp5g7cw8rf4"); // if (!out) { UNSUPPORTED("7g01291mlr17yn51m62mweoca"); // sprintf(name + len, "%d", c_cnt); UNSUPPORTED("cjsaclfsdg5p4yky4tv82slc6"); // out = agsubg(g, name,1); UNSUPPORTED("24tepx4mk3tk4cwf5xg5eff9g"); // agbindrec(out, "Agraphinfo_t", sizeof(Agraphinfo_t), NOT(0)); //node custom data UNSUPPORTED("38fxwar8xtrbq4ks8ba6j4pd4"); // ccs[c_cnt] = out; UNSUPPORTED("53kaio4ritpla1m5kb2tf7q3o"); // c_cnt++; UNSUPPORTED("1gzrmotgur9t2cexqgiw7ssd4"); // pin = NOT(0); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("egn0zid00hgedez76ffqesyvo"); // dfs (g, n, out, &stk); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a48f7fcfqvwf0yg64qt36uxdg"); // /* Remaining nodes */ UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("es7cb1ubgfdb9vo8q5y32753t"); // if (((&stk)->markfn(n,-1))) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("7aaiftnzi12afb1li6dqj6aga"); // sprintf(name + len, "%d", c_cnt); UNSUPPORTED("8vra9mk0wz2njkvxa4nnvxevo"); // out = agsubg(g, name,1); UNSUPPORTED("e6e58g6ou2zwwtnjzww36hem2"); // agbindrec(out, "Agraphinfo_t", sizeof(Agraphinfo_t), NOT(0)); //node custom data UNSUPPORTED("94s85ldn0q9223lgg7zmt3zsp"); // dfs(g, n, out, &stk); UNSUPPORTED("dn9pcjtlvoi17ds4bm8ppc6wa"); // if (c_cnt == bnd) { UNSUPPORTED("esme9v58cizis473mukmd87qb"); // bnd *= 2; UNSUPPORTED("d3tfv1o5r3ymjk84qnbz7ayxc"); // ccs = RALLOC(bnd, ccs, Agraph_t *); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("etwpnr04bwdr2egdjyg4e4emw"); // ccs[c_cnt] = out; UNSUPPORTED("axd6jb2bjqul4a1junq61zc7n"); // c_cnt++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("51l3e2kz0gd0fbdng1rtuerf3"); // packerror: UNSUPPORTED("7hwkgfwulgopzu68jf9894c53"); // freeStk (&stk); UNSUPPORTED("47276yunfeevpru1276of6w85"); // if (name != buffer) UNSUPPORTED("bwp196o8phb9mx2d8yw1b9mhi"); // free(name); UNSUPPORTED("e86x7y7gnx93hxjdfw9c7g7tl"); // if (error) { UNSUPPORTED("bbuxsg26kpzb2fl660hjri9l8"); // int i; UNSUPPORTED("5ojqtedar4ecf884rvp0r36iu"); // *ncc = 0; UNSUPPORTED("1a1pbowm86vviazmczqetcv2d"); // for (i=0; i < c_cnt; i++) { UNSUPPORTED("9i8py6xnef029xu0ib3h1fn68"); // agclose (ccs[i]); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2hpyw07aau9wk3j15iw5d100j"); // free (ccs); UNSUPPORTED("84y4vz58r1d0r98k7ilwxl69a"); // ccs = NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("assgjfny1ffjxhhcioxsmmveo"); // ccs = RALLOC(c_cnt, ccs, Agraph_t *); UNSUPPORTED("2qmltrj92j4d606oy6g1uh26x"); // *ncc = c_cnt; UNSUPPORTED("ancxkuch6389wh7l57e5yiwgd"); // *pinned = pin; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("d077t46km2flvzhvfy5b9ld5u"); // return ccs; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7oum7fisfbl39e0gt9kuc2xyz // Agraph_t **ccomps(Agraph_t * g, int *ncc, char *pfx) public static Object ccomps(Object... arg) { UNSUPPORTED("943ghlrqozczbucoafw2tim5n"); // Agraph_t **ccomps(Agraph_t * g, int *ncc, char *pfx) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("azrybezo3qgwcugn67vwwsfjq"); // int c_cnt = 0; UNSUPPORTED("9v478fb3v8s4hrtw6o447bhau"); // char buffer[128]; UNSUPPORTED("8i0d7frxcvvmzhidle0zin9i0"); // char *name; UNSUPPORTED("ae3ezq9c9de3ci6tyzfl88bf7"); // Agraph_t *out; UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("8i0oxshyd0x2idt42lftg3zjx"); // Agraph_t **ccs; UNSUPPORTED("dwe86466ugstemepdfk8yzphz"); // int len; UNSUPPORTED("2bcwwo628380s594v69l4227q"); // int bnd = 10; UNSUPPORTED("7yhkdqak81ozlnttsdgys1u73"); // stk_t stk; UNSUPPORTED("569n8uukmri0xiy62ctofxq74"); // blk_t blk; UNSUPPORTED("4rzpakwprbbiyxu0p7mszvgt"); // Agnode_t* base[1024]; UNSUPPORTED("254mtuuhqbzuf93i7qlphavdc"); // if (agnnodes(g) == 0) { UNSUPPORTED("5ojqtedar4ecf884rvp0r36iu"); // *ncc = 0; UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ajoz89eaec73wuy8zxf06ifo4"); // name = setPrefix (pfx, &len, buffer, 128); UNSUPPORTED("f3456xelgcn1uercqhtm0lkq7"); // ccs = (Agraph_t **)gmalloc((bnd)*sizeof(Agraph_t *)); UNSUPPORTED("bxcxf1l5mkrh3ledoksmyvts5"); // initStk (&stk, &blk, base, insertFn, markFn); UNSUPPORTED("16hw9gw0dz2w7mrtba0eoqrdi"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("d9gqryaqwhyp5tgpniv6hnwv2"); // ((&stk)->markfn(n,0)); UNSUPPORTED("ci9r8sj8tbc6yer5c8cebb0cm"); // if (setjmp(jbuf)) { UNSUPPORTED("6ynxvmoqlj83wenon4xamzykd"); // freeStk (&stk); UNSUPPORTED("2hpyw07aau9wk3j15iw5d100j"); // free (ccs); UNSUPPORTED("4030v2eeye6q0bfv1q68xdc2l"); // if (name != buffer) UNSUPPORTED("do5yd7vtp5fqk099x8dj0r7yg"); // free(name); UNSUPPORTED("5ojqtedar4ecf884rvp0r36iu"); // *ncc = 0; UNSUPPORTED("11hwqop4xebvtcskop4uhpp01"); // return NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("es7cb1ubgfdb9vo8q5y32753t"); // if (((&stk)->markfn(n,-1))) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("7aaiftnzi12afb1li6dqj6aga"); // sprintf(name + len, "%d", c_cnt); UNSUPPORTED("8vra9mk0wz2njkvxa4nnvxevo"); // out = agsubg(g, name,1); UNSUPPORTED("e6e58g6ou2zwwtnjzww36hem2"); // agbindrec(out, "Agraphinfo_t", sizeof(Agraphinfo_t), NOT(0)); //node custom data UNSUPPORTED("94s85ldn0q9223lgg7zmt3zsp"); // dfs(g, n, out, &stk); UNSUPPORTED("dn9pcjtlvoi17ds4bm8ppc6wa"); // if (c_cnt == bnd) { UNSUPPORTED("esme9v58cizis473mukmd87qb"); // bnd *= 2; UNSUPPORTED("d3tfv1o5r3ymjk84qnbz7ayxc"); // ccs = RALLOC(bnd, ccs, Agraph_t *); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("etwpnr04bwdr2egdjyg4e4emw"); // ccs[c_cnt] = out; UNSUPPORTED("axd6jb2bjqul4a1junq61zc7n"); // c_cnt++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7hwkgfwulgopzu68jf9894c53"); // freeStk (&stk); UNSUPPORTED("dnmp67lbepsjnm94ykx22xbaa"); // ccs = RALLOC(c_cnt, ccs, Agraph_t *); UNSUPPORTED("47276yunfeevpru1276of6w85"); // if (name != buffer) UNSUPPORTED("bwp196o8phb9mx2d8yw1b9mhi"); // free(name); UNSUPPORTED("dd0bcvxiscwe7k1z5sh8lczni"); // *ncc = c_cnt; UNSUPPORTED("d077t46km2flvzhvfy5b9ld5u"); // return ccs; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 39ot62028rkkd87h9frgwqnn6 // static void deriveClusters(Agraph_t* dg, Agraph_t * g) public static Object deriveClusters(Object... arg) { UNSUPPORTED("868sk3tgejqs7lgdi9hbyqe0a"); // static void deriveClusters(Agraph_t* dg, Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c3tourf5k7groqyh71yjd5xec"); // Agraph_t *subg; UNSUPPORTED("83voshd1807fk59ndryglxfxy"); // Agnode_t *dn; UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("92vjk6rjnnnji7bcczz51lwfx"); // for (subg = agfstsubg(g); subg; subg = agnxtsubg(subg)) { UNSUPPORTED("86x37f2blxq73klb3gsehigpa"); // if ((strncmp(agnameof(subg), "cluster", 7) == 0)) { UNSUPPORTED("4phmb7xbshx4zd2t4955r6bi"); // dn = agnode(dg, agnameof(subg), 1); UNSUPPORTED("b27pjkkz8bon9l0vyzh4kgmh2"); // agbindrec (dn, "ccgnodeinfo", sizeof(ccgnodeinfo_t), NOT(0)); UNSUPPORTED("43h4eauirakaj5syijhqx73du"); // (((ccgnodeinfo_t*)((dn)->base.data))->ptr.g) = subg; UNSUPPORTED("96y7c5rvxsf9uodnfdl3mgayx"); // for (n = agfstnode(subg); n; n = agnxtnode(subg, n)) { UNSUPPORTED("4zymv9xm4baria22qh2ka6kua"); // if ((((ccgnodeinfo_t*)aggetrec(n, "ccgnodeinfo", 0))->ptr.n)) { UNSUPPORTED("9m0pin0xdz4s8m2th3lylhzql"); // fprintf (stderr, "Error: node \"%s\" belongs to two non-nested clusters \"%s\" and \"%s\"\n", UNSUPPORTED("at3005nk2ku7cn4chzrn5zupi"); // agnameof (n), agnameof(subg), agnameof((((ccgnodeinfo_t*)aggetrec(n, "ccgnodeinfo", 0))->ptr.n))); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("7j98il0qk6xrzt7w4i3gb0bt7"); // (((ccgnodeinfo_t*)aggetrec(n, "ccgnodeinfo", 0))->ptr.n=dn); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("5nz26tfuq99z5jkkuzr9k19bz"); // deriveClusters (dg, subg); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5lih4958yg41q8p4zxcfrrvdw // static Agraph_t *deriveGraph(Agraph_t * g) public static Object deriveGraph(Object... arg) { UNSUPPORTED("4nxhxefmq3j34nvl4eiimpj3h"); // static Agraph_t *deriveGraph(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4irto8d9ngepfwouz32g86zl6"); // Agraph_t *dg; UNSUPPORTED("83voshd1807fk59ndryglxfxy"); // Agnode_t *dn; UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("ayftac06jlte1cy25k8p9iyvn"); // dg = agopen("dg", Agstrictundirected, (Agdisc_t *) 0); UNSUPPORTED("cvmouwuru7hi7yf51avtrbr24"); // deriveClusters (dg, g); UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("bpv6hya89z189liol7ggh5mx4"); // if ((((ccgnodeinfo_t*)aggetrec(n, "ccgnodeinfo", 0))->ptr.n)) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("2qgs0l1lw8vd8n47zg2u0rsm4"); // dn = agnode(dg, agnameof(n), 1); UNSUPPORTED("893w6lm5jjr02l302on5ksmdk"); // agbindrec (dn, "ccgnodeinfo", sizeof(ccgnodeinfo_t), NOT(0)); UNSUPPORTED("12uiujr38t0dn5rjluqfjokgr"); // (((ccgnodeinfo_t*)((dn)->base.data))->ptr.n) = n; UNSUPPORTED("987f0ysnrssct1iosjitjko1k"); // (((ccgnodeinfo_t*)aggetrec(n, "ccgnodeinfo", 0))->ptr.n=dn); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("d4mlgfduxhsp2wvke20sb15y7"); // Agedge_t *e; UNSUPPORTED("2fn1y8jpr9zxd6c1ikvlfxnba"); // Agnode_t *hd; UNSUPPORTED("cbvfldlsb4ch7lpabbvb5sh9p"); // Agnode_t *tl = (((ccgnodeinfo_t*)aggetrec(n, "ccgnodeinfo", 0))->ptr.n); UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("elx93gms5yid1nchdexmh31yf"); // hd = aghead(e); UNSUPPORTED("aii4ly75jknsfm576dxb2t21i"); // hd = (((ccgnodeinfo_t*)aggetrec(hd, "ccgnodeinfo", 0))->ptr.n); UNSUPPORTED("2zvgmnv71vkplklm2dmwu24o6"); // if (hd == tl) UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; UNSUPPORTED("7yvps7igfif7acnwp70cumlel"); // if (hd > tl) UNSUPPORTED("aiisqdoegjibrytnbc9bu5zws"); // agedge(dg, tl, hd, 0, 1); UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("54yhr2deg9g0o899gn0rw3tfg"); // agedge(dg, hd, tl, 0, 1); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7t6k0j9ffr522l0t8a1atpxqy"); // return dg; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2wkfliv6m1b1405ef7p1b32ft // static void unionNodes(Agraph_t * dg, Agraph_t * g) public static Object unionNodes(Object... arg) { UNSUPPORTED("8pzls87c97kkx2wk1iptbln6t"); // static void unionNodes(Agraph_t * dg, Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("83voshd1807fk59ndryglxfxy"); // Agnode_t *dn; UNSUPPORTED("iih8ksk7ssyh6etktikclltd"); // Agraph_t *clust; UNSUPPORTED("9v9aifyc1wn6fmqno12jtgowg"); // for (dn = agfstnode(dg); dn; dn = agnxtnode(dg, dn)) { UNSUPPORTED("756w02dujq85xid2jsypwfwbo"); // if (AGTYPE((((ccgnodeinfo_t*)((dn)->base.data))->ptr.v)) == AGNODE) { UNSUPPORTED("ayydn4x5zmeefefr7oc9zv6jp"); // agsubnode(g, (((ccgnodeinfo_t*)((dn)->base.data))->ptr.n), 1); UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("8dwdvx9gjbp6qikelgbqeadmr"); // clust = (((ccgnodeinfo_t*)((dn)->base.data))->ptr.g); UNSUPPORTED("n9q43ee8prm443las25a61re"); // for (n = agfstnode(clust); n; n = agnxtnode(clust, n)) UNSUPPORTED("11xq84jjndb2is2mabgkudwl6"); // agsubnode(g, n, 1); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5glt6khfafozusksfg5b131p1 // static int clMarkFn (Agnode_t* n, int v) public static Object clMarkFn(Object... arg) { UNSUPPORTED("47itxizphm8ofv4u5hj6tqemj"); // static int clMarkFn (Agnode_t* n, int v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7p7i4cv4qt10ow22vl9znw72j"); // int ret; UNSUPPORTED("57a2pqux1jftek2pvb1t01xr8"); // if (v < 0) return (((ccgnodeinfo_t*)(n->base.data))->mark); UNSUPPORTED("b4le2e10kzsr6gx0lg7uc7lq8"); // ret = (((ccgnodeinfo_t*)(n->base.data))->mark); UNSUPPORTED("91a9kciyaag5an0lw6k6kj32n"); // (((ccgnodeinfo_t*)(n->base.data))->mark) = v; UNSUPPORTED("f3b7mj138albdr4lodyomke0z"); // return ret; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8e4t1udts4sc9qid3yeclb95v // int node_induce(Agraph_t * g, Agraph_t* eg) public static Object node_induce(Object... arg) { UNSUPPORTED("7p43q9etzpr6fi00r7wawn5fy"); // int node_induce(Agraph_t * g, Agraph_t* eg) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("5llwdc06lj3riadsxuf4qi0mx"); // int e_cnt = 0; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("1trjc50yj62b04stmilwnrccw"); // for (e = agfstout(eg, n); e; e = agnxtout(eg, e)) { UNSUPPORTED("5otnii3zntzego765yvjx2y7z"); // if (agsubnode(g, aghead(e),0)) { UNSUPPORTED("2bgblhx59x2fapl17ghgyo44l"); // agsubedge(g,e,1); UNSUPPORTED("7z5wc5mbeiwlmkv0uqaoxtznf"); // e_cnt++; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4ym6gish1r7q7wxu44bk8pd9g"); // return e_cnt; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 48loms2wapgbbzoo5tu7zc00a // static Agraph_t *projectG(Agraph_t * subg, Agraph_t * g, int inCluster) public static Object projectG(Object... arg) { UNSUPPORTED("cp0ewepqetunqupy9nw5l03m9"); // static Agraph_t *projectG(Agraph_t * subg, Agraph_t * g, int inCluster) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("adkgf7cbtl7hb01475fmwl2a9"); // Agraph_t *proj = 0; UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("erqonjaeogo4eut0nvkpoesw1"); // Agnode_t *m; UNSUPPORTED("6ewipai3bqonhmh4h826lvwyi"); // for (n = agfstnode(subg); n; n = agnxtnode(subg, n)) { UNSUPPORTED("ew3h1s60a0mp7r9k848dfjapx"); // if ((m = (agnode(g,agnameof(n),0)))) { UNSUPPORTED("5tl2d28pm7we88zjr2fmqo629"); // if (proj == 0) { UNSUPPORTED("8uuh5enbjghz3ovb1tkv9nhah"); // proj = agsubg(g, agnameof(subg), 1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("9oprxeyfg7zxo5dcwz0w2luek"); // agsubnode(proj, m, 1); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("cb38bqtcofuiby9gyj6jkdxmi"); // if (!proj && inCluster) { UNSUPPORTED("76tqz65aepm0rewx7b80vnprx"); // proj = agsubg(g, agnameof(subg), 1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8gnjhgr9si23zy7tikodxtw7a"); // if (proj) { UNSUPPORTED("7vzop3cuejhhvb29rjvhzu8l5"); // node_induce(proj, subg); UNSUPPORTED("8qa8yzjlvof85nup5jiu1eysv"); // agcopyattr(subg, proj); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1ln6n4q5gupkrbtfa8n20b685"); // return proj; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dyxre2nf3xjqo91parvz2g7vf // static void subgInduce(Agraph_t * root, Agraph_t * g, int inCluster) public static Object subgInduce(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("6m7vdbmbz7x6wjr9k6wlhkg82"); // subgInduce(Agraph_t * root, Agraph_t * g, int inCluster) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c3tourf5k7groqyh71yjd5xec"); // Agraph_t *subg; UNSUPPORTED("3f7wzn1vz5nqgbp9vbpstmapg"); // Agraph_t *proj; UNSUPPORTED("2s6u867pcv2zhmf31509ehwwx"); // int in_cluster; UNSUPPORTED("ebr5bwfw08ehy2ft191wy9pxt"); // /* fprintf (stderr, "subgInduce %s inCluster %d\n", agnameof(root), inCluster); */ UNSUPPORTED("3dlvn9nrxc92go0kzv135mmcg"); // for (subg = agfstsubg(root); subg; subg = agnxtsubg(subg)) { UNSUPPORTED("e29xy4oeug7nshfpb8ezj3tqi"); // if ((((ccgraphinfo_t*)aggetrec(subg, "ccgraphinfo", 0))->cc_subg)) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("etwnh7vodaalf5db09o66xy9t"); // if ((proj = projectG(subg, g, inCluster))) { UNSUPPORTED("eg3o6p4sy4eltgk6uqwx2u99t"); // in_cluster = (inCluster || (strncmp(agnameof(subg), "cluster", 7) == 0)); UNSUPPORTED("9wjudih0u2882alnxkf0ebj6v"); // subgInduce(subg, proj, in_cluster); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5affs0nf6g75npbot8em2x8m7 // static void subGInduce(Agraph_t* g, Agraph_t * out) public static Object subGInduce(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("ajg4dr4fv1s1lknlf0o2gdybq"); // subGInduce(Agraph_t* g, Agraph_t * out) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5prswoj7lndeoid09c1al9g1j"); // subgInduce(g, out, 0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c05zexiwxzdj93dkl8we8khab // Agraph_t **cccomps(Agraph_t * g, int *ncc, char *pfx) public static Object cccomps(Object... arg) { UNSUPPORTED("bh1guslvsmjnntue2v45pives"); // Agraph_t **cccomps(Agraph_t * g, int *ncc, char *pfx) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4irto8d9ngepfwouz32g86zl6"); // Agraph_t *dg; UNSUPPORTED("dewne7ib8u38idnpmmyanpxy4"); // long n_cnt, c_cnt, e_cnt; UNSUPPORTED("8i0d7frxcvvmzhidle0zin9i0"); // char *name; UNSUPPORTED("ae3ezq9c9de3ci6tyzfl88bf7"); // Agraph_t *out; UNSUPPORTED("cyqedugrpptm0bxk320mwqont"); // Agraph_t *dout; UNSUPPORTED("83voshd1807fk59ndryglxfxy"); // Agnode_t *dn; UNSUPPORTED("9v478fb3v8s4hrtw6o447bhau"); // char buffer[128]; UNSUPPORTED("8i0oxshyd0x2idt42lftg3zjx"); // Agraph_t **ccs; UNSUPPORTED("7yhkdqak81ozlnttsdgys1u73"); // stk_t stk; UNSUPPORTED("569n8uukmri0xiy62ctofxq74"); // blk_t blk; UNSUPPORTED("4rzpakwprbbiyxu0p7mszvgt"); // Agnode_t* base[1024]; UNSUPPORTED("3zmxwwco9e8lfzit5g7xyni3u"); // int len, sz = sizeof(ccgraphinfo_t); UNSUPPORTED("254mtuuhqbzuf93i7qlphavdc"); // if (agnnodes(g) == 0) { UNSUPPORTED("5ojqtedar4ecf884rvp0r36iu"); // *ncc = 0; UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("mn4op16ipeagjc74l7yww8bz"); // /* Bind ccgraphinfo to graph and all subgraphs */ UNSUPPORTED("3303xo8hilcqucew7np45prjp"); // aginit(g, AGRAPH, "ccgraphinfo", -sz, 0); UNSUPPORTED("mn4op16ipeagjc74l7yww8bz"); // /* Bind ccgraphinfo to graph and all subgraphs */ UNSUPPORTED("3i1yc6icdysjig83q9w4xiegw"); // aginit(g, AGNODE, "ccgnodeinfo", sizeof(ccgnodeinfo_t), 0); UNSUPPORTED("ajoz89eaec73wuy8zxf06ifo4"); // name = setPrefix (pfx, &len, buffer, 128); UNSUPPORTED("6b8hpfo0yzr73kue74wg5urik"); // dg = deriveGraph(g); UNSUPPORTED("ddvbuomn6rrv78seji0yjwbbv"); // ccs = (Agraph_t **)gmalloc((agnnodes(dg))*sizeof(Agraph_t *)); UNSUPPORTED("7l5ogrxq72sxssip6r18npo0n"); // initStk (&stk, &blk, base, insertFn, clMarkFn); UNSUPPORTED("d24jzvut52q0hj9nlorc44vrg"); // c_cnt = 0; UNSUPPORTED("9v9aifyc1wn6fmqno12jtgowg"); // for (dn = agfstnode(dg); dn; dn = agnxtnode(dg, dn)) { UNSUPPORTED("etraumuco3o1vcr8xan2q9q5h"); // if (((&stk)->markfn(dn,-1))) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("ezh99rvltuhb4d5w386i5g1nx"); // sprintf(name + len, "%ld", c_cnt); UNSUPPORTED("6462mwu57pnu19vu84crikc3k"); // dout = agsubg(dg, name, 1); UNSUPPORTED("6i42st1vabeuy8tx3i36itl9a"); // out = agsubg(g, name, 1); UNSUPPORTED("7yzk1n28fx1u27fhfidifq9bi"); // agbindrec(out, "ccgraphinfo", sizeof(ccgraphinfo_t), 0); UNSUPPORTED("enaayclc0kf0z0a4xejm43oeo"); // (((ccgraphinfo_t*)aggetrec(out, "ccgraphinfo", 0))->cc_subg) = 1; UNSUPPORTED("e1uwav0phirwwvu1neif4abik"); // n_cnt = dfs(dg, dn, dout, &stk); UNSUPPORTED("74xnahtnf5jim9abf6cpexgqy"); // unionNodes(dout, out); UNSUPPORTED("2e6ezdfi63q03v7jwxczoc0fk"); // e_cnt = nodeInduce(out); UNSUPPORTED("5ehzmuadvlo08j35hai2cu52d"); // subGInduce(g, out); UNSUPPORTED("etwpnr04bwdr2egdjyg4e4emw"); // ccs[c_cnt] = out; UNSUPPORTED("du4qeeya3ro6e7elm6ob0kg3"); // agdelete(dg, dout); UNSUPPORTED("a0xpyoq74njvdwc9lcvgyfc0p"); // if (Verbose) UNSUPPORTED("5eih3td1dj05hma7t3x9cv1sz"); // fprintf(stderr, "(%4ld) %7ld nodes %7ld edges\n", UNSUPPORTED("doasu7up2loxsbjm287gl6pl7"); // c_cnt, n_cnt, e_cnt); UNSUPPORTED("axd6jb2bjqul4a1junq61zc7n"); // c_cnt++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2di5wqm6caczzl6bvqe35ry8y"); // if (Verbose) UNSUPPORTED("474chts8vmoqnir32g2cf2jhh"); // fprintf(stderr, " %7d nodes %7d edges %7ld components %s\n", UNSUPPORTED("1vccvosilgooou5g023ghfhvd"); // agnnodes(g), agnedges(g), c_cnt, agnameof(g)); UNSUPPORTED("drqwalxujrfmlajqixy65ayrx"); // agclose(dg); UNSUPPORTED("635qc8j61lcasvpl3uehv7kws"); // agclean (g, AGRAPH, "ccgraphinfo"); UNSUPPORTED("ali2vcmmjxz7qj3j0xeqgvqai"); // agclean (g, AGNODE, "ccgnodeinfo"); UNSUPPORTED("7hwkgfwulgopzu68jf9894c53"); // freeStk (&stk); UNSUPPORTED("dnmp67lbepsjnm94ykx22xbaa"); // ccs = RALLOC(c_cnt, ccs, Agraph_t *); UNSUPPORTED("47276yunfeevpru1276of6w85"); // if (name != buffer) UNSUPPORTED("bwp196o8phb9mx2d8yw1b9mhi"); // free(name); UNSUPPORTED("dd0bcvxiscwe7k1z5sh8lczni"); // *ncc = c_cnt; UNSUPPORTED("d077t46km2flvzhvfy5b9ld5u"); // return ccs; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c6h4ladmfc1rtdc8d57592jxj // int isConnected(Agraph_t * g) public static Object isConnected(Object... arg) { UNSUPPORTED("964gnb5ub22thb4btdue682kw"); // int isConnected(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("4jfqz808d62e4cvmb6cbl8bg3"); // int ret = 1; UNSUPPORTED("behjm5bjsenezpg3f7cncvteu"); // int cnt = 0; UNSUPPORTED("7yhkdqak81ozlnttsdgys1u73"); // stk_t stk; UNSUPPORTED("569n8uukmri0xiy62ctofxq74"); // blk_t blk; UNSUPPORTED("4rzpakwprbbiyxu0p7mszvgt"); // Agnode_t* base[1024]; UNSUPPORTED("6gs3ra2bpw8hex3dn3pz9dyep"); // if (agnnodes(g) == 0) UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("6thuq4l7a2kmf681ihuog2jyt"); // initStk (&stk, &blk, base, NULL, markFn); UNSUPPORTED("16hw9gw0dz2w7mrtba0eoqrdi"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("d9gqryaqwhyp5tgpniv6hnwv2"); // ((&stk)->markfn(n,0)); UNSUPPORTED("ci9r8sj8tbc6yer5c8cebb0cm"); // if (setjmp(jbuf)) { UNSUPPORTED("6ynxvmoqlj83wenon4xamzykd"); // freeStk (&stk); UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("42x5vqk9aw9a2ld3duvpmp7u9"); // n = agfstnode(g); UNSUPPORTED("155g1h8ib5rdqvi6w6a0lbqc7"); // cnt = dfs(g, agfstnode(g), NULL, &stk); UNSUPPORTED("2g8uwa65n8i12wom2gzjzjbly"); // if (cnt != agnnodes(g)) UNSUPPORTED("233rsrgc8rw3666kshx67w2sl"); // ret = 0; UNSUPPORTED("7hwkgfwulgopzu68jf9894c53"); // freeStk (&stk); UNSUPPORTED("f3b7mj138albdr4lodyomke0z"); // return ret; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3qdni7ppm3mp7tf4nbkg8b54c // int nodeInduce(Agraph_t * g) public static Object nodeInduce(Object... arg) { UNSUPPORTED("c5we4nfcmmumlgexr5upjrsd3"); // int nodeInduce(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dy63ol2hkiluswrcx8ebvgxuu"); // return node_induce (g, g->root); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/pack/pack__c.java000066400000000000000000003010221340005343600215270ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.pack; import static gen.lib.cgraph.attr__c.agget; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Agraph_s; import h.ST_pack_info; import h.ST_pointf; import smetana.core.CString; public class pack__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 exy2l03ceq9zw4vf01bbd4d3o // typedef unsigned int packval_t //1 6ddu6mrp88g3kun2w1gg8ck8t // typedef Dict_t PointSet //1 6t1gwljnc5qkhgkp9oc8y7lhm // typedef Dict_t PointMap //3 bdbcgpx3oes6bcwdhfnfq0wjf // static int computeStep(int ng, boxf* bbs, int margin) public static Object computeStep(Object... arg) { UNSUPPORTED("8t29o17pwh1az79qvvoe5gzig"); // static int computeStep(int ng, boxf* bbs, int margin) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("55lbmpqutqoil2r1b1kshhf4"); // double l1, l2; UNSUPPORTED("a43rbn0mnlegy80nlm8zaa198"); // double a, b, c, d, r; UNSUPPORTED("ady3ytrxxbt2q1wph02epzm2x"); // double W, H; /* width and height of graph, with margin */ UNSUPPORTED("4wnirjl62mfwcoakp6lyep3p7"); // int i, root; UNSUPPORTED("xo2ha29kgc22utvzozfopc3t"); // a = 100 * ng - 1; UNSUPPORTED("10mngu08a3ilg9ogq1ucw6uro"); // c = 0; UNSUPPORTED("5bkjzlhrfwudnhdqvgcum89jk"); // b = 0; UNSUPPORTED("7zun8aoc3cgzj5s89wluw8xq4"); // for (i = 0; i < ng; i++) { UNSUPPORTED("3u59zam8do4bsljnozwf0fx8s"); // boxf bb = bbs[i]; UNSUPPORTED("bzl9bfq6ylumj5u7zvlkdd1fy"); // W = bb.UR.x - bb.LL.x + 2 * margin; UNSUPPORTED("6keu83u4vpu8uuctqbhsxm1f"); // H = bb.UR.y - bb.LL.y + 2 * margin; UNSUPPORTED("66ehok2jts1k8egaj9o3d4mhd"); // b -= (W + H); UNSUPPORTED("ecmu5b20wldgp7ltdenk6r6y3"); // c -= (W * H); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6eylx7urr9urjgcpq15mz9mbx"); // d = b * b - 4.0 * a * c; UNSUPPORTED("6gohrnij1pp8uigeqwldand78"); // if (d < 0) { UNSUPPORTED("aqx00bc7erj1s1idkis6k0xou"); // agerr(AGERR, "libpack: disc = %f ( < 0)\n", d); UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7w2mz82iiqh2etpb0eadr0ddt"); // r = sqrt(d); UNSUPPORTED("1iy2sivksdztrjf4h3k0algs0"); // l1 = (-b + r) / (2 * a); UNSUPPORTED("erlkg1mh0rfh16bj67xa68qmy"); // l2 = (-b - r) / (2 * a); UNSUPPORTED("cr6iwpvlne2bcqjtejlgpsa48"); // root = (int) l1; UNSUPPORTED("1gg2fab0bfmz9yl7zohktb3g9"); // if (root == 0) root = 1; UNSUPPORTED("3kxq91b30qey91r4hkc9jrb9n"); // if (Verbose > 2) { UNSUPPORTED("55e0qgjsydjz1tjye67igkeny"); // fprintf(stderr, "Packing: compute grid size\n"); UNSUPPORTED("eirgraz2ak76fhuf5dbajvv02"); // fprintf(stderr, "a %f b %f c %f d %f r %f\n", a, b, c, d, r); UNSUPPORTED("eekm76wxww26ubtn5v9ypypiy"); // fprintf(stderr, "root %d (%f) %d (%f)\n", root, l1, (int) l2, UNSUPPORTED("eilpovu9tr2mn82840g4gwduy"); // l2); UNSUPPORTED("5pjri22kxtwvbb3hbf0n1qput"); // fprintf(stderr, " r1 %f r2 %f\n", a * l1 * l1 + b * l1 + c, UNSUPPORTED("3h2jsnh1591w0kbq88cmk89ul"); // a * l2 * l2 + b * l2 + c); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4hzlvk8t0qcn15wg6988vwra9"); // return root; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dob2o9m8sfsrsm1g93hfznsp // static int cmpf(const void *X, const void *Y) public static Object cmpf(Object... arg) { UNSUPPORTED("4nc6jpvian95rmtwnhxuaib4b"); // static int cmpf(const void *X, const void *Y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2eux9vyonke173k6wx67nvmeu"); // ginfo *x = *(ginfo **) X; UNSUPPORTED("4rofn9loku05xrr4fp3slcs6r"); // ginfo *y = *(ginfo **) Y; UNSUPPORTED("95s1jm8x7y2tc9y914raaljrs"); // /* flip order to get descending array */ UNSUPPORTED("46lhhdh1hfndiefr57nzqj6ib"); // return (y->perim - x->perim); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4r8s4k6p01ynfz88kz50ttlr8 // void fillLine(pointf p, pointf q, PointSet * ps) public static Object fillLine(Object... arg) { UNSUPPORTED("a5130f5j305uj46zjcopit703"); // void fillLine(pointf p, pointf q, PointSet * ps) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1duvjyh47lxf7d7ue5car0vsj"); // int x1 = ROUND(p.x); UNSUPPORTED("9pzzawvcmpw6i93hjb26rq63h"); // int y1 = ROUND(p.y); UNSUPPORTED("3057bhojttdigycfgf1lyio0f"); // int x2 = ROUND(q.x); UNSUPPORTED("5bgjp0mm0o564h53ba0zrnbhq"); // int y2 = ROUND(q.y); UNSUPPORTED("d8jccesapcqy22p9y3vtpm616"); // int d, x, y, ax, ay, sx, sy, dx, dy; UNSUPPORTED("6vdso33syc5f2j40e5bsuhb83"); // dx = x2 - x1; UNSUPPORTED("6zrp5a2timck4sou5qym3hsrd"); // ax = ABS(dx) << 1; UNSUPPORTED("ay754u242psxjbqm7n8azez52"); // sx = SGN(dx); UNSUPPORTED("cmvkhiqbscc6cgktpynqycfhn"); // dy = y2 - y1; UNSUPPORTED("eigqi5q47z9sk7utvxv72dif0"); // ay = ABS(dy) << 1; UNSUPPORTED("1ifl8r2gf1amwzvvvfohlx6uw"); // sy = SGN(dy); UNSUPPORTED("2x97iysx5j91wtf3wmgeo2pt"); // /* fprintf (stderr, "fillLine %d %d - %d %d\n", x1,y1,x2,y2); */ UNSUPPORTED("9y4duec6l30q5clw8qd85w784"); // x = x1; UNSUPPORTED("6rlb844uhus8twyid93q8kqbs"); // y = y1; UNSUPPORTED("ccle7h8pebi673oczx2fj5nxi"); // if (ax > ay) { /* x dominant */ UNSUPPORTED("7h60osio7amm1igvh0h7ipgx9"); // d = ay - (ax >> 1); UNSUPPORTED("2v2pue2y1u2d4ka6733iv5vk0"); // for (;;) { UNSUPPORTED("13fg1e71tu92h0bfrs9xka8tb"); // /* fprintf (stderr, " addPS %d %d\n", x,y); */ UNSUPPORTED("62ytgdd26o3p2xgoq37xnoifl"); // addPS(ps, x, y); UNSUPPORTED("2lero25dpfd7f3wrrhmxhly2h"); // if (x == x2) UNSUPPORTED("6an8ocqq0sjru42k4aathe94m"); // return; UNSUPPORTED("9erzrv938084t7vmam5bxw7mx"); // if (d >= 0) { UNSUPPORTED("9cka76ykusjv3k3y8fda4nfk0"); // y += sy; UNSUPPORTED("bynlwjpgqdvo01z64gm1sf2ga"); // d -= ax; UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("1vyuktjou7iccegm28w06drqv"); // x += sx; UNSUPPORTED("3a5mkjlhp2t10gtqh3qj69q2v"); // d += ay; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("161urjc4hdupo7zswtjf376th"); // } else { /* y dominant */ UNSUPPORTED("39keqb5njfkczwllbrur21irg"); // d = ax - (ay >> 1); UNSUPPORTED("2v2pue2y1u2d4ka6733iv5vk0"); // for (;;) { UNSUPPORTED("13fg1e71tu92h0bfrs9xka8tb"); // /* fprintf (stderr, " addPS %d %d\n", x,y); */ UNSUPPORTED("62ytgdd26o3p2xgoq37xnoifl"); // addPS(ps, x, y); UNSUPPORTED("colj1ywjuo0sy4arrbdvl8jfd"); // if (y == y2) UNSUPPORTED("6an8ocqq0sjru42k4aathe94m"); // return; UNSUPPORTED("9erzrv938084t7vmam5bxw7mx"); // if (d >= 0) { UNSUPPORTED("14xdaydif31mwi2l1z4k2oepc"); // x += sx; UNSUPPORTED("jjd6xfq9lhh82zyxg0ikry3"); // d -= ay; UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("58q6s3oua65hpto8xa7dz10sf"); // y += sy; UNSUPPORTED("d3ci5x842hrarrzjeputfalm"); // d += ax; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6ewq3stx5of82qf0ol1xwjf0o // static void fillEdge(Agedge_t * e, point p, PointSet * ps, int dx, int dy, int ssize, int doS) public static Object fillEdge(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("9b96jon8bxkz7znkmv20875w6"); // fillEdge(Agedge_t * e, point p, PointSet * ps, int dx, int dy, UNSUPPORTED("8yrc5v6qafl4vg0xln2we5kn3"); // int ssize, int doS) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9e6bnowy6jfhnib5uev3scpsu"); // int j, k; UNSUPPORTED("37thdceezsvepe7tlyfatrbcw"); // bezier bz; UNSUPPORTED("9j8f6779znpou18ci9dqadum3"); // pointf pt, hpt; UNSUPPORTED("15nfkonrgeitraj70893dwyoj"); // Agnode_t *h; UNSUPPORTED("5adeloig3qt9512e0wlnw0stj"); // P2PF(p, pt); UNSUPPORTED("9k8qdzbe2z8whvdrbl13aayb6"); // /* If doS is false or the edge has not splines, use line segment */ UNSUPPORTED("bd6qvosxwfyw4x4l6o4442ous"); // if (!doS || !ED_spl(e)) { UNSUPPORTED("1058dpzesyxnmmn0hdydhfm1n"); // h = aghead(e); UNSUPPORTED("dyy30pakjvyqg13qemnd5v50i"); // hpt = coord(h); UNSUPPORTED("d3qru0pr047p8fj3evxw9gstq"); // ((hpt).x += dx, (hpt).y += dy); UNSUPPORTED("99rq045btzmqomibgmhvv8wce"); // ((hpt).x = (((hpt).x) >= 0 ? ((hpt).x)/(ssize) : ((((hpt).x)+1)/(ssize))-1), (hpt).y = (((hpt).y) >= 0 ? ((hpt).y)/((ssize)) : ((((hpt).y)+1)/((ssize)))-1)); UNSUPPORTED("74hokpj1xz0ky4pomxsicfkvi"); // fillLine(pt, hpt, ps); UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("e9vow5lzqvgcxabgjj99yokjr"); // for (j = 0; j < ED_spl(e)->size; j++) { UNSUPPORTED("8ni4zfvf78h93ucjuoqtuomjh"); // bz = ED_spl(e)->list[j]; UNSUPPORTED("2qc36pchob3dha7c8jedwalcn"); // if (bz.sflag) { UNSUPPORTED("d5qnj0ut8jldhlvcj8dgvm1r5"); // pt = bz.sp; UNSUPPORTED("8h1rn4kivdousjdpfa1mmawwm"); // hpt = bz.list[0]; UNSUPPORTED("7hf6867dr3c65w2pf4xq323mu"); // k = 1; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("bf65xvm2dou3rh6h7knsa2us5"); // pt = bz.list[0]; UNSUPPORTED("3z2k5orut98eo0vq0pyevi2ed"); // hpt = bz.list[1]; UNSUPPORTED("dz2m8yuk8yfnc2srukp3nh4tc"); // k = 2; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("cgn9befmvtd4d8yfqs126lbpq"); // ((pt).x += dx, (pt).y += dy); UNSUPPORTED("dpf9cre3x7edch35g0alvo167"); // ((pt).x = (((pt).x) >= 0 ? ((pt).x)/(ssize) : ((((pt).x)+1)/(ssize))-1), (pt).y = (((pt).y) >= 0 ? ((pt).y)/((ssize)) : ((((pt).y)+1)/((ssize)))-1)); UNSUPPORTED("d3qru0pr047p8fj3evxw9gstq"); // ((hpt).x += dx, (hpt).y += dy); UNSUPPORTED("99rq045btzmqomibgmhvv8wce"); // ((hpt).x = (((hpt).x) >= 0 ? ((hpt).x)/(ssize) : ((((hpt).x)+1)/(ssize))-1), (hpt).y = (((hpt).y) >= 0 ? ((hpt).y)/((ssize)) : ((((hpt).y)+1)/((ssize)))-1)); UNSUPPORTED("74hokpj1xz0ky4pomxsicfkvi"); // fillLine(pt, hpt, ps); UNSUPPORTED("6gftmkq3mhknwzkm4an4llzet"); // for (; k < bz.size; k++) { UNSUPPORTED("a9t723l1szseqti9o12357emd"); // pt = hpt; UNSUPPORTED("b960h12noe0vcvmcdqt04yz5r"); // hpt = bz.list[k]; UNSUPPORTED("uxitedizhv3r59kwo9hloxga"); // ((hpt).x += dx, (hpt).y += dy); UNSUPPORTED("g2ys8m7lhj8ygyslxd1awd8c"); // ((hpt).x = (((hpt).x) >= 0 ? ((hpt).x)/(ssize) : ((((hpt).x)+1)/(ssize))-1), (hpt).y = (((hpt).y) >= 0 ? ((hpt).y)/((ssize)) : ((((hpt).y)+1)/((ssize)))-1)); UNSUPPORTED("b6h1kxqo0bbiehrmk1374qmig"); // fillLine(pt, hpt, ps); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("973cbk976xio10xxw9bgkyen2"); // if (bz.eflag) { UNSUPPORTED("a9t723l1szseqti9o12357emd"); // pt = hpt; UNSUPPORTED("mppggrplo1gua39zwczw05dl"); // hpt = bz.ep; UNSUPPORTED("uxitedizhv3r59kwo9hloxga"); // ((hpt).x += dx, (hpt).y += dy); UNSUPPORTED("g2ys8m7lhj8ygyslxd1awd8c"); // ((hpt).x = (((hpt).x) >= 0 ? ((hpt).x)/(ssize) : ((((hpt).x)+1)/(ssize))-1), (hpt).y = (((hpt).y) >= 0 ? ((hpt).y)/((ssize)) : ((((hpt).y)+1)/((ssize)))-1)); UNSUPPORTED("b6h1kxqo0bbiehrmk1374qmig"); // fillLine(pt, hpt, ps); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1qqcfh1obd0wpw60zt3qb10o1 // static void genBox(boxf bb0, ginfo * info, int ssize, int margin, point center, char* s) public static Object genBox(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("dkh8x4gma6inyhel8ms5kdqyn"); // genBox(boxf bb0, ginfo * info, int ssize, int margin, point center, char* s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("aqkjgsdfo55oljkejalj18x5o"); // PointSet *ps; UNSUPPORTED("d9cafq96lxhglzixa87lnoi5j"); // int W, H; UNSUPPORTED("20jw6e25uf75jfj884w81pyn6"); // point UR, LL; UNSUPPORTED("dli0hhfxexiypybw00gp6530v"); // box bb; UNSUPPORTED("7ksbgqgqrh7y32ijnkxl8zaw0"); // int x, y; UNSUPPORTED("bmfwjlyug1vwjdhkwhf2qxh0a"); // BF2B(bb0, bb); UNSUPPORTED("6udv07xykmb0e2pdyqurnc9p4"); // ps = newPS(); UNSUPPORTED("6xe56afm9k659fq07xtcn9147"); // LL.x = center.x - margin; UNSUPPORTED("dh3kj8xysu2kv9k3a983iqav3"); // LL.y = center.y - margin; UNSUPPORTED("585l7y7guge9z8fsbbxli30rj"); // UR.x = center.x + bb.UR.x - bb.LL.x + margin; UNSUPPORTED("e584696y40atkpz430l6plczr"); // UR.y = center.y + bb.UR.y - bb.LL.y + margin; UNSUPPORTED("9v2053h0uv8gyfep4zczhjyd"); // ((LL).x = (((LL).x) >= 0 ? ((LL).x)/(ssize) : ((((LL).x)+1)/(ssize))-1), (LL).y = (((LL).y) >= 0 ? ((LL).y)/((ssize)) : ((((LL).y)+1)/((ssize)))-1)); UNSUPPORTED("de40ubd0t9d1rv08pcspaltry"); // ((UR).x = (((UR).x) >= 0 ? ((UR).x)/(ssize) : ((((UR).x)+1)/(ssize))-1), (UR).y = (((UR).y) >= 0 ? ((UR).y)/((ssize)) : ((((UR).y)+1)/((ssize)))-1)); UNSUPPORTED("afbpk7wdnlzfrfjsfanv0nxp9"); // for (x = LL.x; x <= UR.x; x++) UNSUPPORTED("eqzaosdvrone8rhgu36tsk45v"); // for (y = LL.y; y <= UR.y; y++) UNSUPPORTED("5jwcnu6k267vszq6le3zpltr2"); // addPS(ps, x, y); UNSUPPORTED("b6965k7cvxgazo4d1x1gpicax"); // info->cells = pointsOf(ps); UNSUPPORTED("79rp86itd9b91tc0db54220fr"); // info->nc = sizeOf(ps); UNSUPPORTED("agmsrp2u25tarnb04rrmz8szf"); // W = ((int)ceil((bb0.UR.x - bb0.LL.x + 2 * margin)/(ssize))); UNSUPPORTED("37qvodfrig2t4hcn9v3c7fita"); // H = ((int)ceil((bb0.UR.y - bb0.LL.y + 2 * margin)/(ssize))); UNSUPPORTED("2w04og11wkyoe6e59x489rdlp"); // info->perim = W + H; UNSUPPORTED("3kxq91b30qey91r4hkc9jrb9n"); // if (Verbose > 2) { UNSUPPORTED("bbuxsg26kpzb2fl660hjri9l8"); // int i; UNSUPPORTED("f23g1eoeiffc45ucsecqxqkap"); // fprintf(stderr, "%s no. cells %d W %d H %d\n", UNSUPPORTED("dbm7epl7o6mpeo72klw135uni"); // s, info->nc, W, H); UNSUPPORTED("5raufl639beqv87bsfap22ar5"); // for (i = 0; i < info->nc; i++) UNSUPPORTED("36wdram8nco5bacym97n1egc0"); // fprintf(stderr, " %d %d cell\n", info->cells[i].x, UNSUPPORTED("606tqxapdsuzdhl2ssic0tz2v"); // info->cells[i].y); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dg5ijmmysdxc2qm5j58u0zr8i"); // freePS(ps); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5un21g6597dr1wxwpjststcy2 // static int genPoly(Agraph_t * root, Agraph_t * g, ginfo * info, int ssize, pack_info * pinfo, point center) public static Object genPoly(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("29xjrg34ztih2ce44tcl0h5dl"); // genPoly(Agraph_t * root, Agraph_t * g, ginfo * info, UNSUPPORTED("103ox5jcn94jkt4i92802xe30"); // int ssize, pack_info * pinfo, point center) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("aqkjgsdfo55oljkejalj18x5o"); // PointSet *ps; UNSUPPORTED("d9cafq96lxhglzixa87lnoi5j"); // int W, H; UNSUPPORTED("9z1w1elfjsy9fmy4de64anci3"); // point LL, UR; UNSUPPORTED("du26lyeqo8abix4w0d22tb9t8"); // point pt, s2; UNSUPPORTED("bz0wmxtnzgka3zfovkbr7eozh"); // pointf ptf; UNSUPPORTED("y2e8aue8lq20s36dp5cktigw"); // Agraph_t *eg; /* graph containing edges */ UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("7ksbgqgqrh7y32ijnkxl8zaw0"); // int x, y; UNSUPPORTED("bftz89757hgmx7ivuna8lc4z6"); // int dx, dy; UNSUPPORTED("8uujemixuhlf040icq3zsh7j8"); // graph_t *subg; UNSUPPORTED("bgh1ykg5jxme381zrqlfzre56"); // int margin = pinfo->margin; UNSUPPORTED("7l72pjfqpydwx4ojgn4x8l6u7"); // int doSplines = pinfo->doSplines; UNSUPPORTED("dli0hhfxexiypybw00gp6530v"); // box bb; UNSUPPORTED("dqseu01ng2nnpewmpp95sm688"); // if (root) UNSUPPORTED("3nj280m96ug062kyr3cutmoqh"); // eg = root; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("bcwj9q77uro493bbvuwbpo5vy"); // eg = g; UNSUPPORTED("6udv07xykmb0e2pdyqurnc9p4"); // ps = newPS(); UNSUPPORTED("9i5jau3uugaz7oitfcmhousx1"); // dx = center.x - ROUND(GD_bb(g).LL.x); UNSUPPORTED("66eemj62brnu3mglipwc7cqii"); // dy = center.y - ROUND(GD_bb(g).LL.y); UNSUPPORTED("dj9kkvxpyum7mive0tpr3vfod"); // if (pinfo->mode == l_clust) { UNSUPPORTED("bbuxsg26kpzb2fl660hjri9l8"); // int i; UNSUPPORTED("5tckx2f0jgn7lryi9m2e7btre"); // void **alg; UNSUPPORTED("3sna9ll8elsitmdj8rs4m15cr"); // /* backup the alg data */ UNSUPPORTED("cbau5vo7rkixloiylj1lwlytg"); // alg = (void **)gmalloc((agnnodes(g))*sizeof(void *)); UNSUPPORTED("1rckxjxqzxb846omrtt9yuxw3"); // for (i = 0, n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("4xioornmodd5ydv19wigsz1lu"); // alg[i++] = ND_alg(n); UNSUPPORTED("bqtu555nwh760awky8m65eec2"); // ND_alg(n) = 0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5s8wtxkay1fm0fn50m39tk6fj"); // /* do bbox of top clusters */ UNSUPPORTED("axxs2u0a8b8lf42oqy6xq0bx1"); // for (i = 1; i <= GD_n_cluster(g); i++) { UNSUPPORTED("2vrnig406r4mku4kxy2kf648a"); // subg = GD_clust(g)[i]; UNSUPPORTED("pfi3ma6w50rsu99wqswvhjgx"); // BF2B(GD_bb(subg), bb); UNSUPPORTED("btynl1nm8k1pr7vp22utdesdj"); // if ((bb.UR.x > bb.LL.x) && (bb.UR.y > bb.LL.y)) { UNSUPPORTED("ev14habqjuz1vhqxmavftlqlh"); // ((bb.LL).x += dx, (bb.LL).y += dy); UNSUPPORTED("bdzc32hvn2ybrea165mrd66rg"); // ((bb.UR).x += dx, (bb.UR).y += dy); UNSUPPORTED("55n48hmw8i7wktq78vfub4obw"); // bb.LL.x -= margin; UNSUPPORTED("3756d2o8pocqpkunmmdj28zmf"); // bb.LL.y -= margin; UNSUPPORTED("5urkhackfkfy3g74mu9xtpk5d"); // bb.UR.x += margin; UNSUPPORTED("9pw4vnniswa2mnfe3olr8ciey"); // bb.UR.y += margin; UNSUPPORTED("7thgtnyonec8a9sn8hizox5ig"); // ((bb.LL).x = (((bb.LL).x) >= 0 ? ((bb.LL).x)/(ssize) : ((((bb.LL).x)+1)/(ssize))-1), (bb.LL).y = (((bb.LL).y) >= 0 ? ((bb.LL).y)/((ssize)) : ((((bb.LL).y)+1)/((ssize)))-1)); UNSUPPORTED("f33jy5tuo13bi4db8gwf2ilvy"); // ((bb.UR).x = (((bb.UR).x) >= 0 ? ((bb.UR).x)/(ssize) : ((((bb.UR).x)+1)/(ssize))-1), (bb.UR).y = (((bb.UR).y) >= 0 ? ((bb.UR).y)/((ssize)) : ((((bb.UR).y)+1)/((ssize)))-1)); UNSUPPORTED("2fzfb48cw1tpgnx1fenamdt17"); // for (x = bb.LL.x; x <= bb.UR.x; x++) UNSUPPORTED("dw8r9tjg3wg1jpgi9dg0ordai"); // for (y = bb.LL.y; y <= bb.UR.y; y++) UNSUPPORTED("9fsyndaeb3wa4vnzkwju02aa6"); // addPS(ps, x, y); UNSUPPORTED("b9ww7g26bsulxmdli1uykqg48"); // /* note which nodes are in clusters */ UNSUPPORTED("78m4mkxem2uguubk1gpgsx6oc"); // for (n = agfstnode(subg); n; n = agnxtnode(subg, n)) UNSUPPORTED("8uh55vusbiw7a90rj8jzyf76o"); // ND_clust(n) = subg; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("ehh6v9228lmsahzxxt4e6a0f9"); // /* now do remaining nodes and edges */ UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("6kr9j6zxr0o4iy7nnp40lvuvz"); // ptf = coord(n); UNSUPPORTED("75lvkqsq23pobdcg6bmqa6mt9"); // PF2P(ptf, pt); UNSUPPORTED("4rskihc5j4vz55z4tvwua5wpa"); // ((pt).x += dx, (pt).y += dy); UNSUPPORTED("1pf6jaggdcnmdld5nu4v22mh9"); // if (!ND_clust(n)) { /* n is not in a top-level cluster */ UNSUPPORTED("2hsx1r535mu25g5wpz8r66dbw"); // s2.x = margin + ND_xsize(n) / 2; UNSUPPORTED("dpwfob5uc018fjpxki2nqa0si"); // s2.y = margin + ND_ysize(n) / 2; UNSUPPORTED("d21twu3noz0h6l4k80bk03bfj"); // LL = sub_point(pt, s2); UNSUPPORTED("pje1a01729779s85awuaqnan"); // UR = add_point(pt, s2); UNSUPPORTED("60bthwtp8xgwr83vnyczt23xz"); // ((LL).x = (((LL).x) >= 0 ? ((LL).x)/(ssize) : ((((LL).x)+1)/(ssize))-1), (LL).y = (((LL).y) >= 0 ? ((LL).y)/((ssize)) : ((((LL).y)+1)/((ssize)))-1)); UNSUPPORTED("einuv6rwbjqts3wnufwpslxlv"); // ((UR).x = (((UR).x) >= 0 ? ((UR).x)/(ssize) : ((((UR).x)+1)/(ssize))-1), (UR).y = (((UR).y) >= 0 ? ((UR).y)/((ssize)) : ((((UR).y)+1)/((ssize)))-1)); UNSUPPORTED("83q0u30721zb0pgciso7ziyt8"); // for (x = LL.x; x <= UR.x; x++) UNSUPPORTED("8c9342p5vvoot1zdjdtqlz2m9"); // for (y = LL.y; y <= UR.y; y++) UNSUPPORTED("9fsyndaeb3wa4vnzkwju02aa6"); // addPS(ps, x, y); UNSUPPORTED("dxoo8z7t9s82hnv32b8inj5fl"); // ((pt).x = (((pt).x) >= 0 ? ((pt).x)/(ssize) : ((((pt).x)+1)/(ssize))-1), (pt).y = (((pt).y) >= 0 ? ((pt).y)/((ssize)) : ((((pt).y)+1)/((ssize)))-1)); UNSUPPORTED("av9pal9kng6v9bj1n1r76p890"); // for (e = agfstout(eg, n); e; e = agnxtout(eg, e)) { UNSUPPORTED("3244vgtt0iocuk7pgdpymweq8"); // fillEdge(e, pt, ps, dx, dy, ssize, doSplines); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { UNSUPPORTED("dxoo8z7t9s82hnv32b8inj5fl"); // ((pt).x = (((pt).x) >= 0 ? ((pt).x)/(ssize) : ((((pt).x)+1)/(ssize))-1), (pt).y = (((pt).y) >= 0 ? ((pt).y)/((ssize)) : ((((pt).y)+1)/((ssize)))-1)); UNSUPPORTED("av9pal9kng6v9bj1n1r76p890"); // for (e = agfstout(eg, n); e; e = agnxtout(eg, e)) { UNSUPPORTED("ea4ls3030vg98zyoy7palapff"); // if (ND_clust(n) == ND_clust(aghead(e))) UNSUPPORTED("91ilj0e8yph90t7k4ijuq5rb0"); // continue; UNSUPPORTED("3244vgtt0iocuk7pgdpymweq8"); // fillEdge(e, pt, ps, dx, dy, ssize, doSplines); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("33gzyqd0dti267fbnuc393vqf"); // /* restore the alg data */ UNSUPPORTED("1rckxjxqzxb846omrtt9yuxw3"); // for (i = 0, n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("7d40zxbnht9hibe4reayjt3ab"); // ND_alg(n)= alg[i++]; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1avb9rstkf5v05swj5oavmbsx"); // free(alg); UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("6kr9j6zxr0o4iy7nnp40lvuvz"); // ptf = coord(n); UNSUPPORTED("75lvkqsq23pobdcg6bmqa6mt9"); // PF2P(ptf, pt); UNSUPPORTED("4rskihc5j4vz55z4tvwua5wpa"); // ((pt).x += dx, (pt).y += dy); UNSUPPORTED("32wulfgkqo1gdziiuynkzohma"); // s2.x = margin + ND_xsize(n) / 2; UNSUPPORTED("asa04lxhwek7h53q45xwt9eo3"); // s2.y = margin + ND_ysize(n) / 2; UNSUPPORTED("e4pwp7ppfey2ur2rzi0bnbarb"); // LL = sub_point(pt, s2); UNSUPPORTED("dtfkzedesg45sgmdx85bqajb"); // UR = add_point(pt, s2); UNSUPPORTED("2lukx7z9l672b9an4yd3kimpc"); // ((LL).x = (((LL).x) >= 0 ? ((LL).x)/(ssize) : ((((LL).x)+1)/(ssize))-1), (LL).y = (((LL).y) >= 0 ? ((LL).y)/((ssize)) : ((((LL).y)+1)/((ssize)))-1)); UNSUPPORTED("1rt3uhmbxplvrk1o7obv4z3er"); // ((UR).x = (((UR).x) >= 0 ? ((UR).x)/(ssize) : ((((UR).x)+1)/(ssize))-1), (UR).y = (((UR).y) >= 0 ? ((UR).y)/((ssize)) : ((((UR).y)+1)/((ssize)))-1)); UNSUPPORTED("dx18nl37frf8sg26xij552ejz"); // for (x = LL.x; x <= UR.x; x++) UNSUPPORTED("6a90v0hbdo93le7neim40no3u"); // for (y = LL.y; y <= UR.y; y++) UNSUPPORTED("dn4dbpnefy79i1g03hfsakcno"); // addPS(ps, x, y); UNSUPPORTED("8hl3q69p8aqetblqadqf2uhkf"); // ((pt).x = (((pt).x) >= 0 ? ((pt).x)/(ssize) : ((((pt).x)+1)/(ssize))-1), (pt).y = (((pt).y) >= 0 ? ((pt).y)/((ssize)) : ((((pt).y)+1)/((ssize)))-1)); UNSUPPORTED("7hqutkde2o0fy2g0xv1yitxjf"); // for (e = agfstout(eg, n); e; e = agnxtout(eg, e)) { UNSUPPORTED("6zc0jmxujx99ljtqkmiydrjzq"); // fillEdge(e, pt, ps, dx, dy, ssize, doSplines); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("b6965k7cvxgazo4d1x1gpicax"); // info->cells = pointsOf(ps); UNSUPPORTED("79rp86itd9b91tc0db54220fr"); // info->nc = sizeOf(ps); UNSUPPORTED("es3gh0zqwlw0iiolk6x45vege"); // W = ((int)ceil((GD_bb(g).UR.x - GD_bb(g).LL.x + 2 * margin)/(ssize))); UNSUPPORTED("bfr7ygy7lkfhss45a84thsa7s"); // H = ((int)ceil((GD_bb(g).UR.y - GD_bb(g).LL.y + 2 * margin)/(ssize))); UNSUPPORTED("2w04og11wkyoe6e59x489rdlp"); // info->perim = W + H; UNSUPPORTED("3kxq91b30qey91r4hkc9jrb9n"); // if (Verbose > 2) { UNSUPPORTED("bbuxsg26kpzb2fl660hjri9l8"); // int i; UNSUPPORTED("f23g1eoeiffc45ucsecqxqkap"); // fprintf(stderr, "%s no. cells %d W %d H %d\n", UNSUPPORTED("dhnvei7zsgifid5vebovzl15"); // agnameof(g), info->nc, W, H); UNSUPPORTED("5raufl639beqv87bsfap22ar5"); // for (i = 0; i < info->nc; i++) UNSUPPORTED("36wdram8nco5bacym97n1egc0"); // fprintf(stderr, " %d %d cell\n", info->cells[i].x, UNSUPPORTED("606tqxapdsuzdhl2ssic0tz2v"); // info->cells[i].y); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dg5ijmmysdxc2qm5j58u0zr8i"); // freePS(ps); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c9qfbamaiq4liwngpzcw4g15e // static int fits(int x, int y, ginfo * info, PointSet * ps, point * place, int step, boxf* bbs) public static Object fits(Object... arg) { UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int UNSUPPORTED("1qf35tpyffbtwwrvw009al0jw"); // fits(int x, int y, ginfo * info, PointSet * ps, point * place, int step, boxf* bbs) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7s7b72q8pqs2vwdmytpwqd8fw"); // point *cells = info->cells; UNSUPPORTED("dx19rog6lno8k3o89p0yw80de"); // int n = info->nc; UNSUPPORTED("8w8wc32jqtifc9dhh8tzlcnzx"); // point cell; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("bs4odh29a6rnkbmhk59sanyar"); // point LL; UNSUPPORTED("1vi49g48u2rc9v88yhabta0yw"); // for (i = 0; i < n; i++) { UNSUPPORTED("ct2td16327xzczczmc9cxbxhr"); // cell = *cells; UNSUPPORTED("8cjpqypsv5o9zwngain8itc5l"); // cell.x += x; UNSUPPORTED("8yup3gihmsdumxy94c06s7514"); // cell.y += y; UNSUPPORTED("qak41spsdwyya6gwwbgwkl53"); // if (inPS(ps, cell)) UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("cbdyrzw9tiul7z5wurhto17q"); // cells++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2bp5zif4pew12zbwc252fzewz"); // PF2P(bbs[info->index].LL, LL); UNSUPPORTED("d9jkxf05nyf0mf7eh3mig9p6"); // place->x = step * x - LL.x; UNSUPPORTED("ciocs0be2oq5sze7g0mgy1k3c"); // place->y = step * y - LL.y; UNSUPPORTED("1eqiy1kl714gqpoigzeqcvf5p"); // cells = info->cells; UNSUPPORTED("1vi49g48u2rc9v88yhabta0yw"); // for (i = 0; i < n; i++) { UNSUPPORTED("ct2td16327xzczczmc9cxbxhr"); // cell = *cells; UNSUPPORTED("8cjpqypsv5o9zwngain8itc5l"); // cell.x += x; UNSUPPORTED("8yup3gihmsdumxy94c06s7514"); // cell.y += y; UNSUPPORTED("g4rk5u461kggq0l6ilauwlo4"); // insertPS(ps, cell); UNSUPPORTED("cbdyrzw9tiul7z5wurhto17q"); // cells++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("41xjj6amd58fjieqo5xy29iwq"); // if (Verbose >= 2) UNSUPPORTED("69kux3f6h23w09bw3rza60lq8"); // fprintf(stderr, "cc (%d cells) at (%d,%d) (%d,%d)\n", n, x, y, UNSUPPORTED("5aew9usp1puf2vjfyvkt8ki4u"); // place->x, place->y); UNSUPPORTED("3tcgz4dupb6kw5tdk7n3pca2l"); // return 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3bievtf2w4iqqz5qhvvye4imw // static void placeFixed(ginfo * info, PointSet * ps, point * place, point center) public static Object placeFixed(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("5u8hxdr88fztn78otn0zptwfo"); // placeFixed(ginfo * info, PointSet * ps, point * place, point center) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7s7b72q8pqs2vwdmytpwqd8fw"); // point *cells = info->cells; UNSUPPORTED("dx19rog6lno8k3o89p0yw80de"); // int n = info->nc; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("dxwnlmthaq0wgr96pkmv2fk9e"); // place->x = -center.x; UNSUPPORTED("6btj6uln4as29swn0gnfjlfrb"); // place->y = -center.y; UNSUPPORTED("1vi49g48u2rc9v88yhabta0yw"); // for (i = 0; i < n; i++) { UNSUPPORTED("chepmmzu07rgo2s6lhxc1yust"); // insertPS(ps, *cells++); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("41xjj6amd58fjieqo5xy29iwq"); // if (Verbose >= 2) UNSUPPORTED("efy6uprafzlbzcuuea0iywmn"); // fprintf(stderr, "cc (%d cells) at (%d,%d)\n", n, place->x, UNSUPPORTED("erkjyjoclu003wz9pn5id7r1n"); // place->y); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6ly0zu2bl9e2z9zb6tgiis6ji // static void placeGraph(int i, ginfo * info, PointSet * ps, point * place, int step, int margin, boxf* bbs) public static Object placeGraph(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("bomsrpn26g609cfz6rxujk3bu"); // placeGraph(int i, ginfo * info, PointSet * ps, point * place, int step, UNSUPPORTED("bqojgt4ai0dr1qe25n6dgk8zp"); // int margin, boxf* bbs) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7ksbgqgqrh7y32ijnkxl8zaw0"); // int x, y; UNSUPPORTED("d9cafq96lxhglzixa87lnoi5j"); // int W, H; UNSUPPORTED("90urniwcsawwori7426tta0kx"); // int bnd; UNSUPPORTED("3cvtov5t3e3nw7jf8qx7h8eeo"); // boxf bb = bbs[info->index]; UNSUPPORTED("bpwdzzlwgsm5lqfqgzplsw92a"); // if (i == 0) { UNSUPPORTED("3zg9yd27ewzn95seu5sp3bxw7"); // W = ((int)ceil((bb.UR.x - bb.LL.x + 2 * margin)/(step))); UNSUPPORTED("emdieik6twlh1vjo5ywsbcdaz"); // H = ((int)ceil((bb.UR.y - bb.LL.y + 2 * margin)/(step))); UNSUPPORTED("65t43oobc63x9wvv9o6muhprh"); // if (fits(-W / 2, -H / 2, info, ps, place, step, bbs)) UNSUPPORTED("6cprbghvenu9ldc0ez1ifc63q"); // return; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("18spugm2e70i89b481k3i5w70"); // if (fits(0, 0, info, ps, place, step, bbs)) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("jx7bqatqf7k5p5w0ci42dfd8"); // W = ceil(bb.UR.x - bb.LL.x); UNSUPPORTED("1sc44fow0xifkubpnp87bjwp"); // H = ceil(bb.UR.y - bb.LL.y); UNSUPPORTED("8wngkvmkilwdbxat9rddy9qv6"); // if (W >= H) { UNSUPPORTED("1xe0f3svmp0ieofq7s2ss9z2n"); // for (bnd = 1;; bnd++) { UNSUPPORTED("9i002a0gwbjlfbzmkcc26n16h"); // x = 0; UNSUPPORTED("bbyf4zi7pju6lcgspmut3qygt"); // y = -bnd; UNSUPPORTED("dhlxiqgb2o6a1bomoafek4b66"); // for (; x < bnd; x++) UNSUPPORTED("c80k1vihrjb8lsuc6moaq5bh3"); // if (fits(x, y, info, ps, place, step, bbs)) UNSUPPORTED("46hqh1l8dmimisi2nr03ntomn"); // return; UNSUPPORTED("eyxe9lc00uz4eqb1uii15fjc1"); // for (; y < bnd; y++) UNSUPPORTED("c80k1vihrjb8lsuc6moaq5bh3"); // if (fits(x, y, info, ps, place, step, bbs)) UNSUPPORTED("46hqh1l8dmimisi2nr03ntomn"); // return; UNSUPPORTED("9s5n7ukau4s2kpxp4szrf537q"); // for (; x > -bnd; x--) UNSUPPORTED("c80k1vihrjb8lsuc6moaq5bh3"); // if (fits(x, y, info, ps, place, step, bbs)) UNSUPPORTED("46hqh1l8dmimisi2nr03ntomn"); // return; UNSUPPORTED("2p7aqe0xpy2yshac8hs4h8boz"); // for (; y > -bnd; y--) UNSUPPORTED("c80k1vihrjb8lsuc6moaq5bh3"); // if (fits(x, y, info, ps, place, step, bbs)) UNSUPPORTED("46hqh1l8dmimisi2nr03ntomn"); // return; UNSUPPORTED("7zfcwps71uh29bw8vxk0wu5r6"); // for (; x < 0; x++) UNSUPPORTED("c80k1vihrjb8lsuc6moaq5bh3"); // if (fits(x, y, info, ps, place, step, bbs)) UNSUPPORTED("46hqh1l8dmimisi2nr03ntomn"); // return; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("1xe0f3svmp0ieofq7s2ss9z2n"); // for (bnd = 1;; bnd++) { UNSUPPORTED("3suauipkdshia74hhot2qydd6"); // y = 0; UNSUPPORTED("13guhblt4ee02wp7skslgweux"); // x = -bnd; UNSUPPORTED("2p7aqe0xpy2yshac8hs4h8boz"); // for (; y > -bnd; y--) UNSUPPORTED("c80k1vihrjb8lsuc6moaq5bh3"); // if (fits(x, y, info, ps, place, step, bbs)) UNSUPPORTED("46hqh1l8dmimisi2nr03ntomn"); // return; UNSUPPORTED("dhlxiqgb2o6a1bomoafek4b66"); // for (; x < bnd; x++) UNSUPPORTED("c80k1vihrjb8lsuc6moaq5bh3"); // if (fits(x, y, info, ps, place, step, bbs)) UNSUPPORTED("46hqh1l8dmimisi2nr03ntomn"); // return; UNSUPPORTED("eyxe9lc00uz4eqb1uii15fjc1"); // for (; y < bnd; y++) UNSUPPORTED("c80k1vihrjb8lsuc6moaq5bh3"); // if (fits(x, y, info, ps, place, step, bbs)) UNSUPPORTED("46hqh1l8dmimisi2nr03ntomn"); // return; UNSUPPORTED("9s5n7ukau4s2kpxp4szrf537q"); // for (; x > -bnd; x--) UNSUPPORTED("c80k1vihrjb8lsuc6moaq5bh3"); // if (fits(x, y, info, ps, place, step, bbs)) UNSUPPORTED("46hqh1l8dmimisi2nr03ntomn"); // return; UNSUPPORTED("ejcax560bkqv16vszo54w4m5d"); // for (; y > 0; y--) UNSUPPORTED("c80k1vihrjb8lsuc6moaq5bh3"); // if (fits(x, y, info, ps, place, step, bbs)) UNSUPPORTED("46hqh1l8dmimisi2nr03ntomn"); // return; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 cm57bp8kzzj7nhvnbzhzniya7 // static packval_t* userVals //3 dy401uvesqi5waa3p7s48m4ab // static int ucmpf(const void *X, const void *Y) public static Object ucmpf(Object... arg) { UNSUPPORTED("137928stzn8zfxl3jxu2a3ai5"); // static int ucmpf(const void *X, const void *Y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1ku8n7iezmely5ex218gfmgnn"); // ainfo* x = *(ainfo **) X; UNSUPPORTED("c5kqjorns3t5qoc40cc435dzl"); // ainfo* y = *(ainfo **) Y; UNSUPPORTED("5tomfbuz1yassu35dwz1iq7vm"); // int dX = userVals[x->index]; UNSUPPORTED("bpyepdnz0i98c1givec8sfzi8"); // int dY = userVals[y->index]; UNSUPPORTED("esc8v2x5h3onwsqp6c6xno2wx"); // if (dX > dY) return 1; UNSUPPORTED("7qerkoonjr1hepr83sy6pv0tv"); // else if (dX < dY) return -1; UNSUPPORTED("895k5gbyc2kla939upm8m5u76"); // else return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6x4xkvohgtocih0ggo5pnszne // static int acmpf(const void *X, const void *Y) public static Object acmpf(Object... arg) { UNSUPPORTED("423xzl59p1su4ak69hnavsj3y"); // static int acmpf(const void *X, const void *Y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1ku8n7iezmely5ex218gfmgnn"); // ainfo* x = *(ainfo **) X; UNSUPPORTED("c5kqjorns3t5qoc40cc435dzl"); // ainfo* y = *(ainfo **) Y; UNSUPPORTED("8gzrdc9r316hn5bgbdj9iwld"); // double dX = x->height + x->width; UNSUPPORTED("acl6jabv3oppesl52kwesjisc"); // double dY = y->height + y->width; UNSUPPORTED("3ydx317qb6esfml32gmrn8d2"); // if (dX < dY) return 1; UNSUPPORTED("6dxscssmk09iu34elvy825a17"); // else if (dX > dY) return -1; UNSUPPORTED("895k5gbyc2kla939upm8m5u76"); // else return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1ri9de5rw5soigxidz94knl59 // static point * arrayRects (int ng, boxf* gs, pack_info* pinfo) public static Object arrayRects(Object... arg) { UNSUPPORTED("7mjw19ag4ln47wi0vuem3rdo7"); // static point * UNSUPPORTED("7i2605a8yy8rvl2sjqdyq0zkr"); // arrayRects (int ng, boxf* gs, pack_info* pinfo) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("587clam8w31px41vh3zl1x5zz"); // int nr = 0, nc; UNSUPPORTED("3uj2h26d8pqkuu2k0mjvkeol9"); // int r, c; UNSUPPORTED("exshbiefqo5bvtelq35q1uihg"); // ainfo *info; UNSUPPORTED("wyaib9x4tjhrx2m1ezfsaukn"); // ainfo *ip; UNSUPPORTED("2s7rlgsp3tf6744uvlbowf61l"); // ainfo **sinfo; UNSUPPORTED("3dy5gn4dyvwvrrpcjcltwo1or"); // double* widths; UNSUPPORTED("c0nhg35w7lcgf18f246eg5tsw"); // double* heights; UNSUPPORTED("4d9aph59v9jbee7xholivf5zp"); // double v, wd, ht; UNSUPPORTED("7843lpndabgsr9cdbfkcywvvx"); // point* places = (point*)zmalloc((ng)*sizeof(point)); UNSUPPORTED("2lzsl1e035wt5epd1h8f4bn8m"); // boxf bb; UNSUPPORTED("7l9fl3dxxtjbfy8hgqxikcdlp"); // int sz, rowMajor; UNSUPPORTED("83ixjypz1k5iieg2apicsmpgn"); // /* set up no. of rows and columns */ UNSUPPORTED("c1codecudzu0sc5eeyf0k3shl"); // sz = pinfo->sz; UNSUPPORTED("368ad1d7qg13ji33rpsspgt8n"); // if (pinfo->flags & (1 << 0)) { UNSUPPORTED("9nsjbn4fps3cxesy71lw4otlx"); // rowMajor = 0; UNSUPPORTED("6r33xzmrfhkea13cb2uq9to3w"); // if (sz > 0) { UNSUPPORTED("t30y3kxgl5xg1b0x1pvhso1i"); // nr = sz; UNSUPPORTED("6ifv906e9hfiqnj8h4zuwcj4y"); // nc = (ng + (nr-1))/nr; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("cio9a5vmyx6df3sfnalfboiuf"); // nr = ceil(sqrt(ng)); UNSUPPORTED("6ifv906e9hfiqnj8h4zuwcj4y"); // nc = (ng + (nr-1))/nr; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("ctpc0t0nilg3t9gj01k4ywsj3"); // rowMajor = 1; UNSUPPORTED("6r33xzmrfhkea13cb2uq9to3w"); // if (sz > 0) { UNSUPPORTED("6errm4a85tsehl607eqelczds"); // nc = sz; UNSUPPORTED("1x339pl43qiukqwjve0wxt28e"); // nr = (ng + (nc-1))/nc; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("364szoyjdpowhykehht3akq3e"); // nc = ceil(sqrt(ng)); UNSUPPORTED("1x339pl43qiukqwjve0wxt28e"); // nr = (ng + (nc-1))/nc; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2di5wqm6caczzl6bvqe35ry8y"); // if (Verbose) UNSUPPORTED("3pdy7z56ruqq4oyacr883mikq"); // fprintf (stderr, "array packing: %s %d rows %d columns\n", (rowMajor?"row major":"column major"), nr, nc); UNSUPPORTED("6043fy5yx6lbdsxu5yn3brmal"); // widths = (double*)zmalloc((nc+1)*sizeof(double)); UNSUPPORTED("a1b2xc5h9ne6kbzuy0nkuwvyo"); // heights = (double*)zmalloc((nr+1)*sizeof(double)); UNSUPPORTED("9aw3rarlnxmlwhap0h7473k7u"); // ip = info = (ainfo*)zmalloc((ng)*sizeof(ainfo)); UNSUPPORTED("5rngkhxlli0ca2dadcc2l90yc"); // for (i = 0; i < ng; i++, ip++) { UNSUPPORTED("ay7zkx9vy6thctuz1zc6uwgp"); // bb = gs[i]; UNSUPPORTED("6u6ndmrhwricwao2uxni5h1k0"); // ip->width = bb.UR.x - bb.LL.x + pinfo->margin; UNSUPPORTED("e97e7wvrktg5tvh7jgix3rh4n"); // ip->height = bb.UR.y - bb.LL.y + pinfo->margin; UNSUPPORTED("c1vy7jp6gj45js1vpscqrdow5"); // ip->index = i; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("cj72vx5oyj2o2q2m7645spujf"); // sinfo = (ainfo**)zmalloc((ng)*sizeof(ainfo*)); UNSUPPORTED("7zun8aoc3cgzj5s89wluw8xq4"); // for (i = 0; i < ng; i++) { UNSUPPORTED("9mn44smuwqqa7634ytys2no53"); // sinfo[i] = info + i; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("12fyz4qnl5zp3xwitz3v50nei"); // if (pinfo->vals) { UNSUPPORTED("60usk332i3h20n9in7ul42urp"); // userVals = pinfo->vals; UNSUPPORTED("zri192zm0qymulo1qj64bkk4"); // qsort(sinfo, ng, sizeof(ainfo *), ucmpf); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("elre2mkk0b66ystun7ksceacd"); // else if (!(pinfo->flags & (1 << 6))) { UNSUPPORTED("46wm7t71y606fg0p1pmnrotxs"); // qsort(sinfo, ng, sizeof(ainfo *), acmpf); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bh1a6itzd1t536vncxeg55kws"); // /* compute column widths and row heights */ UNSUPPORTED("a29uwx3mv4g7tkw0a7nld91n6"); // r = c = 0; UNSUPPORTED("5rngkhxlli0ca2dadcc2l90yc"); // for (i = 0; i < ng; i++, ip++) { UNSUPPORTED("9pextrq1h4wbpvek3nn5hpdj1"); // ip = sinfo[i]; UNSUPPORTED("2m8hk2qls872rs7vknlc6s0lx"); // widths[c] = MAX(widths[c],ip->width); UNSUPPORTED("e6t8bv0nuykk21ia3zd431xfa"); // heights[r] = MAX(heights[r],ip->height); UNSUPPORTED("2x8y0mx5s4y94qc2l938923p3"); // if (rowMajor){ c++; if (c == nc) { c = 0; r++; } } else { r++; if (r == nr) { r = 0; c++; } }; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("35agl3q9fx549xwrbpsl2d4us"); // /* convert widths and heights to positions */ UNSUPPORTED("2xhvo47ul8yuzrfw9qt8dw0ps"); // wd = 0; UNSUPPORTED("b19j342j5puv71h95o4ipftcy"); // for (i = 0; i <= nc; i++) { UNSUPPORTED("cn91vt3tkx1q0hk0v0efsy0u5"); // v = widths[i]; UNSUPPORTED("9rsjnuoiq6k71cnjchxzdi4b2"); // widths[i] = wd; UNSUPPORTED("8uj5r8kz22am852pbxn5xbj2o"); // wd += v; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("28dk2342xmi4riersjpcgji1t"); // ht = 0; UNSUPPORTED("v2352s1mp3wons7njjjynrxt"); // for (i = nr; 0 < i; i--) { UNSUPPORTED("6ua786jl1gs84859xekg6b8fg"); // v = heights[i-1]; UNSUPPORTED("bazhlkhnh5k7eheis0ez0n9vb"); // heights[i] = ht; UNSUPPORTED("bvofkv7v5wfgk9cj4wzfaib3y"); // ht += v; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9rbcr484ikmoafnug3xnaxs32"); // heights[0] = ht; UNSUPPORTED("ddygazuu5ir5m2y5nmnsrajqx"); // /* position rects */ UNSUPPORTED("a29uwx3mv4g7tkw0a7nld91n6"); // r = c = 0; UNSUPPORTED("5rngkhxlli0ca2dadcc2l90yc"); // for (i = 0; i < ng; i++, ip++) { UNSUPPORTED("drn8u5l7wlzkbovfo92png2jy"); // int idx; UNSUPPORTED("9pextrq1h4wbpvek3nn5hpdj1"); // ip = sinfo[i]; UNSUPPORTED("2ps143essu8ajs0kj531wnief"); // idx = ip->index; UNSUPPORTED("3k2y6x5t2zzgaukk772pdwx6f"); // bb = gs[idx]; UNSUPPORTED("81ldqtnpthu2abqyry4z6ym8m"); // if (pinfo->flags & (1 << 2)) UNSUPPORTED("13f3a690c3l0f4v06nrwmimi4"); // places[idx].x = widths[c]; UNSUPPORTED("8eg2gw7wqr3mql161981r68br"); // else if (pinfo->flags & (1 << 3)) UNSUPPORTED("e3iwxanyszyzq23zx6vtonrj8"); // places[idx].x = widths[c+1] - (bb.UR.x - bb.LL.x); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("67vni7zjcybymkjnpjnavoflk"); // places[idx].x = (widths[c] + widths[c+1] - bb.UR.x - bb.LL.x)/2.0; UNSUPPORTED("8dcmf759vr0nvbyid59jtzauy"); // if (pinfo->flags & (1 << 4)) UNSUPPORTED("24esxiop1grjauhaq6g2839fx"); // places[idx].y = heights[r] - (bb.UR.y - bb.LL.y); UNSUPPORTED("2dch1dl8cgtov5959f5m06bwn"); // else if (pinfo->flags & (1 << 5)) UNSUPPORTED("4t5x1tjwncmgjvqii9uimq4b1"); // places[idx].y = heights[r+1]; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("djge91fby18vnmw35p7pnh54e"); // places[idx].y = (heights[r] + heights[r+1] - bb.UR.y - bb.LL.y)/2.0; UNSUPPORTED("2x8y0mx5s4y94qc2l938923p3"); // if (rowMajor){ c++; if (c == nc) { c = 0; r++; } } else { r++; if (r == nr) { r = 0; c++; } }; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2t9jewjat2jsi4mczos1h2k63"); // free (info); UNSUPPORTED("6m428qwh53clq0b13nr60dt5t"); // free (sinfo); UNSUPPORTED("srea4nhmmob1m0yxi5gapwxa"); // free (widths); UNSUPPORTED("aej4g6wixnif5navqnu0z5d02"); // free (heights); UNSUPPORTED("4pw9nikwh26us27xquq8gxeom"); // return places; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2irl4ooaj6ar2weyzs1jt6vnj // static point* polyRects(int ng, boxf* gs, pack_info * pinfo) public static Object polyRects(Object... arg) { UNSUPPORTED("ck2vnuu91etfn4os7sqednjdt"); // static point* UNSUPPORTED("emdivhrzg1z379tgeonw1e2wn"); // polyRects(int ng, boxf* gs, pack_info * pinfo) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("824stmaoi8w8lahubzh2aqmnt"); // int stepSize; UNSUPPORTED("egeh7d2rftmojiwelzoch9qzs"); // ginfo *info; UNSUPPORTED("cgpy9yq4nom59s6xdcks21z34"); // ginfo **sinfo; UNSUPPORTED("d5zj0uiljdydjp99y2c8421tm"); // point *places; UNSUPPORTED("vela488x5cw8iukv3b2rxxfg"); // Dict_t *ps; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("757l2o5nnleyj2fwon83lkwp4"); // point center; UNSUPPORTED("4xciuabrdcqf4qlyxzw20rgoq"); // /* calculate grid size */ UNSUPPORTED("2eg1bg6rzeyuwox4ji13hfsn3"); // stepSize = computeStep(ng, gs, pinfo->margin); UNSUPPORTED("2di5wqm6caczzl6bvqe35ry8y"); // if (Verbose) UNSUPPORTED("9jvi53wte1pa00ysz1tyoirwu"); // fprintf(stderr, "step size = %d\n", stepSize); UNSUPPORTED("4uchvv7hqly12y7in635yrzk2"); // if (stepSize <= 0) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("ai9xhwyay6jsf18f9an9wiqxh"); // /* generate polyomino cover for the rectangles */ UNSUPPORTED("cc7f8jeq787ivlq7z8w36zsxr"); // center.x = center.y = 0; UNSUPPORTED("5ja8kdpayis0xlce0mars9kyq"); // info = (ginfo*)zmalloc((ng)*sizeof(ginfo)); UNSUPPORTED("7zun8aoc3cgzj5s89wluw8xq4"); // for (i = 0; i < ng; i++) { UNSUPPORTED("dotsh6x7f3q84jxx9kanz0zxs"); // info[i].index = i; UNSUPPORTED("50f4hs6qh3bifktl7ofmdluau"); // genBox(gs[i], info + i, stepSize, pinfo->margin, center, ""); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7hsq9ilfch3hi4eeqdzbo8hcz"); // /* sort */ UNSUPPORTED("516yap1pdty58f0uvcm0ol21t"); // sinfo = (ginfo **)zmalloc((ng)*sizeof(ginfo *)); UNSUPPORTED("7zun8aoc3cgzj5s89wluw8xq4"); // for (i = 0; i < ng; i++) { UNSUPPORTED("9mn44smuwqqa7634ytys2no53"); // sinfo[i] = info + i; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("aht3on8lvvmmuavandpu3mrqf"); // qsort(sinfo, ng, sizeof(ginfo *), cmpf); UNSUPPORTED("6udv07xykmb0e2pdyqurnc9p4"); // ps = newPS(); UNSUPPORTED("1lrlt4okvwo1r2jn12curx4a4"); // places = (point*)zmalloc((ng)*sizeof(point)); UNSUPPORTED("8ykrswirvj1kokawlp0qt20e"); // for (i = 0; i < ng; i++) UNSUPPORTED("amjrgk4ewbgnlny99ltipn4rw"); // placeGraph(i, sinfo[i], ps, places + (sinfo[i]->index), UNSUPPORTED("cdibq48a1vztjqwrav8lplm2l"); // stepSize, pinfo->margin, gs); UNSUPPORTED("cz66ku8toq29n6o82kekmnlpy"); // free(sinfo); UNSUPPORTED("8ykrswirvj1kokawlp0qt20e"); // for (i = 0; i < ng; i++) UNSUPPORTED("87pbwy86umrgdjafr4sezm9n"); // free(info[i].cells); UNSUPPORTED("3evfbda0xfi17zcdebhf34f0u"); // free(info); UNSUPPORTED("dg5ijmmysdxc2qm5j58u0zr8i"); // freePS(ps); UNSUPPORTED("9ez4vr7qufhjoyjfdx4btsya0"); // if (Verbose > 1) UNSUPPORTED("8zex7y0yhzzbk09jno4q16t99"); // for (i = 0; i < ng; i++) UNSUPPORTED("d35w6hrucxuabl0h4ezjaa3uc"); // fprintf(stderr, "pos[%d] %d %d\n", i, places[i].x, UNSUPPORTED("a7cjk49c6ofhzhsgib8hilvhs"); // places[i].y); UNSUPPORTED("4pw9nikwh26us27xquq8gxeom"); // return places; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1knslw9muqsgklyyji7ievnok // static point* polyGraphs(int ng, Agraph_t ** gs, Agraph_t * root, pack_info * pinfo) public static Object polyGraphs(Object... arg) { UNSUPPORTED("ck2vnuu91etfn4os7sqednjdt"); // static point* UNSUPPORTED("b0bfi4ppj9z49du0yf8jw51g5"); // polyGraphs(int ng, Agraph_t ** gs, Agraph_t * root, pack_info * pinfo) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("824stmaoi8w8lahubzh2aqmnt"); // int stepSize; UNSUPPORTED("egeh7d2rftmojiwelzoch9qzs"); // ginfo *info; UNSUPPORTED("cgpy9yq4nom59s6xdcks21z34"); // ginfo **sinfo; UNSUPPORTED("d5zj0uiljdydjp99y2c8421tm"); // point *places; UNSUPPORTED("vela488x5cw8iukv3b2rxxfg"); // Dict_t *ps; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("g39u5n77k6uyq207nn2icvox"); // boolean *fixed = pinfo->fixed; UNSUPPORTED("7o8gvve73xqzq084bw5qh7gcn"); // int fixed_cnt = 0; UNSUPPORTED("w52lhq0cd0isq9ayfz50inrq"); // box bb, fixed_bb = { {0, 0}, {0, 0} }; UNSUPPORTED("757l2o5nnleyj2fwon83lkwp4"); // point center; UNSUPPORTED("7gi50jrfs9ke5a9wali0er15n"); // boxf* bbs; UNSUPPORTED("3mtqlb2sgomhp5qec8wdsugsi"); // if (ng <= 0) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("djthf1vazs4za0so4hdnt5wj0"); // /* update bounding box info for each graph */ UNSUPPORTED("5jm29bcxipf9ixrkoge4l6qm2"); // /* If fixed, compute bbox of fixed graphs */ UNSUPPORTED("7zun8aoc3cgzj5s89wluw8xq4"); // for (i = 0; i < ng; i++) { UNSUPPORTED("8u7vr203farotwj0fftrag209"); // Agraph_t *g = gs[i]; UNSUPPORTED("1pr9y3xbbgtpw0j2cdlmr5z50"); // compute_bb(g); UNSUPPORTED("24swiauow6ik517gmj0sm5rfw"); // if (fixed && fixed[i]) { UNSUPPORTED("97wxoa3jn3w53rreu435mpy74"); // BF2B(GD_bb(g), bb); UNSUPPORTED("5lpwic2iylf55w56n041ro1x"); // if (fixed_cnt) { UNSUPPORTED("9frrmjyww4wh93dyu5k98peb9"); // fixed_bb.LL.x = MIN(bb.LL.x, fixed_bb.LL.x); UNSUPPORTED("e85tcd131giv33jrjja1olduw"); // fixed_bb.LL.y = MIN(bb.LL.y, fixed_bb.LL.y); UNSUPPORTED("dj6e5qtw7vxwfyomq1k58hcsk"); // fixed_bb.UR.x = MAX(bb.UR.x, fixed_bb.UR.x); UNSUPPORTED("b4wurhjcgswx703j06qz21n6l"); // fixed_bb.UR.y = MAX(bb.UR.y, fixed_bb.UR.y); UNSUPPORTED("afk9bpom7x393euamnvwwkx6b"); // } else UNSUPPORTED("2e612eixx1ofzkwvzqn2kwd76"); // fixed_bb = bb; UNSUPPORTED("ny0y2ibeyhhufmet5xl3j048"); // fixed_cnt++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("29xfwsb3c8xg86f1k0dnyeo0w"); // if (Verbose > 2) { UNSUPPORTED("cdzr4ncs6h15d0ih7ert3l5z3"); // fprintf(stderr, "bb[%s] %.5g %.5g %.5g %.5g\n", agnameof(g), UNSUPPORTED("759r58p1rwwxhyxaj7ofczgfy"); // GD_bb(g).LL.x, GD_bb(g).LL.y, UNSUPPORTED("btv2fogged3wlas7cotr1a3my"); // GD_bb(g).UR.x, GD_bb(g).UR.y); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4xciuabrdcqf4qlyxzw20rgoq"); // /* calculate grid size */ UNSUPPORTED("1zfqthv6gt9dvwrk425hk65xk"); // bbs = (boxf*)gmalloc((ng)*sizeof(boxf)); UNSUPPORTED("8ykrswirvj1kokawlp0qt20e"); // for (i = 0; i < ng; i++) UNSUPPORTED("2bt80lu17wcugimh4ljj70zdp"); // bbs[i] = GD_bb(gs[i]); UNSUPPORTED("5owrhafi21tpc0ktinz3o2f43"); // stepSize = computeStep(ng, bbs, pinfo->margin); UNSUPPORTED("2di5wqm6caczzl6bvqe35ry8y"); // if (Verbose) UNSUPPORTED("9jvi53wte1pa00ysz1tyoirwu"); // fprintf(stderr, "step size = %d\n", stepSize); UNSUPPORTED("4uchvv7hqly12y7in635yrzk2"); // if (stepSize <= 0) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("1alk6avw0u6hfvqo3xmul0jg6"); // /* generate polyomino cover for the graphs */ UNSUPPORTED("84yhbc8186y40vqfeqxzxfrz6"); // if (fixed) { UNSUPPORTED("5ueew992kcblg2bz1oerhmyqi"); // center.x = (fixed_bb.LL.x + fixed_bb.UR.x) / 2; UNSUPPORTED("87nbiqt8xjmmkxfd2e4w4w7vr"); // center.y = (fixed_bb.LL.y + fixed_bb.UR.y) / 2; UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("e83bosc1hfovot0zgf1yquw6p"); // center.x = center.y = 0; UNSUPPORTED("5ja8kdpayis0xlce0mars9kyq"); // info = (ginfo*)zmalloc((ng)*sizeof(ginfo)); UNSUPPORTED("7zun8aoc3cgzj5s89wluw8xq4"); // for (i = 0; i < ng; i++) { UNSUPPORTED("8u7vr203farotwj0fftrag209"); // Agraph_t *g = gs[i]; UNSUPPORTED("dotsh6x7f3q84jxx9kanz0zxs"); // info[i].index = i; UNSUPPORTED("khn1not6v8q3llxivwzrif1a"); // if (pinfo->mode == l_graph) UNSUPPORTED("ef0j485ay1qbdf8azewxc0pwi"); // genBox(GD_bb(g), info + i, stepSize, pinfo->margin, center, agnameof(g)); UNSUPPORTED("bwshrbmzbgqbses1jh55297bx"); // else if (genPoly(root, gs[i], info + i, stepSize, pinfo, center)) { UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7hsq9ilfch3hi4eeqdzbo8hcz"); // /* sort */ UNSUPPORTED("516yap1pdty58f0uvcm0ol21t"); // sinfo = (ginfo **)zmalloc((ng)*sizeof(ginfo *)); UNSUPPORTED("7zun8aoc3cgzj5s89wluw8xq4"); // for (i = 0; i < ng; i++) { UNSUPPORTED("9mn44smuwqqa7634ytys2no53"); // sinfo[i] = info + i; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("aht3on8lvvmmuavandpu3mrqf"); // qsort(sinfo, ng, sizeof(ginfo *), cmpf); UNSUPPORTED("6udv07xykmb0e2pdyqurnc9p4"); // ps = newPS(); UNSUPPORTED("1lrlt4okvwo1r2jn12curx4a4"); // places = (point*)zmalloc((ng)*sizeof(point)); UNSUPPORTED("84yhbc8186y40vqfeqxzxfrz6"); // if (fixed) { UNSUPPORTED("3e0deh4u5tol3atbp956xif23"); // for (i = 0; i < ng; i++) { UNSUPPORTED("umfi6ok5pdkv9azybxeoslof"); // if (fixed[i]) UNSUPPORTED("8wt6vr2q1holh0icpplq4zqec"); // placeFixed(sinfo[i], ps, places + (sinfo[i]->index), UNSUPPORTED("deqjfvghqxur4bfoz3puk300n"); // center); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3e0deh4u5tol3atbp956xif23"); // for (i = 0; i < ng; i++) { UNSUPPORTED("74god7lqd61d25tmue88dqtbf"); // if (!fixed[i]) UNSUPPORTED("czkvahaom618elf7saxx38r8p"); // placeGraph(i, sinfo[i], ps, places + (sinfo[i]->index), UNSUPPORTED("i3cmxkksuk6am6ht9wvhbdgc"); // stepSize, pinfo->margin, bbs); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("8zex7y0yhzzbk09jno4q16t99"); // for (i = 0; i < ng; i++) UNSUPPORTED("a532n3o5yemks8slunbp5py2i"); // placeGraph(i, sinfo[i], ps, places + (sinfo[i]->index), UNSUPPORTED("dt17bemprdm748nimg2zjv0m0"); // stepSize, pinfo->margin, bbs); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("cz66ku8toq29n6o82kekmnlpy"); // free(sinfo); UNSUPPORTED("8ykrswirvj1kokawlp0qt20e"); // for (i = 0; i < ng; i++) UNSUPPORTED("87pbwy86umrgdjafr4sezm9n"); // free(info[i].cells); UNSUPPORTED("3evfbda0xfi17zcdebhf34f0u"); // free(info); UNSUPPORTED("dg5ijmmysdxc2qm5j58u0zr8i"); // freePS(ps); UNSUPPORTED("a3ilp870e8stntakfa9mhpq3s"); // free (bbs); UNSUPPORTED("9ez4vr7qufhjoyjfdx4btsya0"); // if (Verbose > 1) UNSUPPORTED("8zex7y0yhzzbk09jno4q16t99"); // for (i = 0; i < ng; i++) UNSUPPORTED("d35w6hrucxuabl0h4ezjaa3uc"); // fprintf(stderr, "pos[%d] %d %d\n", i, places[i].x, UNSUPPORTED("a7cjk49c6ofhzhsgib8hilvhs"); // places[i].y); UNSUPPORTED("4pw9nikwh26us27xquq8gxeom"); // return places; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 al89yl8dh1jxwk08tyczwknn7 // point *putGraphs(int ng, Agraph_t ** gs, Agraph_t * root, pack_info * pinfo) public static Object putGraphs(Object... arg) { UNSUPPORTED("2bmiezotvi7u8eu53600a4id7"); // point *putGraphs(int ng, Agraph_t ** gs, Agraph_t * root, UNSUPPORTED("dnotj3yx4zh4izfbxl101921l"); // pack_info * pinfo) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b9q08fv1def3y3mbkfcttoygi"); // int i, v; UNSUPPORTED("7gi50jrfs9ke5a9wali0er15n"); // boxf* bbs; UNSUPPORTED("c9h1fo1uvas6uw1a8qaapnln6"); // Agraph_t* g; UNSUPPORTED("37y05h5xfo0t6oujuechff9od"); // point* pts; UNSUPPORTED("yiuh599p05f2mpu2e3pesu2o"); // char* s; UNSUPPORTED("10gh49wkm3r9433ve3ykoy8zd"); // if (ng <= 0) return NULL; UNSUPPORTED("74z1gk7owd6s8rog374fsoz77"); // if (pinfo->mode <= l_graph) UNSUPPORTED("3mqc3im4s572a4m1gq3luvraa"); // return polyGraphs (ng, gs, root, pinfo); UNSUPPORTED("1zfqthv6gt9dvwrk425hk65xk"); // bbs = (boxf*)gmalloc((ng)*sizeof(boxf)); UNSUPPORTED("7zun8aoc3cgzj5s89wluw8xq4"); // for (i = 0; i < ng; i++) { UNSUPPORTED("1o35elvmsbg14ylv3li4k555e"); // g = gs[i]; UNSUPPORTED("1pr9y3xbbgtpw0j2cdlmr5z50"); // compute_bb(g); UNSUPPORTED("38ehh0n0z7yr3ku3wax91eny9"); // bbs[i] = GD_bb(g); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8kmg7cdfeuqszcwxcz5y3c5td"); // if (pinfo->mode == l_array) { UNSUPPORTED("7nb1jaoblp1yvgvo27aaud6s6"); // if (pinfo->flags & (1 << 1)) { UNSUPPORTED("dbollhgp3oflycwtdbdbh9i88"); // pinfo->vals = (packval_t*)zmalloc((ng)*sizeof(packval_t)); UNSUPPORTED("58nh8251ikin1r1ikujawgmvi"); // for (i = 0; i < ng; i++) { UNSUPPORTED("f0c6o7jozps86mqlhvb9n9d6s"); // s = agget (gs[i], "sortv"); UNSUPPORTED("dor0p055w386zaz88qm97z87v"); // if (s && (sscanf (s, "%d", &v) > 0) && (v >= 0)) UNSUPPORTED("14rvncot97v829zy8a8tp0zwz"); // pinfo->vals[i] = v; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1ptopw7nt3b3yr62pvaymgk9m"); // pts = arrayRects (ng, bbs, pinfo); UNSUPPORTED("b93dvbn6t4y3hpjm8h8t94bxt"); // if (pinfo->flags & (1 << 1)) UNSUPPORTED("2y3e1eszpxr131wfwuq7wc18i"); // free (pinfo->vals); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a3ilp870e8stntakfa9mhpq3s"); // free (bbs); UNSUPPORTED("b7gk8q1reftzri269holggnig"); // return pts; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e73o8yamtvnffshrs9rm3lim0 // point * putRects(int ng, boxf* bbs, pack_info* pinfo) public static Object putRects(Object... arg) { UNSUPPORTED("b2t3wt7lnrvb61t0hory0gh2h"); // point * UNSUPPORTED("8fweyba26afb4b3vn251yp6u1"); // putRects(int ng, boxf* bbs, pack_info* pinfo) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("10gh49wkm3r9433ve3ykoy8zd"); // if (ng <= 0) return NULL; UNSUPPORTED("f2v1akrh6kotuwhh1shnn0cvk"); // if ((pinfo->mode == l_node) || (pinfo->mode == l_clust)) return NULL; UNSUPPORTED("bvxb92ntr7lr5208ycn2rmmpa"); // if (pinfo->mode == l_graph) UNSUPPORTED("790j7xshzs2a26qdpizm1dor3"); // return polyRects (ng, bbs, pinfo); UNSUPPORTED("15zpqbwzhvrw6k4i293i6qm4o"); // else if (pinfo->mode == l_array) UNSUPPORTED("defqlfr5ltykxr36gzynktwnd"); // return arrayRects (ng, bbs, pinfo); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("11hwqop4xebvtcskop4uhpp01"); // return NULL; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1snngl11fvf8fd7gvroyic9u6 // int packRects(int ng, boxf* bbs, pack_info* pinfo) public static Object packRects(Object... arg) { UNSUPPORTED("7zkpme13g8rxxwloxvpvvnbcw"); // int UNSUPPORTED("byuhbycc8aq8qmlje1kkikzes"); // packRects(int ng, boxf* bbs, pack_info* pinfo) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("ca6brvq3h4u316zi41fa1e7nl"); // point *pp; UNSUPPORTED("2lzsl1e035wt5epd1h8f4bn8m"); // boxf bb; UNSUPPORTED("41nrdsugvfgw23s93g0dhizkn"); // point p; UNSUPPORTED("4rnqckqjseeaveduaeddk5kly"); // if (ng < 0) return -1; UNSUPPORTED("62vqifnah2fjfuxwj69bq3p1z"); // if (ng <= 1) return 0; UNSUPPORTED("e86z2a3ujrvoqxb1e6rn7l4xh"); // pp = putRects(ng, bbs, pinfo); UNSUPPORTED("5e2m9zqmerz2m76uyivjvvjnz"); // if (!pp) UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("1hemhly8ts9l7caj22as9b5nv"); // for (i = 0; i < ng; i++) { UNSUPPORTED("cpgjovg5bttmcqygaaobc3a6l"); // bb = bbs[i]; UNSUPPORTED("4v8yuwm5xgienbqxhd69pz5cc"); // p = pp[i]; UNSUPPORTED("f3utitevgnfhjuotaq73baii9"); // bb.LL.x += p.x; UNSUPPORTED("31znkfxiz3wa3ebxopvejt2eu"); // bb.UR.x += p.x; UNSUPPORTED("c3ak9fudqw0ye4ls2y61ajfta"); // bb.LL.y += p.y; UNSUPPORTED("djl8lmebqjuxhormrrnxryg2d"); // bb.UR.y += p.y; UNSUPPORTED("ds6wyt4f0tketopteichqayg0"); // bbs[i] = bb; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7vph3omiu71ktck9w3uvcdp6q"); // free(pp); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eyiqyefdjlfh0t51u26x2zh5x // static void shiftEdge(Agedge_t * e, int dx, int dy) public static Object shiftEdge(Object... arg) { UNSUPPORTED("9u5vr04c98yfoctnamlbuc2ag"); // static void shiftEdge(Agedge_t * e, int dx, int dy) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9e6bnowy6jfhnib5uev3scpsu"); // int j, k; UNSUPPORTED("37thdceezsvepe7tlyfatrbcw"); // bezier bz; UNSUPPORTED("88hfgnjbnnlyh1vmms1kwsrod"); // if (ED_label(e)) UNSUPPORTED("4ktdw0hk8c5lnprxiqxxp8kpf"); // ((ED_label(e)->pos).x += dx, (ED_label(e)->pos).y += dy); UNSUPPORTED("37decwf4jqk863lp048x1gcwk"); // if (ED_xlabel(e)) UNSUPPORTED("8xzkzyz7cb3te6mkfkt3zlvvv"); // ((ED_xlabel(e)->pos).x += dx, (ED_xlabel(e)->pos).y += dy); UNSUPPORTED("dc4h855lfazgpazdd3bsd3dle"); // if (ED_head_label(e)) UNSUPPORTED("ekvchodhl5temnce8je23xtng"); // ((ED_head_label(e)->pos).x += dx, (ED_head_label(e)->pos).y += dy); UNSUPPORTED("2nan67aki9dkzb14alqq58pk6"); // if (ED_tail_label(e)) UNSUPPORTED("4humrtjlk95veottt9p8slpt3"); // ((ED_tail_label(e)->pos).x += dx, (ED_tail_label(e)->pos).y += dy); UNSUPPORTED("tt8piuiel7igl12irv6488jd"); // if (ED_spl(e) == NULL) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("e9vow5lzqvgcxabgjj99yokjr"); // for (j = 0; j < ED_spl(e)->size; j++) { UNSUPPORTED("8ni4zfvf78h93ucjuoqtuomjh"); // bz = ED_spl(e)->list[j]; UNSUPPORTED("7h0wreqeq69tmfuymjgf6y30p"); // for (k = 0; k < bz.size; k++) UNSUPPORTED("8p04wyfp1epw24aj3ooutcm9f"); // ((bz.list[k]).x += dx, (bz.list[k]).y += dy); UNSUPPORTED("9u19ic8wst5bdydvzocx725dd"); // if (bz.sflag) UNSUPPORTED("7drx2tftwhcon6o1unse2w8rs"); // ((ED_spl(e)->list[j].sp).x += dx, (ED_spl(e)->list[j].sp).y += dy); UNSUPPORTED("3ps9lzlxh4tqc8zn14yrvcl4n"); // if (bz.eflag) UNSUPPORTED("did8o6w576i3j4f1c8nqnwjpl"); // ((ED_spl(e)->list[j].ep).x += dx, (ED_spl(e)->list[j].ep).y += dy); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7xx1rik6wio4uaxsnuw7osy3u // static void shiftGraph(Agraph_t * g, int dx, int dy) public static Object shiftGraph(Object... arg) { UNSUPPORTED("3rx9mi6118cqiy2pcuxsl4mgc"); // static void shiftGraph(Agraph_t * g, int dx, int dy) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8uujemixuhlf040icq3zsh7j8"); // graph_t *subg; UNSUPPORTED("2eiur8hkm8tcazpq12w4ikbqo"); // boxf bb = GD_bb(g); UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("3pb1rp6yt77fdctds9bv6t2q4"); // bb = GD_bb(g); UNSUPPORTED("8apkqrqdqqydv62uo6t2kih65"); // bb.LL.x += dx; UNSUPPORTED("cxx7s1j7oanjj7qcgww51qzv"); // bb.UR.x += dx; UNSUPPORTED("8i5b905t9fyewlfs3ptj5ts9i"); // bb.LL.y += dy; UNSUPPORTED("bat733mf4if1fc1cc75wf3vdh"); // bb.UR.y += dy; UNSUPPORTED("8pjanfm12ixxbeb7k86g3z5p4"); // GD_bb(g) = bb; UNSUPPORTED("aplr7sm051i57jygcfj6gigoh"); // if (GD_label(g)) UNSUPPORTED("3y0fbtz3yao1jomzv4uolrp00"); // ((GD_label(g)->pos).x += dx, (GD_label(g)->pos).y += dy); UNSUPPORTED("7naa6f8pevjidfr7m41eli6xj"); // for (i = 1; i <= GD_n_cluster(g); i++) { UNSUPPORTED("cpbcovu6u9jpbhniuwko58sge"); // subg = GD_clust(g)[i]; UNSUPPORTED("2gsxiux9jv0jpf915foz63dgv"); // shiftGraph(subg, dx, dy); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e3319d41y02srtfpto31q37ty // int shiftGraphs(int ng, Agraph_t ** gs, point * pp, Agraph_t * root, int doSplines) public static Object shiftGraphs(Object... arg) { UNSUPPORTED("etrjsq5w49uo9jq5pzifohkqw"); // int UNSUPPORTED("e3b6ggtg7s8nlv7sbaoirghbw"); // shiftGraphs(int ng, Agraph_t ** gs, point * pp, Agraph_t * root, UNSUPPORTED("9noyex54k0macq3k16r5ym7m7"); // int doSplines) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("bftz89757hgmx7ivuna8lc4z6"); // int dx, dy; UNSUPPORTED("52jqyu9tdwfx6u9l7492mdvxw"); // double fx, fy; UNSUPPORTED("41nrdsugvfgw23s93g0dhizkn"); // point p; UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("4fddvn6emf9gppkxys6y69el2"); // Agraph_t *eg; UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("3mtqlb2sgomhp5qec8wdsugsi"); // if (ng <= 0) UNSUPPORTED("bof722m66fo2c6qrziuzp1qrb"); // return abs(ng); UNSUPPORTED("7zun8aoc3cgzj5s89wluw8xq4"); // for (i = 0; i < ng; i++) { UNSUPPORTED("1o35elvmsbg14ylv3li4k555e"); // g = gs[i]; UNSUPPORTED("651v5s5braiusljmonry4n2gv"); // if (root) UNSUPPORTED("64a6av0hcmo7owy9zqh1m0rf2"); // eg = root; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("9w2sfnbzooomlt0cy7lv4r651"); // eg = g; UNSUPPORTED("4v8yuwm5xgienbqxhd69pz5cc"); // p = pp[i]; UNSUPPORTED("ap6rzh2gz0cyv006wzje9vm64"); // dx = p.x; UNSUPPORTED("ecigmad6hz1aki283absmrv4k"); // dy = p.y; UNSUPPORTED("crjm7321nijj633qm2os1rffv"); // fx = ((dx)/(double)72); UNSUPPORTED("9fof84axpoehtz8vm7e591gug"); // fy = ((dy)/(double)72); UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("emng3ci5q7cb4o56sokohkzxg"); // ND_pos(n)[0] += fx; UNSUPPORTED("7hccr00zs6a1djjd96lnn6aka"); // ND_pos(n)[1] += fy; UNSUPPORTED("9p2dkqvsj8qbvhoe67ls2u17p"); // ((ND_coord(n)).x += dx, (ND_coord(n)).y += dy); UNSUPPORTED("9i39rsg8gc22jjd87bzbvdziv"); // if (ND_xlabel(n)) { UNSUPPORTED("9hx48w0r43gelhjavye29okfv"); // ((ND_xlabel(n)->pos).x += dx, (ND_xlabel(n)->pos).y += dy); UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("3dcleparqyzm2ewv674fws8u9"); // if (doSplines) { UNSUPPORTED("8menlqwqcb9c7ireb6sa8qo21"); // for (e = agfstout(eg, n); e; e = agnxtout(eg, e)) UNSUPPORTED("l0qmhpy5cagstbj5hrkzk8rr"); // shiftEdge(e, dx, dy); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("bk9jkveibpb3mrdqpv4po37sy"); // shiftGraph(g, dx, dy); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9db5t8nm89djo9ln21gm3yf8u // int packGraphs(int ng, Agraph_t ** gs, Agraph_t * root, pack_info * info) public static Object packGraphs(Object... arg) { UNSUPPORTED("56vi2bsj4me6of6ownlhvsvwz"); // int packGraphs(int ng, Agraph_t ** gs, Agraph_t * root, pack_info * info) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7p7i4cv4qt10ow22vl9znw72j"); // int ret; UNSUPPORTED("56ocwkz3s6lgpumk8xidlqcc7"); // point *pp = putGraphs(ng, gs, root, info); UNSUPPORTED("5e2m9zqmerz2m76uyivjvvjnz"); // if (!pp) UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("7qo1holf96smktjgs8l0gibpj"); // ret = shiftGraphs(ng, gs, pp, root, info->doSplines); UNSUPPORTED("7vph3omiu71ktck9w3uvcdp6q"); // free(pp); UNSUPPORTED("f3b7mj138albdr4lodyomke0z"); // return ret; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eeedpohq9tu61htldhskjnrqo // int packSubgraphs(int ng, Agraph_t ** gs, Agraph_t * root, pack_info * info) public static Object packSubgraphs(Object... arg) { UNSUPPORTED("etrjsq5w49uo9jq5pzifohkqw"); // int UNSUPPORTED("cu03rkfa1tn2levktk9f0kn72"); // packSubgraphs(int ng, Agraph_t ** gs, Agraph_t * root, pack_info * info) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7p7i4cv4qt10ow22vl9znw72j"); // int ret; UNSUPPORTED("60qkq3hoxtw8jjw7osm6gbvh9"); // ret = packGraphs(ng, gs, root, info); UNSUPPORTED("4uiunytnyi2vmlytj49547oen"); // if (ret == 0) { UNSUPPORTED("cb6qes2nvjr9djerw1rcq8w3j"); // int i, j; UNSUPPORTED("58vfsgm37n0q8bcfczvgvut8m"); // boxf bb; UNSUPPORTED("ak2n425v85g82xo9282myas7y"); // graph_t* g; UNSUPPORTED("6rvedme286x3a6z4sema6be33"); // compute_bb(root); UNSUPPORTED("b6i8aku7mgq1oktewocn2b8au"); // bb = GD_bb(root); UNSUPPORTED("3e0deh4u5tol3atbp956xif23"); // for (i = 0; i < ng; i++) { UNSUPPORTED("8awv02csdisyrr0puo3g7x7zo"); // g = gs[i]; UNSUPPORTED("3pxtqjoekga8rbxndmr9eyk8t"); // for (j = 1; j <= GD_n_cluster(g); j++) { UNSUPPORTED("15cmvttn1yf4brhtxlki7jqff"); // EXPANDBB(bb,GD_bb(GD_clust(g)[j])); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("e9bwlicnysgjem9pm2owophm3"); // GD_bb(root) = bb; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("f3b7mj138albdr4lodyomke0z"); // return ret; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8rfd6spe19v1327cufpqvnqec // int pack_graph(int ng, Agraph_t** gs, Agraph_t* root, boolean* fixed) public static Object pack_graph(Object... arg) { UNSUPPORTED("7zkpme13g8rxxwloxvpvvnbcw"); // int UNSUPPORTED("dgtmyy97t6j1t4kpcjat3nnl1"); // pack_graph(int ng, Agraph_t** gs, Agraph_t* root, boolean* fixed) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7p7i4cv4qt10ow22vl9znw72j"); // int ret; UNSUPPORTED("1uqyueaw3113nhl88qcfu7bzu"); // pack_info info; UNSUPPORTED("9pq8hgklb5oc6tdvk45bgja03"); // getPackInfo(root, l_graph, 8, &info); UNSUPPORTED("32h39ruk7pnxsjjwa8ptjg8re"); // info.doSplines = 1; UNSUPPORTED("1my115b5f8fzfk0oafnabmxfj"); // info.fixed = fixed; UNSUPPORTED("2bhwyiicw1zcnic4vjothzze3"); // ret = packSubgraphs(ng, gs, root, &info); UNSUPPORTED("5nd36gtfbsaee4fp6jvef26g8"); // if (ret == 0) dotneato_postprocess (root); UNSUPPORTED("f3b7mj138albdr4lodyomke0z"); // return ret; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5u1pdxxmfiu2hry342a4x7kh6 // static char* chkFlags (char* p, pack_info* pinfo) public static Object chkFlags(Object... arg) { UNSUPPORTED("1yranxmu2maol02ulzd1ka1re"); // static char* UNSUPPORTED("8hwjd3nd6s2uo8zndhppm3kvo"); // chkFlags (char* p, pack_info* pinfo) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b95pirj2cs9mytcz8lfgdzg8w"); // int c, more; UNSUPPORTED("2uon126vetx4frre9rfj5kwo3"); // if (*p != '_') return p; UNSUPPORTED("cdsfbjd0c8345i6xay73clz7w"); // p++; UNSUPPORTED("6ecxobdci26ildbdmnvdlxcaq"); // more = 1; UNSUPPORTED("69yg68y6v9aac3lfm1ph27y4p"); // while (more && (c = *p)) { UNSUPPORTED("7rk995hpmaqbbasmi40mqg0yw"); // switch (c) { UNSUPPORTED("7uv0u7m8t8vyjwy3v82ow51w3"); // case 'c' : UNSUPPORTED("zpuzt82wipz2nkqsosee5ak2"); // pinfo->flags |= (1 << 0); UNSUPPORTED("847zwwso12sey42b59zepembc"); // p++; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("dcwafq80cu9cfgjlh6mde3jl5"); // case 'i' : UNSUPPORTED("93wkkv5r9w97t1opi2g578qdx"); // pinfo->flags |= (1 << 6); UNSUPPORTED("847zwwso12sey42b59zepembc"); // p++; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("8ef3noocjg099b2wm2at9fcfm"); // case 'u' : UNSUPPORTED("5fat3lcknhnoy1piblquof76n"); // pinfo->flags |= (1 << 1); UNSUPPORTED("847zwwso12sey42b59zepembc"); // p++; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("4gib6kzlsyq6li9hy7twvu1z2"); // case 't' : UNSUPPORTED("3fkvofx77siau3tckaayyty9i"); // pinfo->flags |= (1 << 4); UNSUPPORTED("847zwwso12sey42b59zepembc"); // p++; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("f2k4zkd8o9triyu1ym1kmlyq3"); // case 'b' : UNSUPPORTED("bexhnqh3hnmo2exnreo65qrn9"); // pinfo->flags |= (1 << 5); UNSUPPORTED("847zwwso12sey42b59zepembc"); // p++; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("3gnomrm4ne7tv5zoleucfclel"); // case 'l' : UNSUPPORTED("50e0nwuj7xqbdvos1msb37ily"); // pinfo->flags |= (1 << 2); UNSUPPORTED("847zwwso12sey42b59zepembc"); // p++; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("aba8jswwne2ykziks3sfo201b"); // case 'r' : UNSUPPORTED("izuljhdmym8vluo87hpk7kq8"); // pinfo->flags |= (1 << 3); UNSUPPORTED("847zwwso12sey42b59zepembc"); // p++; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("5ujjs4gho9mjjupbibyqyplxp"); // default : UNSUPPORTED("ak3tvcq0zczj4iaz1osxh5ruq"); // more = 0; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("91xduilalb406jjyw2g1i07th"); // return p; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 f2iaacl82y04a7oguahy9oo6 // static char* mode2Str (pack_mode m) public static Object mode2Str(Object... arg) { UNSUPPORTED("1yranxmu2maol02ulzd1ka1re"); // static char* UNSUPPORTED("cbahd10pirq1ryicw6cbj8454"); // mode2Str (pack_mode m) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8yytudftst76763qgnjebkzhm"); // char *s; UNSUPPORTED("c4zsjnmgv48k6r8sbrvwztb6n"); // switch (m) { UNSUPPORTED("57a9puw02tf6kffzzki2yiejt"); // case l_clust: UNSUPPORTED("eriuzmc5hmkj22dwkc1jyxn0f"); // s = "cluster"; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("9dmynvx8joldqskjnpn5m77ze"); // case l_node: UNSUPPORTED("dm3a6gn1co2hl85txdr7kc7ux"); // s = "node"; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dpfo62efj4ibm7vn73t9zwpcv"); // case l_graph: UNSUPPORTED("1leprh5ff6gk2iz2teqzgpmz9"); // s = "graph"; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("9qrcli4a5yhl31kzvzyvb5iho"); // case l_array: UNSUPPORTED("a8mkbpe7uwb8dmzrlu3hutdsm"); // s = "array"; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8xvt26fzpofcs0qvk5cpwuynx"); // case l_aspect: UNSUPPORTED("15jl19ngssxkg73ykfeez8dpd"); // s = "aspect"; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("1jswhiu2nci8p4mklivv8912o"); // case l_undef: UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("aufikv57oho66mjvuxi8sjjes"); // s = "undefined"; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3y6wj3ntgmr1qkdpm7wp1dsch"); // return s; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dyb1n3lhbi0wnr9kvmu6onux9 // pack_mode parsePackModeInfo(char* p, pack_mode dflt, pack_info* pinfo) public static int parsePackModeInfo(CString p, int dflt, ST_pack_info pinfo) { ENTERING("dyb1n3lhbi0wnr9kvmu6onux9","parsePackModeInfo"); try { float v; int i; //assert (pinfo); pinfo.setInt("flags", 0); pinfo.setInt("mode", dflt); pinfo.setInt("sz", 0); pinfo.setPtr("vals", null); if (p!=null && p.charAt(0)!='\0') { UNSUPPORTED("2ybrtqq8efxouph8wjbrnowxz"); // switch (*p) { UNSUPPORTED("2v5u3irq50r1n2ccuna0y09lk"); // case 'a': UNSUPPORTED("4o68zbwd6291pxryyntjh2432"); // if ((!strncmp(p,"array",(sizeof("array")/sizeof(char) - 1)))) { UNSUPPORTED("3cxht114gc0fn4wl8xjy515bv"); // pinfo->mode = l_array; UNSUPPORTED("edkaa80od81ojkn7d4h0q1zbu"); // p += (sizeof("array")/sizeof(char) - 1); UNSUPPORTED("106zhcf9a6frvafctbbgrbws3"); // p = chkFlags (p, pinfo); UNSUPPORTED("epac8gmlq3r1q3g6lh3fb9nzh"); // if ((sscanf (p, "%d", &i)>0) && (i > 0)) UNSUPPORTED("2e563kaxakuuou2t5kqvv33w5"); // pinfo->sz = i; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("38dve3snq2grkwui6y1tpc6r1"); // else if ((!strncmp(p,"aspect",(sizeof("aspect")/sizeof(char) - 1)))) { UNSUPPORTED("ems4wqj0nbd0vi3sttf36tnir"); // pinfo->mode = l_aspect; UNSUPPORTED("3ckdfsy55ba8os2xhymh002al"); // if ((sscanf (p + (sizeof("array")/sizeof(char) - 1), "%f", &v)>0) && (v > 0)) UNSUPPORTED("1i6xlg2sfqvjqjdu811xm5398"); // pinfo->aspect = v; UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("b3tzhasiwa1p83l47nhl6k5x8"); // pinfo->aspect = 1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("f3lyz2cejs6yn5fyckhn7ba1"); // case 'c': UNSUPPORTED("d6yjom2gtqleeq1vf5l72eazl"); // if ((*(p)==*("cluster")&&!strcmp(p,"cluster"))) UNSUPPORTED("2xe2y3s32q27l74dshw3831hu"); // pinfo->mode = l_clust; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("e00kor2k58i044hvvxytt9dhg"); // case 'g': UNSUPPORTED("8vzhimdinzz48u15tcx34gzgs"); // if ((*(p)==*("graph")&&!strcmp(p,"graph"))) UNSUPPORTED("coafx7pn3ah1ulp0o7a0z119r"); // pinfo->mode = l_graph; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("f187wptsr73liavtlyoyfovp3"); // case 'n': UNSUPPORTED("aqi1ed010xc3cj8xoye8vqkqe"); // if ((*(p)==*("node")&&!strcmp(p,"node"))) UNSUPPORTED("epewq8yin5pr1meeofxvntjes"); // pinfo->mode = l_node; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } } //if (Verbose) { //fprintf (stderr, "pack info:\n"); //fprintf (stderr, " mode %s\n", mode2Str(pinfo->mode)); //if (pinfo->mode == l_aspect) // fprintf (stderr, " aspect %f\n", pinfo->aspect); //fprintf (stderr, " size %d\n", pinfo->sz); //fprintf (stderr, " flags %d\n", pinfo->flags); //} return pinfo.mode; } finally { LEAVING("dyb1n3lhbi0wnr9kvmu6onux9","parsePackModeInfo"); } } //3 bnxqpsmvz6tyekstfjte4pzwj // pack_mode getPackModeInfo(Agraph_t * g, pack_mode dflt, pack_info* pinfo) public static int getPackModeInfo(ST_Agraph_s g, int dflt, ST_pack_info pinfo) { ENTERING("bnxqpsmvz6tyekstfjte4pzwj","getPackModeInfo"); try { return parsePackModeInfo (agget(g, new CString("packmode")), dflt, pinfo); } finally { LEAVING("bnxqpsmvz6tyekstfjte4pzwj","getPackModeInfo"); } } //3 7drbmsd08zij375icggr3egvy // pack_mode getPackMode(Agraph_t * g, pack_mode dflt) public static Object getPackMode(Object... arg) { UNSUPPORTED("c1prvosj3g3y8yq8z6btufyr1"); // pack_mode UNSUPPORTED("acjweauaygv7o5gppq7c33mp7"); // getPackMode(Agraph_t * g, pack_mode dflt) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0d79ghjhm6kl6qz811tqj0ip"); // pack_info info; UNSUPPORTED("3abevvtclwlzp8dcg3zhzsnll"); // return getPackModeInfo (g, dflt, &info); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ata97fmix5q1oikrmk5pezvrf // int getPack(Agraph_t * g, int not_def, int dflt) public static int getPack(ST_Agraph_s g, int not_def, int dflt) { ENTERING("ata97fmix5q1oikrmk5pezvrf","getPack"); try { CString p; int i; int v = not_def; if ((p = agget(g, new CString("pack")))!=null) { UNSUPPORTED("enpqar7c7okvibe7xhe0vjtfn"); // if ((sscanf(p, "%d", &i) == 1) && (i >= 0)) UNSUPPORTED("3puzxwczcmpxvlw8cvmeyio74"); // v = i; UNSUPPORTED("65w8fxtw319slbg2c6nvtmow8"); // else if ((*p == 't') || (*p == 'T')) UNSUPPORTED("5lifdir9mxnvpi8ur34qo0jej"); // v = dflt; } return v; } finally { LEAVING("ata97fmix5q1oikrmk5pezvrf","getPack"); } } //3 ce4a70w8ddkj4l9efi74h61s6 // pack_mode getPackInfo(Agraph_t * g, pack_mode dflt, int dfltMargin, pack_info* pinfo) public static int getPackInfo(ST_Agraph_s g, int dflt, int dfltMargin, ST_pack_info pinfo) { ENTERING("ce4a70w8ddkj4l9efi74h61s6","getPackInfo"); try { //assert (pinfo); pinfo.setInt("margin", getPack(g, dfltMargin, dfltMargin)); //if (Verbose) { //fprintf (stderr, " margin %d\n", pinfo->margin); //} pinfo.setInt("doSplines", 0); pinfo.setInt("fixed", 0); getPackModeInfo(g, dflt, pinfo); return pinfo.mode; } finally { LEAVING("ce4a70w8ddkj4l9efi74h61s6","getPackInfo"); } } } plantuml-1.2018.13+ds/src/gen/lib/pack/ptest__c.java000066400000000000000000001274331340005343600217640ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.pack; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class ptest__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 nye6dsi1twkbddwo9iffca1j // extern char *Version //1 65mu6k7h7lb7bx14jpiw7iyxr // extern char **Files //1 2rpjdzsdyrvomf00zcs3u3dyn // extern const char **Lib //1 6d2f111lntd2rsdt4gswh5909 // extern char *CmdName //1 a0ltq04fpeg83soa05a2fkwb2 // extern char *specificFlags //1 1uv30qeqq2jh6uznlr4dziv0y // extern char *specificItems //1 7i4hkvngxe3x7lmg5h6b3t9g3 // extern char *Gvfilepath //1 9jp96pa73kseya3w6sulxzok6 // extern char *Gvimagepath //1 40ylumfu7mrvawwf4v2asvtwk // extern unsigned char Verbose //1 93st8awjy1z0h07n28qycbaka // extern unsigned char Reduce //1 f2vs67ts992erf8onwfglurzp // extern int MemTest //1 c6f8whijgjwwagjigmxlwz3gb // extern char *HTTPServerEnVar //1 cp4hzj7p87m7arw776d3bt7aj // extern char *Output_file_name //1 a3rqagofsgraie6mx0krzkgsy // extern int graphviz_errors //1 5up05203r4kxvjn1m4njcgq5x // extern int Nop //1 umig46cco431x14b3kosde2t // extern double PSinputscale //1 52bj6v8fqz39khasobljfukk9 // extern int Syntax_errors //1 9ekf2ina8fsjj6y6i0an6somj // extern int Show_cnt //1 38di5qi3nkxkq65onyvconk3r // extern char** Show_boxes //1 6ri6iu712m8mpc7t2670etpcw // extern int CL_type //1 bomxiw3gy0cgd1ydqtek7fpxr // extern unsigned char Concentrate //1 cqy3gqgcq8empdrbnrhn84058 // extern double Epsilon //1 64slegfoouqeg0rmbyjrm8wgr // extern int MaxIter //1 88wdinpnmfs4mab4aw62yb0bg // extern int Ndim //1 8bbad3ogcelqnnvo5br5s05gq // extern int State //1 17rnd8q45zclfn68qqst2vxxn // extern int EdgeLabelsDone //1 ymx1z4s8cznjifl2d9f9m8jr // extern double Initial_dist //1 a33bgl0c3uqb3trx419qulj1x // extern double Damping //1 d9lvrpjg1r0ojv40pod1xwk8n // extern int Y_invert //1 71efkfs77q5tq9ex6y0f4kanh // extern int GvExitOnUsage //1 4xy2dkdkv0acs2ue9eca8hh2e // extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin //1 9js5gxgzr74eakgtfhnbws3t9 // extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle //1 anqllp9sj7wo45w6bm11j8trn // extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth //1 bh0z9puipqw7gymjd5h5b8s6i // extern struct fdpParms_s* fdp_parms //3 ciez0pfggxdljedzsbklq49f0 // static inline point pointof(int x, int y) public static Object pointof(Object... arg) { UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1s4k85p1cdfn176o3uryeros // static inline pointf pointfof(double x, double y) public static ST_pointf pointfof(double x, double y) { // WARNING!! STRUCT return pointfof_w_(x, y).copy(); } private static ST_pointf pointfof_w_(double x, double y) { ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", x); r.setDouble("y", y); return r; } finally { LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); } } //3 7cufnfitrh935ew093mw0i4b7 // static inline box boxof(int llx, int lly, int urx, int ury) public static Object boxof(Object... arg) { UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1n5xl70wxuabyf97mclvilsm6 // static inline point add_point(point p, point q) public static Object add_point(Object... arg) { UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 arrsbik9b5tnfcbzsm8gr2chx // static inline pointf add_pointf(pointf p, pointf q) public static ST_pointf add_pointf(final ST_pointf p, final ST_pointf q) { // WARNING!! STRUCT return add_pointf_w_(p.copy(), q.copy()).copy(); } private static ST_pointf add_pointf_w_(final ST_pointf p, final ST_pointf q) { ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); try { final ST_pointf r = new ST_pointf(); r.setDouble("x", p.x + q.x); r.setDouble("y", p.y + q.y); return r; } finally { LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); } } //3 ai2dprak5y6obdsflguh5qbd7 // static inline point sub_point(point p, point q) public static Object sub_point(Object... arg) { UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 16f6pyogcv3j7n2p0n8giqqgh // static inline pointf sub_pointf(pointf p, pointf q) public static Object sub_pointf(Object... arg) { UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k50jgrhc4f9824vf8ony74rw // static inline point mid_point(point p, point q) public static Object mid_point(Object... arg) { UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 59c4f7im0ftyowhnzzq2v9o1x // static inline pointf mid_pointf(pointf p, pointf q) public static Object mid_pointf(Object... arg) { UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5r18p38gisvcx3zsvbb9saixx // static inline pointf interpolate_pointf(double t, pointf p, pointf q) public static Object interpolate_pointf(Object... arg) { UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bxzrv2ghq04qk5cbyy68s4mol // static inline point exch_xy(point p) public static Object exch_xy(Object... arg) { UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9lt3e03tac6h6sydljrcws8fd // static inline pointf exch_xyf(pointf p) public static Object exch_xyf(Object... arg) { UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8l9qhieokthntzdorlu5zn29b // static inline box box_bb(box b0, box b1) public static Object box_bb(Object... arg) { UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 clws9h3bbjm0lw3hexf8nl4c4 // static inline boxf boxf_bb(boxf b0, boxf b1) public static Object boxf_bb(Object... arg) { UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bit6ycxo1iqd2al92y8gkzlvb // static inline box box_intersect(box b0, box b1) public static Object box_intersect(Object... arg) { UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8gfybie7k6pgb3o1a6llgpwng // static inline boxf boxf_intersect(boxf b0, boxf b1) public static Object boxf_intersect(Object... arg) { UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7z8j2quq65govaaejrz7b4cvb // static inline int box_overlap(box b0, box b1) public static Object box_overlap(Object... arg) { UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z0suuut2acsay5m8mg9dqjdu // static inline int boxf_overlap(boxf b0, boxf b1) public static Object boxf_overlap(Object... arg) { UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dd34swz5rmdgu3a2np2a4h1dy // static inline int box_contains(box b0, box b1) public static Object box_contains(Object... arg) { UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8laj1bspbu2i1cjd9upr7xt32 // static inline int boxf_contains(boxf b0, boxf b1) public static Object boxf_contains(Object... arg) { UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4wf5swkz24xx51ja2dynbycu1 // static inline pointf perp (pointf p) public static Object perp(Object... arg) { UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6dtlpzv4mvgzb9o0b252yweuv // static inline pointf scale (double c, pointf p) public static Object scale(Object... arg) { UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 exy2l03ceq9zw4vf01bbd4d3o // typedef unsigned int packval_t //1 8amxw444izqh4g66lhdxcci9r // char *Info[] = //1 1eqfoyx6n6i882swvudliohy7 // static int margin = 8 //1 5bs16xeo79e467x65e7bkq7kf // static int doEdges = 1 //1 24uzz7vpu4g7xsx0sh5tuemke // static int doComps = 0 //1 dhz067fzogh2sp5htzam45al3 // static int verbose = 0 //1 57m3hjduqaawz7lzqgpsrik9c // static char **Files = 0 //1 bwphlvhhlnqsf4xzzsagjay2 // static int nFiles = 0 //1 a4ojujd209l93x23jer8omiep // static int single = 0 //1 hys4o67qq0qkc7kbehvo7lhb // static char *useString = //3 73e82wwqdxeij8zonccymd6kz // static void usage(int v) public static Object usage(Object... arg) { UNSUPPORTED("94mouoc9v3rqowaduimbdrlsg"); // static void usage(int v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dezf59tqaazw376bwzeh0lnk"); // printf(useString); UNSUPPORTED("awsu87poqc0o7ac0x3zri08x2"); // exit(v); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 efl73lc0qt3y2dwkp2bq3qs7q // static void init(int argc, char *argv[]) public static Object init(Object... arg) { UNSUPPORTED("bgxu2kkx7u9qfq81tb3oefdcs"); // static void init(int argc, char *argv[]) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("53xzwretgdbd0atozc0w6hagb"); // int c; UNSUPPORTED("4qgmh8k7p00n85stclc5uyuv1"); // aginit(); UNSUPPORTED("1niqqfd7us06n0wzaiiz3u5xg"); // while ((c = getopt(argc, argv, ":escvm:?")) != -1) { UNSUPPORTED("7rk995hpmaqbbasmi40mqg0yw"); // switch (c) { UNSUPPORTED("2fzjr952o6hmcz3ad5arl2n8d"); // case 'e': UNSUPPORTED("612z1fkxvsn3pr6uz8smtwwg6"); // doEdges = 0; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("f3lyz2cejs6yn5fyckhn7ba1"); // case 'c': UNSUPPORTED("coi2qrxdv2l71tb75401s90cn"); // doComps = 1; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("953l7gyh3b52lc5n9fbhtxhbg"); // case 'm': UNSUPPORTED("agwyr30ptmkberfxzlr2qb4sm"); // margin = atoi(optarg); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("b4quboi30n0afnbpgm9chdttx"); // case 's': UNSUPPORTED("a2kcyv0orvfio4god7x1ra1gc"); // single = 1; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("318vlfmcdz9no6i45k86aygon"); // case 'v': UNSUPPORTED("52jus61ki82kyvoho03bg8yu8"); // verbose = 1; UNSUPPORTED("z08wni1aiuv5b8ommxtq10kj"); // Verbose = 1; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("d0u2ka51n27um0avxdj14adrh"); // case '?': UNSUPPORTED("6ongvn9s4rb5sz2f3jrzfcj0m"); // if (optopt == '?') UNSUPPORTED("46bu3s4vi4qapnhhl79s89q2f"); // usage(0); UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("18zn34qcs4vsdhhh831gn9vc9"); // fprintf(stderr, UNSUPPORTED("cqx5xtn6ibatrlhvobfqyy4sj"); // "ptest: option -%c unrecognized - ignored\n", c); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bza5bo54n74fk73l7h2zw3sn2"); // argv += optind; UNSUPPORTED("2z9v9pfcshjw42gkhviv8qmf8"); // argc -= optind; UNSUPPORTED("euz202o13jvson684m35br400"); // if (argc) { UNSUPPORTED("a6hax0v25w382s8uhktk1z3ac"); // Files = argv; UNSUPPORTED("9j2gbktfok4tc5txw0oj203eb"); // nFiles = argc; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6ow5r7ch1so5cayfbyf9crc5p // static int numFields(char *pos) public static Object numFields(Object... arg) { UNSUPPORTED("29ky16cycv6cs96zmpduu1bsp"); // static int numFields(char *pos) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("behjm5bjsenezpg3f7cncvteu"); // int cnt = 0; UNSUPPORTED("wrvu9u7a8j6i6y6552zncxfk"); // char c; UNSUPPORTED("1b9np136i2dme8ejhydy0dhlv"); // while (isspace(*pos)) UNSUPPORTED("e30zd4or99122hlq3vt45sef"); // pos++; UNSUPPORTED("7dpyo20wi5esbmcan08qtztz7"); // while (*pos) { UNSUPPORTED("1szm63athnlkprt3pv29pjc6z"); // cnt++; UNSUPPORTED("5piqmvc132ob5y49h6v7bkeof"); // while ((c = *pos) && !isspace(c)) UNSUPPORTED("n5o9yha6va5mqug8xmgxtum9"); // pos++; /* skip token */ UNSUPPORTED("4n3nq7ssq6ovrj330hssbhwz9"); // while (isspace(*pos)) UNSUPPORTED("27349aw1zezm0lpez1jn3pcw4"); // pos++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3zkt5kbq3sockq663o3s3ync7"); // return cnt; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6b85bwuqwmq3ucqcauigm0orn // static point *user_spline(attrsym_t * symptr, edge_t * e, int *np) public static Object user_spline(Object... arg) { UNSUPPORTED("ewvc2qr116wrkxhg4q77v0uqv"); // static point *user_spline(attrsym_t * symptr, edge_t * e, int *np) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bvo2it3yepiz2er9rw3uuk47s"); // char *pos; UNSUPPORTED("7k2ifbl8vz1is0pf2z1t0o2xf"); // int i, n, nc; UNSUPPORTED("a13x213r98q5dm6phmdpj3r2l"); // point *ps = 0; UNSUPPORTED("ca6brvq3h4u316zi41fa1e7nl"); // point *pp; UNSUPPORTED("4g01jt8p980itgxzog49s8ur3"); // double x, y; UNSUPPORTED("5elka0ltgqf61uccerqfkjvvp"); // if (symptr == NULL) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("c21yig5e4hykm28ao7kpzwodl"); // pos = agxget(e, symptr->index); UNSUPPORTED("7i9zryjmvv454i1r57dlez6kk"); // if (*pos == '\0') UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("az1jdxaqsdxumqec6q7ctjrh3"); // n = numFields(pos); UNSUPPORTED("82fimuwp8ur9yxpbd8c89a1wb"); // *np = n; UNSUPPORTED("bvx0cyk5fhwwsm29cbghfhcpj"); // if (n > 1) { UNSUPPORTED("9lfsqwngk625slfuwyukwtdpy"); // ps = ALLOC(n, 0, point); UNSUPPORTED("49hki9cvrilnaez8dm0dbbgoq"); // pp = ps; UNSUPPORTED("4x9kp7oo5ln5zpe2bhy2s9oyc"); // while (n) { UNSUPPORTED("ejpj2kxorfrlsluqdege3h70h"); // i = sscanf(pos, "%lf,%lf%n", &x, &y, &nc); UNSUPPORTED("4mo26m3d7t9gf29k5zgh6d3dp"); // if (i < 2) { UNSUPPORTED("botxh6letfus33f79p4s19719"); // free(ps); UNSUPPORTED("d31bxxiinmdzudo8yt1laapa1"); // ps = 0; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("8cjb49m5i1gwlcbb72l8kieuk"); // pos = pos + nc; UNSUPPORTED("dn8a13edl8j88azhrkizcbwsx"); // pp->x = (int) x; UNSUPPORTED("6qrmrrz624ilc14dax4fzkzy"); // pp->y = (int) y; UNSUPPORTED("4t42c85s64mps71a1sjc7yoey"); // pp++; UNSUPPORTED("704o6677xgknjexhj6bdlst8x"); // n--; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b0dfwpxhogdrp9mwkzc8oa9vt"); // return ps; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5vxza0l0hf6kgjh7hgffhqk1d // static void initPos(Agraph_t * g) public static Object initPos(Object... arg) { UNSUPPORTED("6wuroti5ljub8qdkqwz84bll8"); // static void initPos(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("36vshotvjkc5iodgg7nq6qa2r"); // Agedge_t *e; UNSUPPORTED("evvfote9pox5gpnsuk75gu9zi"); // double *pvec; UNSUPPORTED("aexhdud6z2wbwwi73yppp0ynl"); // char *p; UNSUPPORTED("3w79hfiet3147pb1ehbe0tltw"); // point *sp; UNSUPPORTED("7hps2kejtrotcphg5gymma43b"); // int pn; UNSUPPORTED("6717r3gljnzz5j6x8yd64vxmy"); // attrsym_t *N_pos = (agattr(g,AGNODE,"pos",NULL)); UNSUPPORTED("8s1tvuk5eoddac3tdw3vwm3g6"); // attrsym_t *E_pos = (agattr(g,AGEDGE,"pos",NULL)); UNSUPPORTED("607cie06087nzjkhdxwkh8t5x"); // assert(N_pos); UNSUPPORTED("9pqnws9ww5w3wm6etqvhhmaag"); // if (!E_pos) { UNSUPPORTED("b7m2ei650qyfpw37qbnbselef"); // if (doEdges) UNSUPPORTED("1jx8qc7jakb79udi264irb795"); // fprintf(stderr, "Warning: turning off doEdges, graph %s\n", UNSUPPORTED("52cuafai1d5jpnyygo0jtwp19"); // g->name); UNSUPPORTED("25yxh6xy9gvks3xlk4ay8ana2"); // doEdges = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("2hbtrrffbxr8fodextlckjcte"); // pvec = ND_pos(n); UNSUPPORTED("4mrzu4a737x10k9m629qjvpmx"); // p = agxget(n, N_pos->index); UNSUPPORTED("9fce8t386yx1ohlzh5z3v64uy"); // if (p[0] && (sscanf(p, "%lf,%lf", pvec, pvec + 1) == 2)) { UNSUPPORTED("a8amhiqvlp5s6vz8p4u2amapy"); // int i; UNSUPPORTED("e2k2y77qbvhl4ttkl82r7skpc"); // for (i = 0; i < NDIM; i++) UNSUPPORTED("54fe965wvv1n2dqk9v5lqtfe"); // pvec[i] = pvec[i] / PSinputscale; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("apu2a6fysp0sm0oh3eg9sdx3g"); // fprintf(stderr, "could not find pos for node %s in graph %s\n", UNSUPPORTED("5ii3q9tejxvznaewo80u58jc6"); // n->name, g->name); UNSUPPORTED("6f1y0d5qfp1r9zpw0r7m6xfb4"); // exit(1); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("a7cnx8vpthir8tg7wq0gmkyfp"); // ND_coord_i(n).x = (ROUND((ND_pos(n)[0])*72)); UNSUPPORTED("56q0neer7h6q9r2hlewrmtpac"); // ND_coord_i(n).y = (ROUND((ND_pos(n)[1])*72)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3x2r45g8h3r71u5v8lu9etnq6"); // if (doEdges) { UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("7yvyv13me3s32qvq3gfbyt283"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("cas0s66j5xm7zv7rfmut5t5ua"); // if ((sp = user_spline(E_pos, e, &pn)) != 0) { UNSUPPORTED("b1l3m7l581iaaysgzy59rlnqp"); // clip_and_install(e, sp, pn); UNSUPPORTED("bgz7miqt6x7s9we62suaznam2"); // free(sp); UNSUPPORTED("a47jqpic91ky93e1ohxv590l5"); // } else { UNSUPPORTED("4gzgwztxcj3c7qtlt3xuwnsq1"); // fprintf(stderr, UNSUPPORTED("2mti2jcwd7nic33dut8daaxli"); // "Missing edge pos for edge %s - %s in graph %s\n", UNSUPPORTED("7tw8ugnhfmrhmd69kh0nfu7p2"); // n->name, e->head->name, g->name); UNSUPPORTED("btkmdyvgs2b3io3tacfuo3ht6"); // exit(1); UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e5z9zrazoioj4tcqyaohcup5l // static void ptest_nodesize(node_t * n, boolean flip) public static Object ptest_nodesize(Object... arg) { UNSUPPORTED("a6fr7g8doj4m1has0v8m3gn0v"); // static void ptest_nodesize(node_t * n, boolean flip) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dgezc9nq6515gryb5aoradhlj"); // int w; UNSUPPORTED("hcl98itasit8bk43t1a7dksx"); // w = ND_xsize(n) = (ROUND((ND_width(n))*72)); UNSUPPORTED("clr7qgpaln5v1e8sa81vefxgx"); // ND_lw(n) = ND_rw(n) = w / 2; UNSUPPORTED("dxe3mk5x98xnzhulw934sin35"); // ND_ht(n) = ND_ysize(n) = (ROUND((ND_height(n))*72)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5z906z4eqvn94qwep17t9ecfv // static void ptest_initNode(node_t * n) public static Object ptest_initNode(Object... arg) { UNSUPPORTED("74hpo7rawbv1l53gcs8gse89n"); // static void ptest_initNode(node_t * n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("76nok3eiyr33qf4ecv69ujxn6"); // char *str; UNSUPPORTED("4ii64hrv86n2irvf71lpjlait"); // ND_width(n) = UNSUPPORTED("be5qy7slnjp1ltoih3332j4qk"); // late_double(n, N_width, 0.75, 0.01); UNSUPPORTED("9zjn5j4471it4d3vb5wdfuzlh"); // ND_height(n) = UNSUPPORTED("n9gbpj6q00o3ggm4xxil4afm"); // late_double(n, N_height, 0.5, 0.01); UNSUPPORTED("4ia5lmwela2aa00dkga0q3by5"); // if (N_label == NULL) UNSUPPORTED("8jmb1jjt8cpml3yo3nh59pkkq"); // str = "\\N"; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("ania83ea7map6i1xu69ykshav"); // str = agxget(n, N_label->index); UNSUPPORTED("182xxyk6623a24gu3lts9h7i3"); // str = strdup_and_subst(str, "\\N", n->name); UNSUPPORTED("2rx8312iagen4kz1a1be428i2"); // ND_label(n) = make_label(str, UNSUPPORTED("3umbo59bv54mpje1ar1p3emyg"); // late_double(n, N_fontsize, 14.0, UNSUPPORTED("6joc02il1cncp1pwbeqwqd6bv"); // 1.0), late_nnstring(n, UNSUPPORTED("eg23z30i9f0bgdsfxqzjr8cm3"); // N_fontname, UNSUPPORTED("7p3qoqg9tlh094wkumjk0gu1r"); // "Times-Roman"), UNSUPPORTED("27lxhu1i8goyngm5z5ztzc9se"); // late_nnstring(n, N_fontcolor, "black"), UNSUPPORTED("a66nrz185x5w9czfz4hxvddaj"); // n->graph); UNSUPPORTED("cfoyczwylecqlhhb5vmnerwbg"); // ND_shape(n) = bind_shape(late_nnstring(n, N_shape, "ellipse")); UNSUPPORTED("2z4f61h2jydnf1wz262734vda"); // ND_shape(n)->initfn(n); /* ### need to quantize ? */ UNSUPPORTED("56aecvcbqxgl0e67wrub498ix"); // ptest_nodesize(n, n->GD_flip(graph)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5f35etfq3qbirfsag89nr6382 // static void ptest_initGraph(graph_t * g) public static Object ptest_initGraph(Object... arg) { UNSUPPORTED("6byfidommpiiaekcfq26jwzzz"); // static void ptest_initGraph(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("94x0mmuhef4re0y05ngcuytf9"); // /* edge_t *e; */ UNSUPPORTED("16hw9gw0dz2w7mrtba0eoqrdi"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) UNSUPPORTED("aakael964bsjn7l22rgdr13zt"); // ptest_initNode(n); UNSUPPORTED("4v614d3uabme2jyn0anuritbb"); // /* UNSUPPORTED("eh6wqx3d37l7km9kh1gdso2t"); // for (n = agfstnode(g); n; n = agnxtnode(g,n)) { UNSUPPORTED("1suh3w1zdcqasuka9dgx4ukgl"); // for (e = agfstout(g,n); e; e = agnxtout(g,e)) ptest_initEdge(e); UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // } UNSUPPORTED("bnetqzovnscxile7ao44kc0qd"); // */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3y6d5zmybm89vnfzssntfxuga // static void dumpG(graph_t * g) public static Object dumpG(Object... arg) { UNSUPPORTED("80as52jwfpla4s14zbrh506cu"); // static void dumpG(graph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("am98nf596s79mx0jh0eukf2pj"); // /* point p; */ UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("92hx0hzt0genpiycslyy2fphe"); // fprintf(stderr, " node %s \n", n->name); UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("ddikw3m3fhov54kkj3710v3kh"); // fprintf(stderr, " %s - %s \n", e->tail->name, e->head->name); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c6p4imduurlyugmp9lakjsrkx // static void copyPos(Agraph_t * g) public static Object copyPos(Object... arg) { UNSUPPORTED("2bnytjwn7g67uh683868e3xl7"); // static void copyPos(Agraph_t * g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("a7cnx8vpthir8tg7wq0gmkyfp"); // ND_coord_i(n).x = (ROUND((ND_pos(n)[0])*72)); UNSUPPORTED("56q0neer7h6q9r2hlewrmtpac"); // ND_coord_i(n).y = (ROUND((ND_pos(n)[1])*72)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 56nlfv4elbzzbch9wiks1pqti // main(int argc, char *argv[]) public static Object main(Object... arg) { UNSUPPORTED("8wkt709xta3burfudbrvdhsdm"); // main(int argc, char *argv[]) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("75makfli697jao0r0h73ksibj"); // Agraph_t **gs; UNSUPPORTED("8i0oxshyd0x2idt42lftg3zjx"); // Agraph_t **ccs; UNSUPPORTED("1dbyk58q3r4fyfxxo7ovemkpu"); // Agraph_t *g; UNSUPPORTED("3l5bdi04ekui6vvrgr3s666fx"); // Agraph_t *gp; UNSUPPORTED("66jjdcm9x1i8fc2eq9b1z81d4"); // char *fname; UNSUPPORTED("dn2hi0km4q5ldibguffbger1c"); // FILE *fp; UNSUPPORTED("6iv4xusq3ncisurzdtlt8lhe9"); // int cnt; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("44luxtsxnt651zyc4b8x3r6po"); // init(argc, argv); UNSUPPORTED("dmdjgm6j4zsty2ies7uit5831"); // if (!Files) { UNSUPPORTED("4issxf2kepoao7ljc3j3jkos8"); // fprintf(stderr, "No input files given\n"); UNSUPPORTED("dtw3cma0ziyha0w534bszl0tx"); // exit(1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9zj7hq1iiirxb7wx6osfdutah"); // PSinputscale = 72; UNSUPPORTED("2szscn7gy6eg6ghb7zdqj0qwm"); // if (doComps) { UNSUPPORTED("46pn2m7yn4pem434vcfqq1gei"); // if (verbose) UNSUPPORTED("dawpetqdqceyrxbb0n5oi20vg"); // fprintf(stderr, "do Comps\n"); UNSUPPORTED("2zdroao5t5zjp7reldctg2hic"); // while (fname = *Files++) { UNSUPPORTED("c2vs68cvzv11vpc3d0vhgn0o6"); // fp = fopen(fname, "r"); UNSUPPORTED("2de0glisr7me97htqp4v4qe2m"); // if (!fp) { UNSUPPORTED("bruposf45ak9wnammmxs05uq2"); // fprintf(stderr, "Could not open %s\n", fname); UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("4vtewfrcwhx9cqnhzzelmnc07"); // g = agread(fp); UNSUPPORTED("81dgkqb2pfz2cmbpgkwbv8yca"); // fclose(fp); UNSUPPORTED("9e4rervmy1jguubifdob867qa"); // if (!g) { UNSUPPORTED("c3k9mm0laol4uhxfovks7vvx4"); // fprintf(stderr, "Could not read graph\n"); UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("5ok0v4mf41z8mas48m0payhcd"); // printf("%s %d nodes %d edges %sconnected\n", UNSUPPORTED("e4t4a5rs8mj1rhyqxa3t0bc7r"); // g->name, agnnodes(g), agnedges(g), UNSUPPORTED("84a4uyu2upwydiyuzql8rnciu"); // (isConnected(g) ? "" : "not ")); UNSUPPORTED("d3glokalvrf1m3vjonhaejamf"); // gs = ccomps(g, &cnt, "abc"); UNSUPPORTED("ivgffft2q5w6sjw0k1jg6o4j"); // for (i = 0; i < cnt; i++) { UNSUPPORTED("55ej4zekzmpz6h9dwcotkqzvn"); // gp = gs[i]; UNSUPPORTED("dyst0rumkq269hhpmrynhel67"); // printf(" %s %d nodes %d edges\n", gp->name, agnnodes(gp), UNSUPPORTED("af8li2e2oidx7nfn42l2lzqc0"); // agnedges(gp)); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("eob8bvfezsx0hr1brt37a4lyv"); // gs = (Agraph_t **)gmalloc((nFiles)*sizeof(Agraph_t *)); UNSUPPORTED("5j7jmlebvv4x0vqasag7ecunu"); // cnt = 0; UNSUPPORTED("ievvgb8tg6613rw4cwuvqtqm"); // while (fname = Files[cnt]) { UNSUPPORTED("c2vs68cvzv11vpc3d0vhgn0o6"); // fp = fopen(fname, "r"); UNSUPPORTED("2de0glisr7me97htqp4v4qe2m"); // if (!fp) { UNSUPPORTED("bruposf45ak9wnammmxs05uq2"); // fprintf(stderr, "Could not open %s\n", fname); UNSUPPORTED("7ujm7da8xuut83e2rygja0n9d"); // exit(1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("4vtewfrcwhx9cqnhzzelmnc07"); // g = agread(fp); UNSUPPORTED("81dgkqb2pfz2cmbpgkwbv8yca"); // fclose(fp); UNSUPPORTED("9e4rervmy1jguubifdob867qa"); // if (!g) { UNSUPPORTED("c3k9mm0laol4uhxfovks7vvx4"); // fprintf(stderr, "Could not read graph\n"); UNSUPPORTED("7ujm7da8xuut83e2rygja0n9d"); // exit(1); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("4ttwxmfi4jwb95u2zpmg90qlj"); // if (!single) { UNSUPPORTED("344ixhk5pj5cgkfitztxg39wq"); // graph_init(g); UNSUPPORTED("dgurzsu7a9v8li0uoqshe04ub"); // ptest_initGraph(g); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("4ju9fxktkzm6g6k8jyu66ps6s"); // initPos(g); UNSUPPORTED("4l3u0654thteocjvzjwfmdfc1"); // /* if (Verbose) dumpG (g); */ UNSUPPORTED("2u2wotplp8k3k2hisg44444mr"); // gs[cnt++] = g; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9pza2sgruhfiag9f4hehchd0u"); // if (single) { UNSUPPORTED("7xk90wmd7j06hqt7b7i3eeyfy"); // Agraph_t *root; UNSUPPORTED("81iug4po5ggethdqgapdw9mez"); // Agnode_t *n; UNSUPPORTED("8zwiekoyqkvb7nqu0jvrmjubj"); // Agnode_t *np; UNSUPPORTED("7sxvwdnz5adoqfobhuxe9kpo7"); // Agnode_t *tp; UNSUPPORTED("6dcxsvi3exhmbtwrpyagifa28"); // Agnode_t *hp; UNSUPPORTED("7vvr9l0r0k3c179gu9edbannt"); // Agedge_t *e; UNSUPPORTED("45l8sazink6wfvjc5iv9mbqfv"); // Agedge_t *ep; UNSUPPORTED("2dsdl1tbecto2tl7rzbajp2ki"); // root = agopen("root", 0); UNSUPPORTED("2qcacl7cdr2zcme1wtbp5nudb"); // agedgeattr(root, "pos", ""); UNSUPPORTED("ivgffft2q5w6sjw0k1jg6o4j"); // for (i = 0; i < cnt; i++) { UNSUPPORTED("150kyv7qt24hep1ix7ekbxzhv"); // g = gs[i]; UNSUPPORTED("3mq66y5bl1rf1c70443ospyk"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("5e6yfzrf4s24izgf8jayt1s43"); // if ((agnode(root,n->name,0))) { UNSUPPORTED("3iwc3dzplzj2jkbze5cd6zfh9"); // fprintf(stderr, UNSUPPORTED("7hqzc3wtbhvlu2qsdc4y25qk6"); // "Error: node %s in graph %d (%s) previously added\n", UNSUPPORTED("cj5j27wggqfiejzj83ygjjtfd"); // n->name, i, Files[i]); UNSUPPORTED("8197k2c9bktvbqw28fy46jqt"); // exit(1); UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("9tm8oxmtnz3g24k9p328sf9if"); // np = agnode(root, n->name); UNSUPPORTED("k7qf5ks6w37bfi3z9eef3qlu"); // ND_pos(np)[0] = ND_pos(n)[0]; UNSUPPORTED("bfzh6521nzll5lsnpw1k5n4m4"); // ND_pos(np)[1] = ND_pos(n)[1]; UNSUPPORTED("khqpoz54xjfjkti1t9djhewn"); // ND_coord_i(np).x = ND_coord_i(n).x; UNSUPPORTED("4x9c7uwd0kx0jhvnx5dxmudl"); // ND_coord_i(np).y = ND_coord_i(n).y; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("3mq66y5bl1rf1c70443ospyk"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { UNSUPPORTED("35xtxnvjglep45528xu3bdsj"); // tp = (agnode(root,n->name,0)); UNSUPPORTED("a3z26j7g5efb4epbmqjb786zu"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { UNSUPPORTED("62fs4ym4p052thn1lyb29j2q5"); // hp = (agnode(root,e->head->name,0)); UNSUPPORTED("dvwpkbrij9w40pbsbchqp4err"); // ep = agedge(root, tp, hp); UNSUPPORTED("dn7joqnj1y0k5ua3p8eyyts4t"); // ED_spl(ep) = ED_spl(e); UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ewdephguezv9n4j0pr1pilfay"); // graph_init(root); UNSUPPORTED("8c3un2iqe187mmdrtw54jbkyc"); // ptest_initGraph(root); UNSUPPORTED("7f8mdyxgvend9tx5cby8fsriu"); // ccs = ccomps(root, &cnt, 0); UNSUPPORTED("bgk9mnbqancywhx9z6leue7ri"); // packGraphs(cnt, ccs, root, margin, doEdges); UNSUPPORTED("2wu6h8z9h6pvzsdd62mmcfxg0"); // if (!doEdges) UNSUPPORTED("2ghubirp3mlgcl6gjf50g3gbu"); // copyPos(root); UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("byjd9fn68fzvo0yhanif3ydum"); // State = 1; UNSUPPORTED("664tfkoggn4h8g2k56p888fsg"); // attach_attrs(root); UNSUPPORTED("ivgffft2q5w6sjw0k1jg6o4j"); // for (i = 0; i < cnt; i++) { UNSUPPORTED("cpd2gdsuj81r184ywe3ya1863"); // agdelete(root, ccs[i]); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("byt1dlccqrnf77otl8aey0q7"); // agwrite(root, stdout); UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("6okr9lyl25rynlpeb541qyy7h"); // packGraphs(cnt, gs, 0, margin, doEdges); UNSUPPORTED("durj7dcilnt6i4j5m304vugx7"); // if (doEdges) UNSUPPORTED("byjd9fn68fzvo0yhanif3ydum"); // State = 1; UNSUPPORTED("ivgffft2q5w6sjw0k1jg6o4j"); // for (i = 0; i < cnt; i++) { UNSUPPORTED("2ebr0nay4ws6wvabvtsc7i6g6"); // if (!doEdges) UNSUPPORTED("6msz5q1lfw4hvu5d3eqbs110s"); // copyPos(gs[i]); UNSUPPORTED("1ue5ykok6uxlgcq1ob0qdyro8"); // attach_attrs(gs[i]); UNSUPPORTED("4azg08ol0hnirn0s158w62j2j"); // agwrite(gs[i], stdout); UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/pathplan/000077500000000000000000000000001340005343600202005ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/gen/lib/pathplan/cvt__c.java000066400000000000000000000343221340005343600223040ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.pathplan; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.UNSUPPORTED; import h.ST_pointf; public class cvt__c { //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 7pb9zum2n4wlgil34lvh8i0ts // typedef double COORD //1 e75el5ykqd72ikokwkl7j2epc // typedef COORD **array2 //1 ej0x6pmbhu30xkhld8bcz4gwv // typedef Ppoint_t ilcoord_t //3 1xzun807liyzhh33wecbjr36t // static void *mymalloc(size_t newsize) public static Object mymalloc(Object... arg) { UNSUPPORTED("4sbfatyg3fhc2c20h2xhk3mx9"); // static void *mymalloc(size_t newsize) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5ccnu5m92hidffpixzo964tna"); // void *rv; UNSUPPORTED("bl8qbtd4wj1z7r9hhretdafhi"); // if (newsize > 0) UNSUPPORTED("911ost0j5419vf2t0dcv9syl0"); // rv = malloc(newsize); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("c4gs555ukbqlir0vf7test5fk"); // rv = (void *) 0; UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4pfhgk8c796mhpyfqs8fd3fy9 // vconfig_t *Pobsopen(Ppoly_t ** obs, int n_obs) public static Object Pobsopen(Object... arg) { UNSUPPORTED("dz610tzpr6mx5ioen71yt9lw2"); // vconfig_t *Pobsopen(Ppoly_t ** obs, int n_obs) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6h763iz1lhdcesjffuohit038"); // vconfig_t *rv; UNSUPPORTED("6fyedst0dusa16an4rkc8wowr"); // int poly_i, pt_i, i, n; UNSUPPORTED("aa6b5n017in5orglen9ktgs9a"); // int start, end; UNSUPPORTED("2izagha9qm9hfmw2zjtq0yyqy"); // rv = malloc(sizeof(vconfig_t)); UNSUPPORTED("3932k5yue8e2mb5g02yh32q3u"); // if (!rv) { UNSUPPORTED("11hwqop4xebvtcskop4uhpp01"); // return NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("537ma80b4p1qif18ogmioua6f"); // /* get storage */ UNSUPPORTED("5479ingjjk6qn2seps3k0btka"); // n = 0; UNSUPPORTED("6pryh49akl0qqyof6t9enjse3"); // for (poly_i = 0; poly_i < n_obs; poly_i++) UNSUPPORTED("7mn5akiq7xlxj3bhbg2hjyw43"); // n = n + obs[poly_i]->pn; UNSUPPORTED("4w0j0xkeflf96a4msrd1djw60"); // rv->P = mymalloc(n * sizeof(Ppoint_t)); UNSUPPORTED("d9e6s9bw2zqrvvmjjx99t8om5"); // rv->start = mymalloc((n_obs + 1) * sizeof(int)); UNSUPPORTED("cxuszkdst7q9ivsqe8ioe2yrw"); // rv->next = mymalloc(n * sizeof(int)); UNSUPPORTED("burxtua12xjppcbmval0ggvxg"); // rv->prev = mymalloc(n * sizeof(int)); UNSUPPORTED("b6qs2ihtcpwqt5curgpzssi0t"); // rv->N = n; UNSUPPORTED("y8pzts8dvguxzsn2xoi6o7xr"); // rv->Npoly = n_obs; UNSUPPORTED("85r5n7qhz9w2j71ctswryvhs9"); // /* build arrays */ UNSUPPORTED("9z3er49pc4h2rxja5r9grdo0h"); // i = 0; UNSUPPORTED("a9lqcyerwxbnkjv25bsdl8zm4"); // for (poly_i = 0; poly_i < n_obs; poly_i++) { UNSUPPORTED("c9man7k6dcktdn55nx8sc8hu2"); // start = i; UNSUPPORTED("l4rzwhaigo1dmtzc7olyk6y2"); // rv->start[poly_i] = start; UNSUPPORTED("do78yh8gawc61ywbjurslrmc7"); // end = start + obs[poly_i]->pn - 1; UNSUPPORTED("ef97u4pbd8y1vhy459q7r4jlr"); // for (pt_i = 0; pt_i < obs[poly_i]->pn; pt_i++) { UNSUPPORTED("duznt0bepum3jc0h5n1g0j6r1"); // rv->P[i] = obs[poly_i]->ps[pt_i]; UNSUPPORTED("cbqnpyguo28y5hi6788clitol"); // rv->next[i] = i + 1; UNSUPPORTED("75iqn38g2hugox3zmrro1eruh"); // rv->prev[i] = i - 1; UNSUPPORTED("1lo0ackow66iudrq1gb15y3ry"); // i++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c62cdvr5s10dskbn3g3nv130u"); // rv->next[end] = start; UNSUPPORTED("b77mp3jilxwb6gjveuwuldrvq"); // rv->prev[start] = end; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1u0umi0jiwt4fdh8n0nr1j8ns"); // rv->start[poly_i] = i; UNSUPPORTED("26uynreqxoitqc5md315okjca"); // visibility(rv); UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e4migs6coi22m83vhdmasdpq2 // void Pobsclose(vconfig_t * config) public static Object Pobsclose(Object... arg) { UNSUPPORTED("54tyi1oh5fd4a8lh1107ysppi"); // void Pobsclose(vconfig_t * config) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9i5pewoqi7dxp9hvkbh6p1kcd"); // free(config->P); UNSUPPORTED("dyvruo3b8nwce9o0q2bcycvb6"); // free(config->start); UNSUPPORTED("7at6jri0rjj24yyxd75duo75z"); // free(config->next); UNSUPPORTED("akdd6tfoylim5pdwp1w2o0j20"); // free(config->prev); UNSUPPORTED("e5hnzu51syeuaqx4dgswvpyje"); // if (config->vis) { UNSUPPORTED("8rwcdtu45rfzpyn5z46pkkhl6"); // free(config->vis[0]); UNSUPPORTED("i31zzb5907stuz3hbwbdcbhp"); // free(config->vis); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("61miap7xqs0is8dzf039j57nq"); // free(config); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8doijz2zl7icgvbs59qtqw2e6 // int Pobspath(vconfig_t * config, Ppoint_t p0, int poly0, Ppoint_t p1, int poly1, Ppolyline_t * output_route) public static Object Pobspath(Object... arg) { UNSUPPORTED("es9wttiuk2pkcqinglvdetmxh"); // int Pobspath(vconfig_t * config, Ppoint_t p0, int poly0, Ppoint_t p1, UNSUPPORTED("8waigfzvwmpsy4nk2ybswloiu"); // int poly1, Ppolyline_t * output_route) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("e2p3zngy6gppxlaxnza2atj67"); // int i, j, *dad; UNSUPPORTED("e62ya6atrka5y0vefbxn9gvsd"); // int opn; UNSUPPORTED("eio9tluzd00a9allc8rpk3sn3"); // Ppoint_t *ops; UNSUPPORTED("ekriswamubxah5xbwpyub2glk"); // COORD *ptvis0, *ptvis1; UNSUPPORTED("f3ay7pz98tp6wbnj91hh3kj"); // ptvis0 = ptVis(config, poly0, p0); UNSUPPORTED("9d1jc97ql0y8dloqkw50mmzdj"); // ptvis1 = ptVis(config, poly1, p1); UNSUPPORTED("7qs63rfsr6g17tfm9o33b3su6"); // dad = makePath(p0, poly0, ptvis0, p1, poly1, ptvis1, config); UNSUPPORTED("b26wav438av32fij4hegkkgu6"); // opn = 1; UNSUPPORTED("2vrbfn91t93xoyd85qnu32sy2"); // for (i = dad[config->N]; i != config->N + 1; i = dad[i]) UNSUPPORTED("3qey9tefagfie3qnkiki4nf6l"); // opn++; UNSUPPORTED("4196zy1bbqiysbv1glm6f6rs5"); // opn++; UNSUPPORTED("3snkzyfbaaeiotrx64sx9tpni"); // ops = malloc(opn * sizeof(Ppoint_t)); UNSUPPORTED("63lio5qjaoeboqhgiam7y7q0q"); // j = opn - 1; UNSUPPORTED("ebor0877uiofxllu68qt0ni85"); // ops[j--] = p1; UNSUPPORTED("2vrbfn91t93xoyd85qnu32sy2"); // for (i = dad[config->N]; i != config->N + 1; i = dad[i]) UNSUPPORTED("53win5ovenp62h9g9qdgiu4wq"); // ops[j--] = config->P[i]; UNSUPPORTED("2edzhlekn1dh9s7bk2yb2b4sm"); // ops[j] = p0; UNSUPPORTED("7i8zqi2jg8upn1wjzqf5il16o"); // assert(j == 0); UNSUPPORTED("4sudedq08kppbbadyqc21is7x"); // if (ptvis0) UNSUPPORTED("6zdjevsy6rl1dvkniswano9ae"); // free(ptvis0); UNSUPPORTED("1rp1r4ghfa31f1v07hmkoglxl"); // if (ptvis1) UNSUPPORTED("au3lcfls1tf7t5z3skjuvfuv8"); // free(ptvis1); UNSUPPORTED("70yf545lz9a6vp2qw2i0q9mr1"); // output_route->pn = opn; UNSUPPORTED("e9qedm1c6q4ehjjxi6v3u68ms"); // output_route->ps = ops; UNSUPPORTED("6qqkuw5cd4ebshxoji365xfkz"); // free(dad); UNSUPPORTED("2mmsh4mer8e3bkt2jk4gf4cyq"); // return ((!(0))); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dya1texcjg4i2qyusjnmin7d1 // int Pobsbarriers(vconfig_t * config, Pedge_t ** barriers, int *n_barriers) public static Object Pobsbarriers(Object... arg) { UNSUPPORTED("bbaf03fwbv3733qfrsvd4eoom"); // int Pobsbarriers(vconfig_t * config, Pedge_t ** barriers, int *n_barriers) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dzpsknrwv8qkqq20hjnjpjn68"); // int i, j; UNSUPPORTED("cjg450i3kmtjepexj18lku2oz"); // *barriers = malloc(config->N * sizeof(Pedge_t)); UNSUPPORTED("b77jnv231p5441j8pofch6qjp"); // *n_barriers = config->N; UNSUPPORTED("bt2nq7y73jm09gh8xqv1scjog"); // for (i = 0; i < config->N; i++) { UNSUPPORTED("5xul9j0873agp8fm22e0halsf"); // barriers[i]->a.x = config->P[i].x; UNSUPPORTED("ca43a9xp0edjts9sme3eysq0v"); // barriers[i]->a.y = config->P[i].y; UNSUPPORTED("blqt6zbpyfb8cpsh8az3u154y"); // j = config->next[i]; UNSUPPORTED("4iqggxhzor4r40emialldaqms"); // barriers[i]->b.x = config->P[j].x; UNSUPPORTED("68b84cgnmyt50bomnqfrw8nau"); // barriers[i]->b.y = config->P[j].y; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3tcgz4dupb6kw5tdk7n3pca2l"); // return 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 7jm8pu31yvt3fi0tc6t6go9tr // static Ppoint_t Bezpt[1000] //1 7h8jm5n1tlklgw1yaxx7dlvsx // static int Bezctr //3 oneie60d998qei37slgf3ce4 // static void addpt(Ppoint_t p) public static Object addpt(Object... arg) { UNSUPPORTED("3r6t7ceh9f1lplt1ewgna2ynh"); // static void addpt(Ppoint_t p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ad7t5k9prp8sma4kc9pwszul3"); // if ((Bezctr == 0) || UNSUPPORTED("eam5jo5658c75g0tppvkhcu31"); // (Bezpt[Bezctr - 1].x != p.x) || (Bezpt[Bezctr - 1].y != p.y)) UNSUPPORTED("a0616m6xy91u5reig6r0gz4pg"); // Bezpt[Bezctr++] = p; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3xaxtxslceffm0wx9zcpiqjgb // static ilcoord_t Bezier(ilcoord_t * V, int degree, double t, ilcoord_t * Left, ilcoord_t * Right) public static ST_pointf Bezier(ST_pointf V, int degree, double t, ST_pointf Left, ST_pointf Right) { // WARNING!! STRUCT return Bezier_w_(V, degree, t, Left, Right).copy(); } private static ST_pointf Bezier_w_(ST_pointf V, int degree, double t, ST_pointf Left, ST_pointf Right) { ENTERING("3xaxtxslceffm0wx9zcpiqjgb","Bezier"); try { int i, j; /* Index variables */ UNSUPPORTED("3a1zgxysa3t54vyq7k6z62wlj"); // ilcoord_t Vtemp[5 + 1][5 + 1]; UNSUPPORTED("byow1e8wyl29b607ktk3oabre"); // /* Copy control points */ UNSUPPORTED("88y00f5lc64b0ryy0gup9n4sb"); // for (j = 0; j <= degree; j++) { UNSUPPORTED("41awql5ne79yczmc4ilerplz3"); // Vtemp[0][j] = V[j]; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("djq9b7i3h3uq77dr40ha5o1kr"); // /* Triangle computation */ UNSUPPORTED("227fs1hi4i0vh0vutu3yqxarc"); // for (i = 1; i <= degree; i++) { UNSUPPORTED("85sv74izli9gqstg0gqk2oznr"); // for (j = 0; j <= degree - i; j++) { UNSUPPORTED("6iowld1ly15t67xtpbyotvond"); // Vtemp[i][j].x = UNSUPPORTED("c9tdp4smiiyeg0r8t5udg667x"); // (1.0 - t) * Vtemp[i - 1][j].x + t * Vtemp[i - 1][j + 1].x; UNSUPPORTED("d7sb593gdk2getmc8zbflz6wq"); // Vtemp[i][j].y = UNSUPPORTED("d3h6zzsk3tsvl81ds9isu6lrl"); // (1.0 - t) * Vtemp[i - 1][j].y + t * Vtemp[i - 1][j + 1].y; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7eb3j7c6ls3zjqm1bteyyg8dd"); // if (Left != ((ilcoord_t *)0)) UNSUPPORTED("dzkatwg4oc51psd4chd1yao6"); // for (j = 0; j <= degree; j++) UNSUPPORTED("7zwjg663emkibah35euakizmj"); // Left[j] = Vtemp[j][0]; UNSUPPORTED("6h28oxt02m95ar9k62xgzs2"); // if (Right != ((ilcoord_t *)0)) UNSUPPORTED("dzkatwg4oc51psd4chd1yao6"); // for (j = 0; j <= degree; j++) UNSUPPORTED("1rki0omqbix35s4wfx442v4ty"); // Right[j] = Vtemp[degree - j][j]; UNSUPPORTED("b23mms6jm55li1q74etrttq6m"); // return (Vtemp[degree][0]); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } finally { LEAVING("3xaxtxslceffm0wx9zcpiqjgb","Bezier"); } } //3 2e1dbsqqgp7k8i5doa7prt6jc // static void append_bezier(Ppoint_t * bezier) public static Object append_bezier(Object... arg) { UNSUPPORTED("5zm80zw3vn3gsj6zre2ynedck"); // static void append_bezier(Ppoint_t * bezier) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("544oxt8zbzz0u06hmg8ivxp3p"); // double a; UNSUPPORTED("2lyetpb097xdkox7xgnw605xd"); // ilcoord_t left[4], right[4]; UNSUPPORTED("4c5enrmeixpvwutnq2tbdb7ck"); // a = fabs(area2(bezier[0], bezier[1], bezier[2])) UNSUPPORTED("4fcyo20wfetvf2l99r0pchq0l"); // + fabs(area2(bezier[2], bezier[3], bezier[0])); UNSUPPORTED("3y36bo7zjs0dx2q4g6sl5awol"); // if (a < .5) { UNSUPPORTED("ar7l14fqklgvayi8jwebecz25"); // addpt(bezier[0]); UNSUPPORTED("268jkzt57hijh09gst1b1yl1e"); // addpt(bezier[3]); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("4k2sg523wku7lp7tcc9l6ggoj"); // (void) Bezier(bezier, 3, .5, left, right); UNSUPPORTED("bct90i183hbs4qhx4mmpnep1i"); // append_bezier(left); UNSUPPORTED("5dcnwocv9fm5psu807c2hpft6"); // append_bezier(right); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/pathplan/inpoly__c.java000066400000000000000000000060351340005343600230220ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.pathplan; import static smetana.core.Macro.UNSUPPORTED; public class inpoly__c { //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 7pb9zum2n4wlgil34lvh8i0ts // typedef double COORD //3 8npqmbhzypa3vnvez32eenjfm // int in_poly(Ppoly_t poly, Ppoint_t q) public static Object in_poly(Object... arg) { UNSUPPORTED("591yna7lwmr02zotphxiz9jfy"); // int in_poly(Ppoly_t poly, Ppoint_t q) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3i49psuyz9205y6sp22yi0vg6"); // int i, i1; /* point index; i1 = i-1 mod n */ UNSUPPORTED("5jiiwgyq1pv7khw5ygfo33wmr"); // int n; UNSUPPORTED("ds3u5c0i2zcpyxll28zg5jfxz"); // Ppoint_t *P; UNSUPPORTED("aseexj0pf1b85gzltie980nx4"); // P = poly.ps; UNSUPPORTED("5wttw208juz89to1dojh5ke2v"); // n = poly.pn; UNSUPPORTED("1vi49g48u2rc9v88yhabta0yw"); // for (i = 0; i < n; i++) { UNSUPPORTED("esgbg5oqpjx4h4cvtcp2vu9ar"); // i1 = (i + n - 1) % n; UNSUPPORTED("40aader15dux12c5hbpxegrwb"); // if (wind(P[i1],P[i],q) == 1) return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2mmsh4mer8e3bkt2jk4gf4cyq"); // return ((!(0))); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/pathplan/route__c.java000066400000000000000000000565721340005343600226610ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.pathplan; import static gen.lib.pathplan.solvers__c.solve3; import static smetana.core.JUtils.setjmp; import static smetana.core.JUtils.sqrt; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.DISTSQ; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Pedge_t; import h.ST_Ppoly_t; import h.ST_pointf; import h.ST_tna_t; import smetana.core.Z; import smetana.core.__ptr__; import smetana.core.jmp_buf; public class route__c { //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 7pb9zum2n4wlgil34lvh8i0ts // typedef double COORD //1 540u5gu9i0x1wzoxqqx5n2vwp // static jmp_buf jbuf private static jmp_buf jbuf = new jmp_buf(); //1 3k2f2er3efsrl0210su710vf // static Ppoint_t *ops //static private __ptr__ ops; //1 ds2k0zdfzruet3qxk0duytkjx // static int opn, opl //private static int opn; //private static int opl; //3 9stmrdqlmufyk2wutp3totr5j // int Proutespline(Pedge_t * edges, int edgen, Ppolyline_t input, Ppoint_t * evs, Ppolyline_t * output) public static int Proutespline(ST_Pedge_t.Array edges, int edgen, ST_Ppoly_t input, __ptr__ evs, ST_Ppoly_t output) { // WARNING!! STRUCT return Proutespline_w_(edges, edgen, (ST_Ppoly_t) input.copy(), evs, output); } private static int Proutespline_w_(ST_Pedge_t.Array edges, int edgen, final ST_Ppoly_t input, __ptr__ evs, ST_Ppoly_t output) { ENTERING("9stmrdqlmufyk2wutp3totr5j","Proutespline"); try { ST_pointf.Array inps; int inpn; /* unpack into previous format rather than modify legacy code */ inps = input.ps; inpn = input.pn; if (setjmp(jbuf)!=0) UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; /* generate the splines */ evs.plus(0).getStruct().___(normv((ST_pointf) evs.plus(0).getStruct())); evs.plus(1).getStruct().___(normv((ST_pointf) evs.plus(1).getStruct())); Z.z().opl = 0; growops(4); Z.z().ops_route.plus(Z.z().opl).setStruct(inps.plus(0).getStruct()); Z.z().opl++; if (reallyroutespline(edges, edgen, inps, inpn, (ST_pointf)evs.plus(0).getStruct(), (ST_pointf)evs.plus(1).getStruct()) == -1) return -1; output.setInt("pn", Z.z().opl); output.ps = Z.z().ops_route; return 0; } finally { LEAVING("9stmrdqlmufyk2wutp3totr5j","Proutespline"); } } //3 13dxqzbgtpl4ubnnvw6ehzzi9 // static int reallyroutespline(Pedge_t * edges, int edgen, Ppoint_t * inps, int inpn, Ppoint_t ev0, Ppoint_t ev1) //private static __ptr__ tnas; //private static int tnan; public static int reallyroutespline(ST_Pedge_t.Array edges, int edgen, ST_pointf.Array inps, int inpn, final ST_pointf ev0, final ST_pointf ev1) { // WARNING!! STRUCT return reallyroutespline_w_(edges, edgen, inps, inpn, ev0.copy(), ev1.copy()); } private static int reallyroutespline_w_(ST_Pedge_t.Array edges, int edgen, ST_pointf.Array inps, int inpn, final ST_pointf ev0, final ST_pointf ev1) { ENTERING("13dxqzbgtpl4ubnnvw6ehzzi9","reallyroutespline"); try { final ST_pointf p1 = new ST_pointf(), p2 = new ST_pointf(), cp1 = new ST_pointf(), cp2 = new ST_pointf(), p = new ST_pointf(); final ST_pointf v1 = new ST_pointf(), v2 = new ST_pointf(), splitv = new ST_pointf(), splitv1 = new ST_pointf(), splitv2 = new ST_pointf(); double maxd, d, t; int maxi, i, spliti; if (Z.z().tnan < inpn) { if (N(Z.z().tnas)) { if (N(Z.z().tnas = new ST_tna_t.Array(inpn))) return -1; } else { if (N(Z.z().tnas = Z.z().tnas.reallocJ(inpn))) return -1; } Z.z().tnan = inpn; } Z.z().tnas.plus(0).getStruct().setDouble("t", 0); for (i = 1; i < inpn; i++) Z.z().tnas.plus(i).getStruct().setDouble("t", Z.z().tnas.plus(i-1).getStruct().t + dist((ST_pointf)inps.plus(i).getStruct(), (ST_pointf)inps.plus(i-1).getStruct())); for (i = 1; i < inpn; i++) Z.z().tnas.plus(i).getStruct().setDouble("t", Z.z().tnas.plus(i).getStruct().t / Z.z().tnas.plus(inpn - 1).getStruct().t); for (i = 0; i < inpn; i++) { ((ST_tna_t)Z.z().tnas.plus(i).getStruct()).a[0].____(scale(ev0, B1(Z.z().tnas.plus(i).getStruct().t))); ((ST_tna_t)Z.z().tnas.plus(i).getStruct()).a[1].____(scale(ev1, B2(Z.z().tnas.plus(i).getStruct().t))); } if (mkspline(inps, inpn, Z.z().tnas, ev0, ev1, p1, v1, p2, v2) == -1) return -1; if (splinefits(edges, edgen, p1, v1, p2, v2, inps, inpn)!=0) return 0; cp1.___(add(p1, scale(v1, 1 / 3.0))); cp2.___(sub(p2, scale(v2, 1 / 3.0))); for (maxd = -1, maxi = -1, i = 1; i < inpn - 1; i++) { t = Z.z().tnas.get(i).t; p.setDouble("x", B0(t) * p1.x + B1(t) * cp1.x + B2(t) * cp2.x + B3(t) * p2.x); p.setDouble("y", B0(t) * p1.y + B1(t) * cp1.y + B2(t) * cp2.y + B3(t) * p2.y); if ((d = dist(p, (ST_pointf) inps.plus(i).getStruct())) > maxd) {maxd = d; maxi = i;} } spliti = maxi; splitv1.___(normv(sub((ST_pointf)inps.plus(spliti).getStruct(), (ST_pointf)inps.plus(spliti - 1).getStruct()))); splitv2.___(normv(sub((ST_pointf)inps.plus(spliti + 1).getStruct(), (ST_pointf)inps.plus(spliti).getStruct()))); splitv.___(normv(add(splitv1, splitv2))); reallyroutespline(edges, edgen, inps, spliti + 1, ev0, splitv); reallyroutespline(edges, edgen, inps.plus(spliti), inpn - spliti, splitv, ev1); return 0; } finally { LEAVING("13dxqzbgtpl4ubnnvw6ehzzi9","reallyroutespline"); } } //3 29sok6jkfyobf83q130snkhmh // static int mkspline(Ppoint_t * inps, int inpn, tna_t * tnas, Ppoint_t ev0, Ppoint_t ev1, Ppoint_t * sp0, Ppoint_t * sv0, Ppoint_t * sp1, Ppoint_t * sv1) public static int mkspline(__ptr__ inps, int inpn, ST_tna_t.Array tnas, final ST_pointf ev0, final ST_pointf ev1, __ptr__ sp0, __ptr__ sv0, __ptr__ sp1, __ptr__ sv1) { // WARNING!! STRUCT return mkspline_w_(inps, inpn, tnas, ev0.copy(), ev1.copy(), sp0, sv0, sp1, sv1); } private static int mkspline_w_(__ptr__ inps, int inpn, ST_tna_t.Array tnas, final ST_pointf ev0, final ST_pointf ev1, __ptr__ sp0, __ptr__ sv0, __ptr__ sp1, __ptr__ sv1) { ENTERING("29sok6jkfyobf83q130snkhmh","mkspline"); try { final ST_pointf tmp = new ST_pointf(); double c[][] = new double[2][2]; double x[] = new double[2]; double det01, det0X, detX1; double d01, scale0, scale3; int i; scale0 = scale3 = 0.0; c[0][0] = c[0][1] = c[1][0] = c[1][1] = 0.0; x[0] = x[1] = 0.0; for (i = 0; i < inpn; i++) { c[0][0] += dot(((ST_tna_t)tnas.plus(i).getStruct()).a[0], ((ST_tna_t)tnas.plus(i).getStruct()).a[0]); c[0][1] += dot(((ST_tna_t)tnas.plus(i).getStruct()).a[0], ((ST_tna_t)tnas.plus(i).getStruct()).a[1]); c[1][0] = c[0][1]; c[1][1] += dot(((ST_tna_t)tnas.plus(i).getStruct()).a[1], ((ST_tna_t)tnas.plus(i).getStruct()).a[1]); tmp.___(sub((ST_pointf) inps.plus(i).getStruct(), add(scale((ST_pointf) inps.plus(0).getStruct(), B01(tnas.plus(i).getStruct().t)), scale((ST_pointf) inps.plus(inpn - 1).getStruct(), B23(tnas.plus(i).getStruct().t))))); x[0] += dot(((ST_tna_t)tnas.plus(i).getStruct()).a[0], tmp); x[1] += dot(((ST_tna_t)tnas.plus(i).getStruct()).a[1], tmp); } det01 = c[0][0] * c[1][1] - c[1][0] * c[0][1]; det0X = c[0][0] * x[1] - c[0][1] * x[0]; detX1 = x[0] * c[1][1] - x[1] * c[0][1]; if (((det01) >= 0 ? (det01) : -(det01)) >= 1e-6) { scale0 = detX1 / det01; scale3 = det0X / det01; } if (((det01) >= 0 ? (det01) : -(det01)) < 1e-6 || scale0 <= 0.0 || scale3 <= 0.0) { d01 = dist((ST_pointf)inps.plus(0).getStruct(), (ST_pointf)inps.plus(inpn - 1).getStruct()) / 3.0; scale0 = d01; scale3 = d01; } sp0.setStruct(inps.plus(0).getStruct()); sv0.setStruct(scale(ev0, scale0)); sp1.setStruct(inps.plus(inpn - 1).getStruct()); sv1.setStruct(scale(ev1, scale3)); return 0; } finally { LEAVING("29sok6jkfyobf83q130snkhmh","mkspline"); } } //3 ea6jsc0rwfyjtmmuxax6r5ngk // static double dist_n(Ppoint_t * p, int n) public static double dist_n(ST_pointf.Array p, int n) { ENTERING("ea6jsc0rwfyjtmmuxax6r5ngk","dist_n"); try { int i; double rv; rv = 0.0; for (i = 1; i < n; i++) { rv += sqrt((p.plus(i).getStruct().x - p.plus(i - 1).getStruct().x) * (p.plus(i).getStruct().x - p.plus(i - 1).getStruct().x)+ (p.plus(i).getStruct().y - p.plus(i - 1).getStruct().y) * (p.plus(i).getStruct().y - p.plus(i - 1).getStruct().y)); } return rv; } finally { LEAVING("ea6jsc0rwfyjtmmuxax6r5ngk","dist_n"); } } //3 987ednrgu5qo9dzhpiox47mhb // static int splinefits(Pedge_t * edges, int edgen, Ppoint_t pa, Pvector_t va, Ppoint_t pb, Pvector_t vb, Ppoint_t * inps, int inpn) public static int splinefits(ST_Pedge_t.Array edges, int edgen, final ST_pointf pa, final ST_pointf va, final ST_pointf pb, final ST_pointf vb, ST_pointf.Array inps, int inpn) { // WARNING!! STRUCT return splinefits_w_(edges, edgen, pa.copy(), va.copy(), pb.copy(), vb.copy(), inps, inpn); } private static int splinefits_w_(ST_Pedge_t.Array edges, int edgen, final ST_pointf pa, final ST_pointf va, final ST_pointf pb, final ST_pointf vb, ST_pointf.Array inps, int inpn) { ENTERING("987ednrgu5qo9dzhpiox47mhb","splinefits"); try { final ST_pointf.Array sps = new ST_pointf.Array( 4); double a, b; int pi; int forceflag; int first = 1; forceflag = (inpn == 2 ? 1 : 0); a = b = 4; for (;;) { sps.plus(0).getStruct().setDouble("x", pa.x); sps.plus(0).getStruct().setDouble("y", pa.y); sps.plus(1).getStruct().setDouble("x", pa.x + a * va.x / 3.0); sps.plus(1).getStruct().setDouble("y", pa.y + a * va.y / 3.0); sps.plus(2).getStruct().setDouble("x", pb.x - b * vb.x / 3.0); sps.plus(2).getStruct().setDouble("y", pb.y - b * vb.y / 3.0); sps.plus(3).getStruct().setDouble("x", pb.x); sps.plus(3).getStruct().setDouble("y", pb.y); /* shortcuts (paths shorter than the shortest path) not allowed - * they must be outside the constraint polygon. this can happen * if the candidate spline intersects the constraint polygon exactly * on sides or vertices. maybe this could be more elegant, but * it solves the immediate problem. we could also try jittering the * constraint polygon, or computing the candidate spline more carefully, * for example using the path. SCN */ if (first!=0 && (dist_n(sps.asPtr(), 4) < (dist_n(inps, inpn) - 1E-3))) return 0; first = 0; if (splineisinside(edges, edgen, sps)) { growops(Z.z().opl + 4); for (pi = 1; pi < 4; pi++) { Z.z().ops_route.plus(Z.z().opl).setDouble("x", sps.plus(pi).getStruct().x); Z.z().ops_route.plus(Z.z().opl).setDouble("y", sps.plus(pi).getStruct().y); Z.z().opl++; } return 1; } if (a == 0 && b == 0) { if (forceflag!=0) { growops(Z.z().opl + 4); for (pi = 1; pi < 4; pi++) { Z.z().ops_route.plus(Z.z().opl).setDouble("x", sps.plus(pi).getStruct().x); Z.z().ops_route.plus(Z.z().opl).setDouble("y", sps.plus(pi).getStruct().y); Z.z().opl++; } return 1; } break; } if (a > .01) { a /= 2; b /= 2; } else a = b = 0; } return 0; } finally { LEAVING("987ednrgu5qo9dzhpiox47mhb","splinefits"); } } //3 b6eghkeu16aum3l778ig52ht1 // static int splineisinside(Pedge_t * edges, int edgen, Ppoint_t * sps) public static boolean splineisinside(ST_Pedge_t.Array edges, int edgen, ST_pointf.Array sps) { ENTERING("b6eghkeu16aum3l778ig52ht1","splineisinside"); try { double roots[] = new double[4]; int rooti, rootn; int ei; final ST_pointf.Array lps = new ST_pointf.Array( 2); final ST_pointf ip = new ST_pointf(); double t, ta, tb, tc, td; for (ei = 0; ei < edgen; ei++) { lps.plus(0).setStruct(edges.get(ei).a); lps.plus(1).setStruct(edges.get(ei).b); /* if ((rootn = splineintersectsline (sps, lps, roots)) == 4) return 1; */ if ((rootn = splineintersectsline(sps, lps, roots)) == 4) continue; for (rooti = 0; rooti < rootn; rooti++) { if (roots[rooti] < 1E-6 || roots[rooti] > 1 - 1E-6) continue; t = roots[rooti]; td = t * t * t; tc = 3 * t * t * (1 - t); tb = 3 * t * (1 - t) * (1 - t); ta = (1 - t) * (1 - t) * (1 - t); ip.setDouble("x", ta * sps.get(0).x + tb * sps.get(1).x + tc * sps.get(2).x + td * sps.get(3).x); ip.setDouble("y", ta * sps.get(0).y + tb * sps.get(1).y + tc * sps.get(2).y + td * sps.get(3).y); if (DISTSQ(ip, lps.plus(0).getStruct()) < 1E-3 || DISTSQ(ip, lps.plus(1).getStruct()) < 1E-3) continue; return false; } } return true; } finally { LEAVING("b6eghkeu16aum3l778ig52ht1","splineisinside"); } } //3 32nc8itszi77u36la8npt2870 // static int splineintersectsline(Ppoint_t * sps, Ppoint_t * lps, double *roots) public static int splineintersectsline(ST_pointf.Array sps, ST_pointf.Array lps, double roots[]) { ENTERING("32nc8itszi77u36la8npt2870","splineintersectsline"); try { double scoeff[] = new double[4]; double xcoeff[] = new double[2]; double ycoeff[] = new double[2]; double xroots[] = new double[3]; double yroots[] = new double[3]; double tv, sv, rat; int rootn[] = new int[]{0}; int xrootn, yrootn, i, j; xcoeff[0] = lps.plus(0).getStruct().x; xcoeff[1] = lps.plus(1).getStruct().x - lps.plus(0).getStruct().x; ycoeff[0] = lps.plus(0).getStruct().y; ycoeff[1] = lps.plus(1).getStruct().y - lps.plus(0).getStruct().y; rootn[0] = 0; if (xcoeff[1] == 0) { if (ycoeff[1] == 0) { points2coeff(sps.plus(0).getStruct().x, sps.plus(1).getStruct().x, sps.plus(2).getStruct().x, sps.plus(3).getStruct().x, scoeff); scoeff[0] -= xcoeff[0]; xrootn = solve3(scoeff, xroots); points2coeff(sps.plus(0).getStruct().y, sps.plus(1).getStruct().y, sps.plus(2).getStruct().y, sps.plus(3).getStruct().y, scoeff); scoeff[0] -= ycoeff[0]; yrootn = solve3(scoeff, yroots); if (xrootn == 4) if (yrootn == 4) return 4; else for (j = 0; j < yrootn; j++) addroot(yroots[j], roots, rootn); else if (yrootn == 4) for (i = 0; i < xrootn; i++) addroot(xroots[i], roots, rootn); else for (i = 0; i < xrootn; i++) for (j = 0; j < yrootn; j++) if (xroots[i] == yroots[j]) addroot(xroots[i], roots, rootn); return rootn[0]; } else { points2coeff(sps.plus(0).getStruct().x, sps.plus(1).getStruct().x, sps.plus(2).getStruct().x, sps.plus(3).getStruct().x, scoeff); scoeff[0] -= xcoeff[0]; xrootn = solve3(scoeff, xroots); if (xrootn == 4) return 4; for (i = 0; i < xrootn; i++) { tv = xroots[i]; if (tv >= 0 && tv <= 1) { points2coeff(sps.plus(0).getStruct().y, sps.plus(1).getStruct().y, sps.plus(2).getStruct().y, sps.plus(3).getStruct().y, scoeff); sv = scoeff[0] + tv * (scoeff[1] + tv * (scoeff[2] + tv * scoeff[3])); sv = (sv - ycoeff[0]) / ycoeff[1]; if ((0 <= sv) && (sv <= 1)) addroot(tv, roots, rootn); } } return rootn[0]; } } else { rat = ycoeff[1] / xcoeff[1]; points2coeff(sps.plus(0).getStruct().y - rat * sps.plus(0).getStruct().x, sps.plus(1).getStruct().y - rat * sps.plus(1).getStruct().x, sps.plus(2).getStruct().y - rat * sps.plus(2).getStruct().x, sps.plus(3).getStruct().y - rat * sps.plus(3).getStruct().x, scoeff); scoeff[0] += rat * xcoeff[0] - ycoeff[0]; xrootn = solve3(scoeff, xroots); if (xrootn == 4) return 4; for (i = 0; i < xrootn; i++) { tv = xroots[i]; if (tv >= 0 && tv <= 1) { points2coeff(sps.plus(0).getStruct().x, sps.plus(1).getStruct().x, sps.plus(2).getStruct().x, sps.plus(3).getStruct().x, scoeff); sv = scoeff[0] + tv * (scoeff[1] + tv * (scoeff[2] + tv * scoeff[3])); sv = (sv - xcoeff[0]) / xcoeff[1]; if ((0 <= sv) && (sv <= 1)) addroot(tv, roots, rootn); } } return rootn[0]; } } finally { LEAVING("32nc8itszi77u36la8npt2870","splineintersectsline"); } } //3 9011b45d42bhwfxzhgxqnlfhp // static void points2coeff(double v0, double v1, double v2, double v3, double *coeff) public static void points2coeff(double v0, double v1, double v2, double v3, double coeff[]) { ENTERING("9011b45d42bhwfxzhgxqnlfhp","points2coeff"); try { coeff[3] = v3 + 3 * v1 - (v0 + 3 * v2); coeff[2] = 3 * v0 + 3 * v2 - 6 * v1; coeff[1] = 3 * (v1 - v0); coeff[0] = v0; } finally { LEAVING("9011b45d42bhwfxzhgxqnlfhp","points2coeff"); } } //3 6ldk438jjflh0huxkg4cs8kwu // static void addroot(double root, double *roots, int *rootnp) public static void addroot(double root, double roots[], int rootnp[]) { ENTERING("6ldk438jjflh0huxkg4cs8kwu","addroot"); try { if (root >= 0 && root <= 1) { roots[rootnp[0]] = root; rootnp[0]++; } } finally { LEAVING("6ldk438jjflh0huxkg4cs8kwu","addroot"); } } //3 3i8m1m9fg7qmnt8jloorwlu8e // static Pvector_t normv(Pvector_t v) public static ST_pointf normv(final ST_pointf v) { // WARNING!! STRUCT return normv_w_(v.copy()).copy(); } private static ST_pointf normv_w_(final ST_pointf v) { ENTERING("3i8m1m9fg7qmnt8jloorwlu8e","normv"); try { double d; d = v.x * v.x + v.y * v.y; if (d > 1e-6) { d = sqrt(d); v.setDouble("x", v.x / d); v.setDouble("y", v.y / d); } return v; } finally { LEAVING("3i8m1m9fg7qmnt8jloorwlu8e","normv"); } } //3 d59jcnpi1y0wr8e9uwxny2fvk // static void growops(int newopn) public static void growops(int newopn) { ENTERING("d59jcnpi1y0wr8e9uwxny2fvk","growops"); try { if (newopn <= Z.z().opn_route) return; if (N(Z.z().ops_route)) { if (N(Z.z().ops_route = new ST_pointf.Array(newopn))) { UNSUPPORTED("413an1hqgkb4ezaec6qdsdplx"); // fprintf (stderr, "libpath/%s:%d: %s\n", "graphviz-2.38.0\\lib\\pathplan\\route.c", 32, ("cannot malloc ops")); UNSUPPORTED("1r6uhbnmxv8c6msnscw07w0qx"); // longjmp(jbuf,1); } } else { if (N(Z.z().ops_route = Z.z().ops_route.reallocJ(newopn))) { UNSUPPORTED("8u0qgahxvk5pplf90thmhwxhl"); // fprintf (stderr, "libpath/%s:%d: %s\n", "graphviz-2.38.0\\lib\\pathplan\\route.c", 32, ("cannot realloc ops")); UNSUPPORTED("1r6uhbnmxv8c6msnscw07w0qx"); // longjmp(jbuf,1); } } Z.z().opn_route = newopn; } finally { LEAVING("d59jcnpi1y0wr8e9uwxny2fvk","growops"); } } //3 f4a7nt247bokdwr2owda050of // static Ppoint_t add(Ppoint_t p1, Ppoint_t p2) public static ST_pointf add(final ST_pointf p1, final ST_pointf p2) { // WARNING!! STRUCT return add_w_(p1.copy(), p2.copy()).copy(); } private static ST_pointf add_w_(final ST_pointf p1, final ST_pointf p2) { ENTERING("f4a7nt247bokdwr2owda050of","add"); try { p1.setDouble("x", p1.x + p2.x); p1.setDouble("y", p1.y + p2.y); return p1; } finally { LEAVING("f4a7nt247bokdwr2owda050of","add"); } } //3 c4l1gvlkv2s4mi6os7r9dh89f // static Ppoint_t sub(Ppoint_t p1, Ppoint_t p2) public static ST_pointf sub(final ST_pointf p1, final ST_pointf p2) { // WARNING!! STRUCT return sub_w_(p1.copy(), p2.copy()).copy(); } private static ST_pointf sub_w_(final ST_pointf p1, final ST_pointf p2) { ENTERING("c4l1gvlkv2s4mi6os7r9dh89f","sub"); try { p1.setDouble("x", p1.x - p2.x); p1.setDouble("y", p1.y - p2.y); return p1; } finally { LEAVING("c4l1gvlkv2s4mi6os7r9dh89f","sub"); } } //3 dqnlz0tceriykws4ngudl94w9 // static double dist(Ppoint_t p1, Ppoint_t p2) public static double dist(final ST_pointf p1, final ST_pointf p2) { // WARNING!! STRUCT return dist_w_(p1.copy(), p2.copy()); } private static double dist_w_(final ST_pointf p1, final ST_pointf p2) { ENTERING("dqnlz0tceriykws4ngudl94w9","dist"); try { double dx, dy; dx = p2.x - p1.x; dy = p2.y - p1.y; return sqrt(dx * dx + dy * dy); } finally { LEAVING("dqnlz0tceriykws4ngudl94w9","dist"); } } //3 19149pdllzhplvew0bsh5v6hy // static Ppoint_t scale(Ppoint_t p, double c) public static ST_pointf scale(final ST_pointf p, double c) { // WARNING!! STRUCT return scale_w_(p.copy(), c).copy(); } private static ST_pointf scale_w_(final ST_pointf p, double c) { ENTERING("19149pdllzhplvew0bsh5v6hy","scale"); try { p.setDouble("x", p.x * c); p.setDouble("y", p.y * c); return p; } finally { LEAVING("19149pdllzhplvew0bsh5v6hy","scale"); } } //3 7ebsa2s1eoopqj1pp43bh5fw // static double dot(Ppoint_t p1, Ppoint_t p2) public static double dot(final ST_pointf p1, final ST_pointf p2) { // WARNING!! STRUCT return dot_w_(p1.copy(), p2.copy()); } private static double dot_w_(final ST_pointf p1, final ST_pointf p2) { ENTERING("7ebsa2s1eoopqj1pp43bh5fw","dot"); try { return p1.x * p2.x + p1.y * p2.y; } finally { LEAVING("7ebsa2s1eoopqj1pp43bh5fw","dot"); } } //3 73nhv3cuxqa9va0puve0ji2d5 // static double B0(double t) public static double B0(double t) { ENTERING("73nhv3cuxqa9va0puve0ji2d5","B0"); try { double tmp = 1.0 - t; return tmp * tmp * tmp; } finally { LEAVING("73nhv3cuxqa9va0puve0ji2d5","B0"); } } //3 jkfs4ak0xr5pzwye7qnm6irp // static double B1(double t) public static double B1(double t) { ENTERING("jkfs4ak0xr5pzwye7qnm6irp","B1"); try { double tmp = 1.0 - t; return 3 * t * tmp * tmp; } finally { LEAVING("jkfs4ak0xr5pzwye7qnm6irp","B1"); } } //3 9ziajuqys2xceftdw0vac02g9 // static double B2(double t) public static double B2(double t) { ENTERING("9ziajuqys2xceftdw0vac02g9","B2"); try { double tmp = 1.0 - t; return 3 * t * t * tmp; } finally { LEAVING("9ziajuqys2xceftdw0vac02g9","B2"); } } //3 5sjstsgkvoou9grsty3y0cnvg // static double B3(double t) public static double B3(double t) { ENTERING("5sjstsgkvoou9grsty3y0cnvg","B3"); try { return t * t * t; } finally { LEAVING("5sjstsgkvoou9grsty3y0cnvg","B3"); } } //3 9hzfapzxcesobeegq4aokksbp // static double B01(double t) public static double B01(double t) { ENTERING("9hzfapzxcesobeegq4aokksbp","B01"); try { double tmp = 1.0 - t; return tmp * tmp * (tmp + 3 * t); } finally { LEAVING("9hzfapzxcesobeegq4aokksbp","B01"); } } //3 571cxp9l20eyvqjwdoy9vnc6t // static double B23(double t) public static double B23(double t) { ENTERING("571cxp9l20eyvqjwdoy9vnc6t","B23"); try { double tmp = 1.0 - t; return t * t * (3 * tmp + t); } finally { LEAVING("571cxp9l20eyvqjwdoy9vnc6t","B23"); } } } plantuml-1.2018.13+ds/src/gen/lib/pathplan/shortest__c.java000066400000000000000000000566601340005343600233740ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.pathplan; import static smetana.core.JUtils.EQ; import static smetana.core.JUtils.LOG2; import static smetana.core.JUtils.NEQ; import static smetana.core.JUtils.setjmp; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; import static smetana.core.Macro.HUGE_VAL; import static smetana.core.Macro.N; import static smetana.core.Macro.UNSUPPORTED; import h.ST_Ppoly_t; import h.ST_pointf; import h.ST_pointnlink_t; import h.ST_triangle_t; import smetana.core.Z; import smetana.core.__ptr__; import smetana.core.jmp_buf; public class shortest__c { //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 7pb9zum2n4wlgil34lvh8i0ts // typedef double COORD //1 540u5gu9i0x1wzoxqqx5n2vwp // static jmp_buf jbuf private static jmp_buf jbuf = new jmp_buf(); //1 3gj35j1owzho1bj8qrr8j520a // static pointnlink_t *pnls, **pnlps //private static pointnlink_t pnls; //private static __ptr__ pnlps; //1 6r0oj01m6zabkua5f5x778wq6 // static int pnln, pnll //private static int pnln, pnll; //1 aywrlzd2nea9kkv8kzuctk7pt // static triangle_t *tris //private static __ptr__ tris; //1 a6aizijrgkmhf8hoyeqj49b60 // static int trin, tril //private static int trin, tril; //1 cc2hmcygbtg3adbwgkunssdhx // static deque_t dq //private final static __struct__ dq = JUtils.from(deque_t.class); //1 3k2f2er3efsrl0210su710vf // static Ppoint_t *ops //static private __ptr__ ops; //1 68lm8qk1d212p1ngzu26gudjc // static int opn //private static int opn; //3 2gub5b19vo2qexn56nw23wage // int Pshortestpath(Ppoly_t * polyp, Ppoint_t * eps, Ppolyline_t * output) public static int Pshortestpath(ST_Ppoly_t polyp, ST_pointf.Array eps, ST_Ppoly_t output) { ENTERING("2gub5b19vo2qexn56nw23wage","Pshortestpath"); try { int pi, minpi; double minx; final ST_pointf p1 = new ST_pointf(), p2 = new ST_pointf(), p3 = new ST_pointf(); int trii, trij, ftrii, ltrii; int ei; final ST_pointnlink_t[] epnls = new ST_pointnlink_t[] {new ST_pointnlink_t(),new ST_pointnlink_t()}; ST_pointnlink_t lpnlp=null, rpnlp=null, pnlp=null; ST_triangle_t.Array trip; int splitindex; if (setjmp(jbuf)!=0) return -2; /* make space */ growpnls(polyp.pn); Z.z().pnll = 0; Z.z().tril = 0; growdq(polyp.pn * 2); Z.z().dq.fpnlpi = Z.z().dq.pnlpn / 2; Z.z().dq.lpnlpi = Z.z().dq.fpnlpi - 1; /* make sure polygon is CCW and load pnls array */ for (pi = 0, minx = HUGE_VAL, minpi = -1; pi < polyp.pn; pi++) { if (minx > polyp.ps.get(pi).x) { minx = polyp.ps.get(pi).x; minpi = pi; } } p2.____(polyp.ps.plus(minpi)); p1.____(polyp.ps.plus(((minpi == 0) ? polyp.pn - 1 : minpi - 1))); p3.____(polyp.ps.plus(((minpi == polyp.pn - 1) ? 0 : minpi + 1))); if (((p1.x == p2.x && p2.x == p3.x) && (p3.y > p2.y)) || ccw(p1, p2, p3) != 1) { for (pi = polyp.pn - 1; pi >= 0; pi--) { if (pi < polyp.pn - 1 && polyp.ps.get(pi).x == polyp.ps.get(pi+1).x && polyp.ps.get(pi).y == polyp.ps.get(pi+1).y) continue; Z.z().pnls[Z.z().pnll].pp = (ST_pointf) ((ST_pointf)polyp.ps.get(pi)); Z.z().pnls[Z.z().pnll].link = Z.z().pnls[Z.z().pnll % polyp.pn]; Z.z().pnlps[Z.z().pnll] = Z.z().pnls[Z.z().pnll]; Z.z().pnll++; } } else { for (pi = 0; pi < polyp.pn; pi++) { if (pi > 0 && polyp.ps.get(pi).x == polyp.ps.get(pi - 1).x && polyp.ps.get(pi).y == polyp.ps.get(pi - 1).y) continue; Z.z().pnls[Z.z().pnll].pp = (ST_pointf) ((ST_pointf)polyp.ps.get(pi)); Z.z().pnls[Z.z().pnll].link = Z.z().pnls[Z.z().pnll % polyp.pn]; Z.z().pnlps[Z.z().pnll] = Z.z().pnls[Z.z().pnll]; Z.z().pnll++; } } /* generate list of triangles */ triangulate(Z.z().pnlps, Z.z().pnll); /* connect all pairs of triangles that share an edge */ for (trii = 0; trii < Z.z().tril; trii++) for (trij = trii + 1; trij < Z.z().tril; trij++) connecttris(trii, trij); /* find first and last triangles */ for (trii = 0; trii < Z.z().tril; trii++) if (pointintri(trii, eps.plus(0).getStruct())) break; if (trii == Z.z().tril) { UNSUPPORTED("4ma3y8l4lmjcsw49kmsgknig6"); // fprintf (stderr, "libpath/%s:%d: %s\n", "graphviz-2.38.0\\lib\\pathplan\\shortest.c", 26, ("source point not in any triangle")); UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1; } ftrii = trii; for (trii = 0; trii < Z.z().tril; trii++) if (pointintri(trii, eps.plus(1).getStruct())) break; if (trii == Z.z().tril) { System.err.println("libpath/%s:%d: %s\n" + "graphviz-2.38.0\\lib\\pathplan\\shortest.c" + 26 + ("destination point not in any triangle")); return -1; } ltrii = trii; /* mark the strip of triangles from eps[0] to eps[1] */ if (N(marktripath(ftrii, ltrii))) { System.err.println("libpath/%s:%d: %s" + "graphviz-2.38.0\\lib\\pathplan\\shortest.c" + 26 + ("cannot find triangle path")); /* a straight line is better than failing */ growops(2); output.pn = 2; Z.z().ops_shortest.plus(0).setStruct(eps.plus(0).getStruct()); Z.z().ops_shortest.plus(1).setStruct(eps.plus(1).getStruct()); output.setPtr("ps", Z.z().ops_shortest); return 0; } /* if endpoints in same triangle, use a single line */ if (ftrii == ltrii) { UNSUPPORTED("2nnkwrdxg0ma2m482dqarlbz6"); // growops(2); UNSUPPORTED("5penbn9ky80i7jw02belk2zoj"); // output->pn = 2; UNSUPPORTED("8i925e1tnbqn909027lqcg3fi"); // ops[0] = eps[0], ops[1] = eps[1]; UNSUPPORTED("3rcg6c9s9nmostq9c3r5n6x4h"); // output->ps = ops; UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; } /* build funnel and shortest path linked list (in add2dq) */ epnls[0].pp = eps.get(0); epnls[0].link = null; epnls[1].pp = eps.get(1); epnls[1].link = null; add2dq(1, epnls[0]); Z.z().dq.apex = Z.z().dq.fpnlpi; trii = ftrii; while (trii != -1) { trip = Z.z().tris.plusJ(trii); trip.get(0).mark = 2; /* find the left and right points of the exiting edge */ for (ei = 0; ei < 3; ei++) if (trip.get(0).e[ei].rtp!=null && trip.get(0).e[ei].rtp.get(0).mark == 1) break; if (ei == 3) { /* in last triangle */ if (ccw(eps.get(1), Z.z().dq.pnlps[Z.z().dq.fpnlpi].pp, Z.z().dq.pnlps[Z.z().dq.lpnlpi].pp) == 1) { lpnlp = Z.z().dq.pnlps[Z.z().dq.lpnlpi]; rpnlp = epnls[1]; } else { lpnlp = epnls[1]; rpnlp = Z.z().dq.pnlps[Z.z().dq.lpnlpi]; } } else { pnlp = trip.get(0).e[(ei + 1) % 3].pnl1p; if (ccw(trip.get(0).e[ei].pnl0p.pp, pnlp.pp, trip.get(0).e[ei].pnl1p.pp) == 1) UNSUPPORTED("2cii65lhw4wb8nyvjv702v7md"); // lpnlp = trip->e[ei].pnl1p, rpnlp = trip->e[ei].pnl0p; else { lpnlp = trip.get(0).e[ei].pnl0p; rpnlp = trip.get(0).e[ei].pnl1p; } } /* update deque */ if (trii == ftrii) { add2dq(2, lpnlp); add2dq(1, rpnlp); } else { if (NEQ(Z.z().dq.pnlps[Z.z().dq.fpnlpi], rpnlp) && NEQ(Z.z().dq.pnlps[Z.z().dq.lpnlpi], rpnlp)) { /* add right point to deque */ splitindex = finddqsplit(rpnlp); splitdq(2, splitindex); add2dq(1, rpnlp); /* if the split is behind the apex, then reset apex */ if (splitindex > Z.z().dq.apex) Z.z().dq.apex = splitindex; } else { /* add left point to deque */ splitindex = finddqsplit(lpnlp); splitdq(1, splitindex); add2dq(2, lpnlp); /* if the split is in front of the apex, then reset apex */ if (splitindex < Z.z().dq.apex) Z.z().dq.apex = splitindex; } } trii = -1; for (ei = 0; ei < 3; ei++) if (trip.get(0).e[ei].rtp!=null && trip.get(0).e[ei].rtp.get(0).mark == 1) { trii = trip.get(0).e[ei].rtp.minus(Z.z().tris); break; } } for (pi = 0, pnlp = epnls[1]; pnlp!=null; pnlp = pnlp.link) pi++; growops(pi); output.pn = pi; for (pi = pi - 1, pnlp = epnls[1]; pnlp!=null; pi--, pnlp = pnlp.link) Z.z().ops_shortest.get(pi).____(pnlp.pp); output.ps = Z.z().ops_shortest; return 0; } finally { LEAVING("2gub5b19vo2qexn56nw23wage","Pshortestpath"); } } //3 73cr7m3mqvtuotpzrmaw2y8zm // static void triangulate(pointnlink_t ** pnlps, int pnln) public static void triangulate(ST_pointnlink_t pnlps[], int pnln) { ENTERING("73cr7m3mqvtuotpzrmaw2y8zm","triangulate"); try { int pnli, pnlip1, pnlip2; LOG2("triangulate "+pnln); if (pnln > 3) { for (pnli = 0; pnli < pnln; pnli++) { pnlip1 = (pnli + 1) % pnln; pnlip2 = (pnli + 2) % pnln; if (isdiagonal(pnli, pnlip2, pnlps, pnln)) { loadtriangle(pnlps[pnli], pnlps[pnlip1], pnlps[pnlip2]); for (pnli = pnlip1; pnli < pnln - 1; pnli++) pnlps[pnli] = pnlps[pnli + 1]; triangulate(pnlps, pnln - 1); return; } } throw new IllegalStateException("libpath/%s:%d: %s\n" + "graphviz-2.38.0\\lib\\pathplan\\shortest.c" + 26 + ("triangulation failed")); } else loadtriangle(pnlps[0], pnlps[1], pnlps[2]); } finally { LEAVING("73cr7m3mqvtuotpzrmaw2y8zm","triangulate"); } } //3 72of3cd7shtwokglxapw04oe9 // static int isdiagonal(int pnli, int pnlip2, pointnlink_t ** pnlps, int pnln) public static boolean isdiagonal(int pnli, int pnlip2, ST_pointnlink_t[] pnlps, int pnln) { ENTERING("72of3cd7shtwokglxapw04oe9","isdiagonal"); try { int pnlip1, pnlim1, pnlj, pnljp1; boolean res; /* neighborhood test */ pnlip1 = (pnli + 1) % pnln; pnlim1 = (pnli + pnln - 1) % pnln; /* If P[pnli] is a convex vertex [ pnli+1 left of (pnli-1,pnli) ]. */ if (ccw(pnlps[pnlim1].pp, pnlps[pnli].pp, pnlps[pnlip1].pp) == 1) res = (ccw(pnlps[pnli].pp, pnlps[pnlip2].pp, pnlps[pnlim1].pp) == 1) && (ccw(pnlps[pnlip2].pp, pnlps[pnli].pp, pnlps[pnlip1].pp) == 1); /* Assume (pnli - 1, pnli, pnli + 1) not collinear. */ else res = (ccw(pnlps[pnli].pp, pnlps[pnlip2].pp, pnlps[pnlip1].pp) == 2); if (N(res)) return false; /* check against all other edges */ for (pnlj = 0; pnlj < pnln; pnlj++) { pnljp1 = (pnlj + 1) % pnln; if (N((pnlj == pnli) || (pnljp1 == pnli) || (pnlj == pnlip2) || (pnljp1 == pnlip2))) if (intersects(pnlps[pnli].pp, pnlps[pnlip2].pp, pnlps[pnlj].pp, pnlps[pnljp1].pp)) return false; } return ((N(false))); } finally { LEAVING("72of3cd7shtwokglxapw04oe9","isdiagonal"); } } //3 7vf9jtj9i8rg0cxrstbqswuck // static void loadtriangle(pointnlink_t * pnlap, pointnlink_t * pnlbp, pointnlink_t * pnlcp) public static void loadtriangle(__ptr__ pnlap, __ptr__ pnlbp, __ptr__ pnlcp) { ENTERING("7vf9jtj9i8rg0cxrstbqswuck","loadtriangle"); try { ST_triangle_t.Array trip; int ei; /* make space */ if (Z.z().tril >= Z.z().trin) growtris(Z.z().trin + 20); trip = Z.z().tris.plusJ(Z.z().tril++); trip.get(0).mark = 0; trip.get(0).e[0].pnl0p = (ST_pointnlink_t) pnlap; trip.get(0).e[0].pnl1p = (ST_pointnlink_t) pnlbp; trip.get(0).e[0].rtp = null; trip.get(0).e[1].pnl0p = (ST_pointnlink_t) pnlbp; trip.get(0).e[1].pnl1p = (ST_pointnlink_t) pnlcp; trip.get(0).e[1].rtp = null; trip.get(0).e[2].pnl0p = (ST_pointnlink_t) pnlcp; trip.get(0).e[2].pnl1p = (ST_pointnlink_t) pnlap; trip.get(0).e[2].rtp = null; for (ei = 0; ei < 3; ei++) trip.get(0).e[ei].lrp = trip; } finally { LEAVING("7vf9jtj9i8rg0cxrstbqswuck","loadtriangle"); } } //3 6coujw0qksrgu5sxj0r39qm1u // static void connecttris(int tri1, int tri2) public static void connecttris(int tri1, int tri2) { ENTERING("6coujw0qksrgu5sxj0r39qm1u","connecttris"); try { ST_triangle_t.Array tri1p; ST_triangle_t.Array tri2p; int ei, ej; for (ei = 0; ei < 3; ei++) { for (ej = 0; ej < 3; ej++) { tri1p = Z.z().tris.plusJ(tri1); tri2p = Z.z().tris.plusJ(tri2); if ((EQ(tri1p.get(0).e[ei].pnl0p.pp, tri2p.get(0).e[ej].pnl0p.pp) && EQ(tri1p.get(0).e[ei].pnl1p.pp, tri2p.get(0).e[ej].pnl1p.pp)) || (EQ(tri1p.get(0).e[ei].pnl0p.pp, tri2p.get(0).e[ej].pnl1p.pp) && EQ(tri1p.get(0).e[ei].pnl1p.pp, tri2p.get(0).e[ej].pnl0p.pp))) { tri1p.get(0).e[ei].rtp = tri2p; tri2p.get(0).e[ej].rtp = tri1p; } } } } finally { LEAVING("6coujw0qksrgu5sxj0r39qm1u","connecttris"); } } //3 3waxf5wy3mwt12wpg5hxg3o9c // static int marktripath(int trii, int trij) public static boolean marktripath(int trii, int trij) { ENTERING("3waxf5wy3mwt12wpg5hxg3o9c","marktripath"); try { int ei; if (Z.z().tris.plusJ(trii).get(0).mark!=0) return false; Z.z().tris.plusJ(trii).get(0).mark = 1; if (trii == trij) return ((!(false))); for (ei = 0; ei < 3; ei++) if ((Z.z().tris.plusJ(trii).get(0).e[ei].rtp!=null && marktripath(Z.z().tris.plusJ(trii).get(0).e[ei].rtp.minus(Z.z().tris), trij))) return ((!(false))); Z.z().tris.plusJ(trii).get(0).mark = 0; return false; } finally { LEAVING("3waxf5wy3mwt12wpg5hxg3o9c","marktripath"); } } //3 44szdl31mg8mt5qrfj70kb2sn // static void add2dq(int side, pointnlink_t * pnlp) public static void add2dq(int side, ST_pointnlink_t pnlp) { ENTERING("44szdl31mg8mt5qrfj70kb2sn","add2dq"); try { if (side == 1) { if (Z.z().dq.lpnlpi - Z.z().dq.fpnlpi >= 0) pnlp.link = Z.z().dq.pnlps[Z.z().dq.fpnlpi]; /* shortest path links */ Z.z().dq.fpnlpi = Z.z().dq.fpnlpi-1; Z.z().dq.pnlps[Z.z().dq.fpnlpi] = pnlp; } else { if (Z.z().dq.lpnlpi - Z.z().dq.fpnlpi >= 0) pnlp.link = Z.z().dq.pnlps[Z.z().dq.lpnlpi]; /* shortest path links */ Z.z().dq.lpnlpi = Z.z().dq.lpnlpi+1; Z.z().dq.pnlps[Z.z().dq.lpnlpi] = pnlp; } } finally { LEAVING("44szdl31mg8mt5qrfj70kb2sn","add2dq"); } } //3 572sssdz1se16w790xceiy5vr // static void splitdq(int side, int index) public static void splitdq(int side, int index) { ENTERING("572sssdz1se16w790xceiy5vr","splitdq"); try { if (side == 1) Z.z().dq.lpnlpi = index; else Z.z().dq.fpnlpi = index; } finally { LEAVING("572sssdz1se16w790xceiy5vr","splitdq"); } } //3 9dnrc8vqpffp5t3bmsackgqtl // static int finddqsplit(pointnlink_t * pnlp) public static int finddqsplit(ST_pointnlink_t pnlp) { ENTERING("9dnrc8vqpffp5t3bmsackgqtl","finddqsplit"); try { int index; for (index = Z.z().dq.fpnlpi; index < Z.z().dq.apex; index++) if (ccw(Z.z().dq.pnlps[index + 1].pp, Z.z().dq.pnlps[index].pp, pnlp.pp) == 1) return index; for (index = Z.z().dq.lpnlpi; index > Z.z().dq.apex; index--) if (ccw(Z.z().dq.pnlps[index - 1].pp, Z.z().dq.pnlps[index].pp, pnlp.pp) == 2) return index; return Z.z().dq.apex; } finally { LEAVING("9dnrc8vqpffp5t3bmsackgqtl","finddqsplit"); } } //3 72h03s8inxtto2ekvmuqjtj3d // static int ccw(Ppoint_t * p1p, Ppoint_t * p2p, Ppoint_t * p3p) public static int ccw(ST_pointf p1p, ST_pointf p2p, ST_pointf p3p) { ENTERING("72h03s8inxtto2ekvmuqjtj3d","ccw"); try { double d; d = ((p1p.y - p2p.y) * (p3p.x - p2p.x)) - ((p3p.y - p2p.y) * (p1p.x - p2p.x)); return (d > 0) ? 1 : ((d < 0) ? 2 : 3); } finally { LEAVING("72h03s8inxtto2ekvmuqjtj3d","ccw"); } } //3 22a9ajg9t8ovqsigk3tyu3rkd // static int intersects(Ppoint_t * pap, Ppoint_t * pbp, Ppoint_t * pcp, Ppoint_t * pdp) public static boolean intersects(ST_pointf pap, ST_pointf pbp, ST_pointf pcp, ST_pointf pdp) { ENTERING("22a9ajg9t8ovqsigk3tyu3rkd","intersects"); try { int ccw1, ccw2, ccw3, ccw4; if (ccw(pap, pbp, pcp) == 3 || ccw(pap, pbp, pdp) == 3 || ccw(pcp, pdp, pap) == 3 || ccw(pcp, pdp, pbp) == 3) { if (between(pap, pbp, pcp) || between(pap, pbp, pdp) || between(pcp, pdp, pap) || between(pcp, pdp, pbp)) return ((!(false))); } else { ccw1 = (ccw(pap, pbp, pcp) == 1) ? 1 : 0; ccw2 = (ccw(pap, pbp, pdp) == 1) ? 1 : 0; ccw3 = (ccw(pcp, pdp, pap) == 1) ? 1 : 0; ccw4 = (ccw(pcp, pdp, pbp) == 1) ? 1 : 0; return (ccw1 ^ ccw2)!=0 && (ccw3 ^ ccw4)!=0; } return false; } finally { LEAVING("22a9ajg9t8ovqsigk3tyu3rkd","intersects"); } } //3 uh5n18rzyevtb4cwpni70qpc // static int between(Ppoint_t * pap, Ppoint_t * pbp, Ppoint_t * pcp) public static boolean between(ST_pointf pap, ST_pointf pbp, ST_pointf pcp) { ENTERING("uh5n18rzyevtb4cwpni70qpc","between"); try { final ST_pointf p1 = new ST_pointf(), p2 = new ST_pointf(); p1.setDouble("x", pbp.x - pap.x); p1.setDouble("y", pbp.y - pap.y); p2.setDouble("x", pcp.x - pap.x); p2.setDouble("y", pcp.y - pap.y); if (ccw(pap, pbp, pcp) != 3) return false; return (p2.x * p1.x + p2.y * p1.y >= 0) && (p2.x * p2.x + p2.y * p2.y <= p1.x * p1.x + p1.y * p1.y); } finally { LEAVING("uh5n18rzyevtb4cwpni70qpc","between"); } } //3 zti1mzm2m7tr2xwnbf7e8u3d // static int pointintri(int trii, Ppoint_t * pp) public static boolean pointintri(int trii, ST_pointf pp) { ENTERING("zti1mzm2m7tr2xwnbf7e8u3d","pointintri"); try { int ei, sum; for (ei = 0, sum = 0; ei < 3; ei++) if (ccw(Z.z().tris.plusJ(trii).get(0).e[ei].pnl0p.pp, Z.z().tris.plusJ(trii).get(0).e[ei].pnl1p.pp, pp) != 2) sum++; return (sum == 3 || sum == 0); } finally { LEAVING("zti1mzm2m7tr2xwnbf7e8u3d","pointintri"); } } //3 85wstb60jkjd0kbh9tyninm4h // static void growpnls(int newpnln) public static void growpnls(int newpnln) { ENTERING("85wstb60jkjd0kbh9tyninm4h","growpnls"); try { if (newpnln <= Z.z().pnln) return; if (N(Z.z().pnls)) { if (N(Z.z().pnls = malloc(newpnln))) { UNSUPPORTED("9zyfc4bjg3i6rrna9vqf8doys"); // fprintf (stderr, "libpath/%s:%d: %s\n", "graphviz-2.38.0\\lib\\pathplan\\shortest.c", 26, ("cannot malloc pnls")); UNSUPPORTED("1r6uhbnmxv8c6msnscw07w0qx"); // longjmp(jbuf,1); } if (N(Z.z().pnlps = malloc(newpnln))) { UNSUPPORTED("1etar0wd2cbbvqo4jnmbvjiz4"); // fprintf (stderr, "libpath/%s:%d: %s\n", "graphviz-2.38.0\\lib\\pathplan\\shortest.c", 26, ("cannot malloc pnlps")); UNSUPPORTED("1r6uhbnmxv8c6msnscw07w0qx"); // longjmp(jbuf,1); } } else { if (N(Z.z().pnls = realloc(Z.z().pnls, newpnln))) { UNSUPPORTED("105nogpkt0qqut0yu4alvkk1u"); // fprintf (stderr, "libpath/%s:%d: %s\n", "graphviz-2.38.0\\lib\\pathplan\\shortest.c", 26, ("cannot realloc pnls")); UNSUPPORTED("1r6uhbnmxv8c6msnscw07w0qx"); // longjmp(jbuf,1); } if (N(Z.z().pnlps = realloc(Z.z().pnlps, newpnln))) { UNSUPPORTED("be84alh84ub40x4um989aj20d"); // fprintf (stderr, "libpath/%s:%d: %s\n", "graphviz-2.38.0\\lib\\pathplan\\shortest.c", 26, ("cannot realloc pnlps")); UNSUPPORTED("1r6uhbnmxv8c6msnscw07w0qx"); // longjmp(jbuf,1); } } Z.z().pnln = newpnln; } finally { LEAVING("85wstb60jkjd0kbh9tyninm4h","growpnls"); } } private static ST_pointnlink_t[] malloc(int nb) { ST_pointnlink_t result[] = new ST_pointnlink_t[nb]; for (int i = 0; i < result.length; i++) { result[i] = new ST_pointnlink_t(); } return result; } private static ST_pointnlink_t[] realloc(ST_pointnlink_t orig[], int nb) { if (orig.length >= nb) { return orig; } ST_pointnlink_t result[] = malloc(nb); for (int i = 0; i < orig.length; i++) { result[i] = orig[i]; } return result; } //3 c5q8ult6w26jppe5ifzgcoq82 // static void growtris(int newtrin) public static void growtris(int newtrin) { ENTERING("c5q8ult6w26jppe5ifzgcoq82","growtris"); try { if (newtrin <= Z.z().trin) return; if (N(Z.z().tris)) { if (N(Z.z().tris = new ST_triangle_t.Array(newtrin))) { UNSUPPORTED("5782e28cjpaa3dpf8up4zmtq7"); // fprintf (stderr, "libpath/%s:%d: %s\n", "graphviz-2.38.0\\lib\\pathplan\\shortest.c", 26, ("cannot malloc tris")); UNSUPPORTED("1r6uhbnmxv8c6msnscw07w0qx"); // longjmp(jbuf,1); } } else { if (N(Z.z().tris = Z.z().tris.reallocJ(newtrin))) { UNSUPPORTED("d3fgu54pn5tydfhn7z73v73ra"); // fprintf (stderr, "libpath/%s:%d: %s\n", "graphviz-2.38.0\\lib\\pathplan\\shortest.c", 26, ("cannot realloc tris")); UNSUPPORTED("1r6uhbnmxv8c6msnscw07w0qx"); // longjmp(jbuf,1); } } Z.z().trin = newtrin; } finally { LEAVING("c5q8ult6w26jppe5ifzgcoq82","growtris"); } } private static ST_triangle_t[] malloc2(int nb) { ST_triangle_t result[] = new ST_triangle_t[nb]; for (int i = 0; i < result.length; i++) { result[i] = new ST_triangle_t(); } return result; } private static ST_triangle_t[] realloc2(ST_triangle_t orig[], int nb) { if (orig.length >= nb) { return orig; } ST_triangle_t result[] = malloc2(nb); for (int i = 0; i < orig.length; i++) { result[i] = orig[i]; } return result; } //3 bzym9u6dtatii1vp4hcmofc80 // static void growdq(int newdqn) public static void growdq(int newdqn) { ENTERING("bzym9u6dtatii1vp4hcmofc80","growdq"); try { if (newdqn <= Z.z().dq.pnlpn) return; if (N(Z.z().dq.pnlps)) { if (N (Z.z().dq.malloc(newdqn))) { UNSUPPORTED("88fwpb40wz9jc8jiz7u032s4t"); // fprintf (stderr, "libpath/%s:%d: %s\n", "graphviz-2.38.0\\lib\\pathplan\\shortest.c", 26, ("cannot malloc dq.pnls")); UNSUPPORTED("1r6uhbnmxv8c6msnscw07w0qx"); // longjmp(jbuf,1); } } else { if (N(Z.z().dq.realloc(newdqn))) { UNSUPPORTED("exqx4ck7h15m8whgip6xpnhoo"); // fprintf (stderr, "libpath/%s:%d: %s\n", "graphviz-2.38.0\\lib\\pathplan\\shortest.c", 26, ("cannot realloc dq.pnls")); UNSUPPORTED("1r6uhbnmxv8c6msnscw07w0qx"); // longjmp(jbuf,1); } } Z.z().dq.pnlpn = newdqn; } finally { LEAVING("bzym9u6dtatii1vp4hcmofc80","growdq"); } } //3 d7vtt8xqxbdnx9kwtt1zzof75 // static void growops(int newopn) public static void growops(int newopn) { ENTERING("d7vtt8xqxbdnx9kwtt1zzof75","growops"); try { if (newopn <= Z.z().opn_shortest) return; if (N(Z.z().ops_shortest)) { if (N(Z.z().ops_shortest = new ST_pointf.Array(newopn))) { UNSUPPORTED("7wxgcgah7iy6vetj5yszoq4k4"); // fprintf (stderr, "libpath/%s:%d: %s\n", "graphviz-2.38.0\\lib\\pathplan\\shortest.c", 26, ("cannot malloc ops")); UNSUPPORTED("1r6uhbnmxv8c6msnscw07w0qx"); // longjmp(jbuf,1); } } else { if (N(Z.z().ops_shortest = Z.z().ops_shortest.reallocJ(newopn))) { UNSUPPORTED("7azrdo5s3kc44taqmtmeu1s33"); // fprintf (stderr, "libpath/%s:%d: %s\n", "graphviz-2.38.0\\lib\\pathplan\\shortest.c", 26, ("cannot realloc ops")); UNSUPPORTED("1r6uhbnmxv8c6msnscw07w0qx"); // longjmp(jbuf,1); } } Z.z().opn_shortest = newopn; } finally { LEAVING("d7vtt8xqxbdnx9kwtt1zzof75","growops"); } } } plantuml-1.2018.13+ds/src/gen/lib/pathplan/shortestpth__c.java000066400000000000000000000153321340005343600240770ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.pathplan; import static smetana.core.Macro.UNSUPPORTED; public class shortestpth__c { //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 7pb9zum2n4wlgil34lvh8i0ts // typedef double COORD //1 e75el5ykqd72ikokwkl7j2epc // typedef COORD **array2 //1 4lqn82dcexmb1ujfx7ciwkq7t // static COORD unseen = (double) INT_MAX //3 3vmsnhxv064fhv23juvb3901f // int *shortestPath(int root, int target, int V, array2 wadj) public static Object shortestPath(Object... arg) { UNSUPPORTED("ck9i1aidj3wocmwgkt8103ov9"); // int *shortestPath(int root, int target, int V, array2 wadj) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7q38vtznktnwi60z79t1yl7kn"); // int *dad; UNSUPPORTED("3n8lsf3bhkta5dw01y6dosbhw"); // COORD *vl; UNSUPPORTED("emjv9wq86wxaz1mkis592qedk"); // COORD *val; UNSUPPORTED("985nf8jew0zg19ydmlmarwyl1"); // int min; UNSUPPORTED("5tszi7ot461b5xrq7t6i2p9jw"); // int k, t; UNSUPPORTED("8lhpkwmemj4ejagiby4wce1tp"); // /* allocate arrays */ UNSUPPORTED("70ahd60yay9ycxlgxj1zuyqwk"); // dad = (int *) malloc(V * sizeof(int)); UNSUPPORTED("cwcxxkaw0opazqbubfd67ylkw"); // vl = (COORD *) malloc((V + 1) * sizeof(COORD)); /* One extra for sentinel */ UNSUPPORTED("30bnpu1p596ets2fp9d9fcuuo"); // val = vl + 1; UNSUPPORTED("6usgmh9di07cghsmczuausuqv"); // /* initialize arrays */ UNSUPPORTED("7s35obmd4mmmswain6cq6kjyz"); // for (k = 0; k < V; k++) { UNSUPPORTED("9g1fv9lo3mqgozp0hgspk0jfx"); // dad[k] = -1; UNSUPPORTED("3dfr2o54vzdz7ow35rvkkupwp"); // val[k] = -unseen; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6vvn9wwyfshecuati4wkh0hb1"); // val[-1] = -(unseen + (COORD) 1); /* Set sentinel */ UNSUPPORTED("ail1ie6r4omx0srfndd7uhkx8"); // min = root; UNSUPPORTED("8iguu5odqkwyske4dcuz2zh5c"); // /* use (min >= 0) to fill entire tree */ UNSUPPORTED("3b9mo25ltl9ubqm9ptv305emr"); // while (min != target) { UNSUPPORTED("37uwanwupwkgvkiatkocsnwmi"); // k = min; UNSUPPORTED("2yk23r7ym8txau8t7w94um5l9"); // val[k] *= -1; UNSUPPORTED("d8r99m4cpfcmbygzpwrb87waf"); // min = -1; UNSUPPORTED("99ykmzy96436vip14lubfa2jo"); // if (val[k] == unseen) UNSUPPORTED("9vb74y52jxvq4iptd1w4dewnu"); // val[k] = 0; UNSUPPORTED("45pfcyfo86ei9srti6g0iz6xo"); // for (t = 0; t < V; t++) { UNSUPPORTED("didw0ewjf6uo68oewapzly1rv"); // if (val[t] < 0) { UNSUPPORTED("ekeykiipkt1z2a3sn2ilt5gx7"); // COORD newpri; UNSUPPORTED("bczxeah6ns9u23ey094g25kjz"); // COORD wkt; UNSUPPORTED("cctfdc4m6tunpeulyd30cbdma"); // /* Use lower triangle */ UNSUPPORTED("akz9x35nrpcyklhz1a227a4xh"); // if (k >= t) UNSUPPORTED("6cx7tblgrev9yzb4ppafglzh7"); // wkt = wadj[k][t]; UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("bbx44cas4y4rgf8fnytgoavog"); // wkt = wadj[t][k]; UNSUPPORTED("2p64h5oxifdj0iau4zuiebitc"); // newpri = -(val[k] + wkt); UNSUPPORTED("1skepgmjhmtk882tbnh0ny10o"); // if ((wkt != 0) && (val[t] < newpri)) { UNSUPPORTED("73wirchpqpajql6a751nimkyu"); // val[t] = newpri; UNSUPPORTED("4hhrf0py8taqfmqeg3uvrx081"); // dad[t] = k; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("98nv5m3wkh33gdi3z4vns4n4k"); // if (val[t] > val[min]) UNSUPPORTED("cpb83eu6rulsmbhc2rwsi9i5l"); // min = t; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("yxn5pc6i3jmimfvzmmhfotak"); // free(vl); UNSUPPORTED("60tomuwdovbmgh94zzb3yeqib"); // return dad; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eb1kiq1ildiyme0qn3xszjyvk // int *makePath(Ppoint_t p, int pp, COORD * pvis, Ppoint_t q, int qp, COORD * qvis, vconfig_t * conf) public static Object makePath(Object... arg) { UNSUPPORTED("2jth0bos9lrgk2xi5083p5rvp"); // int *makePath(Ppoint_t p, int pp, COORD * pvis, UNSUPPORTED("a6dn81zxyfp9ydvajebmx15wt"); // Ppoint_t q, int qp, COORD * qvis, vconfig_t * conf) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9e683sch2jealt2ckz48v9f0j"); // int V = conf->N; UNSUPPORTED("5ykvw66ec1v4dm5wm0ujsfgt9"); // if (directVis(p, pp, q, qp, conf)) { UNSUPPORTED("8y9o9xskc3crv3uecpyrsdakg"); // int *dad = (int *) malloc(sizeof(int) * (V + 2)); UNSUPPORTED("7oo70ckt9z1mf09uljyji5zud"); // dad[V] = V + 1; UNSUPPORTED("3akorfrpmzhjtlnjmmos6z20q"); // dad[V + 1] = -1; UNSUPPORTED("7x27015v5wfafitei6hpx0rii"); // return dad; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("946fxixcelejjif01eiioqduy"); // array2 wadj = conf->vis; UNSUPPORTED("5ynkls19r2ylvtzz36h6vjy0t"); // wadj[V] = qvis; UNSUPPORTED("a8gy96zl4x1lwid18nfp48pbm"); // wadj[V + 1] = pvis; UNSUPPORTED("1fm1wr69gee2idjkv025ovvwh"); // return (shortestPath(V + 1, V, V + 2, wadj)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/pathplan/solvers__c.java000066400000000000000000000113611340005343600232030ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.pathplan; import static smetana.core.JUtils.atan2; import static smetana.core.JUtils.cos; import static smetana.core.JUtils.pow; import static smetana.core.JUtils.sqrt; import static smetana.core.JUtilsDebug.ENTERING; import static smetana.core.JUtilsDebug.LEAVING; public class solvers__c { //3 2rap7a11ad4ugnphkh9gbn4xl // int solve3(double *coeff, double *roots) public static int solve3(double coeff[], double roots[]) { ENTERING("2rap7a11ad4ugnphkh9gbn4xl","solve3"); try { double a, b, c, d; int rootn, i; double p, q, disc, b_over_3a, c_over_a, d_over_a; double r, theta, temp, alpha, beta; a = coeff[3]; b = coeff[2]; c = coeff[1]; d = coeff[0]; if ((((a) < 1E-7) && ((a) > -1E-7))) return solve2(coeff, roots); b_over_3a = b / (3 * a); c_over_a = c / a; d_over_a = d / a; p = b_over_3a * b_over_3a; q = 2 * b_over_3a * p - b_over_3a * c_over_a + d_over_a; p = c_over_a / 3 - p; disc = q * q + 4 * p * p * p; if (disc < 0) { r = .5 * sqrt(-disc + q * q); theta = atan2(sqrt(-disc), -q); temp = 2 * ((r < 0) ? (-1*pow(-r, 1.0/3.0)) : pow (r, 1.0/3.0)); roots[0] = temp * cos(theta / 3); roots[1] = temp * cos((theta + 3.14159265358979323846 + 3.14159265358979323846) / 3); roots[2] = temp * cos((theta - 3.14159265358979323846 - 3.14159265358979323846) / 3); rootn = 3; } else { alpha = .5 * (sqrt(disc) - q); beta = -q - alpha; roots[0] = ((alpha < 0) ? (-1*pow(-alpha, 1.0/3.0)) : pow (alpha, 1.0/3.0)) + ((beta < 0) ? (-1*pow(-beta, 1.0/3.0)) : pow (beta, 1.0/3.0)); if (disc > 0) rootn = 1; else {roots[1] = roots[2] = -.5 * roots[0]; rootn = 3;} } for (i = 0; i < rootn; i++) roots[i] -= b_over_3a; return rootn; } finally { LEAVING("2rap7a11ad4ugnphkh9gbn4xl","solve3"); } } //3 9b5238tdddphds1x726z0osdm // int solve2(double *coeff, double *roots) public static int solve2(double coeff[], double roots[]) { ENTERING("9b5238tdddphds1x726z0osdm","solve2"); try { double a, b, c; double disc, b_over_2a, c_over_a; a = coeff[2]; b = coeff[1]; c = coeff[0]; if ((((a) < 1E-7) && ((a) > -1E-7))) return solve1(coeff, roots); b_over_2a = b / (2 * a); c_over_a = c / a; disc = b_over_2a * b_over_2a - c_over_a; if (disc < 0) return 0; else if (disc == 0) { roots[0] = -b_over_2a; return 1; } else { roots[0] = -b_over_2a + sqrt(disc); roots[1] = -2 * b_over_2a - roots[0]; return 2; } } finally { LEAVING("9b5238tdddphds1x726z0osdm","solve2"); } } //3 8xtqt7j6wyxc1b6tj0qtcu1rd // int solve1(double *coeff, double *roots) public static int solve1(double coeff[], double roots[]) { ENTERING("8xtqt7j6wyxc1b6tj0qtcu1rd","solve1"); try { double a, b; a = coeff[1]; b = coeff[0]; if ((((a) < 1E-7) && ((a) > -1E-7))) { if ((((b) < 1E-7) && ((b) > -1E-7))) return 4; else return 0; } roots[0] = -b / a; return 1; } finally { LEAVING("8xtqt7j6wyxc1b6tj0qtcu1rd","solve1"); } } } plantuml-1.2018.13+ds/src/gen/lib/pathplan/triang__c.java000066400000000000000000000272541340005343600230020ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.pathplan; import static smetana.core.Macro.UNSUPPORTED; import smetana.core.jmp_buf; public class triang__c { //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 7pb9zum2n4wlgil34lvh8i0ts // typedef double COORD //1 540u5gu9i0x1wzoxqqx5n2vwp // static jmp_buf jbuf private static jmp_buf jbuf = new jmp_buf(); //3 9l5xg5aowmh2yvhbzseo8ws0i // static int dpd_ccw(Ppoint_t * p1, Ppoint_t * p2, Ppoint_t * p3) public static Object dpd_ccw(Object... arg) { UNSUPPORTED("66u8hjpmzz1u1podxvft7tqbr"); // static int dpd_ccw(Ppoint_t * p1, Ppoint_t * p2, Ppoint_t * p3) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8l4kygp6iwsssqf4pip9kt8ih"); // double d = UNSUPPORTED("a5i2lyqa3iblrijf5i8d2gc2l"); // ((p1->y - p2->y) * (p3->x - p2->x)) - UNSUPPORTED("8vxxbchvixjdl9bnn73jj0ken"); // ((p3->y - p2->y) * (p1->x - p2->x)); UNSUPPORTED("2duek0l6qi5enj1p52uzx935s"); // return (d > 0) ? 2 : ((d < 0) ? 1 : 3); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3cpm045bql7do4skuvm0gysbz // int Ptriangulate(Ppoly_t * polygon, void (*fn) (void *, Ppoint_t *), void *vc) public static Object Ptriangulate(Object... arg) { UNSUPPORTED("9wq0zzi4wsqf1qmh5lisb5tur"); // int Ptriangulate(Ppoly_t * polygon, void (*fn) (void *, Ppoint_t *), UNSUPPORTED("aiup6hqt7vuonmdnhtadcpyyg"); // void *vc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("79ig2xj5nogd41esx7798m82t"); // int pointn; UNSUPPORTED("vbp57y34yrr1stscac6ij6wl"); // Ppoint_t **pointp; UNSUPPORTED("8i4e5opqy9uomak4ow0vdfkyu"); // pointn = polygon->pn; UNSUPPORTED("c7ts682vzzct8ooh1x4u7zy09"); // pointp = (Ppoint_t **) malloc(pointn * sizeof(Ppoint_t *)); UNSUPPORTED("69msjv91b63ali4jnpa1iae96"); // for (i = 0; i < pointn; i++) UNSUPPORTED("66ykefpx20ohahuts3stdhpv4"); // pointp[i] = &(polygon->ps[i]); UNSUPPORTED("ci9r8sj8tbc6yer5c8cebb0cm"); // if (setjmp(jbuf)) { UNSUPPORTED("1hfjyk5uqecl2hrvu9vdplqm9"); // free(pointp); UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3epdv4rxh1dblgm1uu3cirnns"); // triangulate(pointp, pointn, fn, vc); UNSUPPORTED("d7eui8n8t6ty33reomekpb4uy"); // free(pointp); UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 db1gjkgbhdyik8njcwxidnm06 // static void triangulate(Ppoint_t ** pointp, int pointn, void (*fn) (void *, Ppoint_t *), void *vc) public static Object triangulate(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("cycr5htq0awpt4lysrda94z75"); // triangulate(Ppoint_t ** pointp, int pointn, UNSUPPORTED("b80kmvbhu4qon4ithxw7iqghl"); // void (*fn) (void *, Ppoint_t *), void *vc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("47im1y8cb3jov8e7vfoq6976"); // int i, ip1, ip2, j; UNSUPPORTED("9vrtuc7i6xtgewghaf5mhcvw7"); // Ppoint_t A[3]; UNSUPPORTED("exebh5u9jcrlenwyhvh1q7ydp"); // if (pointn > 3) { UNSUPPORTED("17s2by4i08aiirk34qoufejm1"); // for (i = 0; i < pointn; i++) { UNSUPPORTED("4s8abivdx5zru8lby110pnbr0"); // ip1 = (i + 1) % pointn; UNSUPPORTED("el7eqg9364rd6m2jmmgd1x0w6"); // ip2 = (i + 2) % pointn; UNSUPPORTED("eugvvlona15w69kyxc7uao5rn"); // if (dpd_isdiagonal(i, ip2, pointp, pointn)) { UNSUPPORTED("7jt096yrjcjaka77bxj8ow4ur"); // A[0] = *pointp[i]; UNSUPPORTED("798zfru1x3zjftqir7h3184cy"); // A[1] = *pointp[ip1]; UNSUPPORTED("5sabp0m6pi8misjllge9rhs6i"); // A[2] = *pointp[ip2]; UNSUPPORTED("3tx9m6zu4gpdon7itam4m4zj6"); // fn(vc, A); UNSUPPORTED("cwdl8048erup925vkw9wm50tm"); // j = 0; UNSUPPORTED("b406sjxectwut71daq5renp3v"); // for (i = 0; i < pointn; i++) UNSUPPORTED("17mmkxxi6uyt2rtn26wqpnjq0"); // if (i != ip1) UNSUPPORTED("20nocric7p5rwm1keba2y9u9s"); // pointp[j++] = pointp[i]; UNSUPPORTED("f1yvgmqdgpzz2ld9mihtb1ny6"); // triangulate(pointp, pointn - 1, fn, vc); UNSUPPORTED("6bj8inpmr5ulm16jmfxsstjtn"); // return; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("efu63j23oynz0w42y5x2ccgl"); // longjmp(jbuf,1); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("du12jp7y7eb3k2lzktkq97ocv"); // A[0] = *pointp[0]; UNSUPPORTED("3zxe87agbrkgcdv3ezmeb4e0r"); // A[1] = *pointp[1]; UNSUPPORTED("7kqa9p0bujx0a7qu7g0l8u5gf"); // A[2] = *pointp[2]; UNSUPPORTED("4a2pon3qy0ncl805797s5a1cg"); // fn(vc, A); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6g3z4d4wjf8de2l784sgpmmol // static int dpd_isdiagonal(int i, int ip2, Ppoint_t ** pointp, int pointn) public static Object dpd_isdiagonal(Object... arg) { UNSUPPORTED("6igaattr8mose3ux86cjxqy8f"); // static int dpd_isdiagonal(int i, int ip2, Ppoint_t ** pointp, int pointn) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("i2fy680j9sex9dnpbrntxl4b"); // int ip1, im1, j, jp1, res; UNSUPPORTED("5lvzmrs5o783t9b2alzlkj6uq"); // /* neighborhood test */ UNSUPPORTED("9eqc4ewd8x2tb2o7676bqvzbk"); // ip1 = (i + 1) % pointn; UNSUPPORTED("7uaqndtt8y6wd5jenwxduolym"); // im1 = (i + pointn - 1) % pointn; UNSUPPORTED("e4zga3b8zozs44qyy6bccq35q"); // /* If P[i] is a convex vertex [ i+1 left of (i-1,i) ]. */ UNSUPPORTED("6rxb1urly3d45lz9xrdat9rjc"); // if (dpd_ccw(pointp[im1], pointp[i], pointp[ip1]) == 1) UNSUPPORTED("1h8m3wqaqis9j4awgexj22ljg"); // res = (dpd_ccw(pointp[i], pointp[ip2], pointp[im1]) == 1) && UNSUPPORTED("54snmiylw2hrwv7yf250ut7kk"); // (dpd_ccw(pointp[ip2], pointp[i], pointp[ip1]) == 1); UNSUPPORTED("f2vywip5w6wo2ku9n219qyc0t"); // /* Assume (i - 1, i, i + 1) not collinear. */ UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("8s457vlt2s8q2dv1carkz8jw1"); // res = ((dpd_ccw(pointp[i], pointp[ip2], pointp[ip1]) == 2) UNSUPPORTED("5lgnvc71rkx0ldj6euv5vtcsr"); // ); UNSUPPORTED("4v614d3uabme2jyn0anuritbb"); // /* UNSUPPORTED("71hkfc5n8im1y698xlsrhbyp5"); // && UNSUPPORTED("axkcv4kehdkqwxnlh4284iio4"); // (dpd_ccw (pointp[ip2], pointp[i], pointp[im1]) != ISCW)); UNSUPPORTED("bnetqzovnscxile7ao44kc0qd"); // */ UNSUPPORTED("6o97tfdzw11zrs51pped6bix"); // if (!res) { UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bsnnstj5ry3f53yyx6h80if6r"); // /* check against all other edges */ UNSUPPORTED("2eknpu2grk40zpq5rvl1rsf0e"); // for (j = 0; j < pointn; j++) { UNSUPPORTED("7j38zwxm4hyg9g5fi62sr5dz6"); // jp1 = (j + 1) % pointn; UNSUPPORTED("7cqino9kvp1bszwsv2z4zllv1"); // if (!((j == i) || (jp1 == i) || (j == ip2) || (jp1 == ip2))) UNSUPPORTED("attqyhhvmboobjbl2qf7l6hk1"); // if (dpd_intersects UNSUPPORTED("43hv90vngw3gvon8vmtn7o3in"); // (pointp[i], pointp[ip2], pointp[j], pointp[jp1])) { UNSUPPORTED("5izxoao5ryte71964f8yjfd5y"); // return 0; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2mmsh4mer8e3bkt2jk4gf4cyq"); // return ((!(0))); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8pjte4rru806nqx2myxn2h8tn // static int dpd_intersects(Ppoint_t * pa, Ppoint_t * pb, Ppoint_t * pc, Ppoint_t * pd) public static Object dpd_intersects(Object... arg) { UNSUPPORTED("b7u1jnesjd68hfofduzpr4qf0"); // static int dpd_intersects(Ppoint_t * pa, Ppoint_t * pb, Ppoint_t * pc, UNSUPPORTED("def51j09bielz8iq0blza86vg"); // Ppoint_t * pd) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9nscw3h7ol3rzfhy7cmityo7h"); // int ccw1, ccw2, ccw3, ccw4; UNSUPPORTED("98ug1zrydddu1pwy2oplua9u6"); // if (dpd_ccw(pa, pb, pc) == 3 || dpd_ccw(pa, pb, pd) == 3 || UNSUPPORTED("4cfcl9frsb20o33zdgi2pm67u"); // dpd_ccw(pc, pd, pa) == 3 || dpd_ccw(pc, pd, pb) == 3) { UNSUPPORTED("48qgrwlmwsf461u8tcizu96zg"); // if (dpd_between(pa, pb, pc) || dpd_between(pa, pb, pd) || UNSUPPORTED("64gna5xeh3ex4eoernwe8f797"); // dpd_between(pc, pd, pa) || dpd_between(pc, pd, pb)) UNSUPPORTED("a56gc2zenjhptik6h3r86au9x"); // return ((!(0))); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("345wiq942wt8egchavxisiate"); // ccw1 = (dpd_ccw(pa, pb, pc) == 1) ? 1 : 0; UNSUPPORTED("8ss56vnafb15h2m5amgdjkdeo"); // ccw2 = (dpd_ccw(pa, pb, pd) == 1) ? 1 : 0; UNSUPPORTED("281uxj8f020cd62tq8wnntaf6"); // ccw3 = (dpd_ccw(pc, pd, pa) == 1) ? 1 : 0; UNSUPPORTED("9u7kvtaa6q6nms4h93wl3llei"); // ccw4 = (dpd_ccw(pc, pd, pb) == 1) ? 1 : 0; UNSUPPORTED("e8shba3pxorddpi51sfeac4ju"); // return (ccw1 ^ ccw2) && (ccw3 ^ ccw4); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 coo3dmcddl2hcgc5gprzj3xtf // static int dpd_between(Ppoint_t * pa, Ppoint_t * pb, Ppoint_t * pc) public static Object dpd_between(Object... arg) { UNSUPPORTED("8i6slq3k2lvso1osulneg0qfd"); // static int dpd_between(Ppoint_t * pa, Ppoint_t * pb, Ppoint_t * pc) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("42b52ogcufv0s2qul8bwyz1mc"); // Ppoint_t pba, pca; UNSUPPORTED("71f5gd0n8v9s3kgph6iiqu4xl"); // pba.x = pb->x - pa->x, pba.y = pb->y - pa->y; UNSUPPORTED("8grh7ovfy0h3pcie2b7bxoxf9"); // pca.x = pc->x - pa->x, pca.y = pc->y - pa->y; UNSUPPORTED("ajkxh6482351n4hst9pf3sajt"); // if (dpd_ccw(pa, pb, pc) != 3) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("e461rpw0ig3rd1xwxn9quym9h"); // return (pca.x * pba.x + pca.y * pba.y >= 0) && UNSUPPORTED("2nprox8kgwp76fqf186ca4l78"); // (pca.x * pca.x + pca.y * pca.y <= pba.x * pba.x + pba.y * pba.y); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/pathplan/util__c.java000066400000000000000000000166101340005343600224650ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.pathplan; import static smetana.core.Macro.UNSUPPORTED; public class util__c { //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 7pb9zum2n4wlgil34lvh8i0ts // typedef double COORD //3 carluwds75s8h206m05m74b3h // Ppoly_t copypoly(Ppoly_t argpoly) public static Object copypoly(Object... arg) { UNSUPPORTED("98pcxyqxy9rpxukga9lzhom1l"); // Ppoly_t copypoly(Ppoly_t argpoly) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dzef9h5fvxtkk8wkn4kn0edc"); // Ppoly_t rv; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("cd3pkstbs6ds3ufjvrms7zt87"); // rv.pn = argpoly.pn; UNSUPPORTED("7h1rkca2bkbjau89uq44bj6rc"); // rv.ps = malloc(sizeof(Ppoint_t) * argpoly.pn); UNSUPPORTED("bc26n5uxrnb6d5gdge4vsdufw"); // for (i = 0; i < argpoly.pn; i++) UNSUPPORTED("extja5g4z7gbi72cffs9hjfkz"); // rv.ps[i] = argpoly.ps[i]; UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 74f2l3kbysoz1jx37ybw786si // void freePath(Ppolyline_t* p) public static Object freePath(Object... arg) { UNSUPPORTED("arisensk81s44uevsoenjkx4k"); // void freePath(Ppolyline_t* p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4wfnv6rzlk455oiie96g1328x"); // free(p->ps); UNSUPPORTED("bo0y3vz195pcz24vm46pixpb2"); // free(p); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 b1oegen4vbhrooizaesj0qbc4 // void freepoly(Ppoly_t argpoly) public static Object freepoly(Object... arg) { UNSUPPORTED("37smh22suphf2psfo815rvfa5"); // void freepoly(Ppoly_t argpoly) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("evt1iow9xd0lxmcp9o1ystvr4"); // free(argpoly.ps); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4lkt0le495f2sbojevq677n62 // int Ppolybarriers(Ppoly_t ** polys, int npolys, Pedge_t ** barriers, int *n_barriers) public static Object Ppolybarriers(Object... arg) { UNSUPPORTED("6tzncqs5o5i3rjuimqmwkco8c"); // int Ppolybarriers(Ppoly_t ** polys, int npolys, Pedge_t ** barriers, UNSUPPORTED("1ciabmjyrm3si7ov5e2nq2yre"); // int *n_barriers) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("l9iv7kwx0qdqzyzbm9jzmoeh"); // Ppoly_t pp; UNSUPPORTED("ri456px9wye6dag9hjrx9igj"); // int i, j, k, n, b; UNSUPPORTED("3qifo11sfcapaabkt29qxeyf3"); // Pedge_t *bar; UNSUPPORTED("5479ingjjk6qn2seps3k0btka"); // n = 0; UNSUPPORTED("7hu2o6gt6a1x3hz06uqj88mvq"); // for (i = 0; i < npolys; i++) UNSUPPORTED("770fj3pnbv37giif1b0tfjafy"); // n = n + polys[i]->pn; UNSUPPORTED("67tf52l267s83r3u3t4vz2fb3"); // bar = malloc(n * sizeof(Pedge_t)); UNSUPPORTED("5bkjzlhrfwudnhdqvgcum89jk"); // b = 0; UNSUPPORTED("409l75vikw9qauilz9d2vztce"); // for (i = 0; i < npolys; i++) { UNSUPPORTED("ct16i4ubqpsg61cvvo21el407"); // pp = *polys[i]; UNSUPPORTED("86ht42bn8i5wfk2joxg3g8876"); // for (j = 0; j < pp.pn; j++) { UNSUPPORTED("x1ux3l93pwkw8ri2200m18g7"); // k = j + 1; UNSUPPORTED("e103u6wglmn9dhi7e4a4okoz9"); // if (k >= pp.pn) UNSUPPORTED("c4bsmdfnwwk5rcxfmp596kqdg"); // k = 0; UNSUPPORTED("elv4yjqfsvkrgr9w336r9pnqp"); // bar[b].a = pp.ps[j]; UNSUPPORTED("98pws89dkn1po2vhy5by2fbxx"); // bar[b].b = pp.ps[k]; UNSUPPORTED("7vp6sv54f23ddwn8k74yzt98"); // b++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("d5kgqcba92v9u40uo4kdwuexd"); // assert(b == n); UNSUPPORTED("16w4tlbc3naryaamw0wn6jfip"); // *barriers = bar; UNSUPPORTED("brj70oj6k1scg3kfvjtk13idx"); // *n_barriers = n; UNSUPPORTED("3tcgz4dupb6kw5tdk7n3pca2l"); // return 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ct6tszngugakbl42zkaqrt7p1 // void make_polyline(Ppolyline_t line, Ppolyline_t* sline) public static Object make_polyline(Object... arg) { UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void UNSUPPORTED("caslgp07xc1rz7m4io9o6y06u"); // make_polyline(Ppolyline_t line, Ppolyline_t* sline) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("69kg050pehcqgm1vozba79nx6"); // static int isz = 0; UNSUPPORTED("4fjyhrgkxtd8bira8nmu5i8b3"); // static Ppoint_t* ispline = 0; UNSUPPORTED("dzpsknrwv8qkqq20hjnjpjn68"); // int i, j; UNSUPPORTED("93m2yes5av2bhu9cbgdvgao05"); // int npts = 4 + 3*(line.pn-2); UNSUPPORTED("c0tj1d84o2ebjy9ke6sgke9m8"); // if (npts > isz) { UNSUPPORTED("av96wgpkd1n2udjlb9h7j3y3y"); // ispline = (ispline? (Ppoint_t*)realloc(ispline,(npts)*sizeof(Ppoint_t)):(Ppoint_t*)malloc((npts)*sizeof(Ppoint_t))); UNSUPPORTED("ehmbnzpsz0najunz7f2xuutcf"); // isz = npts; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("cjbplkbp2r33l9lxd9f4plw8q"); // j = i = 0; UNSUPPORTED("3sl38lopto9lxrp6b54bo2mp9"); // ispline[j+1] = ispline[j] = line.ps[i]; UNSUPPORTED("1jxyp8hw11938jx60dm71z97j"); // j += 2; UNSUPPORTED("6xu6l640dwkn7142pwdqqinwh"); // i++; UNSUPPORTED("73ap4ch7ov640gtez9np1qdy"); // for (; i < line.pn-1; i++) { UNSUPPORTED("9mzuffh5epf8o14tph3qhs6bb"); // ispline[j+2] = ispline[j+1] = ispline[j] = line.ps[i]; UNSUPPORTED("b6bx299910tris4yhn65it5di"); // j += 3; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3sl38lopto9lxrp6b54bo2mp9"); // ispline[j+1] = ispline[j] = line.ps[i]; UNSUPPORTED("1m0hhl8du9lwz0vqvit6zf4cv"); // sline->pn = npts; UNSUPPORTED("bsi255abbfm738aeiyf2i04u8"); // sline->ps = ispline; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/pathplan/visibility__c.java000066400000000000000000000523201340005343600236750ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.pathplan; import static smetana.core.Macro.UNSUPPORTED; public class visibility__c { //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 7pb9zum2n4wlgil34lvh8i0ts // typedef double COORD //1 e75el5ykqd72ikokwkl7j2epc // typedef COORD **array2 //3 bsczl8sh39sr9x8mdrdw934gc // static array2 allocArray(int V, int extra) public static Object allocArray(Object... arg) { UNSUPPORTED("2ep0t1ji7dax5248t02u6t7r6"); // static array2 allocArray(int V, int extra) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("6advqmqfqum2lcm4ln3micrah"); // array2 arr; UNSUPPORTED("37gilvazosxkc28mj73rooar1"); // COORD *p; UNSUPPORTED("8o8ej4mv7ezjz8fiws88yzo9q"); // arr = (COORD **) malloc((V + extra) * sizeof(COORD *)); UNSUPPORTED("e510sd0tpqggpavb3qj1c1qxt"); // p = (COORD *) calloc(V * V, sizeof(COORD)); UNSUPPORTED("95d7bboanqosxp7ljja94xzf3"); // for (i = 0; i < V; i++) { UNSUPPORTED("cpb0ooq9n5nzvgd12sa7ws9h"); // arr[i] = p; UNSUPPORTED("54buizub47gj1g6rqqp2nuxm"); // p += V; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dbbu9u15v89j269ghj0n14aj4"); // for (i = V; i < V + extra; i++) UNSUPPORTED("w0dpyxz5clv9ki0kuw7rzfn7"); // arr[i] = (COORD *) 0; UNSUPPORTED("ccsfhshi4ig5z5la1ju1x9cnc"); // return arr; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dlr6qgzk1zg621iotphi6ibd8 // COORD area2(Ppoint_t a, Ppoint_t b, Ppoint_t c) public static Object area2(Object... arg) { UNSUPPORTED("955niwvmnzworzojvwdpapmof"); // COORD area2(Ppoint_t a, Ppoint_t b, Ppoint_t c) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("57vegsifiuko417qaa6szlm9n"); // return ((a.y - b.y) * (c.x - b.x) - (c.y - b.y) * (a.x - b.x)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 vt0jebecnhaqax0chaict0yw // int wind(Ppoint_t a, Ppoint_t b, Ppoint_t c) public static Object wind(Object... arg) { UNSUPPORTED("7zwv4pv8g3dirkozmn0fe34z8"); // int wind(Ppoint_t a, Ppoint_t b, Ppoint_t c) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4ecssyhacl2ayvt0ote07teaw"); // COORD w; UNSUPPORTED("5wu3j9ks9mimt6j7joxxnq9ia"); // w = ((a.y - b.y) * (c.x - b.x) - (c.y - b.y) * (a.x - b.x)); UNSUPPORTED("es8qrkgjbswwyq90zllvcxwnh"); // /* need to allow for small math errors. seen with "gcc -O2 -mcpu=i686 -ffast-math" */ UNSUPPORTED("dzqusvkt2ejo97ycithiv2ucf"); // return (w > .0001) ? 1 : ((w < -.0001) ? -1 : 0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3zfwfpss5ea581xa4wtms7rxv // int inBetween(Ppoint_t a, Ppoint_t b, Ppoint_t c) public static Object inBetween(Object... arg) { UNSUPPORTED("dnvtojgefs45udqxtt80ifsxm"); // int inBetween(Ppoint_t a, Ppoint_t b, Ppoint_t c) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9retom1yv4wpdu31f7jsiae8d"); // if (a.x != b.x) /* not vertical */ UNSUPPORTED("7bptnkdfcpj5jr3mniv8eq3tl"); // return (((a.x < c.x) && (c.x < b.x)) UNSUPPORTED("1v7hun84nlrv6wqpwv4dlqlxu"); // || ((b.x < c.x) && (c.x < a.x))); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("d2izj3dk2mx1gese9uwrde73a"); // return (((a.y < c.y) && (c.y < b.y)) UNSUPPORTED("ey5cvegw2q4qz6328omtt2frt"); // || ((b.y < c.y) && (c.y < a.y))); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 79f7jjxrrdgo9l858v24xof7v // int intersect(Ppoint_t a, Ppoint_t b, Ppoint_t c, Ppoint_t d) public static Object intersect(Object... arg) { UNSUPPORTED("roqgz6tihjg6s1lbmr0j6phx"); // int intersect(Ppoint_t a, Ppoint_t b, Ppoint_t c, Ppoint_t d) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5ak23ep8c08cwpy4ro73kg6a9"); // int a_abc; UNSUPPORTED("pkbc2911eqdxi3q3oig9iggz"); // int a_abd; UNSUPPORTED("3x6q0p7p8vp6n3xuz68aqyi2z"); // int a_cda; UNSUPPORTED("2nckaq0hwjy642bs8wytfrvzc"); // int a_cdb; UNSUPPORTED("dh0rdktbccsux65trza0p1ex0"); // a_abc = wind(a, b, c); UNSUPPORTED("8rg4ptpwwdazrael76ersibnj"); // if ((a_abc == 0) && inBetween(a, b, c)) { UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("65kyqogr1qwpdj4vzqhqdovjx"); // a_abd = wind(a, b, d); UNSUPPORTED("f2bfktdr6qjmqrr2o4ngzp8hs"); // if ((a_abd == 0) && inBetween(a, b, d)) { UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("54toimzvo18mzs7vfnqvnumln"); // a_cda = wind(c, d, a); UNSUPPORTED("7qvzemgdibqwxezutu4es8otb"); // a_cdb = wind(c, d, b); UNSUPPORTED("4cp5ufnxuyvb9bthje52yijlm"); // /* True if c and d are on opposite sides of ab, UNSUPPORTED("4k1c3jig81qg0as8woji48ew9"); // * and a and b are on opposite sides of cd. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("d581gmneeqsqn2uql7i5toff3"); // return (((a_abc * a_abd) < 0) && ((a_cda * a_cdb) < 0)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 897fne6m7yp6g1skatrohstqd // static int in_cone(Ppoint_t a0, Ppoint_t a1, Ppoint_t a2, Ppoint_t b) public static Object in_cone(Object... arg) { UNSUPPORTED("6k9z11o3eut4ihkvof27ionw4"); // static int in_cone(Ppoint_t a0, Ppoint_t a1, Ppoint_t a2, Ppoint_t b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("azst6m11c18syon6lwf1d36gq"); // int m = wind(b, a0, a1); UNSUPPORTED("edizv9dcv0vkkp4l4vuw7k97r"); // int p = wind(b, a1, a2); UNSUPPORTED("6b5qii4lexve7f52xqb76yfuj"); // if (wind(a0, a1, a2) > 0) UNSUPPORTED("eav3el0uo07672rpa2kyd0uge"); // return (m >= 0 && p >= 0); /* convex at a */ UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("21ufwcoiy0fe6t0dog8u1mgyb"); // return (m >= 0 || p >= 0); /* reflex at a */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bo8ti3cpgvbanj1uzsm9c1bhe // COORD dist2(Ppoint_t a, Ppoint_t b) public static Object dist2(Object... arg) { UNSUPPORTED("blrxs1tia575ecxgyj1t3xyzr"); // COORD dist2(Ppoint_t a, Ppoint_t b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("p0k98xc3wk6x7in7sehd5dyh"); // COORD delx = a.x - b.x; UNSUPPORTED("bw95b7u6pyi3v7wyz9gln4uus"); // COORD dely = a.y - b.y; UNSUPPORTED("c07ue20s75ggd0htt7g0ow5sh"); // return (delx * delx + dely * dely); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e6i8sjhx5klba13ifnde18uay // static COORD dist(Ppoint_t a, Ppoint_t b) public static Object dist(Object... arg) { UNSUPPORTED("f3414cvfyz69wnzb7u82byqr6"); // static COORD dist(Ppoint_t a, Ppoint_t b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c5c8q1zhigd7yv5pwxe30rbc4"); // return sqrt(dist2(a, b)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bbuqqywhkghz3a4pmrzvnwat3 // static int inCone(int i, int j, Ppoint_t pts[], int nextPt[], int prevPt[]) public static Object inCone(Object... arg) { UNSUPPORTED("2m7xwhnvt83bmhre90ibjzp22"); // static int inCone(int i, int j, Ppoint_t pts[], int nextPt[], int prevPt[]) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3nsyz336uzlzhdtn1ifpdpdbw"); // return in_cone(pts[prevPt[i]], pts[i], pts[nextPt[i]], pts[j]); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9k5g381ss7ta6nb7v37y3oo4x // static int clear(Ppoint_t pti, Ppoint_t ptj, int start, int end, int V, Ppoint_t pts[], int nextPt[], int prevPt[]) public static Object clear(Object... arg) { UNSUPPORTED("68m9293lem1wya8xmo8rg6biv"); // static int clear(Ppoint_t pti, Ppoint_t ptj, UNSUPPORTED("8lrao52hd6uwbjl78v0f7a7ec"); // int start, int end, UNSUPPORTED("a8lvklwic5zz27yulrg7ododk"); // int V, Ppoint_t pts[], int nextPt[], int prevPt[]) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b0kisc5bimb4jnz3z1g2yhbqv"); // int k; UNSUPPORTED("9phanu31yb7616q5xjn3fva6x"); // for (k = 0; k < start; k++) { UNSUPPORTED("ye8byugyetsemml5w5sus11k"); // if (intersect((pti),(ptj),(pts[k]),(pts[nextPt[k]]))) UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("aey08ei9e4arvxt8hzy83qb9c"); // for (k = end; k < V; k++) { UNSUPPORTED("ye8byugyetsemml5w5sus11k"); // if (intersect((pti),(ptj),(pts[k]),(pts[nextPt[k]]))) UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3tcgz4dupb6kw5tdk7n3pca2l"); // return 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 a5f84g6uyajcrmmt06a61ulyi // static void compVis(vconfig_t * conf, int start) public static Object compVis(Object... arg) { UNSUPPORTED("izn0i9pb2n1dmy8hrpd016j1"); // static void compVis(vconfig_t * conf, int start) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9e683sch2jealt2ckz48v9f0j"); // int V = conf->N; UNSUPPORTED("7d9bin19ief7l7y1pkikvuwiu"); // Ppoint_t *pts = conf->P; UNSUPPORTED("9rljos3iubpdnzm02l6bd6pga"); // int *nextPt = conf->next; UNSUPPORTED("4n11bnl3onnk0hldumoxfi7bx"); // int *prevPt = conf->prev; UNSUPPORTED("e0225hhlmgxnr7acr4j9fr4rj"); // array2 wadj = conf->vis; UNSUPPORTED("edgqyxis5vrh7zvky36d4e9a0"); // int j, i, previ; UNSUPPORTED("bjc6w95h0ns9cjy8h8j9niggy"); // COORD d; UNSUPPORTED("2xpkyvrmw8kb8hkc5g5820ed7"); // for (i = start; i < V; i++) { UNSUPPORTED("4woc2r6ql8s9ni8zc78gafifx"); // /* add edge between i and previ. UNSUPPORTED("aoxujkcbwbq2misfrn7k3d7x8"); // * Note that this works for the cases of polygons of 1 and 2 UNSUPPORTED("1uyr4bh9q9mhcn76g13u98kh0"); // * vertices, though needless work is done. UNSUPPORTED("62wb43w2xc6ex6hootjubbx22"); // */ UNSUPPORTED("31w2a4xrdim19v0h965b1cr2c"); // previ = prevPt[i]; UNSUPPORTED("4bd7y0t2a1w6hs3ohpem3ysgu"); // d = dist(pts[i], pts[previ]); UNSUPPORTED("4otd40ic0u4tos8oseiipjzc9"); // wadj[i][previ] = d; UNSUPPORTED("bib5b7wm3wqhsons82qecl"); // wadj[previ][i] = d; UNSUPPORTED("e85r4voxpd10f2vhaakw43f9m"); // /* Check remaining, earlier vertices */ UNSUPPORTED("34wvs6wxg9wroez0cob4eq0yt"); // if (previ == i - 1) UNSUPPORTED("52l667dp9oah6rslc8wjoujp1"); // j = i - 2; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("9k7vxyf71hfmr8jfddpfd90fg"); // j = i - 1; UNSUPPORTED("86i8ouw8og1peosqts789zl36"); // for (; j >= 0; j--) { UNSUPPORTED("axb1scf1zch83hijq76uhgavw"); // if (inCone(i, j, pts, nextPt, prevPt) && UNSUPPORTED("f53u8xtqvo7t5kx42e92w686r"); // inCone(j, i, pts, nextPt, prevPt) && UNSUPPORTED("1g3bn9manlh9eb34pxq0uzz8t"); // clear(pts[i], pts[j], V, V, V, pts, nextPt, prevPt)) { UNSUPPORTED("5qsnuuk4fv4fooabczbbd9ahx"); // /* if i and j see each other, add edge */ UNSUPPORTED("9fadh88q86g90beilv0kqxmaa"); // d = dist(pts[i], pts[j]); UNSUPPORTED("6ut8yosujth8pmmzsvs0rbn4r"); // wadj[i][j] = d; UNSUPPORTED("dm7renktz4js1qpo4fxfpjv96"); // wadj[j][i] = d; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 afx2tbncgy8wtrk8wrpvt8c7v // void visibility(vconfig_t * conf) public static Object visibility(Object... arg) { UNSUPPORTED("25e0cmz7nmahqmmpcvbvi3kbv"); // void visibility(vconfig_t * conf) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("80p1p77b7wohnw2r3v9cilgja"); // conf->vis = allocArray(conf->N, 2); UNSUPPORTED("cocdypij6tuxqzgtmgw0ffdyi"); // compVis(conf, 0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 f53btxccmpw07qdajkgza16dq // static int polyhit(vconfig_t * conf, Ppoint_t p) public static Object polyhit(Object... arg) { UNSUPPORTED("3jhqkjkjkqnmtf4w0yu1vcgkm"); // static int polyhit(vconfig_t * conf, Ppoint_t p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("4a012clawvd7u5m72juylqzoa"); // Ppoly_t poly; UNSUPPORTED("bdsnknxap30wvari7ivffhs3m"); // for (i = 0; i < conf->Npoly; i++) { UNSUPPORTED("ey7hd6wdy31mr7tdmlijqjq0n"); // poly.ps = &(conf->P[conf->start[i]]); UNSUPPORTED("3qtnbizhz0j64zuzkh3tthe1h"); // poly.pn = conf->start[i + 1] - conf->start[i]; UNSUPPORTED("5mttoot38d7jpevufudmwxewd"); // if (in_poly(poly, p)) UNSUPPORTED("8wtxouhhluawfic81s58qdk0e"); // return i; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b8wqo20wej72k4fwead61jun4"); // return -1111; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2yvo05bz8qq8rrhli2rlonyix // COORD *ptVis(vconfig_t * conf, int pp, Ppoint_t p) public static Object ptVis(Object... arg) { UNSUPPORTED("d58fb5rw4i15qcu5i6zi8562u"); // COORD *ptVis(vconfig_t * conf, int pp, Ppoint_t p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9e683sch2jealt2ckz48v9f0j"); // int V = conf->N; UNSUPPORTED("7d9bin19ief7l7y1pkikvuwiu"); // Ppoint_t *pts = conf->P; UNSUPPORTED("9rljos3iubpdnzm02l6bd6pga"); // int *nextPt = conf->next; UNSUPPORTED("4n11bnl3onnk0hldumoxfi7bx"); // int *prevPt = conf->prev; UNSUPPORTED("b0kisc5bimb4jnz3z1g2yhbqv"); // int k; UNSUPPORTED("aa6b5n017in5orglen9ktgs9a"); // int start, end; UNSUPPORTED("ib3s5dce6s963vo6b8ltvstb"); // COORD *vadj; UNSUPPORTED("99q4ws63ls29yvcb513my0kp3"); // Ppoint_t pk; UNSUPPORTED("bjc6w95h0ns9cjy8h8j9niggy"); // COORD d; UNSUPPORTED("amrnq8h2txtlsnydbwpxx8p9e"); // vadj = (COORD *) malloc((V + 2) * sizeof(COORD)); UNSUPPORTED("1xmg38dmhrjwt80u0hb882akq"); // if (pp == -2222) UNSUPPORTED("67gimzlcd9mmh55z0uwgo1svm"); // pp = polyhit(conf, p); UNSUPPORTED("fcadmwema5f9zw0pun57mr61"); // if (pp >= 0) { UNSUPPORTED("6rdfhzubd1dzowvcgtvu07skw"); // start = conf->start[pp]; UNSUPPORTED("qr28k5sqgz293v061p9lh7mw"); // end = conf->start[pp + 1]; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("4k2lbbhod6d50bie3p0ovngng"); // start = V; UNSUPPORTED("6p0gh50lvtsw3epczfbncrrzh"); // end = V; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9phanu31yb7616q5xjn3fva6x"); // for (k = 0; k < start; k++) { UNSUPPORTED("685xi4ztalqspw63iho1ijb2a"); // pk = pts[k]; UNSUPPORTED("ej65d6v3kqqc41pf2amjx9u8o"); // if (in_cone(pts[prevPt[k]], pk, pts[nextPt[k]], p) && UNSUPPORTED("45whycl2s4k3gm8ltb52iawfc"); // clear(p, pk, start, end, V, pts, nextPt, prevPt)) { UNSUPPORTED("204lwnssk9azp929idzzmu2oh"); // /* if p and pk see each other, add edge */ UNSUPPORTED("2y5618jurnxt2bnwydutfzwr4"); // d = dist(p, pk); UNSUPPORTED("d97qa8dblreww61gxggrpddq9"); // vadj[k] = d; UNSUPPORTED("6to1esmb8qfrhzgtr7jdqleja"); // } else UNSUPPORTED("w27fuo0npg13jbsblev28cke"); // vadj[k] = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3aiu3msz4kw0sitr3eu403460"); // for (k = start; k < end; k++) UNSUPPORTED("ecdly7fjptzn9hbgscfv42v5f"); // vadj[k] = 0; UNSUPPORTED("aey08ei9e4arvxt8hzy83qb9c"); // for (k = end; k < V; k++) { UNSUPPORTED("685xi4ztalqspw63iho1ijb2a"); // pk = pts[k]; UNSUPPORTED("ej65d6v3kqqc41pf2amjx9u8o"); // if (in_cone(pts[prevPt[k]], pk, pts[nextPt[k]], p) && UNSUPPORTED("45whycl2s4k3gm8ltb52iawfc"); // clear(p, pk, start, end, V, pts, nextPt, prevPt)) { UNSUPPORTED("204lwnssk9azp929idzzmu2oh"); // /* if p and pk see each other, add edge */ UNSUPPORTED("2y5618jurnxt2bnwydutfzwr4"); // d = dist(p, pk); UNSUPPORTED("d97qa8dblreww61gxggrpddq9"); // vadj[k] = d; UNSUPPORTED("6to1esmb8qfrhzgtr7jdqleja"); // } else UNSUPPORTED("w27fuo0npg13jbsblev28cke"); // vadj[k] = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6udsra1z6g208yb80gqshsz7i"); // vadj[V] = 0; UNSUPPORTED("6cyoyzpz6109ngfp8zw4x3ign"); // vadj[V + 1] = 0; UNSUPPORTED("euzt74fd0hlgexbbuks72111"); // return vadj; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 euo3asq18kkzr6xpldh1whj5j // int directVis(Ppoint_t p, int pp, Ppoint_t q, int qp, vconfig_t * conf) public static Object directVis(Object... arg) { UNSUPPORTED("6vkegkahwe6v9zxmpo9y849de"); // int directVis(Ppoint_t p, int pp, Ppoint_t q, int qp, vconfig_t * conf) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9e683sch2jealt2ckz48v9f0j"); // int V = conf->N; UNSUPPORTED("7d9bin19ief7l7y1pkikvuwiu"); // Ppoint_t *pts = conf->P; UNSUPPORTED("9rljos3iubpdnzm02l6bd6pga"); // int *nextPt = conf->next; UNSUPPORTED("cn01t5vyidv9t9jp5k1ebvqnf"); // /* int* prevPt = conf->prev; */ UNSUPPORTED("b0kisc5bimb4jnz3z1g2yhbqv"); // int k; UNSUPPORTED("5jthc5ipz7t03l29ayjuyuwss"); // int s1, e1; UNSUPPORTED("ewn7imvjy270ybgfwapp0tq42"); // int s2, e2; UNSUPPORTED("7s1xhwbtcl4cfff6w7bovcx4p"); // if (pp < 0) { UNSUPPORTED("8kwihfze04zickxvmduqyz9oz"); // s1 = 0; UNSUPPORTED("d9lzfcaqs050pvd6f6sn4ybfd"); // e1 = 0; UNSUPPORTED("bx8ug7ayoxr9yyklnxyk820fn"); // if (qp < 0) { UNSUPPORTED("bz1de6hpp200ljwdvpkd5u3gn"); // s2 = 0; UNSUPPORTED("at1mpgp51u974mlhndrczv2lo"); // e2 = 0; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("1w3zcz5sbss50hne5vn9c54uf"); // s2 = conf->start[qp]; UNSUPPORTED("5aiw8tbtx5x4c6d90lqekac0k"); // e2 = conf->start[qp + 1]; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("91fgea3cg2flt7f19hu4m9f3k"); // } else if (qp < 0) { UNSUPPORTED("8kwihfze04zickxvmduqyz9oz"); // s1 = 0; UNSUPPORTED("d9lzfcaqs050pvd6f6sn4ybfd"); // e1 = 0; UNSUPPORTED("c7jjeiyrdte7kaqrcqi78tb6j"); // s2 = conf->start[pp]; UNSUPPORTED("181206xgdu45tknm5eoc7vy7p"); // e2 = conf->start[pp + 1]; UNSUPPORTED("1vsb0sn9g2id7jgf818wp2h61"); // } else if (pp <= qp) { UNSUPPORTED("2jpazbnst1z69liefzlp7x6k5"); // s1 = conf->start[pp]; UNSUPPORTED("birxkvbxsgsetxfbpuugteqbx"); // e1 = conf->start[pp + 1]; UNSUPPORTED("2lmk984g1rwi6bvyc4aqlzovj"); // s2 = conf->start[qp]; UNSUPPORTED("9sx0re3e6x3m54pfxrbuk571d"); // e2 = conf->start[qp + 1]; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("dun18brbfd255gv2nfo9sog80"); // s1 = conf->start[qp]; UNSUPPORTED("c1zf66qllk0cm9c4q3cjv9f3r"); // e1 = conf->start[qp + 1]; UNSUPPORTED("c7jjeiyrdte7kaqrcqi78tb6j"); // s2 = conf->start[pp]; UNSUPPORTED("181206xgdu45tknm5eoc7vy7p"); // e2 = conf->start[pp + 1]; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("f28p3ogo8j178cx69vueppwjb"); // for (k = 0; k < s1; k++) { UNSUPPORTED("an3a9zyfv6sgx5bn13egxyjbb"); // if (intersect((p),(q),(pts[k]),(pts[nextPt[k]]))) UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ecib0ib1qhu5qbad78mhypnbs"); // for (k = e1; k < s2; k++) { UNSUPPORTED("an3a9zyfv6sgx5bn13egxyjbb"); // if (intersect((p),(q),(pts[k]),(pts[nextPt[k]]))) UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dawiv8sbk7c60uo6bv5kesrag"); // for (k = e2; k < V; k++) { UNSUPPORTED("an3a9zyfv6sgx5bn13egxyjbb"); // if (intersect((p),(q),(pts[k]),(pts[nextPt[k]]))) UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3tcgz4dupb6kw5tdk7n3pca2l"); // return 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/lib/xdot/000077500000000000000000000000001340005343600173475ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/gen/lib/xdot/xdot__c.java000066400000000000000000002260531340005343600216410ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.lib.xdot; import static smetana.core.Macro.UNSUPPORTED; public class xdot__c { //3 18i9xd96uncylv9umnz90gzrh // static void agxbinit(agxbuf * xb, unsigned int hint, unsigned char *init) public static Object agxbinit(Object... arg) { UNSUPPORTED("84pe35dre7aor7etu052tqf8t"); // static void agxbinit(agxbuf * xb, unsigned int hint, unsigned char *init) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3ctz7esjgupftv01eshc2dhx2"); // if (init) { UNSUPPORTED("7ccqm4ipez0mmdk6bv50shi8z"); // xb->buf = init; UNSUPPORTED("bgb2e1tveztx6w0nuo6t6kxbd"); // xb->dyna = 0; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("49jhfm9yw3megswomc4gzzgd7"); // if (hint == 0) UNSUPPORTED("5h1ggxg5ypn75rue18vgizp12"); // hint = BUFSIZ; UNSUPPORTED("bwuph2kus95n04yy45ff0ygwg"); // xb->dyna = 1; UNSUPPORTED("b3ogvpic8o2143ihrt95fsmt5"); // xb->buf = (unsigned char*)calloc((hint), sizeof(unsigned char)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1vqjbr0qaxnp1tks2ilwqgn3g"); // xb->eptr = xb->buf + hint; UNSUPPORTED("dtbxbzhkw05lut0ozk9a49lw6"); // xb->ptr = xb->buf; UNSUPPORTED("5ymin98xo0ermvpyhsuo8xwim"); // *xb->ptr = '\0'; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 deo0nqa6fmyacu293m9q0f3ad // static int agxbmore(agxbuf * xb, unsigned int ssz) public static Object agxbmore(Object... arg) { UNSUPPORTED("dr7xxpbudfd4q496z1hjh0uam"); // static int agxbmore(agxbuf * xb, unsigned int ssz) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ayzlme0ebe3j87lpz076cg2vq"); // int cnt; /* current no. of characters in buffer */ UNSUPPORTED("71r9w1f25l9h79jodjer7my8a"); // int size; /* current buffer size */ UNSUPPORTED("2bckq0rejaf94iovglem6hqko"); // int nsize; /* new buffer size */ UNSUPPORTED("dmokvf86b5kj3srnwwbr7ebmc"); // unsigned char *nbuf; /* new buffer */ UNSUPPORTED("347vqdgen21gpinnet4lkk7gk"); // size = xb->eptr - xb->buf; UNSUPPORTED("49rolm7orqt4aw3uud529g4qc"); // nsize = 2 * size; UNSUPPORTED("6t3aq9fvpvhbjssfqnjmktfh0"); // if (size + ssz > nsize) UNSUPPORTED("7ykdy1xuvrmibubukfxhfmz91"); // nsize = size + ssz; UNSUPPORTED("bfinudkdiev8mwo6udbayoaex"); // cnt = xb->ptr - xb->buf; UNSUPPORTED("4cmq49lu7qhmui59rl36qd6fr"); // if (xb->dyna) { UNSUPPORTED("8vf8arbygb0610hkc403uiror"); // nbuf = realloc(xb->buf, nsize); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("3k38m0q2g7fwya1dna0s39dqc"); // nbuf = (unsigned char*)calloc((nsize), sizeof(unsigned char)); UNSUPPORTED("do1ts7n0vopj00hs85yw95qjx"); // memcpy(nbuf, xb->buf, cnt); UNSUPPORTED("bwuph2kus95n04yy45ff0ygwg"); // xb->dyna = 1; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5a5gutjqda6fhdylt7vi64g71"); // xb->buf = nbuf; UNSUPPORTED("dodqzfdb41641741187lm9aci"); // xb->ptr = xb->buf + cnt; UNSUPPORTED("e45cf41wsuzfjfi2my7jn7odp"); // xb->eptr = xb->buf + nsize; UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8zf71o02uu26r06lmjzr6c8df // static int agxbput(char *s, agxbuf * xb) public static Object agxbput(Object... arg) { UNSUPPORTED("dpuodut5jl740qijx0viiicj3"); // static int agxbput(char *s, agxbuf * xb) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dmstj6pqesin7a4ufrtut65t5"); // unsigned int ssz = strlen(s); UNSUPPORTED("6q0wy2t9qi11079j0wyuhsmiw"); // if (xb->ptr + ssz > xb->eptr) UNSUPPORTED("82p9dlopf5tuzmyy5454sv4mm"); // agxbmore(xb, ssz); UNSUPPORTED("9tvk5ztcu9lg2u40sfmevitl2"); // memcpy(xb->ptr, s, ssz); UNSUPPORTED("2wy6om6o92zevnnevl5v0pr0c"); // xb->ptr += ssz; UNSUPPORTED("dzondrrxi2pe7xy72r0jstd20"); // return ssz; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6pn991iar889bzaq1znh7dj3b // static void agxbfree(agxbuf * xb) public static Object agxbfree(Object... arg) { UNSUPPORTED("3dnzpw59o9bwwyrb7eat7i3u4"); // static void agxbfree(agxbuf * xb) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("da8gv3dgf6bnks54n9mnlgzxk"); // if (xb->dyna) UNSUPPORTED("62irfu7vrq2ewolixn0ksp5f6"); // free(xb->buf); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4l360un6jpvisf8n73t7pqy9 // static char *parseReal(char *s, double *fp) public static Object parseReal(Object... arg) { UNSUPPORTED("27cxezovcf9115tk1jj1gyw8j"); // static char *parseReal(char *s, double *fp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("aexhdud6z2wbwwi73yppp0ynl"); // char *p; UNSUPPORTED("8ne6p4d5pykwl1d3xk0yg0ipb"); // double d; UNSUPPORTED("1xd0ne3bq4byy8xcbce2jvh7s"); // d = strtod(s, &p); UNSUPPORTED("66hd5x2o87fqb7ug58kbyi4e5"); // if (p == s) return 0; UNSUPPORTED("f3dzvb82hjtktpqsfn7uyp86z"); // *fp = d; UNSUPPORTED("1fnaj5qlhzixwhovwrjmw4vgb"); // return (p); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bsxeh14qqmz6v3qdi9irrllr // static char *parseInt(char *s, int *ip) public static Object parseInt(Object... arg) { UNSUPPORTED("73v5uzvbtjguvilqpgltjnq7t"); // static char *parseInt(char *s, int *ip) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bkz9mqmemp1ljxdwdbu8xv3e9"); // char* endp; UNSUPPORTED("c5qif45ng54sfzc28pvot6iwq"); // *ip = (int)strtol (s, &endp, 10); UNSUPPORTED("ct4gh2jrkm41477ikplh0rn57"); // if (s == endp) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("2ulm7bppf40z5aob8ngdrce73"); // return endp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3mwttoeqe8u9fia2d46vwzsve // static char *parseUInt(char *s, unsigned int *ip) public static Object parseUInt(Object... arg) { UNSUPPORTED("enlzxotrmwou3zcdcg63q0u1i"); // static char *parseUInt(char *s, unsigned int *ip) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bkz9mqmemp1ljxdwdbu8xv3e9"); // char* endp; UNSUPPORTED("2osjo1qcy5wbt8hb0i484t7gl"); // *ip = (unsigned int)strtoul (s, &endp, 10); UNSUPPORTED("ct4gh2jrkm41477ikplh0rn57"); // if (s == endp) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("2ulm7bppf40z5aob8ngdrce73"); // return endp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8jcdtdxdrx01gn9f1nebzs68r // static char *parseRect(char *s, xdot_rect * rp) public static Object parseRect(Object... arg) { UNSUPPORTED("8cfahk8txxaintbez7726qocf"); // static char *parseRect(char *s, xdot_rect * rp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bkz9mqmemp1ljxdwdbu8xv3e9"); // char* endp; UNSUPPORTED("ayw7luucspha90kbooccenfvz"); // rp->x = strtod (s, &endp); UNSUPPORTED("ct4gh2jrkm41477ikplh0rn57"); // if (s == endp) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("6ojhqyohyu9t2drew53jrtxrw"); // s = endp; UNSUPPORTED("3bz6uhgg11k6vjacbsjnx1wi3"); // rp->y = strtod (s, &endp); UNSUPPORTED("ct4gh2jrkm41477ikplh0rn57"); // if (s == endp) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("6ojhqyohyu9t2drew53jrtxrw"); // s = endp; UNSUPPORTED("7o4n2gvc98j75dt3j9dxbjo78"); // rp->w = strtod (s, &endp); UNSUPPORTED("ct4gh2jrkm41477ikplh0rn57"); // if (s == endp) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("6ojhqyohyu9t2drew53jrtxrw"); // s = endp; UNSUPPORTED("7yrlj0k618ctn709clsxdxl1d"); // rp->h = strtod (s, &endp); UNSUPPORTED("ct4gh2jrkm41477ikplh0rn57"); // if (s == endp) UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("6ojhqyohyu9t2drew53jrtxrw"); // s = endp; UNSUPPORTED("3y6wj3ntgmr1qkdpm7wp1dsch"); // return s; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9zgiw1nnozptos14kotjlqzes // static char *parsePolyline(char *s, xdot_polyline * pp) public static Object parsePolyline(Object... arg) { UNSUPPORTED("5vennd9p6hb7tz8vier5n3awr"); // static char *parsePolyline(char *s, xdot_polyline * pp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("aqektudazrrmp3o28qu9lc8lr"); // xdot_point *pts; UNSUPPORTED("224clts6kmlangjk0mxje18pw"); // xdot_point *ps; UNSUPPORTED("bkz9mqmemp1ljxdwdbu8xv3e9"); // char* endp; UNSUPPORTED("9k4v6oml42z495w37d15bdhgq"); // s = parseInt(s, &i); UNSUPPORTED("4tppo7loevc5w3rzs7kcd6q3s"); // if (!s) return s; UNSUPPORTED("2jikm4wubyo74pnrnkqlp64n3"); // pts = ps = (xdot_point*)calloc((i), sizeof(xdot_point)); UNSUPPORTED("4eh3im98g60ywzmhhcdwd6fvl"); // pp->cnt = i; UNSUPPORTED("cphbu2o9nlpu87ymbrrqqzxyd"); // for (i = 0; i < pp->cnt; i++) { UNSUPPORTED("31n0sbteq5vit0duqm4fw62us"); // ps->x = strtod (s, &endp); UNSUPPORTED("1jb4h180dxiqktyhn2gltjn0v"); // if (s == endp) { UNSUPPORTED("7bqn4djl4wq567zf4ce3ocb57"); // free (pts); UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("91nzbbhlz222quh6avosg1gs3"); // s = endp; UNSUPPORTED("e65aaxn30tf5qsj1a1qq7w231"); // ps->y = strtod (s, &endp); UNSUPPORTED("1jb4h180dxiqktyhn2gltjn0v"); // if (s == endp) { UNSUPPORTED("7bqn4djl4wq567zf4ce3ocb57"); // free (pts); UNSUPPORTED("6f1138i13x0xz1bf1thxgjgka"); // return 0; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("91nzbbhlz222quh6avosg1gs3"); // s = endp; UNSUPPORTED("cc5r26z00xi25odsicfy1n1mg"); // ps->z = 0; UNSUPPORTED("87sp63nt8twfjdetw9u20nv3l"); // ps++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6rgl3frmyuop1sfw5ytbajpe"); // pp->pts = pts; UNSUPPORTED("3y6wj3ntgmr1qkdpm7wp1dsch"); // return s; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9ndna3jb07n84p1schywyuztb // static char *parseString(char *s, char **sp) public static Object parseString(Object... arg) { UNSUPPORTED("6ho8lvhy0v0vmiwxtchvowdag"); // static char *parseString(char *s, char **sp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("a1dehvgts7vkximbs2yo0q6pa"); // char *c; UNSUPPORTED("aexhdud6z2wbwwi73yppp0ynl"); // char *p; UNSUPPORTED("9k4v6oml42z495w37d15bdhgq"); // s = parseInt(s, &i); UNSUPPORTED("8t62hsoemjy6c138b6890zgr6"); // if (!s || (i <= 0)) return 0; UNSUPPORTED("3ugsfktr0fa4ozg4wrl9ol7dc"); // while (*s && (*s != '-')) s++; UNSUPPORTED("98g0ujdodpjy3g7nibv2z5ait"); // if (*s) s++; UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("50parur6008yns69htbrun3l2"); // c = (char*)calloc((i + 1), sizeof(char)); UNSUPPORTED("c920n72fhgint9bu1xhd382e5"); // p = c; UNSUPPORTED("7ph7rzi6mme47sk2y140dwlbm"); // while ((i > 0) && *s) { UNSUPPORTED("8e6st6hhl4yfs7qub4b87bkm0"); // *p++ = *s++; UNSUPPORTED("2fvaz29y6ivihvxotxz84fsl9"); // i--; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2gn9hkx01ingqp86itwc4b5dm"); // if (i > 0) { UNSUPPORTED("1jlx2cuwttezm3zsuuehbh1l8"); // free (c); UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2t1d66kwn86kqh0i665hqw6cl"); // *p = '\0'; UNSUPPORTED("a0gcud6ayeka85e6o5adbzjd2"); // *sp = c; UNSUPPORTED("3y6wj3ntgmr1qkdpm7wp1dsch"); // return s; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7reshvtfhworq8s9q6lowo6nl // static char *parseAlign(char *s, xdot_align * ap) public static Object parseAlign(Object... arg) { UNSUPPORTED("8si3sn14sdmyqz32r6ja6zl9h"); // static char *parseAlign(char *s, xdot_align * ap) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("9k4v6oml42z495w37d15bdhgq"); // s = parseInt(s, &i); UNSUPPORTED("7jqpiltkvdvvkjldnxqmz4nfw"); // if (i < 0) UNSUPPORTED("bfu0mpq4mmjh0pu6dyx8xlrna"); // *ap = xd_left; UNSUPPORTED("8544wlrukmsh3w27eef43oivi"); // else if (i > 0) UNSUPPORTED("1bi0jgsifwqkvdvmho2gvvfad"); // *ap = xd_right; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("6pvvrqivfj7ir7h3u5x5yfrrc"); // *ap = xd_center; UNSUPPORTED("3y6wj3ntgmr1qkdpm7wp1dsch"); // return s; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ehnxo19guzhgzj6t8jgklcy9t // static char *parseOp(xdot_op * op, char *s, drawfunc_t ops[], int* error) public static Object parseOp(Object... arg) { UNSUPPORTED("6n4wgd5e0tmwigktwbqr7b2mh"); // static char *parseOp(xdot_op * op, char *s, drawfunc_t ops[], int* error) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1al7rtqrsk1oru479p6d19nt"); // char* cs; UNSUPPORTED("dcftaleqvuytghzlz8x1uo05u"); // xdot_color clr; UNSUPPORTED("6fdmf6t8ozu6ifv41ah2khjh5"); // *error = 0; UNSUPPORTED("5gi4ktom734bivy5bia2jyoyg"); // while (isspace(*s)) UNSUPPORTED("1fe0kohehgdxhenrepo7ymdcw"); // s++; UNSUPPORTED("avvtfrt0s9pcst93venr1pjk3"); // switch (*s++) { UNSUPPORTED("4qkgjhvxkpafhor6qtoe37y14"); // case 'E': UNSUPPORTED("9dnkzv2t54la5ntx5vagvydnh"); // op->kind = xd_filled_ellipse; UNSUPPORTED("atahrjx7tu9jw9spyi7jwfptn"); // s = parseRect(s, &op->u.ellipse); UNSUPPORTED("dgnldyd2pb5vmg1g32106eh4l"); // if(!s){*error=1;return 0;}; UNSUPPORTED("68fwibhr1nqhg298v23jvoosh"); // if (ops) UNSUPPORTED("f3txy198klrpx73ctc6lg125r"); // op->drawfunc = ops[xop_ellipse]; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("yic0mjrlpepyvrda3gv6t25f"); // case 'e': UNSUPPORTED("e9q42iiycw42fzv9sxtvjkwh1"); // op->kind = xd_unfilled_ellipse; UNSUPPORTED("atahrjx7tu9jw9spyi7jwfptn"); // s = parseRect(s, &op->u.ellipse); UNSUPPORTED("dgnldyd2pb5vmg1g32106eh4l"); // if(!s){*error=1;return 0;}; UNSUPPORTED("68fwibhr1nqhg298v23jvoosh"); // if (ops) UNSUPPORTED("f3txy198klrpx73ctc6lg125r"); // op->drawfunc = ops[xop_ellipse]; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("61e1o543la5tkcimttlw8ywf2"); // case 'P': UNSUPPORTED("altg4bjpb2pgvh11pwr1uwmr"); // op->kind = xd_filled_polygon; UNSUPPORTED("7f8c0fkrsn9rb7rkurug6gf2z"); // s = parsePolyline(s, &op->u.polygon); UNSUPPORTED("dgnldyd2pb5vmg1g32106eh4l"); // if(!s){*error=1;return 0;}; UNSUPPORTED("68fwibhr1nqhg298v23jvoosh"); // if (ops) UNSUPPORTED("3jz0du43oha0dv721jmcm9iaq"); // op->drawfunc = ops[xop_polygon]; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8nhycr2g1b6hvihfh3uztphax"); // case 'p': UNSUPPORTED("22idwk0wq7hih6wgv79c42gxj"); // op->kind = xd_unfilled_polygon; UNSUPPORTED("7f8c0fkrsn9rb7rkurug6gf2z"); // s = parsePolyline(s, &op->u.polygon); UNSUPPORTED("dgnldyd2pb5vmg1g32106eh4l"); // if(!s){*error=1;return 0;}; UNSUPPORTED("68fwibhr1nqhg298v23jvoosh"); // if (ops) UNSUPPORTED("3jz0du43oha0dv721jmcm9iaq"); // op->drawfunc = ops[xop_polygon]; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("volih9dzznkmqxv0f6d40beq"); // case 'b': UNSUPPORTED("dghgxw5iaz1lqcpx6khg9fwt5"); // op->kind = xd_filled_bezier; UNSUPPORTED("de36xrnd6y03zp55847a4giju"); // s = parsePolyline(s, &op->u.bezier); UNSUPPORTED("dgnldyd2pb5vmg1g32106eh4l"); // if(!s){*error=1;return 0;}; UNSUPPORTED("68fwibhr1nqhg298v23jvoosh"); // if (ops) UNSUPPORTED("1pmk6j85vg5odzetxiw461gw"); // op->drawfunc = ops[xop_bezier]; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("9nbe45sgjnq9pebqfddm57j34"); // case 'B': UNSUPPORTED("7yupkrdo7hn0u4tlxtznjbh03"); // op->kind = xd_unfilled_bezier; UNSUPPORTED("de36xrnd6y03zp55847a4giju"); // s = parsePolyline(s, &op->u.bezier); UNSUPPORTED("dgnldyd2pb5vmg1g32106eh4l"); // if(!s){*error=1;return 0;}; UNSUPPORTED("68fwibhr1nqhg298v23jvoosh"); // if (ops) UNSUPPORTED("1pmk6j85vg5odzetxiw461gw"); // op->drawfunc = ops[xop_bezier]; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("rzit3m9f6iuku0clu8nqw5ih"); // case 'c': UNSUPPORTED("5mc0sy0u0wyb9hblr1cbvyp1h"); // s = parseString(s, &cs); UNSUPPORTED("dgnldyd2pb5vmg1g32106eh4l"); // if(!s){*error=1;return 0;}; UNSUPPORTED("ddh0k5n3l9rto4gcuggkkja61"); // cs = parseXDotColor (cs, &clr); UNSUPPORTED("ix8ie1z4452fb8rtdsib6ufu"); // if(!cs){*error=1;return 0;}; UNSUPPORTED("dqfrfyicjfcf6t6vr1g1atdpm"); // if (clr.type == xd_none) { UNSUPPORTED("4jv4w1znjmyk4pv8e2882cz0"); // op->kind = xd_pen_color; UNSUPPORTED("9ohuadhd8hihpbkr4vazi9dho"); // op->u.color = clr.u.clr; UNSUPPORTED("8npw75ua3iw8jlh0dm8nidoy9"); // if (ops) UNSUPPORTED("1r3cxmw9aafv54g3bc6bxkrey"); // op->drawfunc = ops[xop_pen_color]; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("eamachthb8mef0nhonusnktu9"); // op->kind = xd_grad_pen_color; UNSUPPORTED("1t72m9kz99a1xacrrrcfo1472"); // op->u.grad_color = clr; UNSUPPORTED("8npw75ua3iw8jlh0dm8nidoy9"); // if (ops) UNSUPPORTED("2uoht3mjgjvn6q5p8grt2eqt"); // op->drawfunc = ops[xop_grad_color]; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("1b9yj8jr8j9uh2dubizj3pb1w"); // case 'C': UNSUPPORTED("5mc0sy0u0wyb9hblr1cbvyp1h"); // s = parseString(s, &cs); UNSUPPORTED("dgnldyd2pb5vmg1g32106eh4l"); // if(!s){*error=1;return 0;}; UNSUPPORTED("ddh0k5n3l9rto4gcuggkkja61"); // cs = parseXDotColor (cs, &clr); UNSUPPORTED("ix8ie1z4452fb8rtdsib6ufu"); // if(!cs){*error=1;return 0;}; UNSUPPORTED("dqfrfyicjfcf6t6vr1g1atdpm"); // if (clr.type == xd_none) { UNSUPPORTED("50qk3ylyw205nzn8fqok09cs5"); // op->kind = xd_fill_color; UNSUPPORTED("9ohuadhd8hihpbkr4vazi9dho"); // op->u.color = clr.u.clr; UNSUPPORTED("8npw75ua3iw8jlh0dm8nidoy9"); // if (ops) UNSUPPORTED("4zwt9xuucvf9zu22n83cq16mv"); // op->drawfunc = ops[xop_fill_color]; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("crmgghygtre74dw1tfur2pnt4"); // op->kind = xd_grad_fill_color; UNSUPPORTED("1t72m9kz99a1xacrrrcfo1472"); // op->u.grad_color = clr; UNSUPPORTED("8npw75ua3iw8jlh0dm8nidoy9"); // if (ops) UNSUPPORTED("2uoht3mjgjvn6q5p8grt2eqt"); // op->drawfunc = ops[xop_grad_color]; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("92wd4259ggzetbnn56kh75cap"); // case 'L': UNSUPPORTED("adyh3da2x6ec56lvn4k7ke2if"); // op->kind = xd_polyline; UNSUPPORTED("cxbj7pu045lx6cudbid7zp9qe"); // s = parsePolyline(s, &op->u.polyline); UNSUPPORTED("dgnldyd2pb5vmg1g32106eh4l"); // if(!s){*error=1;return 0;}; UNSUPPORTED("68fwibhr1nqhg298v23jvoosh"); // if (ops) UNSUPPORTED("9vy8b22mc6n5byr6erdtsw40t"); // op->drawfunc = ops[xop_polyline]; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("2s6hwvc7utwke7l45suhmumhk"); // case 'T': UNSUPPORTED("7jtgg1g4yy9elu7uj6ort6gx5"); // op->kind = xd_text; UNSUPPORTED("ddz6ejg5d3ser8syqgqgor5or"); // s = parseReal(s, &op->u.text.x); UNSUPPORTED("dgnldyd2pb5vmg1g32106eh4l"); // if(!s){*error=1;return 0;}; UNSUPPORTED("dtm3mydushiqsv1486knmsmk4"); // s = parseReal(s, &op->u.text.y); UNSUPPORTED("dgnldyd2pb5vmg1g32106eh4l"); // if(!s){*error=1;return 0;}; UNSUPPORTED("bprdmfsh0vryv3p7ij0qf40ew"); // s = parseAlign(s, &op->u.text.align); UNSUPPORTED("dgnldyd2pb5vmg1g32106eh4l"); // if(!s){*error=1;return 0;}; UNSUPPORTED("ah35sfvnqnxyb683wo4p2rk35"); // s = parseReal(s, &op->u.text.width); UNSUPPORTED("dgnldyd2pb5vmg1g32106eh4l"); // if(!s){*error=1;return 0;}; UNSUPPORTED("246imx3icdy7iqe7js9nneni"); // s = parseString(s, &op->u.text.text); UNSUPPORTED("dgnldyd2pb5vmg1g32106eh4l"); // if(!s){*error=1;return 0;}; UNSUPPORTED("68fwibhr1nqhg298v23jvoosh"); // if (ops) UNSUPPORTED("5knq711m08yljnaejvjqfcg3j"); // op->drawfunc = ops[xop_text]; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("6q33jx6joepwjvm90xt4bf0vh"); // case 'F': UNSUPPORTED("9kl1bheiih6co789yxhdhiujb"); // op->kind = xd_font; UNSUPPORTED("t4du5s5scamal3d24vj1iqbh"); // s = parseReal(s, &op->u.font.size); UNSUPPORTED("dgnldyd2pb5vmg1g32106eh4l"); // if(!s){*error=1;return 0;}; UNSUPPORTED("2fc9sdef2b51gow7bu6sjkkg4"); // s = parseString(s, &op->u.font.name); UNSUPPORTED("dgnldyd2pb5vmg1g32106eh4l"); // if(!s){*error=1;return 0;}; UNSUPPORTED("68fwibhr1nqhg298v23jvoosh"); // if (ops) UNSUPPORTED("35fyib2apc4v7sbldsq0go062"); // op->drawfunc = ops[xop_font]; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("a64n1v2knehfy9fh7m8eu7hsw"); // case 'S': UNSUPPORTED("8zk5sf79y3v9t2m0y1ymj3iey"); // op->kind = xd_style; UNSUPPORTED("7cq7xz66wdm8q5mb092031z4u"); // s = parseString(s, &op->u.style); UNSUPPORTED("dgnldyd2pb5vmg1g32106eh4l"); // if(!s){*error=1;return 0;}; UNSUPPORTED("68fwibhr1nqhg298v23jvoosh"); // if (ops) UNSUPPORTED("7squrebrjdtz8u4fte81buvyz"); // op->drawfunc = ops[xop_style]; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("29wq7b3fga4nijwl3yta17mv7"); // case 'I': UNSUPPORTED("eg0zxy0wpuyiu2oougybrgiy7"); // op->kind = xd_image; UNSUPPORTED("8z1u31p0vzmblgt8ohzyr1ndx"); // s = parseRect(s, &op->u.image.pos); UNSUPPORTED("dgnldyd2pb5vmg1g32106eh4l"); // if(!s){*error=1;return 0;}; UNSUPPORTED("bumle8azn9e1h3v7bopmk5n54"); // s = parseString(s, &op->u.image.name); UNSUPPORTED("dgnldyd2pb5vmg1g32106eh4l"); // if(!s){*error=1;return 0;}; UNSUPPORTED("68fwibhr1nqhg298v23jvoosh"); // if (ops) UNSUPPORTED("6m0v33rzuqjeq92tc2rckvele"); // op->drawfunc = ops[xop_image]; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("eat2i5ddqniirlvawyhxdst46"); // case 't': UNSUPPORTED("e92hvbw42702796zjdpygw9hm"); // op->kind = xd_fontchar; UNSUPPORTED("1ccegleo0pp43r2ln4pqcss9g"); // s = parseUInt(s, &op->u.fontchar); UNSUPPORTED("dgnldyd2pb5vmg1g32106eh4l"); // if(!s){*error=1;return 0;}; UNSUPPORTED("68fwibhr1nqhg298v23jvoosh"); // if (ops) UNSUPPORTED("9d0mk8yn2iofol0nxgvjskxm2"); // op->drawfunc = ops[xop_fontchar]; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("1luutzji7osg8esr8b5j2cmsr"); // case '\0': UNSUPPORTED("cx0xi1vqbff1wttv329u71fsf"); // s = 0; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("12iorka61r0svbo67ymiyk2xm"); // *error = 1; UNSUPPORTED("cx0xi1vqbff1wttv329u71fsf"); // s = 0; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3y6wj3ntgmr1qkdpm7wp1dsch"); // return s; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5wc1slq9x7lxo1mohysgr0u9v // xdot *parseXDotFOn (char *s, drawfunc_t fns[], int sz, xdot* x) public static Object parseXDotFOn(Object... arg) { UNSUPPORTED("del1weqvytt23ivpfz8ioo7lq"); // xdot *parseXDotFOn (char *s, drawfunc_t fns[], int sz, xdot* x) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6qc99eq4i3e3ogqtvwjenpax6"); // xdot_op op; UNSUPPORTED("de9l6pn4qzf2wjdqbawozkf7e"); // char *ops; UNSUPPORTED("1fre7x15xdukb9hyi6d6711i5"); // int oldsz, bufsz; UNSUPPORTED("cknrkc54njhr0aclf9l9gw0bw"); // int error; UNSUPPORTED("ecv0zeja1tcgfn8qgbqizf04m"); // int initcnt; UNSUPPORTED("5io7qudgtw3wrjkc5ndpni08d"); // if (!s) UNSUPPORTED("7ngxpkghjermbwbho2j4f5qvi"); // return x; UNSUPPORTED("ke1x8t1fmvv316rneoda0ss2"); // if (!x) { UNSUPPORTED("1bt9ibfd7selwlyjzzj8zugyw"); // x = (xdot*)calloc(1, sizeof(xdot)); UNSUPPORTED("2e1w10luru5il8ocut51grwgv"); // if (sz <= sizeof(xdot_op)) UNSUPPORTED("7apwr620hx5egvyfz58suchvi"); // sz = sizeof(xdot_op); UNSUPPORTED("ek6enscr1j99c8kzgpj6u2bxa"); // /* cnt, freefunc, ops, flags zeroed by NEW */ UNSUPPORTED("cajvvx0dkfkoti3nbxwiluats"); // x->sz = sz; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("e077xzd8dapealp6nhtlqdpl4"); // initcnt = x->cnt; UNSUPPORTED("7mal8ay7kpitrb9g5mthqfbjb"); // sz = x->sz; UNSUPPORTED("8i2hi7mj1cgsl90sxhbpqranx"); // if (initcnt == 0) { UNSUPPORTED("bkcefor4uv5jyrv0x0yfbxyna"); // bufsz = 100; UNSUPPORTED("201agqdoyv7sx9c17j6fuw2sg"); // ops = (char *) calloc(100, sz); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("cwo1tpf247100oddqjti32zmh"); // ops = (char*)(x->ops); UNSUPPORTED("7nja6mm5tt34cve70y0571hub"); // bufsz = initcnt + 100; UNSUPPORTED("cnb950g9dc109a90346xph8iy"); // ops = (char *) realloc(ops, bufsz * sz); UNSUPPORTED("b43qdbc13emvwq99ngcburls5"); // memset(ops + (initcnt*sz), '\0', (bufsz - initcnt)*sz); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("73x1ejpfjxn2mhkzjznytsxvn"); // while ((s = parseOp(&op, s, fns, &error))) { UNSUPPORTED("5ol0b0rd00pjdvj32o6c1il1x"); // if (x->cnt == bufsz) { UNSUPPORTED("1w2w52ovyn8un9gr3j9lxj202"); // oldsz = bufsz; UNSUPPORTED("3psgdtqxnrljp3xnkep0f4qm4"); // bufsz *= 2; UNSUPPORTED("2ykj4yj4vfhwxjomqhhrg8uzr"); // ops = (char *) realloc(ops, bufsz * sz); UNSUPPORTED("6hvg5i6znthuu7cdcsjq5mnz0"); // memset(ops + (oldsz*sz), '\0', (bufsz - oldsz)*sz); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("du21yaxgccjzlo45llct4tqak"); // *(xdot_op *) (ops + (x->cnt * sz)) = op; UNSUPPORTED("ai5pt7k72sx5jp61rk4fvdhxp"); // x->cnt++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9ob7nuswfwxxvd5brie5gso4d"); // if (error) UNSUPPORTED("dyyumzikvlv9fg24z6x09p5lu"); // x->flags |= 1; UNSUPPORTED("1n5koxwuji1d5l2zzs1e4h1qi"); // if (x->cnt) { UNSUPPORTED("4ssdlr3gorr9y6t08ll8z4znz"); // x->ops = (xdot_op *) realloc(ops, x->cnt * sz); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("cycxnymrxk0vovp1xbx5ma9md"); // free (ops); UNSUPPORTED("c0mmv67btk6s9utzudcjef1b"); // free (x); UNSUPPORTED("ajmuq0bs0l1j2jqys1lqyatkp"); // x = NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4jnfz0yeu1qihsx3sbr7l2fsh"); // return x; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4460p54l4myil3tss1cr4fryd // xdot *parseXDotF(char *s, drawfunc_t fns[], int sz) public static Object parseXDotF(Object... arg) { UNSUPPORTED("969km4cd3fzkxaw7yidsr8p7p"); // xdot *parseXDotF(char *s, drawfunc_t fns[], int sz) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dlkx6l0c5f3r3r98huhdg2ooa"); // return parseXDotFOn (s, fns, sz, NULL); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1l1kp80xwz00t0yjxs3q5rmk3 // xdot *parseXDot(char *s) public static Object parseXDot(Object... arg) { UNSUPPORTED("8q2xd8yodlhxzirc9af1nt5x5"); // xdot *parseXDot(char *s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("arcemicyd1w4yf877xwdo6rx7"); // return parseXDotF(s, 0, 0); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2f1smkubo9aphaw4mu9x6fqep // static void trim (char* buf) public static Object trim(Object... arg) { UNSUPPORTED("16qqcors2mtgshjsd8bo4p83w"); // static void trim (char* buf) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7puz5on3kut1d51f3su87yzvy"); // char* dotp; UNSUPPORTED("a4px33i4moqe8ybwatz0g8k6"); // char* p; UNSUPPORTED("25j4nlrn8fb330rtpgs3znj2e"); // if ((dotp = strchr (buf,'.'))) { UNSUPPORTED("4ahv95yhrsexjeiyqeqh89ui5"); // p = dotp+1; UNSUPPORTED("8owim6df9ae01xere8qw3zijk"); // while (*p) p++; // find end of string UNSUPPORTED("6y68c149kyxt4ja9q3jh7bc19"); // p--; UNSUPPORTED("e2htnsr0x54tbh21x4z55a8fg"); // while (*p == '0') *p-- = '\0'; UNSUPPORTED("azdcgp3weiwu7xxfo6mjw11v3"); // if (*p == '.') // If all decimals were zeros, remove ".". UNSUPPORTED("6568pmkatbjs0ljsylsyvwepv"); // *p = '\0'; UNSUPPORTED("35nw1pbiz2p3s6qwlam5eoo3m"); // else UNSUPPORTED("a0t85lvr3qdf70ajg30c8eadd"); // p++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dkdckkwtr1hxr1itqzjgv1uwc // static void printRect(xdot_rect * r, pf print, void *info) public static Object printRect(Object... arg) { UNSUPPORTED("1j4yxl2tdu1mgcs8f18wo7y1p"); // static void printRect(xdot_rect * r, pf print, void *info) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ao5jsn9dl1jrlcy9pc1frc1o0"); // char buf[128]; UNSUPPORTED("6ded6umxsn4kpbdobx5psese6"); // sprintf(buf, " %.02f", r->x); UNSUPPORTED("c6edvxq3lg824jb9zcjytatwi"); // trim(buf); UNSUPPORTED("1pvfmyr62uut2ima4wfa83yq7"); // print(buf, info); UNSUPPORTED("1dq8e468ztu7szq5wr6jwqoyk"); // sprintf(buf, " %.02f", r->y); UNSUPPORTED("c6edvxq3lg824jb9zcjytatwi"); // trim(buf); UNSUPPORTED("1pvfmyr62uut2ima4wfa83yq7"); // print(buf, info); UNSUPPORTED("4hbjzmluo9cbzej5u95q8a7z4"); // sprintf(buf, " %.02f", r->w); UNSUPPORTED("c6edvxq3lg824jb9zcjytatwi"); // trim(buf); UNSUPPORTED("1pvfmyr62uut2ima4wfa83yq7"); // print(buf, info); UNSUPPORTED("aneklasez7u2mjv2budi0ucgq"); // sprintf(buf, " %.02f", r->h); UNSUPPORTED("c6edvxq3lg824jb9zcjytatwi"); // trim(buf); UNSUPPORTED("1pvfmyr62uut2ima4wfa83yq7"); // print(buf, info); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 42jio1rnt74r1eotoz52e2103 // static void printPolyline(xdot_polyline * p, pf print, void *info) public static Object printPolyline(Object... arg) { UNSUPPORTED("5duf17af1csfzpnc3dyas5huc"); // static void printPolyline(xdot_polyline * p, pf print, void *info) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("bx1dr4weajm160sejmy560gvb"); // char buf[512]; UNSUPPORTED("2wggiazumqcdxtujbvty42yuv"); // sprintf(buf, " %d", p->cnt); UNSUPPORTED("1pvfmyr62uut2ima4wfa83yq7"); // print(buf, info); UNSUPPORTED("1zh4rtgdnj1q51o48247n8113"); // for (i = 0; i < p->cnt; i++) { UNSUPPORTED("6npaqu2tg8ldsxi0i5k0n0z3j"); // sprintf(buf, " %.02f", p->pts[i].x); UNSUPPORTED("3b5kljt1py58tdgjxk9e2dsww"); // trim(buf); UNSUPPORTED("7oss8g82at7padefgh6z1oko6"); // print(buf, info); UNSUPPORTED("3ci7wlatgm8j39td4y1jtvcyq"); // sprintf(buf, " %.02f", p->pts[i].y); UNSUPPORTED("3b5kljt1py58tdgjxk9e2dsww"); // trim(buf); UNSUPPORTED("7oss8g82at7padefgh6z1oko6"); // print(buf, info); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4gdy7r7tpkmrd0prm55gzhki5 // static void printString(char *p, pf print, void *info) public static Object printString(Object... arg) { UNSUPPORTED("9f4f8ckw2jx1xeiecbc5j14jx"); // static void printString(char *p, pf print, void *info) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4f58isghm038gd5wa6xw6tk4k"); // char buf[30]; UNSUPPORTED("axfy0wcb6535wfyimof2qaa44"); // sprintf(buf, " %d -", (int) strlen(p)); UNSUPPORTED("1pvfmyr62uut2ima4wfa83yq7"); // print(buf, info); UNSUPPORTED("bp53hk5r9lhkewy59gijr0m4j"); // print(p, info); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8sfpijalp2tilivgvo7ipgyo2 // static void printInt(int i, pf print, void *info) public static Object printInt(Object... arg) { UNSUPPORTED("9vsvsk7dh3k27thd38londqpp"); // static void printInt(int i, pf print, void *info) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4f58isghm038gd5wa6xw6tk4k"); // char buf[30]; UNSUPPORTED("1ikq43mlxdu4l67uy39bejql4"); // sprintf(buf, " %d", i); UNSUPPORTED("1pvfmyr62uut2ima4wfa83yq7"); // print(buf, info); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bb85wa9ydpjx8azkt6j8fkk9z // static void printFloat(float f, pf print, void *info, int space) public static Object printFloat(Object... arg) { UNSUPPORTED("d94ew8o9g8u5ic657j9wqhrwz"); // static void printFloat(float f, pf print, void *info, int space) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ao5jsn9dl1jrlcy9pc1frc1o0"); // char buf[128]; UNSUPPORTED("4syg3ja72oets2mdjgyjmzh5w"); // if (space) UNSUPPORTED("8dxllh2z42b75e6r0pxkdg2j1"); // sprintf(buf, " %.02f", f); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("97zm9gyi28c0wrfbvlls52v1h"); // sprintf(buf, "%.02f", f); UNSUPPORTED("481rvn40hp1stspd04wqvyej6"); // trim (buf); UNSUPPORTED("1pvfmyr62uut2ima4wfa83yq7"); // print(buf, info); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cewa9h3fzdsvn1pbwq6owgc41 // static void printAlign(xdot_align a, pf print, void *info) public static Object printAlign(Object... arg) { UNSUPPORTED("8miq75j7m3nbilqa8rw1slpm9"); // static void printAlign(xdot_align a, pf print, void *info) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b5n0x9uualh7k0dnk80sdcgqs"); // switch (a) { UNSUPPORTED("css95m4wfpdkor1v8y1jvb0yf"); // case xd_left: UNSUPPORTED("5j6u0d7ydfnkl37wkp62dee5z"); // print(" -1", info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("3qghu38yz817sx6eaztlm3p6l"); // case xd_right: UNSUPPORTED("bm2tfxfdkjx58e5wkpecpko4u"); // print(" 1", info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("1hh2q36cwlihkbrqqwveukrto"); // case xd_center: UNSUPPORTED("8qpabgae6mxxb1ly8yuw0h9pa"); // print(" 0", info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8sdpv3zwgeio07qexxyifrki9 // static void gradprint (char* s, void* v) public static Object gradprint(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("e9q23vdw8dsq7sa76x8tatioi"); // gradprint (char* s, void* v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("byn5a1ck7ae0nmlhvjrcigb3i"); // agxbput(s, (agxbuf*)v); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d8h0f1ny0lfqgdlltgznth70f // static void toGradString (agxbuf* xb, xdot_color* cp) public static Object toGradString(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("e098a5mtgj1bjdwal9mpcyohu"); // toGradString (agxbuf* xb, xdot_color* cp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bg1wmmucmjnf92wix4t7nfnaa"); // int i, n_stops; UNSUPPORTED("5c0mu092bwx9r1ah38xzg3b4c"); // xdot_color_stop* stops; UNSUPPORTED("19ar0bs2h13txvy4uwtw868m"); // if (cp->type == xd_linear) { UNSUPPORTED("a5e0eku2d7lu5e1urereer9qd"); // ((((xb)->ptr >= (xb)->eptr) ? agxbmore(xb,1) : 0), (int)(*(xb)->ptr++ = ((unsigned char)'['))); UNSUPPORTED("26is4zw7egae66druypu7x87g"); // printFloat (cp->u.ling.x0, gradprint, xb, 0); UNSUPPORTED("7enppj732f9vvrl746z88q49u"); // printFloat (cp->u.ling.y0, gradprint, xb, 1); UNSUPPORTED("3gu8dszmue79k293so5y2wfvm"); // printFloat (cp->u.ling.x1, gradprint, xb, 1); UNSUPPORTED("cal670m45zbhvvhzumai92o9y"); // printFloat (cp->u.ling.y1, gradprint, xb, 1); UNSUPPORTED("es7ru0t95ecdn3lk7jb64x0h4"); // n_stops = cp->u.ling.n_stops; UNSUPPORTED("24qiepo9vtk8pnivng82po3mt"); // stops = cp->u.ling.stops; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("4onc3nmgcaapl00s6m043sg26"); // ((((xb)->ptr >= (xb)->eptr) ? agxbmore(xb,1) : 0), (int)(*(xb)->ptr++ = ((unsigned char)'('))); UNSUPPORTED("aagp8bu8z9h8c1osmyvdw10fi"); // printFloat (cp->u.ring.x0, gradprint, xb, 0); UNSUPPORTED("5aksyngm1c2y5a0lcsafnlkx3"); // printFloat (cp->u.ring.y0, gradprint, xb, 1); UNSUPPORTED("pf3sl7ifvvw4cxut4qrg5pyy"); // printFloat (cp->u.ring.r0, gradprint, xb, 1); UNSUPPORTED("4h1gr2eixkyvubhblkd58jcbi"); // printFloat (cp->u.ring.x1, gradprint, xb, 1); UNSUPPORTED("6e9hjapf13xkygv9wqzgrd6b3"); // printFloat (cp->u.ring.y1, gradprint, xb, 1); UNSUPPORTED("a5durn757p58xt7ajmie3ne0r"); // printFloat (cp->u.ring.r1, gradprint, xb, 1); UNSUPPORTED("9vzzyqc3eqpw3j9gk4twef732"); // n_stops = cp->u.ring.n_stops; UNSUPPORTED("1ifkpfecqerrx44isr3gttz6y"); // stops = cp->u.ring.stops; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9bbs1gkxn1py6cenyvu86g6io"); // printInt (n_stops, gradprint, xb); UNSUPPORTED("4c8mz82f1vdtbgs20z3sj5piu"); // for (i = 0; i < n_stops; i++) { UNSUPPORTED("4hufkcyrhdph16ckosmd5cghd"); // printFloat (stops[i].frac, gradprint, xb, 1); UNSUPPORTED("es15carbpwf4hdyr222w7gct0"); // printString (stops[i].color, gradprint, xb); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a0vxpwbxeeom01urwsawtv3c4"); // if (cp->type == xd_linear) UNSUPPORTED("9pej3878vsbmnvzgtbqgdb9a5"); // ((((xb)->ptr >= (xb)->eptr) ? agxbmore(xb,1) : 0), (int)(*(xb)->ptr++ = ((unsigned char)']'))); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("yifq4dmob9tld1rc5va5zha8"); // ((((xb)->ptr >= (xb)->eptr) ? agxbmore(xb,1) : 0), (int)(*(xb)->ptr++ = ((unsigned char)')'))); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2ifo26ctb4oo4z48u3q84ejrn // static void printXDot_Op(xdot_op * op, pf print, void *info, int more) public static Object printXDot_Op(Object... arg) { UNSUPPORTED("1793b7u18bt999rej4hfqd18z"); // static void printXDot_Op(xdot_op * op, pf print, void *info, int more) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9gou5otj6s39l2cbyc8i5i5lq"); // agxbuf xb; UNSUPPORTED("esg3s800dx899v69pkng2kavv"); // unsigned char buf[BUFSIZ]; UNSUPPORTED("cx1hx0xl1yzchdfsninsbfsek"); // agxbinit (&xb, BUFSIZ, buf); UNSUPPORTED("egsu3y4d03wndsn6zaevl28hr"); // switch (op->kind) { UNSUPPORTED("92w4nbepujb6qq0yhaml31tcv"); // case xd_filled_ellipse: UNSUPPORTED("avfl9oam76dloz4i7gb63380f"); // print("E", info); UNSUPPORTED("18zcxe29q21cnf6ocj8rtkhsv"); // printRect(&op->u.ellipse, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("7zgc3n99mi30jda6c8ii6z9ij"); // case xd_unfilled_ellipse: UNSUPPORTED("83413w1sz69a4c9t1pbqq1y"); // print("e", info); UNSUPPORTED("18zcxe29q21cnf6ocj8rtkhsv"); // printRect(&op->u.ellipse, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("a02o53vx69zifve1qybxt6bwg"); // case xd_filled_polygon: UNSUPPORTED("7u9vnqf5qa98cod2pe107pm8c"); // print("P", info); UNSUPPORTED("awy43l3osrby3v6u35pv3pgcn"); // printPolyline(&op->u.polygon, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("1amgc8nhs2zl8rzvqurr02syl"); // case xd_unfilled_polygon: UNSUPPORTED("eqr0mrqf32c8edkz2vxxufss3"); // print("p", info); UNSUPPORTED("awy43l3osrby3v6u35pv3pgcn"); // printPolyline(&op->u.polygon, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("i75482wp0xfww8yo6wanbdpe"); // case xd_filled_bezier: UNSUPPORTED("dps7uwiaic5ssgx5ak76dknwc"); // print("b", info); UNSUPPORTED("4btk2wauocq7ho3pcmjhpaep3"); // printPolyline(&op->u.bezier, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("cljys033beawi3mtklyme87lc"); // case xd_unfilled_bezier: UNSUPPORTED("bx3k28i94anx726x3fsw3hcbn"); // print("B", info); UNSUPPORTED("4btk2wauocq7ho3pcmjhpaep3"); // printPolyline(&op->u.bezier, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("3hbkjfy0n8isa112ucvobo206"); // case xd_pen_color: UNSUPPORTED("etajunwxx38izkyu1vgomrd18"); // print("c", info); UNSUPPORTED("2acpcykvd9wut6d3psoj4licj"); // printString(op->u.color, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("7xkva0g2qpvpgvf24yglj76mo"); // case xd_grad_pen_color: UNSUPPORTED("etajunwxx38izkyu1vgomrd18"); // print("c", info); UNSUPPORTED("dn1ii4k6v4t36te9fit9p5ow"); // toGradString (&xb, &op->u.grad_color); UNSUPPORTED("50kwynjmi5e57cvsa7vzmi43r"); // printString((((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf)), print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("p898bkyv60y69qbm68pjwrc"); // case xd_fill_color: UNSUPPORTED("42hiueari9313xfmjkmlsh4nl"); // print("C", info); UNSUPPORTED("2acpcykvd9wut6d3psoj4licj"); // printString(op->u.color, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("iqk6nvbp31j9twtqmoldcx45"); // case xd_grad_fill_color: UNSUPPORTED("42hiueari9313xfmjkmlsh4nl"); // print("C", info); UNSUPPORTED("dn1ii4k6v4t36te9fit9p5ow"); // toGradString (&xb, &op->u.grad_color); UNSUPPORTED("50kwynjmi5e57cvsa7vzmi43r"); // printString((((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf)), print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("a19xwyhpt7uym00dh6pmlvhhk"); // case xd_polyline: UNSUPPORTED("bnzcmoivqx29pzecf56klb5rt"); // print("L", info); UNSUPPORTED("6jpvv2wygo44odwyu9lynwlla"); // printPolyline(&op->u.polyline, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8iuq6qr8jjaqun0ulqu2u1x77"); // case xd_text: UNSUPPORTED("1covx2pxt7w158hh2znfdjibj"); // print("T", info); UNSUPPORTED("du2g2u2x2kjtop4xp0foszscr"); // printInt(op->u.text.x, print, info); UNSUPPORTED("e5fzs5nglnsh9m8cvrm6mhh9j"); // printInt(op->u.text.y, print, info); UNSUPPORTED("12ip8eyyw9723ifasdged1v2g"); // printAlign(op->u.text.align, print, info); UNSUPPORTED("dff5na2fdib9h0c3ltg1q62m1"); // printInt(op->u.text.width, print, info); UNSUPPORTED("4j0eb8wt0yftyu0xsxwmht5y0"); // printString(op->u.text.text, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("7mkkywc80hjajd0vttqrsfcsz"); // case xd_font: UNSUPPORTED("5cr592wslkjhte61diwmbbiao"); // print("F", info); UNSUPPORTED("2v4nq9epbpb850zg0p0ne7i9z"); // printFloat(op->u.font.size, print, info, 1); UNSUPPORTED("m0mhdn5rhrw213vfetr1qvrr"); // printString(op->u.font.name, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("4bvixlppj4a6yebt6egxnzu9e"); // case xd_fontchar: UNSUPPORTED("4paiwfmol6vza6gj5t58bj1tu"); // print("t", info); UNSUPPORTED("7f3e0jgah853oke7gxa99azrt"); // printInt(op->u.fontchar, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("9c1yqt1pf6mjkrdhf7pxoea82"); // case xd_style: UNSUPPORTED("5s484jqdx1mqox7ld6hgx74h3"); // print("S", info); UNSUPPORTED("31kaly9swqallffqmpz4d8g8q"); // printString(op->u.style, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("3tev1dlfh70jm5km963v1i7rr"); // case xd_image: UNSUPPORTED("8u2x1dwtxbkqfhrhav6mps4zz"); // print("I", info); UNSUPPORTED("cmjkhpcu8kludztp79rewpw3r"); // printRect(&op->u.image.pos, print, info); UNSUPPORTED("7huh682je4jhfwyzr6jis9v3e"); // printString(op->u.image.name, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("21eozdlhui5hv29fj41fdny45"); // if (more) UNSUPPORTED("3fhfv2tii5y8pg1pxuqf61414"); // print(" ", info); UNSUPPORTED("9ocnzhe59r19odwgtedwnydm"); // agxbfree (&xb); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 22qizeibm0jpts105p4r4ssu7 // static void jsonRect(xdot_rect * r, pf print, void *info) public static Object jsonRect(Object... arg) { UNSUPPORTED("atngzawms4mstydgpenmodeae"); // static void jsonRect(xdot_rect * r, pf print, void *info) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ao5jsn9dl1jrlcy9pc1frc1o0"); // char buf[128]; UNSUPPORTED("899gofiybbl25xf9pqimd5aww"); // sprintf(buf, "[%.06f,%.06f,%.06f,%.06f]", r->x, r->y, r->w, r->h); UNSUPPORTED("1pvfmyr62uut2ima4wfa83yq7"); // print(buf, info); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cfkyn9xd2i5z05dsbh0ne2rjg // static void jsonPolyline(xdot_polyline * p, pf print, void *info) public static Object jsonPolyline(Object... arg) { UNSUPPORTED("egjrc5eqaywh9r95et92i5j12"); // static void jsonPolyline(xdot_polyline * p, pf print, void *info) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("ao5jsn9dl1jrlcy9pc1frc1o0"); // char buf[128]; UNSUPPORTED("dx17wwbu2afo621ke8m0p66bx"); // print("[", info); UNSUPPORTED("1zh4rtgdnj1q51o48247n8113"); // for (i = 0; i < p->cnt; i++) { UNSUPPORTED("9kduk4sv1f8wp0siawqgz9c4o"); // sprintf(buf, "%.06f,%.06f", p->pts[i].x, p->pts[i].y); UNSUPPORTED("7oss8g82at7padefgh6z1oko6"); // print(buf, info); UNSUPPORTED("dmxnc6gb50dg4v9n0xtjz51hf"); // if (i < p->cnt-1) print(",", info); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4oeezkifb3drxphpg1cjeg70d"); // print("]", info); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 aje680ivpjh0mfzcsw9x1ht0r // static void jsonString(char *p, pf print, void *info) public static Object jsonString(Object... arg) { UNSUPPORTED("xd8vixlem3ryrydnitavheuh"); // static void jsonString(char *p, pf print, void *info) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ccqtabt7b8gb82xm56jlgsmct"); // unsigned char c, buf[BUFSIZ]; UNSUPPORTED("9gou5otj6s39l2cbyc8i5i5lq"); // agxbuf xb; UNSUPPORTED("3jwm77zyv02ukrvjv9jppejf7"); // agxbinit(&xb, BUFSIZ, buf); UNSUPPORTED("b3e82u1ow4q1lk03crhf13ayh"); // ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'"'))); UNSUPPORTED("5idssb31ihz3min8hoscutczg"); // while ((c = *p++)) { UNSUPPORTED("cm03my2812x36d3fncswnob84"); // if (c == '"') agxbput("\\\"", &xb); UNSUPPORTED("94otk4xgi87nfbyoszjr7j55w"); // else if (c == '\\') agxbput("\\\\", &xb); UNSUPPORTED("2jd1vf95nxgl1jccn2hj57ltn"); // /* else if (c > 127) handle UTF-8 */ UNSUPPORTED("2cra9r66covnc0bjlevlzi5jj"); // else ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)c))); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b3e82u1ow4q1lk03crhf13ayh"); // ((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'"'))); UNSUPPORTED("cc3sjgjwfnwoa96mfkgf04x8y"); // print((((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf)), info); UNSUPPORTED("1at5m9ctjn3ukv5gqtfswik02"); // agxbfree(&xb); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 en6kdtyyuve3yy1mk979yf17k // static void jsonXDot_Op(xdot_op * op, pf print, void *info, int more) public static Object jsonXDot_Op(Object... arg) { UNSUPPORTED("9emtpnf2em1erh1ibaoqmcvew"); // static void jsonXDot_Op(xdot_op * op, pf print, void *info, int more) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9gou5otj6s39l2cbyc8i5i5lq"); // agxbuf xb; UNSUPPORTED("esg3s800dx899v69pkng2kavv"); // unsigned char buf[BUFSIZ]; UNSUPPORTED("cx1hx0xl1yzchdfsninsbfsek"); // agxbinit (&xb, BUFSIZ, buf); UNSUPPORTED("egsu3y4d03wndsn6zaevl28hr"); // switch (op->kind) { UNSUPPORTED("92w4nbepujb6qq0yhaml31tcv"); // case xd_filled_ellipse: UNSUPPORTED("7shzdk63y5m3x09b9ff524dm6"); // print("{E : ", info); UNSUPPORTED("cfit896buh0gkw7q1d7stizok"); // jsonRect(&op->u.ellipse, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("7zgc3n99mi30jda6c8ii6z9ij"); // case xd_unfilled_ellipse: UNSUPPORTED("101qypctltvfnagwnn6e8ofl"); // print("{e : ", info); UNSUPPORTED("cfit896buh0gkw7q1d7stizok"); // jsonRect(&op->u.ellipse, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("a02o53vx69zifve1qybxt6bwg"); // case xd_filled_polygon: UNSUPPORTED("6rcmfpfjotckasov8w4bzpb7r"); // print("{P : ", info); UNSUPPORTED("cp182xgfbyzs7pjw98qp82hzb"); // jsonPolyline(&op->u.polygon, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("1amgc8nhs2zl8rzvqurr02syl"); // case xd_unfilled_polygon: UNSUPPORTED("dzu0713owvp18q74j7ppfmhw6"); // print("{p : ", info); UNSUPPORTED("cp182xgfbyzs7pjw98qp82hzb"); // jsonPolyline(&op->u.polygon, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("i75482wp0xfww8yo6wanbdpe"); // case xd_filled_bezier: UNSUPPORTED("dqqwbsqud2t7i7xz1gohsqcq5"); // print("{b : ", info); UNSUPPORTED("4xnyfd4ws1ocexeydxb9xpvth"); // jsonPolyline(&op->u.bezier, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("cljys033beawi3mtklyme87lc"); // case xd_unfilled_bezier: UNSUPPORTED("e7cley1ku4kmdkxq0aawfeb2t"); // print("{B : ", info); UNSUPPORTED("4xnyfd4ws1ocexeydxb9xpvth"); // jsonPolyline(&op->u.bezier, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("3hbkjfy0n8isa112ucvobo206"); // case xd_pen_color: UNSUPPORTED("c4qk7i453wj5fobvuvr3ei45w"); // print("{c : ", info); UNSUPPORTED("7zcrklnkletwkzkl84au4weoa"); // jsonString(op->u.color, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("7xkva0g2qpvpgvf24yglj76mo"); // case xd_grad_pen_color: UNSUPPORTED("c4qk7i453wj5fobvuvr3ei45w"); // print("{c : ", info); UNSUPPORTED("dn1ii4k6v4t36te9fit9p5ow"); // toGradString (&xb, &op->u.grad_color); UNSUPPORTED("efndbch1vq95g86ddil3h32hq"); // jsonString((((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf)), print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("p898bkyv60y69qbm68pjwrc"); // case xd_fill_color: UNSUPPORTED("92we9quymvrj11tqzxd0xxwun"); // print("{C : ", info); UNSUPPORTED("7zcrklnkletwkzkl84au4weoa"); // jsonString(op->u.color, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("iqk6nvbp31j9twtqmoldcx45"); // case xd_grad_fill_color: UNSUPPORTED("92we9quymvrj11tqzxd0xxwun"); // print("{C : ", info); UNSUPPORTED("dn1ii4k6v4t36te9fit9p5ow"); // toGradString (&xb, &op->u.grad_color); UNSUPPORTED("efndbch1vq95g86ddil3h32hq"); // jsonString((((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf)), print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("a19xwyhpt7uym00dh6pmlvhhk"); // case xd_polyline: UNSUPPORTED("7a0hwcdrq1t22zkthfk8rjvny"); // print("{L :", info); UNSUPPORTED("agckpp5qx857omx0z2p1omp9w"); // jsonPolyline(&op->u.polyline, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8iuq6qr8jjaqun0ulqu2u1x77"); // case xd_text: UNSUPPORTED("6su4jcg42a5hqw1iewbdbqss8"); // print("{T : [", info); UNSUPPORTED("du2g2u2x2kjtop4xp0foszscr"); // printInt(op->u.text.x, print, info); UNSUPPORTED("9vp943ns0hhsqhqgt5bko6l5e"); // print(",", info); UNSUPPORTED("e5fzs5nglnsh9m8cvrm6mhh9j"); // printInt(op->u.text.y, print, info); UNSUPPORTED("9vp943ns0hhsqhqgt5bko6l5e"); // print(",", info); UNSUPPORTED("12ip8eyyw9723ifasdged1v2g"); // printAlign(op->u.text.align, print, info); UNSUPPORTED("9vp943ns0hhsqhqgt5bko6l5e"); // print(",", info); UNSUPPORTED("dff5na2fdib9h0c3ltg1q62m1"); // printInt(op->u.text.width, print, info); UNSUPPORTED("9vp943ns0hhsqhqgt5bko6l5e"); // print(",", info); UNSUPPORTED("exr3mgpya5ekmani7zwyecckp"); // jsonString(op->u.text.text, print, info); UNSUPPORTED("1xljw3cra5mz10d8m2ofd93g1"); // print("]", info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("7mkkywc80hjajd0vttqrsfcsz"); // case xd_font: UNSUPPORTED("chm0rcdooqkwdilqs4ob4x7er"); // print("{F : [", info); UNSUPPORTED("9kl1bheiih6co789yxhdhiujb"); // op->kind = xd_font; UNSUPPORTED("2v4nq9epbpb850zg0p0ne7i9z"); // printFloat(op->u.font.size, print, info, 1); UNSUPPORTED("9vp943ns0hhsqhqgt5bko6l5e"); // print(",", info); UNSUPPORTED("4gjyxukif0iv2opnta7dxjuud"); // jsonString(op->u.font.name, print, info); UNSUPPORTED("1xljw3cra5mz10d8m2ofd93g1"); // print("]", info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("4bvixlppj4a6yebt6egxnzu9e"); // case xd_fontchar: UNSUPPORTED("7kn2tqcgq6mh4f6a2wjucq8ut"); // print("{t : ", info); UNSUPPORTED("7f3e0jgah853oke7gxa99azrt"); // printInt(op->u.fontchar, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("9c1yqt1pf6mjkrdhf7pxoea82"); // case xd_style: UNSUPPORTED("c96ck14wi4rohmbat8gi5dld6"); // print("{S : ", info); UNSUPPORTED("aee1scodw2sd4ao9kc1vbmqhk"); // jsonString(op->u.style, print, info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("3tev1dlfh70jm5km963v1i7rr"); // case xd_image: UNSUPPORTED("arfqyu09gop5ue9k4msfg8etr"); // print("{I : [", info); UNSUPPORTED("71vovzeon9tb2c11s1nknqmff"); // jsonRect(&op->u.image.pos, print, info); UNSUPPORTED("9vp943ns0hhsqhqgt5bko6l5e"); // print(",", info); UNSUPPORTED("cr1qzeh98mlvqnlw58iuual50"); // jsonString(op->u.image.name, print, info); UNSUPPORTED("1xljw3cra5mz10d8m2ofd93g1"); // print("]", info); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("21eozdlhui5hv29fj41fdny45"); // if (more) UNSUPPORTED("5b86atqkvtk6yh0jjr574te6i"); // print("},\n", info); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("697b92co0pv9qoy9ikskp8tt2"); // print("}\n", info); UNSUPPORTED("9ocnzhe59r19odwgtedwnydm"); // agxbfree (&xb); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2zdgagi4yv5fkpnso5ildjfj5 // static void _printXDot(xdot * x, pf print, void *info, print_op ofn) public static Object _printXDot(Object... arg) { UNSUPPORTED("beqsyisd37qh2rmab3wmlihg9"); // static void _printXDot(xdot * x, pf print, void *info, print_op ofn) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("7iglpnbs5h4cbinybqfog9ddx"); // xdot_op *op; UNSUPPORTED("7hh6k0a6zqwhdnmtvr8eessta"); // char *base = (char *) (x->ops); UNSUPPORTED("budcfgz6nozjl4wd3lhsp20s7"); // for (i = 0; i < x->cnt; i++) { UNSUPPORTED("coll83cylkgt1g7npgfdqqgx3"); // op = (xdot_op *) (base + i * x->sz); UNSUPPORTED("dh2m2dnrjv9clw1u2sgwmpw6t"); // ofn(op, print, info, (i < x->cnt - 1)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1c9ib0ywnb7bedzxnss4cmagy // char *sprintXDot(xdot * x) public static Object sprintXDot(Object... arg) { UNSUPPORTED("2e52l2dihzy7a2f1vl7qlv1xl"); // char *sprintXDot(xdot * x) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8yytudftst76763qgnjebkzhm"); // char *s; UNSUPPORTED("esg3s800dx899v69pkng2kavv"); // unsigned char buf[BUFSIZ]; UNSUPPORTED("9gou5otj6s39l2cbyc8i5i5lq"); // agxbuf xb; UNSUPPORTED("3jwm77zyv02ukrvjv9jppejf7"); // agxbinit(&xb, BUFSIZ, buf); UNSUPPORTED("6sioi1y1n9tqffo04oybnku8f"); // _printXDot(x, (pf) agxbput, &xb, printXDot_Op); UNSUPPORTED("ezli236dfm9v74jhi9tffjqlg"); // s = strdup((((((&xb)->ptr >= (&xb)->eptr) ? agxbmore(&xb,1) : 0), (int)(*(&xb)->ptr++ = ((unsigned char)'\0'))),(char*)((&xb)->ptr = (&xb)->buf))); UNSUPPORTED("1at5m9ctjn3ukv5gqtfswik02"); // agxbfree(&xb); UNSUPPORTED("3y6wj3ntgmr1qkdpm7wp1dsch"); // return s; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eyjcl48szw6vtlxtutpssg7q5 // void fprintXDot(FILE * fp, xdot * x) public static Object fprintXDot(Object... arg) { UNSUPPORTED("85u4x93wot46fvnzf3cz0cfk0"); // void fprintXDot(FILE * fp, xdot * x) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1qdeobw8612jy9o2hfcrb6kq2"); // _printXDot(x, (pf) fputs, fp, printXDot_Op); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 701gu0x25va3ckongikjzclu2 // void jsonXDot(FILE * fp, xdot * x) public static Object jsonXDot(Object... arg) { UNSUPPORTED("8gckq5ubk6r40s6smk07wzmip"); // void jsonXDot(FILE * fp, xdot * x) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6izaqjssjpc0w431vv0fizft2"); // fputs ("[\n", fp); UNSUPPORTED("4ui1pnf80zlet8vuuq94tv91m"); // _printXDot(x, (pf) fputs, fp, jsonXDot_Op); UNSUPPORTED("d0endh1to4wsuqqpyuqcwflcz"); // fputs ("]\n", fp); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eu3dz6gm2u949z4rva28vws5z // static void freeXOpData(xdot_op * x) public static Object freeXOpData(Object... arg) { UNSUPPORTED("d67njmp17xncuo32921x74jb7"); // static void freeXOpData(xdot_op * x) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ebv1xjp5fu1yrwjo0u1nkgbku"); // switch (x->kind) { UNSUPPORTED("a02o53vx69zifve1qybxt6bwg"); // case xd_filled_polygon: UNSUPPORTED("1amgc8nhs2zl8rzvqurr02syl"); // case xd_unfilled_polygon: UNSUPPORTED("3bulq0614xay7aipkjqh6zpyj"); // free(x->u.polyline.pts); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("i75482wp0xfww8yo6wanbdpe"); // case xd_filled_bezier: UNSUPPORTED("cljys033beawi3mtklyme87lc"); // case xd_unfilled_bezier: UNSUPPORTED("3bulq0614xay7aipkjqh6zpyj"); // free(x->u.polyline.pts); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("a19xwyhpt7uym00dh6pmlvhhk"); // case xd_polyline: UNSUPPORTED("3bulq0614xay7aipkjqh6zpyj"); // free(x->u.polyline.pts); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8iuq6qr8jjaqun0ulqu2u1x77"); // case xd_text: UNSUPPORTED("bsij5o7b7yq4jagg1x1rw9m7b"); // free(x->u.text.text); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("p898bkyv60y69qbm68pjwrc"); // case xd_fill_color: UNSUPPORTED("3hbkjfy0n8isa112ucvobo206"); // case xd_pen_color: UNSUPPORTED("4fm7etfn9hr7qh74k70k45uc5"); // free(x->u.color); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("iqk6nvbp31j9twtqmoldcx45"); // case xd_grad_fill_color: UNSUPPORTED("7xkva0g2qpvpgvf24yglj76mo"); // case xd_grad_pen_color: UNSUPPORTED("eeydb7vp5du56qijz8fccw2r3"); // freeXDotColor (&x->u.grad_color); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("7mkkywc80hjajd0vttqrsfcsz"); // case xd_font: UNSUPPORTED("5tw7fqrjrai5235dxqqspkn4e"); // free(x->u.font.name); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("9c1yqt1pf6mjkrdhf7pxoea82"); // case xd_style: UNSUPPORTED("7ubzpnx9p19ff69lqpgd94zvj"); // free(x->u.style); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("3tev1dlfh70jm5km963v1i7rr"); // case xd_image: UNSUPPORTED("1hkdbbhj8w4le1mure7j1iycv"); // free(x->u.image.name); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6w9r3p709c95b1186uuktgd6w // void freeXDot (xdot * x) public static Object freeXDot(Object... arg) { UNSUPPORTED("bkwtbjppiirw4uu074jdrqmwx"); // void freeXDot (xdot * x) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("7iglpnbs5h4cbinybqfog9ddx"); // xdot_op *op; UNSUPPORTED("ejkl9z7itgy7zzscudx1yzdk7"); // char *base; UNSUPPORTED("3wjppwgev4ff3xk0a3t00ad33"); // freefunc_t ff = x->freefunc; UNSUPPORTED("122mngve03ds89670xc36bby4"); // if (!x) return; UNSUPPORTED("bfek0k78f6s41yzixruv7bn0n"); // base = (char *) (x->ops); UNSUPPORTED("budcfgz6nozjl4wd3lhsp20s7"); // for (i = 0; i < x->cnt; i++) { UNSUPPORTED("coll83cylkgt1g7npgfdqqgx3"); // op = (xdot_op *) (base + i * x->sz); UNSUPPORTED("btmjd8b69pae4tiax28j2a9yb"); // if (ff) ff (op); UNSUPPORTED("7guxp0atlez0kkyrftijyd56n"); // freeXOpData(op); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bh93g0pb87hg3tj0uqdyob6ch"); // free(base); UNSUPPORTED("8uuggodur7e2m5hhf7yudpatc"); // free(x); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5ppkb51932f7y8920b91b8yz0 // int statXDot (xdot* x, xdot_stats* sp) public static Object statXDot(Object... arg) { UNSUPPORTED("b17qzxcu2x9pfzv1bgj20qzsu"); // int statXDot (xdot* x, xdot_stats* sp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("7iglpnbs5h4cbinybqfog9ddx"); // xdot_op *op; UNSUPPORTED("ejkl9z7itgy7zzscudx1yzdk7"); // char *base; UNSUPPORTED("dvr4f7ur0dz4axrewk8pjbmr6"); // if (!x || !sp) return 1; UNSUPPORTED("dceumk5yz37ggmopa5ozrd0kd"); // memset(sp, 0, sizeof(xdot_stats)); UNSUPPORTED("9qgptx96avnkvh76z1iqxnluz"); // sp->cnt = x->cnt; UNSUPPORTED("bfek0k78f6s41yzixruv7bn0n"); // base = (char *) (x->ops); UNSUPPORTED("budcfgz6nozjl4wd3lhsp20s7"); // for (i = 0; i < x->cnt; i++) { UNSUPPORTED("coll83cylkgt1g7npgfdqqgx3"); // op = (xdot_op *) (base + i * x->sz); UNSUPPORTED("a11dc1tsoh8jlk9a6zq7xidtf"); // switch (op->kind) { UNSUPPORTED("gyhetlwsld2yu7e13jh9wl0p"); // case xd_filled_ellipse: UNSUPPORTED("7o72maa292xeug6fqyefi5yeh"); // case xd_unfilled_ellipse: UNSUPPORTED("byo1z59r61djcdrqo2sz0s6d8"); // sp->n_ellipse++; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("c4cta0iol0ehph9h9jbj3hq6b"); // case xd_filled_polygon: UNSUPPORTED("bouwa31z2x0t0i08rrhgcc80s"); // case xd_unfilled_polygon: UNSUPPORTED("n653bv9uo9zdwuay4ttk727m"); // sp->n_polygon++; UNSUPPORTED("8pkl31upi6bo7e5456dqgg9cf"); // sp->n_polygon_pts += op->u.polygon.cnt; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("c5d0rnemshsbpz91xa6p8zlgm"); // case xd_filled_bezier: UNSUPPORTED("cfxvwl549fde103677s4mrkan"); // case xd_unfilled_bezier: UNSUPPORTED("bc9n0o6ayfum7bnpr3uy803re"); // sp->n_bezier++; UNSUPPORTED("eong22lj6t9v9twe68w6225vm"); // sp->n_bezier_pts += op->u.bezier.cnt; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("2o8knajzbqdw17pjofl3lyba5"); // case xd_polyline: UNSUPPORTED("5yiqntymnbiahfga4vc7fodvi"); // sp->n_polyline++; UNSUPPORTED("wqyxazka9baia8rl594mcn8v"); // sp->n_polyline_pts += op->u.polyline.cnt; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("3j1afgdctetzfhmpq1in869a8"); // case xd_text: UNSUPPORTED("cmtkneyksr4n2nqm6zix8obpb"); // sp->n_text++; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("a7hdcxzowxlm4uwwzc9birrhz"); // case xd_image: UNSUPPORTED("cyrdu153ri3djcqvdysa3e9ma"); // sp->n_image++; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("5iiy6stlclt7q11quzekzoahe"); // case xd_fill_color: UNSUPPORTED("dasyqbofzz98834s6dlt2j59r"); // case xd_pen_color: UNSUPPORTED("drrnos6mkmowo515fz3aho484"); // sp->n_color++; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("awaj31d0herhghbn9hyh0h1ud"); // case xd_grad_fill_color: UNSUPPORTED("4jem039cg71t5w6niim5cmtja"); // case xd_grad_pen_color: UNSUPPORTED("a0wcwsdvkhuvy96sq00kf9bdv"); // sp->n_gradcolor++; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("5buaw3jwt248z13cbi4dw72rv"); // case xd_font: UNSUPPORTED("9vmuklbiba31872a14t1ah25g"); // sp->n_font++; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("3zomvq2vb2nxfyjrz92qbvebb"); // case xd_fontchar: UNSUPPORTED("ab2c6l3irdvzagnh22t7cm7u7"); // sp->n_fontchar++; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("8y8p7g08bet801pbrz3v2318k"); // case xd_style: UNSUPPORTED("64gbg1bn71xd32z3wwcxw7nvs"); // sp->n_style++; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("5ujjs4gho9mjjupbibyqyplxp"); // default : UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 99e5rt9esmjy9qkrpjj7ynswj // xdot_grad_type colorType (char* cp) public static Object colorType(Object... arg) { UNSUPPORTED("cwdrzw5wilfdxd4c2q0iq3jk7"); // xdot_grad_type UNSUPPORTED("4mpmfofo3mrmcqks805lq8fcz"); // colorType (char* cp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cr1ew9y7c1x3j9hax94mlznse"); // xdot_grad_type rv; UNSUPPORTED("eck0zpg9yxtq1rk3duhbe3bra"); // switch (*cp) { UNSUPPORTED("5hf3lvn9xppbffbljy7ctxuws"); // case '[' : UNSUPPORTED("cfshpws9bhzz0wwfffkxsx9zn"); // rv = xd_linear; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("7fug2421p5vf8mm40vy1p2m9v"); // case '(' : UNSUPPORTED("4q5p6a8iwssmvo5k6r8rh4w7p"); // rv = xd_radial; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("29hi90x8rlo9f7q3mhj5dg71d"); // default : UNSUPPORTED("ev130oonej2ev8dyzjye3mh13"); // rv = xd_none; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cr8h18xais4lf1qgyf0g4asw8 // static char* radGradient (char* cp, xdot_color* clr) public static Object radGradient(Object... arg) { UNSUPPORTED("1yranxmu2maol02ulzd1ka1re"); // static char* UNSUPPORTED("c06wjt41hfdz5kqs2bgvfzceu"); // radGradient (char* cp, xdot_color* clr) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("al4i3evop0chjzmtu1hand9z7"); // char* s = cp; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("8ne6p4d5pykwl1d3xk0yg0ipb"); // double d; UNSUPPORTED("3cwcf8fhklyr0kmoplrimnxif"); // xdot_color_stop* stops = NULL; UNSUPPORTED("9no119gmgymj8afua0bzjg6s"); // clr->type = xd_radial; UNSUPPORTED("7tr6l5gdo66lrh52cf1q5euke"); // s = parseReal(s, &clr->u.ring.x0); UNSUPPORTED("d12z8bcj00q4anqzoqw7ooslh"); // if(!s){free(stops);return NULL;}; UNSUPPORTED("aj0fpvr0kifndf28kqgvnvcxj"); // s = parseReal(s, &clr->u.ring.y0); UNSUPPORTED("d12z8bcj00q4anqzoqw7ooslh"); // if(!s){free(stops);return NULL;}; UNSUPPORTED("8z7hm5iter228czykl2d7o2u"); // s = parseReal(s, &clr->u.ring.r0); UNSUPPORTED("d12z8bcj00q4anqzoqw7ooslh"); // if(!s){free(stops);return NULL;}; UNSUPPORTED("5szk7acro300ld5mynca1crd7"); // s = parseReal(s, &clr->u.ring.x1); UNSUPPORTED("d12z8bcj00q4anqzoqw7ooslh"); // if(!s){free(stops);return NULL;}; UNSUPPORTED("6mszl2wb5yjgawvt86wt4xnfk"); // s = parseReal(s, &clr->u.ring.y1); UNSUPPORTED("d12z8bcj00q4anqzoqw7ooslh"); // if(!s){free(stops);return NULL;}; UNSUPPORTED("eonwrf0vyl6643nxoe4243ufp"); // s = parseReal(s, &clr->u.ring.r1); UNSUPPORTED("d12z8bcj00q4anqzoqw7ooslh"); // if(!s){free(stops);return NULL;}; UNSUPPORTED("21uyg70wnmu3pyvfnpsru6z84"); // s = parseInt(s, &clr->u.ring.n_stops); UNSUPPORTED("d12z8bcj00q4anqzoqw7ooslh"); // if(!s){free(stops);return NULL;}; UNSUPPORTED("463gu8qdr6ujd5ewcr0qb7iwt"); // stops = (xdot_color_stop*)calloc((clr->u.ring.n_stops), sizeof(xdot_color_stop)); UNSUPPORTED("8ivfd2dyo5rbybzlrwxp6wyn3"); // for (i = 0; i < clr->u.ring.n_stops; i++) { UNSUPPORTED("3u2xlz22rewp744asdc0bytvg"); // s = parseReal(s, &d); UNSUPPORTED("a0v4lnk3pysd85f3bisny1r3d"); // if(!s){free(stops);return NULL;}; UNSUPPORTED("jlx4hmg3e9km3tzyrivx28ia"); // stops[i].frac = d; UNSUPPORTED("2epsrdxaugx40ma9hbigwwgwn"); // s = parseString(s, &stops[i].color); UNSUPPORTED("a0v4lnk3pysd85f3bisny1r3d"); // if(!s){free(stops);return NULL;}; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6m8rt8apu9sd63f5z0wr4k8b6"); // clr->u.ring.stops = stops; UNSUPPORTED("az4lr3wfzqu3df9wce5kcyady"); // return cp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 etmxebtapyaikihfpbsuehvzw // static char* linGradient (char* cp, xdot_color* clr) public static Object linGradient(Object... arg) { UNSUPPORTED("1yranxmu2maol02ulzd1ka1re"); // static char* UNSUPPORTED("b55lo3bj9pnkmwxlyocdqefjc"); // linGradient (char* cp, xdot_color* clr) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("al4i3evop0chjzmtu1hand9z7"); // char* s = cp; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("8ne6p4d5pykwl1d3xk0yg0ipb"); // double d; UNSUPPORTED("3cwcf8fhklyr0kmoplrimnxif"); // xdot_color_stop* stops = NULL; UNSUPPORTED("57x32822mgbsnq8whh355dqre"); // clr->type = xd_linear; UNSUPPORTED("ark8bh8iswvlirv4bjk1bqhrw"); // s = parseReal(s, &clr->u.ling.x0); UNSUPPORTED("d12z8bcj00q4anqzoqw7ooslh"); // if(!s){free(stops);return NULL;}; UNSUPPORTED("5td0oqu8abk0thbuh313mzd6o"); // s = parseReal(s, &clr->u.ling.y0); UNSUPPORTED("d12z8bcj00q4anqzoqw7ooslh"); // if(!s){free(stops);return NULL;}; UNSUPPORTED("b8cvrv8opa85wy8igqk79g7d7"); // s = parseReal(s, &clr->u.ling.x1); UNSUPPORTED("d12z8bcj00q4anqzoqw7ooslh"); // if(!s){free(stops);return NULL;}; UNSUPPORTED("dknvmejt8kipg3y8sbtkoep7z"); // s = parseReal(s, &clr->u.ling.y1); UNSUPPORTED("d12z8bcj00q4anqzoqw7ooslh"); // if(!s){free(stops);return NULL;}; UNSUPPORTED("25k8bj46m6jyyal6cq6jekyvv"); // s = parseInt(s, &clr->u.ling.n_stops); UNSUPPORTED("d12z8bcj00q4anqzoqw7ooslh"); // if(!s){free(stops);return NULL;}; UNSUPPORTED("5rf9mvmwp48cnm63n826n47hs"); // stops = (xdot_color_stop*)calloc((clr->u.ling.n_stops), sizeof(xdot_color_stop)); UNSUPPORTED("33udax4ghl8rclztmn80tqcms"); // for (i = 0; i < clr->u.ling.n_stops; i++) { UNSUPPORTED("3u2xlz22rewp744asdc0bytvg"); // s = parseReal(s, &d); UNSUPPORTED("a0v4lnk3pysd85f3bisny1r3d"); // if(!s){free(stops);return NULL;}; UNSUPPORTED("jlx4hmg3e9km3tzyrivx28ia"); // stops[i].frac = d; UNSUPPORTED("2epsrdxaugx40ma9hbigwwgwn"); // s = parseString(s, &stops[i].color); UNSUPPORTED("a0v4lnk3pysd85f3bisny1r3d"); // if(!s){free(stops);return NULL;}; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ptvrq9unacmo19dbcuqsw5hs"); // clr->u.ling.stops = stops; UNSUPPORTED("az4lr3wfzqu3df9wce5kcyady"); // return cp; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2xdgjw8k00kahh9gsbqku1umv // char* parseXDotColor (char* cp, xdot_color* clr) public static Object parseXDotColor(Object... arg) { UNSUPPORTED("cqm25rponse4rsi686sbn1lo0"); // char* UNSUPPORTED("b1mfye1zmcj65mtkq9c97iewc"); // parseXDotColor (char* cp, xdot_color* clr) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4jzs7e30qz04dbigz4312soqm"); // char c = *cp; UNSUPPORTED("8amt8fmqdipygnxirowfbawox"); // switch (c) { UNSUPPORTED("5hf3lvn9xppbffbljy7ctxuws"); // case '[' : UNSUPPORTED("6mfazl1u2o7yhg2w5wjkacuam"); // return linGradient (cp+1, clr); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("7fug2421p5vf8mm40vy1p2m9v"); // case '(' : UNSUPPORTED("4q00cne45f9wmtg4ib0a706ke"); // return radGradient (cp+1, clr); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("4cj632tvft1wcpezg8rs6k4ux"); // case '#' : UNSUPPORTED("akaqca9sqliw6p0fmic1xj32y"); // case '/' : UNSUPPORTED("9lk7f6fpju45nq995i59ec3uq"); // clr->type = xd_none; UNSUPPORTED("b1eztpupu7ok5m0w7u2ji432j"); // clr->u.clr = cp; UNSUPPORTED("e6bh2um7pqrlkuxueips4t7pi"); // return cp; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("29hi90x8rlo9f7q3mhj5dg71d"); // default : UNSUPPORTED("8ukynmh00mj2vf4p5rh4mn72h"); // if (isalnum(c)) { UNSUPPORTED("3osvgszhwg2l36m35rz7hjl8d"); // clr->type = xd_none; UNSUPPORTED("af2fdffzkgez7alg79ev8oafq"); // clr->u.clr = cp; UNSUPPORTED("hlsdiu6i05x2q5cxsa9myd04"); // return cp; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("7t3fvwp9cv90qu5bdjdglcgtk"); // return NULL; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 am6ngtbh04wxuyw4ohmmjtiy2 // void freeXDotColor (xdot_color* cp) public static Object freeXDotColor(Object... arg) { UNSUPPORTED("dz8v7jtcg5p1c58myh27zc9pt"); // void freeXDotColor (xdot_color* cp) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("19ar0bs2h13txvy4uwtw868m"); // if (cp->type == xd_linear) { UNSUPPORTED("81392dv0g58pud5wxe52pgf6e"); // for (i = 0; i < cp->u.ling.n_stops; i++) { UNSUPPORTED("6wzfng0iio7thawoxyaiwc5xt"); // free (cp->u.ling.stops[i].color); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3317yv7m2rcitjg00m6d02wnt"); // free (cp->u.ling.stops); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("etp4zs2ofz2x0b9yrx7z9xa08"); // else if (cp->type == xd_radial) { UNSUPPORTED("8plb1dios9foj9qo7n5jc5n7m"); // for (i = 0; i < cp->u.ring.n_stops; i++) { UNSUPPORTED("kp618tg06ig032jupq8pyp1k"); // free (cp->u.ring.stops[i].color); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("eo4csunnsophbm4ec0ilzoal8"); // free (cp->u.ring.stops); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } } plantuml-1.2018.13+ds/src/gen/plugin/000077500000000000000000000000001340005343600171215ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/gen/plugin/core/000077500000000000000000000000001340005343600200515ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/gen/plugin/core/gvloadimage_core__c.java000066400000000000000000000477351340005343600246640ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.plugin.core; import static smetana.core.Macro.UNSUPPORTED; public class gvloadimage_core__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //3 29goij7ee0eovul0mzbqx3jtm // static void core_loadimage_svg(GVJ_t * job, usershape_t *us, boxf b, boolean filled) public static Object core_loadimage_svg(Object... arg) { UNSUPPORTED("6nk88j61lq1suxn7ouneycpcp"); // static void core_loadimage_svg(GVJ_t * job, usershape_t *us, boxf b, boolean filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dvlg6flv7gt7lh0gcin0uy3l9"); // double width = (b.UR.x-b.LL.x); UNSUPPORTED("9wz3r0c7kyzar3i72jllttzwb"); // double height = (b.UR.y-b.LL.y); UNSUPPORTED("372q395e12m69cssk3g0ukwxy"); // double originx = (b.UR.x+b.LL.x - width)/2; UNSUPPORTED("e0lvri5s3y6isyvxbzp7653yf"); // double originy = (b.UR.y+b.LL.y + height)/2; UNSUPPORTED("1nk5slg1h855ktp6d9uxli7u3"); // assert(job); UNSUPPORTED("7gqi0ait1bhc4v9zl8rnn0wbs"); // assert(us); UNSUPPORTED("xlffgd4fqdckxg2nbs0mxtlj"); // assert(us->name); UNSUPPORTED("exol4q9xzni0vyr9nsjkskzb8"); // gvputs(job, "name); UNSUPPORTED("3h1yo631e2fq69mxwoggya716"); // if (job->rotation) { UNSUPPORTED("a8oo007b0fig1htfcdahd040r"); // // FIXME - this is messed up >>> UNSUPPORTED("7mtjuxpu3v8f5jp6pvlspyh1a"); // gvprintf (job, "\" width=\"%gpx\" height=\"%gpx\" preserveAspectRatio=\"xMidYMid meet\" x=\"%g\" y=\"%g\"", UNSUPPORTED("24tosnol9uj8kbohgufx2s1m5"); // height, width, originx, -originy); UNSUPPORTED("ecvojyyyf3xwfchx60bgxozgv"); // gvprintf (job, " transform=\"rotate(%d %g %g)\"", UNSUPPORTED("2ttp17y9k4a6sx4o1ft0ek3pu"); // job->rotation, originx, -originy); UNSUPPORTED("57iw9hoiqdl157du9x27qmt5u"); // // <<< UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("7bmd7sn9bhyqyf2jkx9sba5us"); // gvprintf (job, "\" width=\"%gpx\" height=\"%gpx\" preserveAspectRatio=\"xMinYMin meet\" x=\"%g\" y=\"%g\"", UNSUPPORTED("aew8hp12uey186go0vuwtc02d"); // width, height, originx, -originy); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("tkpriz9q4d4xzeglsnt7kh4c"); // gvputs(job, "/>\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 awiixve7n69ck2vx4dnqj8c5o // static void core_loadimage_fig(GVJ_t * job, usershape_t *us, boxf bf, boolean filled) public static Object core_loadimage_fig(Object... arg) { UNSUPPORTED("1vcx0fw33mfxu0cqs69faf8ue"); // static void core_loadimage_fig(GVJ_t * job, usershape_t *us, boxf bf, boolean filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1250jrnrnv2ts7w11no09s3c0"); // int object_code = 2; /* always 2 for polyline */ UNSUPPORTED("148en6b5hi275wxx19n6cp8gd"); // int sub_type = 5; /* always 5 for image */ UNSUPPORTED("7tjgx9otv93qdrebs8rv7cyac"); // int line_style = 0; /* solid, dotted, dashed */ UNSUPPORTED("30e0ixftw8701xjb61twlmbhq"); // int thickness = 0; UNSUPPORTED("dftwk23t2axyh7uht019u3i0u"); // int pen_color = 0; UNSUPPORTED("cem2frpnojzzocp1y610v2plc"); // int fill_color = -1; UNSUPPORTED("8aj0xwj2jf76yit9k9rhnf5ns"); // int depth = 1; UNSUPPORTED("wus8ctd22mlgr1imanbjzq23"); // int pen_style = -1; /* not used */ UNSUPPORTED("1pvrunrk1ylb19scd5xzhf3lp"); // int area_fill = 0; UNSUPPORTED("1lwafxtlvm06paa55v0re37kn"); // double style_val = 0.0; UNSUPPORTED("emk8vv370o9kkt54b48xbckqk"); // int join_style = 0; UNSUPPORTED("at27yenlhsw2mhidnzh560qs7"); // int cap_style = 0; UNSUPPORTED("5ah3zh0iiveyst5794k0axkys"); // int radius = 0; UNSUPPORTED("6aehzky7l6ssu826xre37yhtt"); // int forward_arrow = 0; UNSUPPORTED("cvrcowx9gwh8vdfgelcwxhrhq"); // int backward_arrow = 0; UNSUPPORTED("6cgv2nf65suhgjxqoahqfc6rs"); // int npoints = 5; UNSUPPORTED("eij0m34z5k44tgdf6qkh2oy5k"); // int flipped = 0; UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; UNSUPPORTED("1nk5slg1h855ktp6d9uxli7u3"); // assert(job); UNSUPPORTED("7gqi0ait1bhc4v9zl8rnn0wbs"); // assert(us); UNSUPPORTED("xlffgd4fqdckxg2nbs0mxtlj"); // assert(us->name); UNSUPPORTED("b9iu6kbbbdei5no6t11x88z55"); // BF2B(bf, b); UNSUPPORTED("8kr2slc04t19kslj4ccgdx67d"); // gvprintf(job, "%d %d %d %d %d %d %d %d %d %.1f %d %d %d %d %d %d\n %d %s\n", UNSUPPORTED("aqhcl971r2txljfiisq3maosf"); // object_code, sub_type, line_style, thickness, pen_color, UNSUPPORTED("7565hrxms7ljcrl0jc6pzqo2r"); // fill_color, depth, pen_style, area_fill, style_val, join_style, UNSUPPORTED("1d2j1ewli8cdqxi5o6m08r2u9"); // cap_style, radius, forward_arrow, backward_arrow, npoints, UNSUPPORTED("c7cn7eesrrv4hcu8c5cwj9hdx"); // flipped, us->name); UNSUPPORTED("dlp90sbnetvo18p7neoiy44m2"); // gvprintf(job," %d %d %d %d %d %d %d %d %d %d\n", UNSUPPORTED("3awclag88e7eg21axn0hj3pg0"); // b.LL.x, b.LL.y, UNSUPPORTED("11zvogg3ty0403x7yuwy6ojq0"); // b.LL.x, b.UR.y, UNSUPPORTED("8s3cyzq8f154a25bzouw9viu0"); // b.UR.x, b.UR.y, UNSUPPORTED("elo0t85arc0xfjh4exd58ol1u"); // b.UR.x, b.LL.y, UNSUPPORTED("3kygvlprcdhmx33nfvx79bo5"); // b.LL.x, b.LL.y); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e0srb4a7jout9298385qcktc // static void core_loadimage_vrml(GVJ_t * job, usershape_t *us, boxf b, boolean filled) public static Object core_loadimage_vrml(Object... arg) { UNSUPPORTED("6l83xscu9iu6f4q8ggkiinfbw"); // static void core_loadimage_vrml(GVJ_t * job, usershape_t *us, boxf b, boolean filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8lamppsqs7nhiu5v8k1f5jfh2"); // obj_state_t *obj; UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; UNSUPPORTED("1nk5slg1h855ktp6d9uxli7u3"); // assert(job); UNSUPPORTED("dfvn35vopdad6lj7flf800tqq"); // obj = job->obj; UNSUPPORTED("cvrjqjl5r3cwa1izxxgzgzrap"); // assert(obj); UNSUPPORTED("7gqi0ait1bhc4v9zl8rnn0wbs"); // assert(us); UNSUPPORTED("xlffgd4fqdckxg2nbs0mxtlj"); // assert(us->name); UNSUPPORTED("8vniyq800jfq5vcshi73on9n1"); // n = job->obj->u.n; UNSUPPORTED("25fhmphgra40j368i6b09n5xz"); // assert(n); UNSUPPORTED("5s8sa7g2p1i5jr6wwil4fkbal"); // gvprintf(job, "Shape {\n"); UNSUPPORTED("7ku2bmvaeet8qzuuiubu8f6m9"); // gvprintf(job, " appearance Appearance {\n"); UNSUPPORTED("c4wvt5ni6d27pjcj501qxdy4r"); // gvprintf(job, " material Material {\n"); UNSUPPORTED("buqlt6jt41o18ca6qvrnxo9zu"); // gvprintf(job, " ambientIntensity 0.33\n"); UNSUPPORTED("9732sepoh8vxkxd5c5z6n1xob"); // gvprintf(job, " diffuseColor 1 1 1\n"); UNSUPPORTED("1ssfesmz57l8uwfj3pgj48ft9"); // gvprintf(job, " }\n"); UNSUPPORTED("3ic6hlam7i4qdhjx51lmkyl6d"); // gvprintf(job, " texture ImageTexture { url \"%s\" }\n", us->name); UNSUPPORTED("buxxkw2q5k2ois60qv3i78cx1"); // gvprintf(job, " }\n"); UNSUPPORTED("5evvn7xr8ggxco146doj8qb8d"); // gvprintf(job, "}\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dkpdahf85whho6alw0wyi0589 // static void ps_freeimage(usershape_t *us) public static Object ps_freeimage(Object... arg) { UNSUPPORTED("9sf6siqz00t6dace56itvz47b"); // static void ps_freeimage(usershape_t *us) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("47gtx7ffdovrgtqza8fnyxsug"); // free(us->data); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 nuj4ufu0lit6u72no7bfa0rd // static void core_loadimage_ps(GVJ_t * job, usershape_t *us, boxf b, boolean filled) public static Object core_loadimage_ps(Object... arg) { UNSUPPORTED("3fms3fyfhjnm6awkw5hqg4yl5"); // static void core_loadimage_ps(GVJ_t * job, usershape_t *us, boxf b, boolean filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1nk5slg1h855ktp6d9uxli7u3"); // assert(job); UNSUPPORTED("7gqi0ait1bhc4v9zl8rnn0wbs"); // assert(us); UNSUPPORTED("xlffgd4fqdckxg2nbs0mxtlj"); // assert(us->name); UNSUPPORTED("3ustk9u43nfwube24g9ve98xz"); // if (us->data) { UNSUPPORTED("afe4zn3m0v1pzuhkzgqpru8w4"); // if (us->datafree != ps_freeimage) { UNSUPPORTED("14ok3e5cytlxzf48yq4we8eg9"); // us->datafree(us); /* free incompatible cache data */ UNSUPPORTED("68mtdvgnb8rekg06am2p1had0"); // us->data = NULL; UNSUPPORTED("db62bupqi5lihbntfqe7tlesg"); // us->datafree = NULL; UNSUPPORTED("2yrrfg6saymvlwjvr1suu7q7o"); // us->datasize = 0; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6cah19vmbqd3lb4lb3na7ugk1"); // if (!us->data) { /* read file into cache */ UNSUPPORTED("2lo7xzfretk2gbeewv8amikyl"); // int fd; UNSUPPORTED("4vpkg06n5nt4a7401vz4vcqu8"); // struct stat statbuf; UNSUPPORTED("d5mf2vtj9iib67q8oqf1ddfoy"); // if (!gvusershape_file_access(us)) UNSUPPORTED("6cprbghvenu9ldc0ez1ifc63q"); // return; UNSUPPORTED("de56k988tghtjxf7im4t0oh4w"); // fd = fileno(us->f); UNSUPPORTED("6c857qum6nd7x5wc8q1jm7m0j"); // switch (us->type) { UNSUPPORTED("9fdmy6cmkcs9xgg5u8d0r8az9"); // case FT_PS: UNSUPPORTED("362x4fjrplaceoflc8oicvclf"); // case FT_EPS: UNSUPPORTED("9rlgca7weqdcml6h34damptdz"); // fstat(fd, &statbuf); UNSUPPORTED("aaef3zsmqgw7i8yzrzsa9f8ub"); // us->datasize = statbuf.st_size; UNSUPPORTED("mvnxwqq1g43j0zwetc2lrbp0"); // us->data = malloc(statbuf.st_size); UNSUPPORTED("8xav6nswhw039it5hkieqssre"); // read(fd, us->data, statbuf.st_size); UNSUPPORTED("als7ie9jjt7wa384s4idszvj8"); // us->must_inline = NOT(0); UNSUPPORTED("d1pumbibe8xz2i7gr1wj6zdak"); // break; UNSUPPORTED("84cl4r6uveabh1lahtyw0ptb8"); // default: UNSUPPORTED("d1pumbibe8xz2i7gr1wj6zdak"); // break; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("a9tazqo3lt2plzwxwbkazmark"); // if (us->data) UNSUPPORTED("8xta46k7s6x1mogx5xomvejr3"); // us->datafree = ps_freeimage; UNSUPPORTED("98myit7krb8a180ecsgm7wvjm"); // gvusershape_file_release(us); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3ustk9u43nfwube24g9ve98xz"); // if (us->data) { UNSUPPORTED("50th0fnys6h3ghiyg8f4dfbdc"); // gvprintf(job, "gsave %g %g translate newpath\n", UNSUPPORTED("5uhskkri1bhns0e9ddbr7mg4u"); // b.LL.x - (double)(us->x), b.LL.y - (double)(us->y)); UNSUPPORTED("e1l98s1a0wb698pmm0ai481qi"); // if (us->must_inline) UNSUPPORTED("988u2js5bqmntibjg98i07nz"); // epsf_emit_body(job, us); UNSUPPORTED("35nw1pbiz2p3s6qwlam5eoo3m"); // else UNSUPPORTED("az4q3r5wmapqascnw6mjghrmm"); // gvprintf(job, "user_shape_%d\n", us->macro_id); UNSUPPORTED("1u16m9wjpuzt2gfhhilh5n9nv"); // gvprintf(job, "grestore\n"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cjibf8ypal3z8qjb7adn6tcix // static void core_loadimage_pslib(GVJ_t * job, usershape_t *us, boxf b, boolean filled) public static Object core_loadimage_pslib(Object... arg) { UNSUPPORTED("7n8f9on2nkf9werk0kza1vc7b"); // static void core_loadimage_pslib(GVJ_t * job, usershape_t *us, boxf b, boolean filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("en6q26cyrg17g6yd6el73b3ns"); // pointf AF[4]; UNSUPPORTED("1l6nftr6o7rxwrg50yru6yu46"); // shape_desc *shape; UNSUPPORTED("1nk5slg1h855ktp6d9uxli7u3"); // assert(job); UNSUPPORTED("7gqi0ait1bhc4v9zl8rnn0wbs"); // assert(us); UNSUPPORTED("xlffgd4fqdckxg2nbs0mxtlj"); // assert(us->name); UNSUPPORTED("bbiovnfd6hlkzpdyqejaf3qb"); // if ((shape = (shape_desc*)us->data)) { UNSUPPORTED("39kp6t9wenypchz2s58mkxgup"); // AF[0] = b.LL; UNSUPPORTED("qpi4gufgxrvf8bx626lhkjwi"); // AF[2] = b.UR; UNSUPPORTED("9lkdjc4of18mpcfe956xmzwet"); // AF[1].x = AF[0].x; UNSUPPORTED("dpljjfhpwqivqkp6h79do3mqj"); // AF[1].y = AF[2].y; UNSUPPORTED("32r2hu93lwrbd3zwxt303gh03"); // AF[3].x = AF[2].x; UNSUPPORTED("edu3nrugftlt30kevnwc8y7f8"); // AF[3].y = AF[0].y; UNSUPPORTED("9iv8yeefz2ll4zeeboqqtd4xu"); // if (filled) { UNSUPPORTED("19zazncbqb0fh25slowlirl7k"); // // ps_begin_context(); UNSUPPORTED("44dzyphll6m2rt2zvmxpxgr21"); // // ps_set_color(S[SP].fillcolor); UNSUPPORTED("dhq1jxkwjggs0noew4i58yadj"); // gvprintf(job, "[ "); UNSUPPORTED("8pozief1dm7j8crbw5313ff7f"); // for (i = 0; i < 4; i++) UNSUPPORTED("4t5xu3wpffox1dcs6a4ulrynd"); // gvprintf(job, "%g %g ", AF[i].x, AF[i].y); UNSUPPORTED("6peyrbfphj7hkptgimqm27sca"); // gvprintf(job, "%g %g ", AF[0].x, AF[0].y); UNSUPPORTED("akrzmc2n64ahl34msb4iapdqx"); // gvprintf(job, "] %d true %s\n", 4, us->name); UNSUPPORTED("3i17c088ltdll07ap9tqxpxs3"); // // ps_end_context(); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("erik7m9ivop3xh5y5fpto8q1n"); // gvprintf(job, "[ "); UNSUPPORTED("ccewlfwc1gagj8vpwd576azfu"); // for (i = 0; i < 4; i++) UNSUPPORTED("a68qmvv7ajcdvz4ko51ja25wy"); // gvprintf(job, "%g %g ", AF[i].x, AF[i].y); UNSUPPORTED("eh6hpah3dqqf8n4pf1hn0urfi"); // gvprintf(job, "%g %g ", AF[0].x, AF[0].y); UNSUPPORTED("aatxb1868s4jg7ocv1yy2rr7p"); // gvprintf(job, "] %d false %s\n", 4, us->name); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 11j2m0cxdp9z59j3doz82ei2o // static void core_loadimage_vml(GVJ_t * job, usershape_t *us, boxf b, boolean filled) public static Object core_loadimage_vml(Object... arg) { UNSUPPORTED("dp5zde6274mdvioy5u59hk5jc"); // static void core_loadimage_vml(GVJ_t * job, usershape_t *us, boxf b, boolean filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("oe4wxcwk2rxtensxhcfp70d8"); // unsigned int graphHeight; UNSUPPORTED("e1b0xy1qef9gc82t0ivbjb8zh"); // graphHeight =(int)(job->bb.UR.y - job->bb.LL.y); UNSUPPORTED("56vt25hvpvbnprocv3ga6amb9"); // gvprintf (job, "name, b.UR.x - b.LL.x, b.UR.y - b.LL.y, b.LL.x, graphHeight-b.UR.y); UNSUPPORTED("bq4vgoqdsjkwuyyspku5kznhh"); // gvputs(job, " />\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9rnpduughujmxwpfj9uny5yfw // static void core_loadimage_tk(GVJ_t * job, usershape_t *us, boxf b, boolean filled) public static Object core_loadimage_tk(Object... arg) { UNSUPPORTED("2us7fsaz0xyimqhdmd2oabwoo"); // static void core_loadimage_tk(GVJ_t * job, usershape_t *us, boxf b, boolean filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("wkagaos2d0sha79uninstvkl"); // gvprintf (job, "image create photo \"photo_%s\" -file \"%s\"\n", UNSUPPORTED("38kbczko9ldqe6gfwzsqn7ne1"); // us->name, us->name); UNSUPPORTED("57qf7m9y8ekwlo8zafyotx1vi"); // gvprintf (job, "$c create image %.2f %.2f -image \"photo_%s\"\n", UNSUPPORTED("amiu4sx3oah6j8cumbyac7fgu"); // us->name, (b.UR.x + b.LL.x) / 2, (b.UR.y + b.LL.y) / 2); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7r8kuhs5mt25fif8rga7ycuk4 // void core_loadimage_null(GVJ_t *gvc, usershape_t *us, boxf b, boolean filled) public static Object core_loadimage_null(Object... arg) { UNSUPPORTED("10aeq8i34y842tyczscr6r92s"); // void core_loadimage_null(GVJ_t *gvc, usershape_t *us, boxf b, boolean filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("43g24def5o0e68iopoodbo6hq"); // /* null function - basically suppress the missing loader message */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 5caj98xv9ldmw6dinjt7jgpcx // static gvloadimage_engine_t engine_svg = //1 pv6o8s1n1h9zk3lxm9ryq5c8 // static gvloadimage_engine_t engine_fig = //1 a9e239ql9867ljor8u16cj2pf // static gvloadimage_engine_t engine_vrml = //1 8kzbk9u03208629mtai1ay942 // static gvloadimage_engine_t engine_ps = //1 dj5z2gmpjxtxsvujmovvwuyxw // static gvloadimage_engine_t engine_pslib = //1 3kvzpib9rpmlf3o00tet08n90 // static gvloadimage_engine_t engine_null = //1 bwx5544czjvaz5aigxvcx2nl // static gvloadimage_engine_t engine_xdot = //1 965gxus2gru0zhovsq4pc39w3 // static gvloadimage_engine_t engine_vml = //1 7h8ksznsrd48e4elfd9w6yqnm // static gvloadimage_engine_t engine_tk = //1 90d4e129eeox69ftipmimqjx2 // gvplugin_installed_t gvloadimage_core_types[] = } plantuml-1.2018.13+ds/src/gen/plugin/core/gvplugin_core__c.java000066400000000000000000000072261340005343600242270ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.plugin.core; public class gvplugin_core__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 bepawssupm52fq0lm5wsr16al // extern gvplugin_installed_t gvdevice_dot_types[] //1 2pmt8logi0mdp33cr7zd3t5x // extern gvplugin_installed_t gvdevice_fig_types[] //1 3ij2091oltlpvbck9v2wmkp43 // extern gvplugin_installed_t gvdevice_map_types[] //1 o66br7py774tlamewghimqwy // extern gvplugin_installed_t gvdevice_ps_types[] //1 bbd6wneeg6dm1orwkfatpg2pt // extern gvplugin_installed_t gvdevice_svg_types[] //1 6n8md2u2h4ivi8wi95wu4evhb // extern gvplugin_installed_t gvdevice_tk_types[] //1 epwx6myt1ewysie9m8plglnf2 // extern gvplugin_installed_t gvdevice_vml_types[] //1 uwhavpdt2nhldg6pblapnc4 // extern gvplugin_installed_t gvdevice_pic_types[] //1 7elvfkn2p7kfk7xsvkggoyzu6 // extern gvplugin_installed_t gvdevice_pov_types[] //1 3ym6hp8b5grhq3cqzehssxwy7 // extern gvplugin_installed_t gvrender_dot_types[] //1 6fnl9wlb1ri61mczhdj1di9l8 // extern gvplugin_installed_t gvrender_fig_types[] //1 6byuxy9waz31wtr27jgyc25il // extern gvplugin_installed_t gvrender_map_types[] //1 a0f2mn4xwrnalx5a84k2lm9u // extern gvplugin_installed_t gvrender_ps_types[] //1 91fai7sbb5q5qqqrzaq8x1wyr // extern gvplugin_installed_t gvrender_svg_types[] //1 5arrl0krk3iai3qq91lhdp395 // extern gvplugin_installed_t gvrender_tk_types[] //1 bfgrpitg0x3zaoq0u3hz4ferf // extern gvplugin_installed_t gvrender_vml_types[] //1 blbevajtwilj9dpc57os4m20m // extern gvplugin_installed_t gvrender_pic_types[] //1 dx46eihm4es1r0uynbli6oncl // extern gvplugin_installed_t gvrender_pov_types[] //1 bxmum7q70ivk3bagjvirwncj8 // extern gvplugin_installed_t gvloadimage_core_types[] //1 cbnrpy2p824ffaki379rnbq2s // static gvplugin_api_t apis[] = //1 331lykt41pc1qfqahndu3jpo0 // gvplugin_library_t gvplugin_core_LTX_library = } plantuml-1.2018.13+ds/src/gen/plugin/core/gvrender_core_dot__c.java000066400000000000000000001423711340005343600250570ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.plugin.core; import static smetana.core.Macro.UNSUPPORTED; public class gvrender_core_dot__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 9u9ddh5oeqjnkh6gb2tfp88y1 // static agxbuf* xbufs[] = //1 cf69o2d8bfvl354bx5dd5ac0e // static double penwidth [] = //1 9wf85aesqstltvkdjt9p083n0 // static unsigned int textflags[EMIT_ELABEL+1] //1 7ivt3fjvux748h2yxbenc8bqq // static xdot_state_t* xd //3 1wkd9anhtvlykvgmpcy4zkduu // static void xdot_str_xbuf (agxbuf* xb, char* pfx, char* s) public static Object xdot_str_xbuf(Object... arg) { UNSUPPORTED("eiqhtkofka0l2zcf53e6v3ylf"); // static void xdot_str_xbuf (agxbuf* xb, char* pfx, char* s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cf8w5z35zxww7q6yjin9lc9op"); // char buf[BUFSIZ]; UNSUPPORTED("ewqeh9hox7co8bzse7rxlkc2z"); // sprintf (buf, "%s%d -", pfx, (int)strlen(s)); UNSUPPORTED("5q33wkzo42rb2ovinz8n32geq"); // agxbput(xb, buf); UNSUPPORTED("cuyd9w1qxswgadsoaaheatuqb"); // agxbput(xb, s); UNSUPPORTED("dmja623e9ktger7ewkxjzmo84"); // ((((xb)->ptr >= (xb)->eptr) ? agxbmore(xb,1) : 0), (int)(*(xb)->ptr++ = ((unsigned char)' '))); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 mk0pj46oyko8l6ihsvvttvsc // static void xdot_str (GVJ_t *job, char* pfx, char* s) public static Object xdot_str(Object... arg) { UNSUPPORTED("80ilwf46sqp2jfv94cqcri1ic"); // static void xdot_str (GVJ_t *job, char* pfx, char* s) UNSUPPORTED("4ecslok588dpq5vf5tzktm48k"); // { UNSUPPORTED("5tol2owvqctfpttgzs7ee7b7x"); // emit_state_t emit_state = job->obj->emit_state; UNSUPPORTED("8v27eq2fu6i17hxi8j7rfmkj5"); // xdot_str_xbuf (xbufs[emit_state], pfx, s); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9uxhmu9h5insv750upobc4o0l // static void xdot_trim_zeros (char* buf, int addSpace) public static Object xdot_trim_zeros(Object... arg) { UNSUPPORTED("bvi7exukjrwib9dsydzfrdk4n"); // static void xdot_trim_zeros (char* buf, int addSpace) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7puz5on3kut1d51f3su87yzvy"); // char* dotp; UNSUPPORTED("a4px33i4moqe8ybwatz0g8k6"); // char* p; UNSUPPORTED("25j4nlrn8fb330rtpgs3znj2e"); // if ((dotp = strchr (buf,'.'))) { UNSUPPORTED("8w9fei3kxjnvyzike65mh21t7"); // p = dotp+1; UNSUPPORTED("5ntwg5wj08qs7n9uot1y5hwwf"); // while (*p) p++; // find end of string UNSUPPORTED("8gbgjwvss67q2imd2llmusuvd"); // p--; UNSUPPORTED("9mqht74ijjj8b90otim0hl4q2"); // while (*p == '0') *p-- = '\0'; UNSUPPORTED("azdcgp3weiwu7xxfo6mjw11v3"); // if (*p == '.') // If all decimals were zeros, remove ".". UNSUPPORTED("6568pmkatbjs0ljsylsyvwepv"); // *p = '\0'; UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("847zwwso12sey42b59zepembc"); // p++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4o5kpau9io5iwhvou436hc35q"); // else if (addSpace) UNSUPPORTED("e3s0jnyo85s4deod5zf8oc5hc"); // p = buf + strlen(buf); UNSUPPORTED("96j5jq7x4zyb0h1l4pde9eq3q"); // if (addSpace) { /* p points to null byte */ UNSUPPORTED("eeruol8z2e2a5p96651r1p4sc"); // *p++ = ' '; UNSUPPORTED("8wxgv4s6cq9cor6gqhrq2ho9a"); // *p = '\0'; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cot7kk25j8se9g2df0gbmku2a // static void xdot_fmt_num (char* buf, double v) public static Object xdot_fmt_num(Object... arg) { UNSUPPORTED("5jrqa3gbng6pjj5nyqacr9khf"); // static void xdot_fmt_num (char* buf, double v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5ckf35csnj99dtdulm0zo7w0y"); // sprintf(buf, "%.02f", v); UNSUPPORTED("5jyfg2es8t6ywaex3wqf67xef"); // xdot_trim_zeros (buf, 1); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d2kq7iarnvxb8dkbj93p7ug4v // static void xdot_point(agxbuf *xbuf, pointf p) public static Object xdot_point(Object... arg) { UNSUPPORTED("6twuxzj24ui8i4qsb1236n5bu"); // static void xdot_point(agxbuf *xbuf, pointf p) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cf8w5z35zxww7q6yjin9lc9op"); // char buf[BUFSIZ]; UNSUPPORTED("6n9sqsgqw9k9278ve5k3bf33w"); // xdot_fmt_num (buf, p.x); UNSUPPORTED("2mti8qvk2i3vu0hgebyml4mf5"); // agxbput(xbuf, buf); UNSUPPORTED("4ywl1kwk6cjwjju7h13jgn4is"); // xdot_fmt_num (buf, yDir(p.y)); UNSUPPORTED("2mti8qvk2i3vu0hgebyml4mf5"); // agxbput(xbuf, buf); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 633vtcrwss117gqzfi65hphsk // static void xdot_num(agxbuf *xbuf, double v) public static Object xdot_num(Object... arg) { UNSUPPORTED("brgmp34gkz1uzv465rpmizl3q"); // static void xdot_num(agxbuf *xbuf, double v) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cf8w5z35zxww7q6yjin9lc9op"); // char buf[BUFSIZ]; UNSUPPORTED("3b78vqzlsntfrji71cvxnl52w"); // xdot_fmt_num (buf, v); UNSUPPORTED("2mti8qvk2i3vu0hgebyml4mf5"); // agxbput(xbuf, buf); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 21r3xgncf7w8o613kfnmva18a // static void xdot_points(GVJ_t *job, char c, pointf * A, int n) public static Object xdot_points(Object... arg) { UNSUPPORTED("9lvr3j68zawvig186yetti81t"); // static void xdot_points(GVJ_t *job, char c, pointf * A, int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5tol2owvqctfpttgzs7ee7b7x"); // emit_state_t emit_state = job->obj->emit_state; UNSUPPORTED("cf8w5z35zxww7q6yjin9lc9op"); // char buf[BUFSIZ]; UNSUPPORTED("279in5xyusoen2ceb3tjlpk6s"); // int i, rc; UNSUPPORTED("dwc16jocaa8wb6rvy807ka8l0"); // rc = ((((xbufs[emit_state])->ptr >= (xbufs[emit_state])->eptr) ? agxbmore(xbufs[emit_state],1) : 0), (int)(*(xbufs[emit_state])->ptr++ = ((unsigned char)c))); UNSUPPORTED("einyohdycmivi09l9gvzgu3db"); // sprintf(buf, " %d ", n); UNSUPPORTED("9rhyq2cgol181qsty6dn352bn"); // agxbput(xbufs[emit_state], buf); UNSUPPORTED("e6c6vkuvc5wlnup26rm248nss"); // for (i = 0; i < n; i++) UNSUPPORTED("f2f5qt5d5wp2skos4tmlo5tbx"); // xdot_point(xbufs[emit_state], A[i]); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9kyijycd11rekgoyg64rgqh44 // static char* color2str (unsigned char rgba[4]) public static Object color2str(Object... arg) { UNSUPPORTED("1yranxmu2maol02ulzd1ka1re"); // static char* UNSUPPORTED("bsnee5s0jupootudg18ki3jq7"); // color2str (unsigned char rgba[4]) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("796b8xr3u6v0v9uvbkc4b7w4n"); // static char buf [10]; UNSUPPORTED("eexjt0hdr3nf2yolzswuxniiu"); // if (rgba[3] == 0xFF) UNSUPPORTED("dbarmk43l3dgnnz7gsuxz67s3"); // sprintf (buf, "#%02x%02x%02x", rgba[0], rgba[1], rgba[2]); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("4563xhb68jjvke8ljnprmby5y"); // sprintf (buf, "#%02x%02x%02x%02x", rgba[0], rgba[1], rgba[2], rgba[3]); UNSUPPORTED("5jfpogdyby101eyuw2dhtb5cg"); // return buf; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 blqpsel4jzy8tyzcf9wk6ratz // static void xdot_pencolor (GVJ_t *job) public static Object xdot_pencolor(Object... arg) { UNSUPPORTED("b6vezfwlb588uhbpb1thq72v8"); // static void xdot_pencolor (GVJ_t *job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("eltetchcdlchlpqxrbt93wyl5"); // xdot_str (job, "c ", color2str (job->obj->pencolor.u.rgba)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3aob3mp6ea6z3uiuz7je5xgnp // static void xdot_fillcolor (GVJ_t *job) public static Object xdot_fillcolor(Object... arg) { UNSUPPORTED("ejjftiuyrxovyl636o8pnpcj6"); // static void xdot_fillcolor (GVJ_t *job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("boz2fjqox1pq60m56eico3v0p"); // xdot_str (job, "C ", color2str (job->obj->fillcolor.u.rgba)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 akblfseh504uvt16lpiz8w2rs // static void xdot_style (GVJ_t *job) public static Object xdot_style(Object... arg) { UNSUPPORTED("db76ixln345h83r6te7s58z7x"); // static void xdot_style (GVJ_t *job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("afhr40frddxftx356soi57rg3"); // unsigned char buf0[BUFSIZ]; UNSUPPORTED("2gnjttug203yi2oh7n4j4a3hg"); // char buf [128]; /* enough to hold a double */ UNSUPPORTED("d7xb6maj0ydcfhxp7ibk0szkw"); // agxbuf xbuf; UNSUPPORTED("ccvotvthaccdugxq4vhorvsrj"); // char* p, **s; UNSUPPORTED("8lluzb23zpt42lfn1j18s337z"); // int more; UNSUPPORTED("cykkurgudosfmfhpzldhi18aj"); // agxbinit(&xbuf, BUFSIZ, buf0); UNSUPPORTED("2tyl80zoe1rs9g95dx69tqk3w"); // /* First, check if penwidth state is correct */ UNSUPPORTED("6ip3ef109ytqv03buns0pf7yj"); // if (job->obj->penwidth != penwidth[job->obj->emit_state]) { UNSUPPORTED("6jbvmrfuwla67iwyeqizjvc43"); // penwidth[job->obj->emit_state] = job->obj->penwidth; UNSUPPORTED("d6elqy8gvxv6tj6ko8vrcey51"); // agxbput (&xbuf, "setlinewidth("); UNSUPPORTED("9drk08ktte1le712u4fb8cx3e"); // sprintf (buf, "%.3f", job->obj->penwidth); UNSUPPORTED("2x3jw5oglrvbttiesukwcs1gc"); // xdot_trim_zeros (buf, 0); UNSUPPORTED("8e0455x8th67gro0sitvj7rtm"); // agxbput(&xbuf, buf); UNSUPPORTED("cazm9btr28fejr5n4cwsma7tw"); // ((((&xbuf)->ptr >= (&xbuf)->eptr) ? agxbmore(&xbuf,1) : 0), (int)(*(&xbuf)->ptr++ = ((unsigned char)')'))); UNSUPPORTED("caplzv8idwd0qnoaq3w2vy5ff"); // xdot_str (job, "S ", (((((&xbuf)->ptr >= (&xbuf)->eptr) ? agxbmore(&xbuf,1) : 0), (int)(*(&xbuf)->ptr++ = ((unsigned char)'\0'))),(char*)((&xbuf)->ptr = (&xbuf)->buf))); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ezgpaevuurfv1bn90du0txpse"); // /* now process raw style, if any */ UNSUPPORTED("e6dlq4pw8dw2g5an1ea0m2wii"); // s = job->obj->rawstyle; UNSUPPORTED("5io7qudgtw3wrjkc5ndpni08d"); // if (!s) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("catth0ogzsfgrpygkfd0cbryu"); // while ((p = *s++)) { UNSUPPORTED("dodemy5m4a5amvr3bhs96zfni"); // if ((*(p)==*("filled")&&!strcmp(p,"filled")) || (*(p)==*("bold")&&!strcmp(p,"bold")) || (*(p)==*("setlinewidth")&&!strcmp(p,"setlinewidth"))) continue; UNSUPPORTED("2nyfr4iutosldh71xx4giq7ld"); // agxbput(&xbuf, p); UNSUPPORTED("59gu8gjy0gkpkkgmy7w3c6hz8"); // while (*p) UNSUPPORTED("a0t85lvr3qdf70ajg30c8eadd"); // p++; UNSUPPORTED("5ms90gds9d7jyok5oqzrumfjz"); // p++; UNSUPPORTED("1rk1yssdqhcu8mg9wsz5s403g"); // if (*p) { /* arguments */ UNSUPPORTED("ezc5o9bz1652ofqsi8ceaswyk"); // ((((&xbuf)->ptr >= (&xbuf)->eptr) ? agxbmore(&xbuf,1) : 0), (int)(*(&xbuf)->ptr++ = ((unsigned char)'('))); UNSUPPORTED("dld8yejzb1pzu4wrg97fvx3jc"); // more = 0; UNSUPPORTED("3xy02it8l5j1ou46bxrmcmj9g"); // while (*p) { UNSUPPORTED("6w8b4rzmwbn832ggmg5z2hz3k"); // if (more) UNSUPPORTED("f014jjwukcwe1h27o8tb4elz7"); // ((((&xbuf)->ptr >= (&xbuf)->eptr) ? agxbmore(&xbuf,1) : 0), (int)(*(&xbuf)->ptr++ = ((unsigned char)','))); UNSUPPORTED("f14rwp6u955tfu6cz9c5dykoe"); // agxbput(&xbuf, p); UNSUPPORTED("cc4ka25bv1qo01yebmhukrudh"); // while (*p) p++; UNSUPPORTED("9qg60ras48o8da5tv4x27825z"); // p++; UNSUPPORTED("b7uckf8huqm9rbpqs7i2shp26"); // more++; UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("e2cqo5jxgtpd6regkfgu974a2"); // ((((&xbuf)->ptr >= (&xbuf)->eptr) ? agxbmore(&xbuf,1) : 0), (int)(*(&xbuf)->ptr++ = ((unsigned char)')'))); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("caplzv8idwd0qnoaq3w2vy5ff"); // xdot_str (job, "S ", (((((&xbuf)->ptr >= (&xbuf)->eptr) ? agxbmore(&xbuf,1) : 0), (int)(*(&xbuf)->ptr++ = ((unsigned char)'\0'))),(char*)((&xbuf)->ptr = (&xbuf)->buf))); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9audbw57i2imjhpg3zy9xu5mv"); // agxbfree(&xbuf); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 djj0v1y6ft33l01s92mhmr3j1 // static void xdot_end_node(GVJ_t* job) public static Object xdot_end_node(Object... arg) { UNSUPPORTED("95abravuaefe897744oovdbgg"); // static void xdot_end_node(GVJ_t* job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2lezgk5o9qmdslgwzpqrn1h4k"); // Agnode_t* n = job->obj->u.n; UNSUPPORTED("dnj3m7u15yca5e0djce9ndvvp"); // if ((((xbufs[EMIT_NDRAW])->ptr)-((xbufs[EMIT_NDRAW])->buf))) UNSUPPORTED("3erl3ds6swm4uogbpfesahw0u"); // agxset(n, xd->n_draw, (((((xbufs[EMIT_NDRAW])->ptr >= (xbufs[EMIT_NDRAW])->eptr) ? agxbmore(xbufs[EMIT_NDRAW],1) : 0), (int)(*(xbufs[EMIT_NDRAW])->ptr++ = ((unsigned char)'\0'))),(char*)((xbufs[EMIT_NDRAW])->ptr = (xbufs[EMIT_NDRAW])->buf))); UNSUPPORTED("d19b8c2q143j6pjrn1imkr6cb"); // if ((((xbufs[EMIT_NLABEL])->ptr)-((xbufs[EMIT_NLABEL])->buf))) UNSUPPORTED("33169rwgvzvqy0fn0jr86ukzc"); // agxset(n, xd->n_l_draw, (((((xbufs[EMIT_NLABEL])->ptr >= (xbufs[EMIT_NLABEL])->eptr) ? agxbmore(xbufs[EMIT_NLABEL],1) : 0), (int)(*(xbufs[EMIT_NLABEL])->ptr++ = ((unsigned char)'\0'))),(char*)((xbufs[EMIT_NLABEL])->ptr = (xbufs[EMIT_NLABEL])->buf))); UNSUPPORTED("9ethb4ntxk0h21pjx0sv6g8w5"); // penwidth[EMIT_NDRAW] = 1; UNSUPPORTED("d8dohyb2l7olxqf7no2cc3182"); // penwidth[EMIT_NLABEL] = 1; UNSUPPORTED("4ib1axosef2xal7sx0hnv73el"); // textflags[EMIT_NDRAW] = 0; UNSUPPORTED("27ks7p26fei0vcpbqhvhyreve"); // textflags[EMIT_NLABEL] = 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ephot24v485u441t22spc1qxd // static void xdot_end_edge(GVJ_t* job) public static Object xdot_end_edge(Object... arg) { UNSUPPORTED("5h94a39uxt4m5kq9bcyd2jcup"); // static void xdot_end_edge(GVJ_t* job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cs9lngw1dgp8n3lvti2wx4ro4"); // Agedge_t* e = job->obj->u.e; UNSUPPORTED("5aqbusskhk2rgmt0v3anuaod0"); // if ((((xbufs[EMIT_EDRAW])->ptr)-((xbufs[EMIT_EDRAW])->buf))) UNSUPPORTED("8jbq0gt6cplwr2t4lb8r3o03u"); // agxset(e, xd->e_draw, (((((xbufs[EMIT_EDRAW])->ptr >= (xbufs[EMIT_EDRAW])->eptr) ? agxbmore(xbufs[EMIT_EDRAW],1) : 0), (int)(*(xbufs[EMIT_EDRAW])->ptr++ = ((unsigned char)'\0'))),(char*)((xbufs[EMIT_EDRAW])->ptr = (xbufs[EMIT_EDRAW])->buf))); UNSUPPORTED("7jyyj1fsz2gdq8093dto36oql"); // if ((((xbufs[EMIT_TDRAW])->ptr)-((xbufs[EMIT_TDRAW])->buf))) UNSUPPORTED("113qjp9jjxo9ee7n0norzpy94"); // agxset(e, xd->t_draw, (((((xbufs[EMIT_TDRAW])->ptr >= (xbufs[EMIT_TDRAW])->eptr) ? agxbmore(xbufs[EMIT_TDRAW],1) : 0), (int)(*(xbufs[EMIT_TDRAW])->ptr++ = ((unsigned char)'\0'))),(char*)((xbufs[EMIT_TDRAW])->ptr = (xbufs[EMIT_TDRAW])->buf))); UNSUPPORTED("1s5rfn5msds0g3l08ukdnatf6"); // if ((((xbufs[EMIT_HDRAW])->ptr)-((xbufs[EMIT_HDRAW])->buf))) UNSUPPORTED("5mnz5pqsbe8l1nrt4dx2qgotx"); // agxset(e, xd->h_draw, (((((xbufs[EMIT_HDRAW])->ptr >= (xbufs[EMIT_HDRAW])->eptr) ? agxbmore(xbufs[EMIT_HDRAW],1) : 0), (int)(*(xbufs[EMIT_HDRAW])->ptr++ = ((unsigned char)'\0'))),(char*)((xbufs[EMIT_HDRAW])->ptr = (xbufs[EMIT_HDRAW])->buf))); UNSUPPORTED("6dv2nqce6ve0m7l061jjlmaye"); // if ((((xbufs[EMIT_ELABEL])->ptr)-((xbufs[EMIT_ELABEL])->buf))) UNSUPPORTED("3budwb0zd8tka557wgarsszrz"); // agxset(e, xd->e_l_draw,(((((xbufs[EMIT_ELABEL])->ptr >= (xbufs[EMIT_ELABEL])->eptr) ? agxbmore(xbufs[EMIT_ELABEL],1) : 0), (int)(*(xbufs[EMIT_ELABEL])->ptr++ = ((unsigned char)'\0'))),(char*)((xbufs[EMIT_ELABEL])->ptr = (xbufs[EMIT_ELABEL])->buf))); UNSUPPORTED("bbq0f5l1m6tifwlpdbgjxjxmb"); // if ((((xbufs[EMIT_TLABEL])->ptr)-((xbufs[EMIT_TLABEL])->buf))) UNSUPPORTED("4hcvf4p9vrk0ep0jjusj3jfhg"); // agxset(e, xd->tl_draw, (((((xbufs[EMIT_TLABEL])->ptr >= (xbufs[EMIT_TLABEL])->eptr) ? agxbmore(xbufs[EMIT_TLABEL],1) : 0), (int)(*(xbufs[EMIT_TLABEL])->ptr++ = ((unsigned char)'\0'))),(char*)((xbufs[EMIT_TLABEL])->ptr = (xbufs[EMIT_TLABEL])->buf))); UNSUPPORTED("8npymvk65ot8kt7ab3njeurja"); // if ((((xbufs[EMIT_HLABEL])->ptr)-((xbufs[EMIT_HLABEL])->buf))) UNSUPPORTED("aiq65lb7yped6b0lu116yo7a4"); // agxset(e, xd->hl_draw, (((((xbufs[EMIT_HLABEL])->ptr >= (xbufs[EMIT_HLABEL])->eptr) ? agxbmore(xbufs[EMIT_HLABEL],1) : 0), (int)(*(xbufs[EMIT_HLABEL])->ptr++ = ((unsigned char)'\0'))),(char*)((xbufs[EMIT_HLABEL])->ptr = (xbufs[EMIT_HLABEL])->buf))); UNSUPPORTED("2x0ufa4uwhp9bb7fn3s7usmzd"); // penwidth[EMIT_EDRAW] = 1; UNSUPPORTED("ayk6jgfpc8vvemv998gbjnsww"); // penwidth[EMIT_ELABEL] = 1; UNSUPPORTED("agspcnz5b0suqpit8cner6mhc"); // penwidth[EMIT_TDRAW] = 1; UNSUPPORTED("1e0b8ziuh0xrcaq0zplxix85s"); // penwidth[EMIT_HDRAW] = 1; UNSUPPORTED("6q4g8p0xtw5agqvlkpum8e9vz"); // penwidth[EMIT_TLABEL] = 1; UNSUPPORTED("7zohf6ywwsdckdn01n3cs1hjl"); // penwidth[EMIT_HLABEL] = 1; UNSUPPORTED("cb1xiw693bv2yaimwk2pjorom"); // textflags[EMIT_EDRAW] = 0; UNSUPPORTED("ezfay17uxlha202qtn3sntxaq"); // textflags[EMIT_ELABEL] = 0; UNSUPPORTED("e3whco999z8g1b67c9zy58eu0"); // textflags[EMIT_TDRAW] = 0; UNSUPPORTED("cguuvn26z1l27ish4rurbai3w"); // textflags[EMIT_HDRAW] = 0; UNSUPPORTED("bhdmf1uvv60ds7vyrvwu4u9dl"); // textflags[EMIT_TLABEL] = 0; UNSUPPORTED("2jq39xm07ptt1y0oamn4scxht"); // textflags[EMIT_HLABEL] = 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dgd04lnzpx25r8td4fyyg7u9n // static void xdot_end_cluster(GVJ_t * job) public static Object xdot_end_cluster(Object... arg) { UNSUPPORTED("748xi07ak7ijn36t3dcv852k6"); // static void xdot_end_cluster(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7hp4cwsa27640rg8l9i1oc3au"); // Agraph_t* cluster_g = job->obj->u.sg; UNSUPPORTED("7b9pvrvxfs1gy8pbpc556vgxn"); // agxset(cluster_g, xd->g_draw, (((((xbufs[EMIT_CDRAW])->ptr >= (xbufs[EMIT_CDRAW])->eptr) ? agxbmore(xbufs[EMIT_CDRAW],1) : 0), (int)(*(xbufs[EMIT_CDRAW])->ptr++ = ((unsigned char)'\0'))),(char*)((xbufs[EMIT_CDRAW])->ptr = (xbufs[EMIT_CDRAW])->buf))); UNSUPPORTED("4wwr02p3sc6z77r6pac172u8s"); // if (GD_label(cluster_g)) UNSUPPORTED("2dcg44k25x6u6ovhi0x82ky18"); // agxset(cluster_g, xd->g_l_draw, (((((xbufs[EMIT_CLABEL])->ptr >= (xbufs[EMIT_CLABEL])->eptr) ? agxbmore(xbufs[EMIT_CLABEL],1) : 0), (int)(*(xbufs[EMIT_CLABEL])->ptr++ = ((unsigned char)'\0'))),(char*)((xbufs[EMIT_CLABEL])->ptr = (xbufs[EMIT_CLABEL])->buf))); UNSUPPORTED("6mewhqzermfouij20dxeiylv4"); // penwidth[EMIT_CDRAW] = 1; UNSUPPORTED("13g8ea820qlbpgkiw8okcurxy"); // penwidth[EMIT_CLABEL] = 1; UNSUPPORTED("2ihltn665xnv186ed88nlcu5c"); // textflags[EMIT_CDRAW] = 0; UNSUPPORTED("ais8984m9rao3r8qrdv5oyrqd"); // textflags[EMIT_CLABEL] = 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 8w9h04r6wb5w595zzittoeka4 // static unsigned short versionStr2Version (char* str) public static Object versionStr2Version(Object... arg) { UNSUPPORTED("chrcy094x7ttaya3h1exscw7v"); // static unsigned short UNSUPPORTED("e4d2kbrvn8htupn0iafoih5mq"); // versionStr2Version (char* str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4stmwy26608swzz374tod0ean"); // char c, buf[BUFSIZ]; UNSUPPORTED("bvxkingiukxgnvvl6kws5dtd3"); // int n = 0; UNSUPPORTED("2abz7v9cw72cf6hqjox54nmwp"); // char* s = str; UNSUPPORTED("5c5g7fflmrhni3g2nuv63ojib"); // unsigned short us; UNSUPPORTED("c5ryg6x0ohski7pfyjfenou9s"); // while ((c = *s++)) { UNSUPPORTED("1pnj5rt1fbfrxp7zvqffa53x5"); // if (isdigit(c)) { UNSUPPORTED("ehkrwnuhx00twplplqn1558ge"); // if (n < BUFSIZ-1) buf[n++] = c; UNSUPPORTED("6q044im7742qhglc4553noina"); // else { UNSUPPORTED("6l35fjttf01gcmuqayv4bqy2w"); // agerr(AGWARN, "xdot version \"%s\" too long", str); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dduxfzva8x0mdh16aqyebatl1"); // buf[n] = '\0'; UNSUPPORTED("ogkrzx48vpp24yudp5vze1k"); // us = atoi(buf); UNSUPPORTED("2iqrgjc97xskxvw6791yf0sl7"); // return us; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 b6dujnnnx0vkz2azj96gb7m4s // static void xdot_begin_graph (graph_t *g, int s_arrows, int e_arrows, format_type id) public static Object xdot_begin_graph(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("2rjz3mulunwdz9ta0eo4csy2b"); // xdot_begin_graph (graph_t *g, int s_arrows, int e_arrows, format_type id) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ic1aerpescva8qu266cf4kgz"); // int i, us; UNSUPPORTED("yiuh599p05f2mpu2e3pesu2o"); // char* s; UNSUPPORTED("3vqymbo4wpza3fq6x8saz6rn7"); // xd = (xdot_state_t*)malloc(sizeof(xdot_state_t)); UNSUPPORTED("3a76ht5j9z1ccvqedbdgme3dd"); // if (id == FORMAT_XDOT14) { UNSUPPORTED("dt2u9y3kkmi56oskm69x8mikm"); // xd->version = 14; UNSUPPORTED("66cdr1t0wjaf0s0kucjxfuwim"); // xd->version_s = "1.4"; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("bf0zctwltwc67p5nltorciugj"); // else if (id == FORMAT_XDOT12) { UNSUPPORTED("4878ji8ec7yej8s8b623nj7pp"); // xd->version = 12; UNSUPPORTED("aaqxtlgybeiz9p9nyseoms49t"); // xd->version_s = "1.2"; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dnjx9r21tejepmqiuwox2oxrg"); // else if ((s = agget(g, "xdotversion")) && s[0] && ((us = versionStr2Version(s)) > 10)) { UNSUPPORTED("4s8ywxustrk8erm1tc6ejw2rg"); // xd->version = us; UNSUPPORTED("1424no2f3makhwi7tfl8c5q80"); // xd->version_s = s; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("1b4xz050q21m7lott5uquc11d"); // xd->version = versionStr2Version("1.7"); UNSUPPORTED("5kd75c5wqbvyshanptxfkj057"); // xd->version_s = "1.7"; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7zymy8kk3ewvzchagbq7uv1cu"); // if (GD_n_cluster(g)) UNSUPPORTED("cucvefvtr19ty35o4vh2yk4oz"); // xd->g_draw = safe_dcl(g, AGRAPH, "_draw_", ""); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("62tnc1j7duax67f6mmiymrdfa"); // xd->g_draw = NULL; UNSUPPORTED("2e1fr0r03jmw794odl240c8f7"); // if (GD_has_labels(g) & (1 << 3)) UNSUPPORTED("9a39cc2g4ltbio86mu69qmvj"); // xd->g_l_draw = safe_dcl(g, AGRAPH, "_ldraw_", ""); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("e0ldg474fh8tbrhv0i9u0aqjp"); // xd->g_l_draw = NULL; UNSUPPORTED("dw68da3w0j8rbxtrn9vhq44of"); // xd->n_draw = safe_dcl(g, AGNODE, "_draw_", ""); UNSUPPORTED("f4nik9l77a4c6uvt9x55ngopt"); // xd->n_l_draw = safe_dcl(g, AGNODE, "_ldraw_", ""); UNSUPPORTED("93zg18zlp7hsfph618t3hyejs"); // xd->e_draw = safe_dcl(g, AGEDGE, "_draw_", ""); UNSUPPORTED("6d4jdibq9wvx7on8dimlxq0yn"); // if (e_arrows) UNSUPPORTED("9ou3qp01825r9ps5uo5xfzgzc"); // xd->h_draw = safe_dcl(g, AGEDGE, "_hdraw_", ""); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("be9ld1gbisp6a176vdzaof8d3"); // xd->h_draw = NULL; UNSUPPORTED("euj2g8y61z0t4qjvgr0jss8v1"); // if (s_arrows) UNSUPPORTED("dowfh8qe11fawskapg5ro3jfr"); // xd->t_draw = safe_dcl(g, AGEDGE, "_tdraw_", ""); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("danxd49is8wbz9kakvzoq5odi"); // xd->t_draw = NULL; UNSUPPORTED("3ufm3epx8zs5wivuj6wsveht6"); // if (GD_has_labels(g) & ((1 << 0)|(1 << 5))) UNSUPPORTED("enylxaurlxd4or2zdfs634dga"); // xd->e_l_draw = safe_dcl(g, AGEDGE, "_ldraw_", ""); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("bi02qgm8vwdvqv11mwmnhs6to"); // xd->e_l_draw = NULL; UNSUPPORTED("9o41hpfnkkzxiqf6wmsulmacd"); // if (GD_has_labels(g) & (1 << 1)) UNSUPPORTED("6nvmq2gfvww01ewp3x9sjkuke"); // xd->hl_draw = safe_dcl(g, AGEDGE, "_hldraw_", ""); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("3nwv12jiirdbiz1oc47o2r3dg"); // xd->hl_draw = NULL; UNSUPPORTED("cpnv97fkn07xq4zk0ujfs1ae5"); // if (GD_has_labels(g) & (1 << 2)) UNSUPPORTED("da26r5gjgp3688l1z4tpzbq31"); // xd->tl_draw = safe_dcl(g, AGEDGE, "_tldraw_", ""); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("2tye9jzgetwsilq9chtxirz1i"); // xd->tl_draw = NULL; UNSUPPORTED("7kk0ag26ulyeot56meorf4p5s"); // for (i = 0; i < (EMIT_HLABEL+1); i++) UNSUPPORTED("8ajne0cu6u9nmlfrbjocyi684"); // agxbinit(xbuf+i, BUFSIZ, xd->buf[i]); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9el3cs7jw7xcl0wowpu7ct3rz // static void dot_begin_graph(GVJ_t *job) public static Object dot_begin_graph(Object... arg) { UNSUPPORTED("55cwgn2ctpl1i38b5pfptyfxh"); // static void dot_begin_graph(GVJ_t *job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5trsosjncbloszlsxd8sslp3o"); // int e_arrows; /* graph has edges with end arrows */ UNSUPPORTED("1bxz1lm8m0fgeoigia5tikg9d"); // int s_arrows; /* graph has edges with start arrows */ UNSUPPORTED("a3q119d7e1ostqe1x435lxrvm"); // graph_t *g = job->obj->u.g; UNSUPPORTED("69opxqj69jbqthw7e5x8p71j0"); // switch (job->render.id) { UNSUPPORTED("asbdg30zpxv93m8c8q7ut9pp7"); // case FORMAT_DOT: UNSUPPORTED("2ufbsycafpqid948lx5vaouyr"); // attach_attrs(g); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("d55f2zrc5u2nlqzvfrhox6uyo"); // case FORMAT_CANON: UNSUPPORTED("3tclamickukum1mag8ngi9dc4"); // if ((GD_flags(g) & 1)) UNSUPPORTED("13lh6smzxcir33yrc79wvp3ps"); // undoClusterEdges(g); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("4p4opxbu0ika01d9nbkvr7c5a"); // case FORMAT_PLAIN: UNSUPPORTED("b4g1j6lxp030dk3zr7rcgwrkn"); // case FORMAT_PLAIN_EXT: UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("drwnou77a82tgjqpyix5e973i"); // case FORMAT_XDOT: UNSUPPORTED("oq1yoczrthmfym4uucuuvtwg"); // case FORMAT_XDOT12: UNSUPPORTED("5detc6thxx6k2gbql8t37kino"); // case FORMAT_XDOT14: UNSUPPORTED("e517lrgflyjmfilgki7hwb0v0"); // attach_attrs_and_arrows(g, &s_arrows, &e_arrows); UNSUPPORTED("8kje0t3r1kyhxp9ztlespm94x"); // xdot_begin_graph(g, s_arrows, e_arrows, job->render.id); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5frt5zpj5ehffb4xazrp3bk5a // static void xdot_end_graph(graph_t* g) public static Object xdot_end_graph(Object... arg) { UNSUPPORTED("644gqx36xocy4ypd9o808hu8k"); // static void xdot_end_graph(graph_t* g) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("5in05wx4rr8c79fscbbuj0ny4"); // if ((((xbufs[EMIT_GDRAW])->ptr)-((xbufs[EMIT_GDRAW])->buf))) { UNSUPPORTED("71dz7nzjnm6fuzbfeq9vq9fhd"); // if (!xd->g_draw) UNSUPPORTED("d00l0rr0wvgnbyncpg4c280md"); // xd->g_draw = safe_dcl(g, AGRAPH, "_draw_", ""); UNSUPPORTED("col5wyh184hm8s7tk9u3wduo4"); // agxset(g, xd->g_draw, (((((xbufs[EMIT_GDRAW])->ptr >= (xbufs[EMIT_GDRAW])->eptr) ? agxbmore(xbufs[EMIT_GDRAW],1) : 0), (int)(*(xbufs[EMIT_GDRAW])->ptr++ = ((unsigned char)'\0'))),(char*)((xbufs[EMIT_GDRAW])->ptr = (xbufs[EMIT_GDRAW])->buf))); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("aplr7sm051i57jygcfj6gigoh"); // if (GD_label(g)) UNSUPPORTED("6hnqed76xd8ub681wy4l61i6k"); // agxset(g, xd->g_l_draw, (((((xbufs[EMIT_GLABEL])->ptr >= (xbufs[EMIT_GLABEL])->eptr) ? agxbmore(xbufs[EMIT_GLABEL],1) : 0), (int)(*(xbufs[EMIT_GLABEL])->ptr++ = ((unsigned char)'\0'))),(char*)((xbufs[EMIT_GLABEL])->ptr = (xbufs[EMIT_GLABEL])->buf))); UNSUPPORTED("9l6hpui3e7ttewt7f0pbdmj7n"); // agsafeset (g, "xdotversion", xd->version_s, ""); UNSUPPORTED("7kk0ag26ulyeot56meorf4p5s"); // for (i = 0; i < (EMIT_HLABEL+1); i++) UNSUPPORTED("7oy2gkodmmkkpcrpnsqj8zo3y"); // agxbfree(xbuf+i); UNSUPPORTED("8zq3l17h8kry49np2uj156vbf"); // free (xd); UNSUPPORTED("1k9pby72xelcehm9qyzsmgbuj"); // penwidth[EMIT_GDRAW] = 1; UNSUPPORTED("a4udc0v8tnpzqfdhk4ey7hlj2"); // penwidth[EMIT_GLABEL] = 1; UNSUPPORTED("85vfts415fxmowpvc6oa94wtk"); // textflags[EMIT_GDRAW] = 0; UNSUPPORTED("bprw4c19qmn4tbiyw95senow2"); // textflags[EMIT_GLABEL] = 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 365wp64if2aqqmz88lgc2acad // static void dot_end_graph(GVJ_t *job) public static Object dot_end_graph(Object... arg) { UNSUPPORTED("7od3m4syfzwmjresag6exqpa2"); // static void dot_end_graph(GVJ_t *job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("a3q119d7e1ostqe1x435lxrvm"); // graph_t *g = job->obj->u.g; UNSUPPORTED("4y5ui7sbb6i9ctt3c57thi7gr"); // Agiodisc_t* io_save; UNSUPPORTED("17vaxtfzi2nvsvj86pltalk4h"); // static Agiodisc_t io; UNSUPPORTED("dooum3itkcwjhytfxgpkqy2bc"); // if (io.afread == NULL) { UNSUPPORTED("buq0dfl65l186567ldevfu1lc"); // io.afread = AgIoDisc.afread; UNSUPPORTED("61t5ae3n3uf6lem5ma8yk8g8r"); // io.putstr = (putstrfn)gvputs; UNSUPPORTED("9myl5023j2t6dyfsi6w7rnvi6"); // io.flush = (flushfn)gvflush; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4qb1dpqvvr2x20dk4v9y86cr2"); // io_save = g->clos->disc.io; UNSUPPORTED("cgto05kv6b8s6ytjz5jz9698n"); // g->clos->disc.io = &io; UNSUPPORTED("69opxqj69jbqthw7e5x8p71j0"); // switch (job->render.id) { UNSUPPORTED("4p4opxbu0ika01d9nbkvr7c5a"); // case FORMAT_PLAIN: UNSUPPORTED("1samwnyuotk102w959rrud5i7"); // write_plain(job, g, (FILE*)job, 0); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("b4g1j6lxp030dk3zr7rcgwrkn"); // case FORMAT_PLAIN_EXT: UNSUPPORTED("1jrd36rj77i6km0m420xlpul"); // write_plain(job, g, (FILE*)job, NOT(0)); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("asbdg30zpxv93m8c8q7ut9pp7"); // case FORMAT_DOT: UNSUPPORTED("d55f2zrc5u2nlqzvfrhox6uyo"); // case FORMAT_CANON: UNSUPPORTED("3pog4cju4ila5a12l0p0zeb88"); // if (!(job->flags & (1<<27))) UNSUPPORTED("3lsqt99njjcj8p92ycwhmflh6"); // agwrite(g, (FILE*)job); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("drwnou77a82tgjqpyix5e973i"); // case FORMAT_XDOT: UNSUPPORTED("oq1yoczrthmfym4uucuuvtwg"); // case FORMAT_XDOT12: UNSUPPORTED("5detc6thxx6k2gbql8t37kino"); // case FORMAT_XDOT14: UNSUPPORTED("58qfh8cm3k2usaxu31aasg2q0"); // xdot_end_graph(g); UNSUPPORTED("3pog4cju4ila5a12l0p0zeb88"); // if (!(job->flags & (1<<27))) UNSUPPORTED("3lsqt99njjcj8p92ycwhmflh6"); // agwrite(g, (FILE*)job); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2khgjvw37rb0f0u56v0bmeuhk"); // g->clos->disc.io = io_save; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 miu9dqoprpn4z02dr1v5dp5m // static unsigned int flag_masks[] = //3 cxy8ygsrutpg71gnj7rvevr82 // static void xdot_textspan(GVJ_t * job, pointf p, textspan_t * span) public static Object xdot_textspan(Object... arg) { UNSUPPORTED("gwiq1hicnrtpzvgg8epkkvav"); // static void xdot_textspan(GVJ_t * job, pointf p, textspan_t * span) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5tol2owvqctfpttgzs7ee7b7x"); // emit_state_t emit_state = job->obj->emit_state; UNSUPPORTED("bvksijlrvlrkfx8y487wyj382"); // int flags; UNSUPPORTED("cf8w5z35zxww7q6yjin9lc9op"); // char buf[BUFSIZ]; UNSUPPORTED("2bs0wcp6367dz1o5x166ec7l8"); // int j; UNSUPPORTED("6l9fjr9roux0dfl0wfu7fcddr"); // agxbput(xbufs[emit_state], "F "); UNSUPPORTED("az3hohvk4k0kbhvylbungddx3"); // xdot_fmt_num (buf, span->font->size); UNSUPPORTED("9rhyq2cgol181qsty6dn352bn"); // agxbput(xbufs[emit_state], buf); UNSUPPORTED("99k2as158r23heb0l4ctcm9vy"); // xdot_str (job, "", span->font->name); UNSUPPORTED("b60954b8v5dalvf3r6llehqzf"); // xdot_pencolor(job); UNSUPPORTED("bpqxh9mig0sh1gasrlkg6hbph"); // switch (span->just) { UNSUPPORTED("15tf5rbprgr65ucp24e4bba9t"); // case 'l': UNSUPPORTED("2suvzg8lg1f7fj0rjb3xgexxo"); // j = -1; UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("8pu80wsk8me7q17ensqlviq86"); // case 'r': UNSUPPORTED("bd07lgrxf1a60vz7i2yh1oc5y"); // j = 1; UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("37fbny64zwo23oymypyreuldc"); // case 'n': UNSUPPORTED("r79hxjsrgn8qe981wwjhqv5r"); // j = 0; UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3ph6hw1a9g39ebdmtg6m2z1e6"); // if (span->font) UNSUPPORTED("1h81g9cqefbz374gnxhsrzihh"); // flags = span->font->flags; UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("1zfq2ftnydeuv7ocl0s1qswos"); // flags = 0; UNSUPPORTED("byh8c2fia9mydfrbinzik1yj"); // if (xd->version >= 15) { UNSUPPORTED("adh7i3qky231rctbj07n1ltuh"); // unsigned int mask = flag_masks[xd->version-15]; UNSUPPORTED("5zcevqq4z3m3xk2679v33aydh"); // unsigned int bits = flags & mask; UNSUPPORTED("1aj03a1vg8w23trgnu1prqjjn"); // if (textflags[emit_state] != bits) { UNSUPPORTED("3qyyq68k6zvnwy5s3w6dtw9i3"); // sprintf (buf, "t %u ", bits); UNSUPPORTED("4rkyue7yryguey5gmxi33gx43"); // agxbput(xbufs[emit_state], buf); UNSUPPORTED("bbejxaf27qcm3hgffhoos4cep"); // textflags[emit_state] = bits; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c9qtg5nyqzscz54w8w9mfwv7v"); // p.y += span->yoffset_centerline; UNSUPPORTED("dx3kapcolqs61rakt0sf1g2ne"); // agxbput(xbufs[emit_state], "T "); UNSUPPORTED("cn33udbmfohead259f30gigu9"); // xdot_point(xbufs[emit_state], p); UNSUPPORTED("e6ynnabzexm69rwnkcujg3ytl"); // sprintf(buf, "%d ", j); UNSUPPORTED("9rhyq2cgol181qsty6dn352bn"); // agxbput(xbufs[emit_state], buf); UNSUPPORTED("69ugzyybutpdllfj7qjgdpzzf"); // xdot_fmt_num (buf, span->size.x); UNSUPPORTED("9rhyq2cgol181qsty6dn352bn"); // agxbput(xbufs[emit_state], buf); UNSUPPORTED("eyg91nw45p8h7ujjgtsrndc38"); // xdot_str (job, "", span->str); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 951oub23cl7586oxghh5so2n4 // static void xdot_color_stop (agxbuf* xb, float v, gvcolor_t* clr) public static Object xdot_color_stop(Object... arg) { UNSUPPORTED("3bwn7e5owadbvieiqpx44m016"); // static void xdot_color_stop (agxbuf* xb, float v, gvcolor_t* clr) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cf8w5z35zxww7q6yjin9lc9op"); // char buf[BUFSIZ]; UNSUPPORTED("bh3lqw75arlp2hvbqi7hw0plv"); // sprintf (buf, "%.03f", v); UNSUPPORTED("5jyfg2es8t6ywaex3wqf67xef"); // xdot_trim_zeros (buf, 1); UNSUPPORTED("absgo5laog0paf2par7r2x2gj"); // xdot_str_xbuf (xb, buf, color2str (clr->u.rgba)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 81lb9t5vutop207f66wrvrzmv // static void xdot_gradient_fillcolor (GVJ_t* job, int filled, pointf* A, int n) public static Object xdot_gradient_fillcolor(Object... arg) { UNSUPPORTED("cfu8qq2194ludhgqlobf0hd99"); // static void xdot_gradient_fillcolor (GVJ_t* job, int filled, pointf* A, int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("afhr40frddxftx356soi57rg3"); // unsigned char buf0[BUFSIZ]; UNSUPPORTED("d7xb6maj0ydcfhxp7ibk0szkw"); // agxbuf xbuf; UNSUPPORTED("dkl0vzbfc5x8033scv4snd5jw"); // obj_state_t* obj = job->obj; UNSUPPORTED("apv553335q0u7zdmvsw0pkwua"); // float angle = obj->gradient_angle * M_PI / 180; UNSUPPORTED("4qdy8fespthd4iw616b9kqbug"); // float r1,r2; UNSUPPORTED("1jkyxz2untcdunxnh5lg110bm"); // pointf G[2],c1,c2; UNSUPPORTED("4s3lilfwec0zb6xral9scaw8w"); // if (xd->version < 14) { UNSUPPORTED("jhsnzw28kj9x70ilt7413rx1"); // xdot_fillcolor (job); UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("cykkurgudosfmfhpzldhi18aj"); // agxbinit(&xbuf, BUFSIZ, buf0); UNSUPPORTED("6ix1vu2jcuffbc6bfez9ob1bm"); // if (filled == 2) { UNSUPPORTED("cj0ole2l1i4n8tqoqi5ttskq0"); // get_gradient_points(A, G, n, angle, 2); UNSUPPORTED("2qhqfakxqg575vnxt8hl977es"); // ((((&xbuf)->ptr >= (&xbuf)->eptr) ? agxbmore(&xbuf,1) : 0), (int)(*(&xbuf)->ptr++ = ((unsigned char)'['))); UNSUPPORTED("d5n6wae9wjfp1nge6poeog0ne"); // xdot_point (&xbuf, G[0]); UNSUPPORTED("4it3udjo4ot3vncc2d0azcj3y"); // xdot_point (&xbuf, G[1]); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("552p8gqtzfrli5iijew1yzbc2"); // get_gradient_points(A, G, n, 0, 3); UNSUPPORTED("azmgl3vqx13s5t2zy71yqt0zv"); // //r1 is inner radius, r2 is outer radius UNSUPPORTED("cgza74zbphmgyazdy25a1yjwd"); // r1 = G[1].x; UNSUPPORTED("8sucs08ls3j7nrift30lvczdo"); // r2 = G[1].y; UNSUPPORTED("3xbidpbr5d8c0q1a9e5r3m3bf"); // if (angle == 0) { UNSUPPORTED("33xdqpb7fle8qc4kgvrlyb978"); // c1.x = G[0].x; UNSUPPORTED("azjf33tlorlkh7g3obi1fw9o8"); // c1.y = G[0].y; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("ctiy8a8egqtw0wdettm82nol3"); // c1.x = G[0].x + (r2/4) * cos(angle); UNSUPPORTED("f55breu5jzgg9cdf1yjle3ldk"); // c1.y = G[0].y + (r2/4) * sin(angle); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2de5pr45z8x035q11la5yj7mr"); // c2.x = G[0].x; UNSUPPORTED("3uy8a7vkkzkc62z0w7rwbftff"); // c2.y = G[0].y; UNSUPPORTED("33tuj6sqq0diph014rq1qr5l2"); // r1 = r2/4; UNSUPPORTED("1e7clx93h8m75wd14f3tz60a5"); // ((((&xbuf)->ptr >= (&xbuf)->eptr) ? agxbmore(&xbuf,1) : 0), (int)(*(&xbuf)->ptr++ = ((unsigned char)'('))); UNSUPPORTED("73hnifpkt5nmlbooav542m03w"); // xdot_point (&xbuf, c1); UNSUPPORTED("c2f1hoenqv8l25y3hjr50uj98"); // xdot_num (&xbuf, r1); UNSUPPORTED("3e41s473bda488ppw2goj2b2s"); // xdot_point (&xbuf, c2); UNSUPPORTED("5hvhixnw8w82m7kro7wcn3q6i"); // xdot_num (&xbuf, r2); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("do5q72ggtf3cz3etzwfza579u"); // agxbput(&xbuf, "2 "); UNSUPPORTED("8fgkppjkw1zj55kkf5f3vfttd"); // if (obj->gradient_frac > 0) { UNSUPPORTED("2sd2i1enczhlwsjncjv8mae1z"); // xdot_color_stop (&xbuf, obj->gradient_frac, &obj->fillcolor); UNSUPPORTED("1dto0ii6gendp8jq487yi1hca"); // xdot_color_stop (&xbuf, obj->gradient_frac, &obj->stopcolor); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("is1pyjf8le3sjv4tl7l3ziaf"); // xdot_color_stop (&xbuf, 0, &obj->fillcolor); UNSUPPORTED("24knhjivq0t12zx1guvl5rf7f"); // xdot_color_stop (&xbuf, 1, &obj->stopcolor); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9px7n8ot0ypjfbsjvvoc0sw9f"); // agxbpop(&xbuf); UNSUPPORTED("xfkgq4px6z7dad4dxc34hfda"); // if (filled == 2) UNSUPPORTED("8qcdfuctjpke1bbm2pfd8botk"); // ((((&xbuf)->ptr >= (&xbuf)->eptr) ? agxbmore(&xbuf,1) : 0), (int)(*(&xbuf)->ptr++ = ((unsigned char)']'))); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("cazm9btr28fejr5n4cwsma7tw"); // ((((&xbuf)->ptr >= (&xbuf)->eptr) ? agxbmore(&xbuf,1) : 0), (int)(*(&xbuf)->ptr++ = ((unsigned char)')'))); UNSUPPORTED("6zoxco27bs4sptdv3yvk4b4f4"); // xdot_str (job, "C ", (((((&xbuf)->ptr >= (&xbuf)->eptr) ? agxbmore(&xbuf,1) : 0), (int)(*(&xbuf)->ptr++ = ((unsigned char)'\0'))),(char*)((&xbuf)->ptr = (&xbuf)->buf))); UNSUPPORTED("9audbw57i2imjhpg3zy9xu5mv"); // agxbfree(&xbuf); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 elpdgf7i39797gvcc6b2t7ff0 // static void xdot_ellipse(GVJ_t * job, pointf * A, int filled) public static Object xdot_ellipse(Object... arg) { UNSUPPORTED("5ui8vu8fdabmwbsjpzn9fke7j"); // static void xdot_ellipse(GVJ_t * job, pointf * A, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5tol2owvqctfpttgzs7ee7b7x"); // emit_state_t emit_state = job->obj->emit_state; UNSUPPORTED("cf8w5z35zxww7q6yjin9lc9op"); // char buf[BUFSIZ]; UNSUPPORTED("6xsl5ij07s1n8lkq3esgcpnkd"); // xdot_style (job); UNSUPPORTED("afipplsdzhk8ka8f8byy3b6ew"); // xdot_pencolor (job); UNSUPPORTED("9yhmhvzz81x2bovke5qc93036"); // if (filled) { UNSUPPORTED("5vocstppqgtqsgie6wt3h97lx"); // if ((filled == 2) || (filled == 3)) { UNSUPPORTED("32wte71cc4mwvlc654ryoqvgp"); // xdot_gradient_fillcolor (job, filled, A, 2); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("2ny1fosqv89i3jorx0crjx93q"); // else UNSUPPORTED("e2g0v2azia2l0a317ei6s9lc7"); // xdot_fillcolor (job); UNSUPPORTED("4fy4eziyv5vh3mm1f4yikgh1g"); // agxbput(xbufs[emit_state], "E "); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("7z7k33fjb8nol2vfc95j2so4v"); // agxbput(xbufs[emit_state], "e "); UNSUPPORTED("3k8oqnla7s88jh4xlmwpxlefs"); // xdot_point(xbufs[emit_state], A[0]); UNSUPPORTED("19tmmds723z70vc4nukjdbn6v"); // xdot_fmt_num (buf, A[1].x - A[0].x); UNSUPPORTED("9rhyq2cgol181qsty6dn352bn"); // agxbput(xbufs[emit_state], buf); UNSUPPORTED("9llhc3ra6q58d31qhdtzspgb7"); // xdot_fmt_num (buf, A[1].y - A[0].y); UNSUPPORTED("9rhyq2cgol181qsty6dn352bn"); // agxbput(xbufs[emit_state], buf); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4lnrf12q3ldkwy8zf6gci2pks // static void xdot_bezier(GVJ_t * job, pointf * A, int n, int arrow_at_start, int arrow_at_end, int filled) public static Object xdot_bezier(Object... arg) { UNSUPPORTED("37xlnhhrtu9vagol2alnbwrk8"); // static void xdot_bezier(GVJ_t * job, pointf * A, int n, int arrow_at_start, int arrow_at_end, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6xsl5ij07s1n8lkq3esgcpnkd"); // xdot_style (job); UNSUPPORTED("afipplsdzhk8ka8f8byy3b6ew"); // xdot_pencolor (job); UNSUPPORTED("9yhmhvzz81x2bovke5qc93036"); // if (filled) { UNSUPPORTED("5vocstppqgtqsgie6wt3h97lx"); // if ((filled == 2) || (filled == 3)) { UNSUPPORTED("bpeb0kmrjxd69y7dwei7wnoal"); // xdot_gradient_fillcolor (job, filled, A, n); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("35nw1pbiz2p3s6qwlam5eoo3m"); // else UNSUPPORTED("e2g0v2azia2l0a317ei6s9lc7"); // xdot_fillcolor (job); UNSUPPORTED("98py6ghqeml2v4q8ndh3x8a1b"); // xdot_points(job, 'b', A, n); /* NB - 'B' & 'b' are reversed in comparison to the other items */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("8o1bgpp5kvqu13syxpzk68480"); // xdot_points(job, 'B', A, n); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dqb35ass6fhia5ed3fazmq2me // static void xdot_polygon(GVJ_t * job, pointf * A, int n, int filled) public static Object xdot_polygon(Object... arg) { UNSUPPORTED("cndk7usyfoi66d0rxi8ep9ehq"); // static void xdot_polygon(GVJ_t * job, pointf * A, int n, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6xsl5ij07s1n8lkq3esgcpnkd"); // xdot_style (job); UNSUPPORTED("afipplsdzhk8ka8f8byy3b6ew"); // xdot_pencolor (job); UNSUPPORTED("9yhmhvzz81x2bovke5qc93036"); // if (filled) { UNSUPPORTED("5vocstppqgtqsgie6wt3h97lx"); // if ((filled == 2) || (filled == 3)) { UNSUPPORTED("bpeb0kmrjxd69y7dwei7wnoal"); // xdot_gradient_fillcolor (job, filled, A, n); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("35nw1pbiz2p3s6qwlam5eoo3m"); // else UNSUPPORTED("e2g0v2azia2l0a317ei6s9lc7"); // xdot_fillcolor (job); UNSUPPORTED("ezmi4i7cc8d9uelz9assws82f"); // xdot_points(job, 'P', A, n); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("48nm1x4l16t2ale21cdz3mcza"); // xdot_points(job, 'p', A, n); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e7grmvqgv9168jtqtt87zmzyy // static void xdot_polyline(GVJ_t * job, pointf * A, int n) public static Object xdot_polyline(Object... arg) { UNSUPPORTED("6d20bb7cmgbtsecpavuqttst6"); // static void xdot_polyline(GVJ_t * job, pointf * A, int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6xsl5ij07s1n8lkq3esgcpnkd"); // xdot_style (job); UNSUPPORTED("afipplsdzhk8ka8f8byy3b6ew"); // xdot_pencolor (job); UNSUPPORTED("cpqh42avxgy10sr2b44k34o5r"); // xdot_points(job, 'L', A, n); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eykvrl427om1rgwd7xrbbwrzk // void core_loadimage_xdot(GVJ_t * job, usershape_t *us, boxf b, boolean filled) public static Object core_loadimage_xdot(Object... arg) { UNSUPPORTED("6rbh44wuyqe0mblq32vw2cf7p"); // void core_loadimage_xdot(GVJ_t * job, usershape_t *us, boxf b, boolean filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5tol2owvqctfpttgzs7ee7b7x"); // emit_state_t emit_state = job->obj->emit_state; UNSUPPORTED("cf8w5z35zxww7q6yjin9lc9op"); // char buf[BUFSIZ]; UNSUPPORTED("bghgst163im2c320on8x4w3zh"); // agxbput(xbufs[emit_state], "I "); UNSUPPORTED("asxolcwcmi1gbbpelswru4bbo"); // xdot_point(xbufs[emit_state], b.LL); UNSUPPORTED("bhn6trlb4cfurw7boroefzm9t"); // xdot_fmt_num (buf, b.UR.x - b.LL.x); UNSUPPORTED("9rhyq2cgol181qsty6dn352bn"); // agxbput(xbufs[emit_state], buf); UNSUPPORTED("3azj7tzkveayr8ycyk2gu34pw"); // xdot_fmt_num (buf, b.UR.y - b.LL.y); UNSUPPORTED("9rhyq2cgol181qsty6dn352bn"); // agxbput(xbufs[emit_state], buf); UNSUPPORTED("dmjnxlq1z32kfdqx4y7zhegaw"); // xdot_str (job, "", (char*)(us->name)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 8pi2ts65r8gsvbkjt5wq965nq // gvrender_engine_t dot_engine = //1 1plhtdsvqvsimvarzf4jj1eq7 // gvrender_engine_t xdot_engine = //1 au6z2onamntzabqj683rh3n3a // gvrender_features_t render_features_dot = //1 6f9e1l4u72pnxzq9wtm1r9lti // gvrender_features_t render_features_xdot = //1 3lwgnw04i5fjt5ies1vspsbt6 // gvdevice_features_t device_features_canon = //1 blql9jmu6ahfd8lqid7tast8h // gvdevice_features_t device_features_dot = //1 8t8p2uw0f9lt9lbs33nt9zhpy // gvplugin_installed_t gvrender_dot_types[] = //1 4p12wx67x4s3z9tqpkk0xnq2g // gvplugin_installed_t gvdevice_dot_types[] = } plantuml-1.2018.13+ds/src/gen/plugin/core/gvrender_core_fig__c.java000066400000000000000000001067411340005343600250370ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.plugin.core; import static smetana.core.Macro.UNSUPPORTED; public class gvrender_core_fig__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 4ywl2my7bw54moba4jmobv1yt // static int Depth //3 col13zsmm8179we47mk0y0ryx // static void figptarray(GVJ_t *job, pointf * A, int n, int close) public static Object figptarray(Object... arg) { UNSUPPORTED("5sak5etnrhk4n1c20jbn4x6sw"); // static void figptarray(GVJ_t *job, pointf * A, int n, int close) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("41nrdsugvfgw23s93g0dhizkn"); // point p; UNSUPPORTED("1vi49g48u2rc9v88yhabta0yw"); // for (i = 0; i < n; i++) { UNSUPPORTED("4pvmqbw3yqtv1skjcmzaxzz1j"); // PF2P(A[i],p); UNSUPPORTED("9l156bri4abd87e44n6ponvf7"); // gvprintf(job, " %d %d", p.x, p.y); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("125u8ocmya1ui6f2vy92ys41c"); // if (close) { UNSUPPORTED("3nww6192gmqzcyq5v0whqebqg"); // PF2P(A[0],p); UNSUPPORTED("9l156bri4abd87e44n6ponvf7"); // gvprintf(job, " %d %d", p.x, p.y); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b7eafy5bhxn361xe2c8x8553b"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 awvjm7vo78a8gt65eab40rjv3 // static char *fig_string(char *s) public static Object fig_string(Object... arg) { UNSUPPORTED("7jy2u90k97u4zfgxqxjryrrij"); // static char *fig_string(char *s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("210phh7av8ei8ajjmpptx96m6"); // static char *buf = NULL; UNSUPPORTED("6fpm1wk8mz0hofn15361g6nzn"); // static int bufsize = 0; UNSUPPORTED("3xzujk207ipx0d60nbbrwyjez"); // int pos = 0; UNSUPPORTED("aexhdud6z2wbwwi73yppp0ynl"); // char *p; UNSUPPORTED("10sir32iwi5l2jyfgp65pihto"); // unsigned char c; UNSUPPORTED("cjyiejw67ffjjsk60tgeebvif"); // if (!buf) { UNSUPPORTED("7mna7k5m37x6jycc55rpeeje8"); // bufsize = 64; UNSUPPORTED("ep0onxumq5jdi6uy8gbmbmcbb"); // buf = malloc(bufsize * sizeof(char)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dpfzdhkfq6u86uv5f9lnqfbpq"); // p = buf; UNSUPPORTED("c5ryg6x0ohski7pfyjfenou9s"); // while ((c = *s++)) { UNSUPPORTED("9zdb3w6p9hdzpyyb0migch83s"); // if (pos > (bufsize - 8)) { UNSUPPORTED("6e6hti39a4qgpg5w8s3kln578"); // bufsize *= 2; UNSUPPORTED("5ws50ei3kkqkw4ut1rt6a53bm"); // buf = realloc(buf, bufsize * sizeof(char)); UNSUPPORTED("7bji4miupgafja2y29safeneg"); // p = buf + pos; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("19kfsb89ftcmo72ye73cn1plm"); // if (isascii(c)) { UNSUPPORTED("q0pniw6fxx771jygciq7vzx8"); // if (c == '\\') { UNSUPPORTED("et6mc0jzry6p7o1acim2wudi9"); // *p++ = '\\'; UNSUPPORTED("e2z9y4j5uutkew1vp7bi9rhl4"); // pos++; UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("a9lw77m0m78a5a98c3vho52nx"); // *p++ = c; UNSUPPORTED("80sypvk9gmir13zzfmeeey8ri"); // pos++; UNSUPPORTED("7g575y36b78djy0o00izqx7eq"); // } else { UNSUPPORTED("9x6j5mtq8ejbmg0m64b60ml"); // *p++ = '\\'; UNSUPPORTED("dev643k7td5xqer5x35ldenoh"); // sprintf(p, "%03o", c); UNSUPPORTED("5xg21ei3admmdqgn97zgseutd"); // p += 3; UNSUPPORTED("8sk7u4qhds42x15qm3hujzttc"); // pos += 4; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2t1d66kwn86kqh0i665hqw6cl"); // *p = '\0'; UNSUPPORTED("5jfpogdyby101eyuw2dhtb5cg"); // return buf; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c9fcem04fcrcl4xar0xmrikcd // static int figColorResolve(int *new, int r, int g, int b) public static Object figColorResolve(Object... arg) { UNSUPPORTED("8axwcbee7joccp1jlpniopwsa"); // static int figColorResolve(int *new, int r, int g, int b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c2sddndcjmau5tt4mtu64l1ez"); // static int top = 0; UNSUPPORTED("bnrhaqz49cielpy7fgo6dz2ub"); // static short red[256], green[256], blue[256]; UNSUPPORTED("53xzwretgdbd0atozc0w6hagb"); // int c; UNSUPPORTED("5hsogcx940isfoos26t853z9j"); // int ct = -1; UNSUPPORTED("4nf4ocdnzdty5edptkslzgrhc"); // long rd, gd, bd, dist; UNSUPPORTED("b9jn6a9ked66uo0b0um0kfzfb"); // long mindist = 3 * 255 * 255; /* init to max poss dist */ UNSUPPORTED("c5tawsm7j8n0vkq0qcls0soc3"); // *new = 0; /* in case it is not a new color */ UNSUPPORTED("39bm5fhhzyquf4rlun9zbcbi4"); // for (c = 0; c < top; c++) { UNSUPPORTED("6412n3rfkfyimbx1puriyeqqz"); // rd = (long) (red[c] - r); UNSUPPORTED("amn29e9pu9d8t9ccunm7fn20f"); // gd = (long) (green[c] - g); UNSUPPORTED("1qvtyk7n5kdkzxz8gi0t6sl7m"); // bd = (long) (blue[c] - b); UNSUPPORTED("5awh60zjinxyaizmnt7bcnsgo"); // dist = rd * rd + gd * gd + bd * bd; UNSUPPORTED("72niuav6m4ahb9zc0o87j3rup"); // if (dist < mindist) { UNSUPPORTED("45pwtf48ibwznp83ycluh93rj"); // if (dist == 0) UNSUPPORTED("39io4oxurhajbqm5r7elzwd3g"); // return c; /* Return exact match color */ UNSUPPORTED("9ctfnrqq05xpz8c2upf35fhfw"); // mindist = dist; UNSUPPORTED("2b2qywvsce8xntf2r51qyo3lz"); // ct = c; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("92ga17xtfz92ju9egrpkatfx5"); // /* no exact match. We now know closest, but first try to allocate exact */ UNSUPPORTED("5ovv0tkjil1wqwcyc3cvzxgha"); // if (top++ == 256) UNSUPPORTED("1qskgh83m3zps1l8d7o3ylo8g"); // return ct; /* Return closest available color */ UNSUPPORTED("7lij9fxsovvuk0nh18y6qq0cr"); // red[c] = r; UNSUPPORTED("7uavxrqaipwwg1svkkt5e6gon"); // green[c] = g; UNSUPPORTED("eew689jpibm80nsjrhdscvx6g"); // blue[c] = b; UNSUPPORTED("4ocisp2giicxopfp4qg90x7u9"); // *new = 1; /* flag new color */ UNSUPPORTED("264d1dm29x04zyyqjdk3ddnl5"); // return c; /* Return newly allocated color */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 11cnk7gp9g9cdub4ga2u8jszp // static char *figcolor[] = //3 gzljm8fc35nb7t3z7v13qxsl // static void fig_resolve_color(GVJ_t *job, gvcolor_t * color) public static Object fig_resolve_color(Object... arg) { UNSUPPORTED("d9huvcouhj8yhy5b4fps1vy3m"); // static void fig_resolve_color(GVJ_t *job, gvcolor_t * color) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bq377qzls373nkw9grr3xbhb9"); // int object_code = 0; /* always 0 for color */ UNSUPPORTED("dj1t9kf7kksjvw5f22h1orpag"); // int i, new; UNSUPPORTED("bxo9w7e24zf8i5xwh6wi8bxh4"); // switch (color->type) { UNSUPPORTED("3963t7kz3wj9jmr4b42bh0ikz"); // case COLOR_STRING: UNSUPPORTED("amg503k352sitwi1mo9d5l09"); // for (i = 0; figcolor[i]; i++) { UNSUPPORTED("1a2fom7wr1ukqwuv9pvsldw8d"); // if ((*(figcolor[i])==*(color->u.string)&&!strcmp(figcolor[i],color->u.string))) { UNSUPPORTED("9fmop7ycuw4c06a6ourx7vv8l"); // color->u.index = i; UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("4qyq5lb20pb6flw57yam37kot"); // case RGBA_BYTE: UNSUPPORTED("cnl3ezckqhpxx1k3zwy7hql2p"); // i = 32 + figColorResolve(&new, UNSUPPORTED("7ypz6k2dstjlbvkqpf28ryrka"); // color->u.rgba[0], UNSUPPORTED("1pkpumtkequn1fci0837v2e9a"); // color->u.rgba[1], UNSUPPORTED("dt4rc3qfwjro0c9kpkkqmtgw8"); // color->u.rgba[2]); UNSUPPORTED("438u9aoruxazb8jrtx91hlbdz"); // if (new) UNSUPPORTED("613atevuo7fg5d4ei7jbuj8x4"); // gvprintf(job, "%d %d #%02x%02x%02x\n", UNSUPPORTED("2gvnwuloyapznbrz8e4t06b35"); // object_code, i, UNSUPPORTED("7ypz6k2dstjlbvkqpf28ryrka"); // color->u.rgba[0], UNSUPPORTED("1pkpumtkequn1fci0837v2e9a"); // color->u.rgba[1], UNSUPPORTED("dt4rc3qfwjro0c9kpkkqmtgw8"); // color->u.rgba[2]); UNSUPPORTED("9d1rbsakym2mocpx05cjm9vua"); // color->u.index = i; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("bkkv1y1k8t2tqld7taz25diq9"); // assert(0); /* internal error */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dn17pk6kdqb9z3cs77yg6syfc"); // color->type = COLOR_INDEX; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c3uupx3hhjief1a1ojoxqlei8 // static void fig_line_style(obj_state_t *obj, int *line_style, double *style_val) public static Object fig_line_style(Object... arg) { UNSUPPORTED("7m4ggpn5o0f67nqnhdm0hh4oe"); // static void fig_line_style(obj_state_t *obj, int *line_style, double *style_val) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1a0u5t2wyxdqipaswmaz0wsvz"); // switch (obj->pen) { UNSUPPORTED("ersst7rw166izs2gaqp8nna81"); // case PEN_DASHED: UNSUPPORTED("2anynsrc9mionezyitu3h8ust"); // *line_style = 1; UNSUPPORTED("13xgbwsnirhzzkr4rhxlssp80"); // *style_val = 10.; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("5u2fwmkidl1tehl5ms86n9ior"); // case PEN_DOTTED: UNSUPPORTED("6w3l2bm01hn2c597o758rnjdd"); // *line_style = 2; UNSUPPORTED("13xgbwsnirhzzkr4rhxlssp80"); // *style_val = 10.; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("f0tv0x0m7ey5lru9fd0f8d6zq"); // case PEN_SOLID: UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("d8wx5390c9r0unl07858cm345"); // *line_style = 0; UNSUPPORTED("3eu0slevfiogpisxlbf0y2b5m"); // *style_val = 0.; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 68usbfogj1fgje2tybh6k9wpv // static void fig_comment(GVJ_t *job, char *str) public static Object fig_comment(Object... arg) { UNSUPPORTED("1o50j8sbyabs2ev6hhz4w4sgr"); // static void fig_comment(GVJ_t *job, char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5ls4cp3mls7mazf3b7jw70mpv"); // gvprintf(job, "# %s\n", str); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 chft6a85fdy4m0a4qvlktap4v // static void fig_begin_graph(GVJ_t * job) public static Object fig_begin_graph(Object... arg) { UNSUPPORTED("b4s3t12w52npmo1ujd63j2f5k"); // static void fig_begin_graph(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("2pap898oez8d25yf5kfweuuk6"); // gvputs(job, "#FIG 3.2\n"); UNSUPPORTED("edxtivvelwys6lghpf7qc76zg"); // gvprintf(job, "# Generated by %s version %s (%s)\n", UNSUPPORTED("59dk4u30jduauy0wtxlpr76x1"); // job->common->info[0], job->common->info[1], job->common->info[2]); UNSUPPORTED("ekao5tqpl20bazozknsb9hrd8"); // gvprintf(job, "# Title: %s\n", agnameof(obj->u.g)); UNSUPPORTED("8b6jyihvfmhd2n5rvghchmrt2"); // gvprintf(job, "# Pages: %d\n", job->pagesArraySize.x * job->pagesArraySize.y); UNSUPPORTED("19fci1x0tibc9yaswa1vpwvj7"); // gvputs(job, "Portrait\n"); /* orientation */ UNSUPPORTED("bla0mad3joi37n0me8lt7abry"); // gvputs(job, "Center\n"); /* justification */ UNSUPPORTED("99jmbek36mwgrm1390uej329j"); // gvputs(job, "Inches\n"); /* units */ UNSUPPORTED("bv6sjdnyrgv0ewmwbbdy7oexf"); // gvputs(job, "Letter\n"); /* papersize */ UNSUPPORTED("b4pzpk2ljd50g6ytib67dvf9p"); // gvputs(job, "100.00\n"); /* magnification % */ UNSUPPORTED("ex1qio5jby5iqrzmx3wpne0i2"); // gvputs(job, "Single\n"); /* multiple-page */ UNSUPPORTED("cbaxpw5xdqyrxsc7zb2jf6kn9"); // gvputs(job, "-2\n"); /* transparent color (none) */ UNSUPPORTED("9rabahws1hd55k75f87vxna8h"); // gvputs(job, "1200"); /* resolution */ UNSUPPORTED("4f41n0n1ycxa4axvle5vo3i5d"); // gvputs(job, " 2\n"); /* coordinate system (upper left) */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bkqqnus0p5047dqnvj8xcmwcg // static void fig_end_graph(GVJ_t * job) public static Object fig_end_graph(Object... arg) { UNSUPPORTED("70oxcx7i9b6krmj29wltu7d6e"); // static void fig_end_graph(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7pkjok4dkmqeqrch0exb583uq"); // gvputs(job, "# end of FIG file\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4fe9t0bc320bhbivcpnyky0mw // static void fig_begin_page(GVJ_t * job) public static Object fig_begin_page(Object... arg) { UNSUPPORTED("ddvv6085s21jjkyi1wqmvdhpb"); // static void fig_begin_page(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c1gm14tiwad4k4eoml1bsd3k5"); // Depth = 2; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c1nntth6qdw8345t3z9utbg2i // static void fig_begin_node(GVJ_t * job) public static Object fig_begin_node(Object... arg) { UNSUPPORTED("9w1pcgb9r7k9nki9s1m44ocvv"); // static void fig_begin_node(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9hk8obst6wz63uuuikjjdwyzz"); // Depth = 1; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cn90ubz6l6mp7s7mvo837mo8z // static void fig_end_node(GVJ_t * job) public static Object fig_end_node(Object... arg) { UNSUPPORTED("bfrwx5xveq0p3tjz8wblhrcyu"); // static void fig_end_node(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c1gm14tiwad4k4eoml1bsd3k5"); // Depth = 2; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6al11pypki5kl1rtaf7punyjv // static void fig_begin_edge(GVJ_t * job) public static Object fig_begin_edge(Object... arg) { UNSUPPORTED("bxqu7omuy56mmwk0yzpvuk5i4"); // static void fig_begin_edge(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cioni2yvv899csf3dtmg9eha3"); // Depth = 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7a9nvpozbckjvcqfyiziwmerf // static void fig_end_edge(GVJ_t * job) public static Object fig_end_edge(Object... arg) { UNSUPPORTED("2o0jbz0jjtxfi8cigc8cay4h9"); // static void fig_end_edge(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c1gm14tiwad4k4eoml1bsd3k5"); // Depth = 2; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4oxer4job7tqemycu51w9p3mh // static void fig_textspan(GVJ_t * job, pointf p, textspan_t * span) public static Object fig_textspan(Object... arg) { UNSUPPORTED("djabt0co2f7pjs7jc9bvgxsr6"); // static void fig_textspan(GVJ_t * job, pointf p, textspan_t * span) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("7pxhx3kruwsackat2315zxaxh"); // PostscriptAlias *pA; UNSUPPORTED("9d9rjo8dlx1gxguygcjybx74m"); // int object_code = 4; /* always 4 for text */ UNSUPPORTED("5s2ydywbdzlqmetnfugnfe5fl"); // int sub_type = 0; /* text justification */ UNSUPPORTED("7ybdgnput9qe5cha4v5bregdu"); // int color = obj->pencolor.u.index; UNSUPPORTED("240u1bsplk74etvnv0m0z4af6"); // int depth = Depth; UNSUPPORTED("4mqqliisakngnea1fbgw3n16w"); // int pen_style = 0; /* not used */ UNSUPPORTED("dziv47p6oqiz76xbamjxu0z3o"); // int font = -1; /* init to xfig's default font */ UNSUPPORTED("5ocaelp6q7jvbtn5uhwco76xq"); // double font_size = span->font->size * job->zoom; UNSUPPORTED("5zziwmkfz3qorpubyv0ulb9po"); // double angle = job->rotation ? (M_PI / 2.0) : 0.0; UNSUPPORTED("eevxabquf9e055685n7suxe0i"); // int font_flags = 6; /* PostScript font + Special text */ UNSUPPORTED("5kl4au0hs3siodz66xvefluxd"); // /* Special text indicates that latex markup may exist UNSUPPORTED("2fgvo02dcn6m14crur8mksddh"); // * in the output - but note that dot knows nothing about latex, UNSUPPORTED("axpbsmglcjaf7wxm2hjju6p5z"); // * so the node sizes may be wrong. UNSUPPORTED("e5xwyhh2l2jm6g9w2ofnktaf6"); // */ UNSUPPORTED("dc3yhtv0s5gn1oiueksfstlmg"); // double height = 0.0; UNSUPPORTED("6kzarmuop6iucuc80316jjlh0"); // double length = 0.0; UNSUPPORTED("5gvgwpzq8o9hz6bmkphkldr14"); // pA = span->font->postscript_alias; UNSUPPORTED("1h5aj1b720joqhv55iufgqpfp"); // if (pA) /* if it is a standard postscript font */ UNSUPPORTED("bjr18qse2hemimgc5t7yvhb5o"); // font = pA->xfig_code; UNSUPPORTED("bpqxh9mig0sh1gasrlkg6hbph"); // switch (span->just) { UNSUPPORTED("15tf5rbprgr65ucp24e4bba9t"); // case 'l': UNSUPPORTED("7mx7u2dej8vdo3cx0ey3lm4l0"); // sub_type = 0; UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("8pu80wsk8me7q17ensqlviq86"); // case 'r': UNSUPPORTED("dj3b12q9461tclhahjftmfegb"); // sub_type = 2; UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("37fbny64zwo23oymypyreuldc"); // case 'n': UNSUPPORTED("9zod2h747f4609jdryh6ur7c8"); // sub_type = 1; UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("yye4jazfsuupscl2ouv9wvr5"); // "%d %d %d %d %d %d %.1f %.4f %d %.1f %.1f %d %d %s\\001\n", UNSUPPORTED("elwt9xmgpxwk1vhtzqyo7kspm"); // object_code, sub_type, color, depth, pen_style, font, UNSUPPORTED("8slvsonq7x735w041f8tgfmql"); // font_size, angle, font_flags, height, length, ROUND(p.x), ROUND(p.y), UNSUPPORTED("7d4x8ygbd1tufei47zggvjf88"); // fig_string(span->str)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1jiv2yy8nu32uzog6alaa8v8k // static void fig_ellipse(GVJ_t * job, pointf * A, int filled) public static Object fig_ellipse(Object... arg) { UNSUPPORTED("6eij12yycbzfznuo59zpz9m0j"); // static void fig_ellipse(GVJ_t * job, pointf * A, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("49cpg15v3wnis47c6rhryrszg"); // int object_code = 1; /* always 1 for ellipse */ UNSUPPORTED("cejin2mgxtn6j73itzswkqp7r"); // int sub_type = 1; /* ellipse defined by radii */ UNSUPPORTED("7yz13t0sqtqvzxyddzcozxe33"); // int line_style; /* solid, dotted, dashed */ UNSUPPORTED("9pyxwz1r98uut10u02vkx6v1q"); // int thickness = obj->penwidth; UNSUPPORTED("spi81120or5799hcfjb8itk6"); // int pen_color = obj->pencolor.u.index; UNSUPPORTED("85qo3gmfwzm58xlqrukeg2vyr"); // int fill_color = obj->fillcolor.u.index; UNSUPPORTED("240u1bsplk74etvnv0m0z4af6"); // int depth = Depth; UNSUPPORTED("4mqqliisakngnea1fbgw3n16w"); // int pen_style = 0; /* not used */ UNSUPPORTED("1rb7krh80rapa6zt9gze6d8y"); // int area_fill = filled ? 20 : -1; UNSUPPORTED("erg3jyrsg6mbllclii9gqtczn"); // double style_val; UNSUPPORTED("3ii4kknfj31pfzxrmkfltt2zt"); // int direction = 0; UNSUPPORTED("dxmz1yn7d7fvno32wnups9ycf"); // double angle = 0.0; UNSUPPORTED("1t06o3s897149fuj9mx3ajyo0"); // int center_x, center_y, radius_x, radius_y; UNSUPPORTED("cht658tehrm3ih06a53hsv4yu"); // int start_x, start_y, end_x, end_y; UNSUPPORTED("dub6ackp2wp6jel838haqwj85"); // fig_line_style(obj, &line_style, &style_val); UNSUPPORTED("96gojoqvhtu23bt4w73sv8qna"); // start_x = center_x = ROUND(A[0].x); UNSUPPORTED("1dxdqoj7ddbigydx3mvemwwc7"); // start_y = center_y = ROUND(A[0].y); UNSUPPORTED("xzlx4ukt6lrd3oi5mdp7un5e"); // radius_x = ROUND(A[1].x - A[0].x); UNSUPPORTED("7xpj066ootir8rxi2ugf3nfxi"); // radius_y = ROUND(A[1].y - A[0].y); UNSUPPORTED("a6imzbkbllgyj947xlfc0xw4p"); // end_x = ROUND(A[1].x); UNSUPPORTED("55csxx8x7gw7hqe8mrozi6892"); // end_y = ROUND(A[1].y); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("7asl8kr2p5g9tx5jjbdl7lu8a"); // "%d %d %d %d %d %d %d %d %d %.3f %d %.4f %d %d %d %d %d %d %d %d\n", UNSUPPORTED("aqhcl971r2txljfiisq3maosf"); // object_code, sub_type, line_style, thickness, pen_color, UNSUPPORTED("dmgl7afna6bbrvwxo139s3dy0"); // fill_color, depth, pen_style, area_fill, style_val, direction, UNSUPPORTED("bvlsv4p2qx2rvc3xhdqsxwgbr"); // angle, center_x, center_y, radius_x, radius_y, start_x, UNSUPPORTED("5r9wxj6okv0n9dayg4f863i5x"); // start_y, end_x, end_y); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 crvis3ujujfabp7xi5hzoizsf // static void fig_bezier(GVJ_t * job, pointf * A, int n, int arrow_at_start, int arrow_at_end, int filled) public static Object fig_bezier(Object... arg) { UNSUPPORTED("ba3o2mpkld3037uow23zovho7"); // static void fig_bezier(GVJ_t * job, pointf * A, int n, int arrow_at_start, UNSUPPORTED("77j21vz8ekimnj6b6uefavtz2"); // int arrow_at_end, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("3slisz3umk8yx744ufnbbf50r"); // int object_code = 3; /* always 3 for spline */ UNSUPPORTED("dg2m9953dx1s3kh2xh49cl6j9"); // int sub_type; UNSUPPORTED("7yz13t0sqtqvzxyddzcozxe33"); // int line_style; /* solid, dotted, dashed */ UNSUPPORTED("9pyxwz1r98uut10u02vkx6v1q"); // int thickness = obj->penwidth; UNSUPPORTED("spi81120or5799hcfjb8itk6"); // int pen_color = obj->pencolor.u.index; UNSUPPORTED("85qo3gmfwzm58xlqrukeg2vyr"); // int fill_color = obj->fillcolor.u.index; UNSUPPORTED("240u1bsplk74etvnv0m0z4af6"); // int depth = Depth; UNSUPPORTED("4mqqliisakngnea1fbgw3n16w"); // int pen_style = 0; /* not used */ UNSUPPORTED("cv6hsumgyv706zrsc1mb79vjt"); // int area_fill; UNSUPPORTED("erg3jyrsg6mbllclii9gqtczn"); // double style_val; UNSUPPORTED("at27yenlhsw2mhidnzh560qs7"); // int cap_style = 0; UNSUPPORTED("6aehzky7l6ssu826xre37yhtt"); // int forward_arrow = 0; UNSUPPORTED("cvrcowx9gwh8vdfgelcwxhrhq"); // int backward_arrow = 0; UNSUPPORTED("cnai2dhmnp0nlkurdvfgcftzp"); // int npoints = n; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("2ripxrfk1hjvzu0cnqlmtvz7q"); // pointf pf, V[4]; UNSUPPORTED("41nrdsugvfgw23s93g0dhizkn"); // point p; UNSUPPORTED("54a5cffl70pabwgya54wkrjdt"); // int j, step; UNSUPPORTED("551funk1bxiemly3silcqtngw"); // int count = 0; UNSUPPORTED("cav0e7ncloqss0hsvc4fyfi7s"); // int size; UNSUPPORTED("6wvmmuf1e3qp2qoi1k1njw0a0"); // char *buffer; UNSUPPORTED("6ik3p99apk5rihypipg0uxu8i"); // char *buf; UNSUPPORTED("8gbsddpwt5ezq32xj2np650w7"); // assert (n >= 4); UNSUPPORTED("6v2xdvwnmehi99gxnutv3kf38"); // buffer = UNSUPPORTED("7ls09ukxgkos4a02570trbo11"); // malloc((npoints + 1) * (6 + UNSUPPORTED("82a2b3l9tnp4wb4zntqluobrf"); // 1) * 20 * sizeof(char)); UNSUPPORTED("3fe0hbpwq6bj9ioyuwkjdzyzz"); // buf = buffer; UNSUPPORTED("dub6ackp2wp6jel838haqwj85"); // fig_line_style(obj, &line_style, &style_val); UNSUPPORTED("9yhmhvzz81x2bovke5qc93036"); // if (filled) { UNSUPPORTED("bj3webccz9d6zwkfor1wbs62"); // sub_type = 5; /* closed X-spline */ UNSUPPORTED("7zcxl4upa7xx6c4i5y2x03nm8"); // area_fill = 20; /* fully saturated color */ UNSUPPORTED("72p315i58kf1cm2zd3q0u8cn9"); // fill_color = job->obj->fillcolor.u.index; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("b42prafms4wcjet9oaqz2r9an"); // sub_type = 4; /* opened X-spline */ UNSUPPORTED("e8seyevdqkm3o522h0kw3ofoo"); // area_fill = -1; UNSUPPORTED("cnfp5y1qtuaq6rg9e86neg62e"); // fill_color = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a5n7zezdexpwwfy12hsc5q41m"); // V[3].x = A[0].x; UNSUPPORTED("3wrmg8m53mwjg50y22lcyblmg"); // V[3].y = A[0].y; UNSUPPORTED("d4fw6y4mj6hshwm4fwoegfv1"); // /* Write first point in line */ UNSUPPORTED("7ap9l0s2x29me32trtt38kph0"); // count++; UNSUPPORTED("8hem85phuz76zejto4bkwovw1"); // PF2P(A[0], p); UNSUPPORTED("73o6ys1pid2ocs41fxtzlcv8n"); // size = sprintf(buf, " %d %d", p.x, p.y); UNSUPPORTED("1j1vfgxpkci66jmmmccgza2lm"); // buf += size; UNSUPPORTED("a3w2dgd3a2dpgvb5n1a63c9ar"); // /* write subsequent points */ UNSUPPORTED("3s0blwgctqa0ygs872bnu4kye"); // for (i = 0; i + 3 < n; i += 3) { UNSUPPORTED("4a58elv5pvvi5twh4hrzzzj3d"); // V[0] = V[3]; UNSUPPORTED("cr2c5h66bahjj7gd63bz4bhl7"); // for (j = 1; j <= 3; j++) { UNSUPPORTED("d5p6lhssn8pxlfrjhmbm89neq"); // V[j].x = A[i + j].x; UNSUPPORTED("aasvql7kiskb32j9te9gp5xif"); // V[j].y = A[i + j].y; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("afevm918v5rewrdihltcjtka7"); // for (step = 1; step <= 6; step++) { UNSUPPORTED("cc15ym2418ncxwrvmrbf7d5fb"); // count++; UNSUPPORTED("1maly6enkyv5xs410cfeocfo8"); // pf = Bezier (V, 3, (double) step / 6, NULL, NULL); UNSUPPORTED("9hehuild0uke3e57cn1cu37d4"); // PF2P(pf, p); UNSUPPORTED("dlhqn2sqdjrfl9iuem0x42sg7"); // size = sprintf(buf, " %d %d", p.x, p.y); UNSUPPORTED("dc1iwkgf67a40ouxumqgp087o"); // buf += size; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c4x928a1fx4pey929yv4i7xi7"); // gvprintf(job, "%d %d %d %d %d %d %d %d %d %.1f %d %d %d %d\n", UNSUPPORTED("1dqdjogaxgb0j9mm27wtggy5a"); // object_code, UNSUPPORTED("391a91dumfga72c7rkunzsagw"); // sub_type, UNSUPPORTED("3flh0qnrquemq28lvxyxvwr2z"); // line_style, UNSUPPORTED("bgi0dskp51huj9xln98wnumjz"); // thickness, UNSUPPORTED("3e88wabokfvxz8grv7y8pcp7x"); // pen_color, UNSUPPORTED("71yn2s9gjpe47twtrov8pg08y"); // fill_color, UNSUPPORTED("5zqiluvq3fq9xui090kw9js36"); // depth, UNSUPPORTED("6f5tu3f8cchk4yg41erz05hd0"); // pen_style, UNSUPPORTED("kgl9ed0oj2lceff9d2ufi72n"); // area_fill, UNSUPPORTED("c5pgscy9jqkl0df0tcd2xh7d9"); // style_val, cap_style, forward_arrow, backward_arrow, count); UNSUPPORTED("cqyleb6lm2k4okgz6yyfsnyvs"); // gvprintf(job, " %s\n", buffer); /* print points */ UNSUPPORTED("2puk68crvxxdnxykmgd8hccpb"); // free(buffer); UNSUPPORTED("880df02j7ml0ml3y149lcn5r0"); // for (i = 0; i < count; i++) { UNSUPPORTED("aqnpclkffnis7si1mcldfnqzb"); // gvprintf(job, " %d", i % (count - 1) ? 1 : 0); /* -1 on all */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b7eafy5bhxn361xe2c8x8553b"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 b6u8ndxbe2p5x3otn62y515vj // static void fig_polygon(GVJ_t * job, pointf * A, int n, int filled) public static Object fig_polygon(Object... arg) { UNSUPPORTED("60icufw43hiimy7u8y66joumx"); // static void fig_polygon(GVJ_t * job, pointf * A, int n, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("1250jrnrnv2ts7w11no09s3c0"); // int object_code = 2; /* always 2 for polyline */ UNSUPPORTED("1u7xi4usjz62x26cm8thbbuzf"); // int sub_type = 3; /* always 3 for polygon */ UNSUPPORTED("7yz13t0sqtqvzxyddzcozxe33"); // int line_style; /* solid, dotted, dashed */ UNSUPPORTED("9pyxwz1r98uut10u02vkx6v1q"); // int thickness = obj->penwidth; UNSUPPORTED("spi81120or5799hcfjb8itk6"); // int pen_color = obj->pencolor.u.index; UNSUPPORTED("85qo3gmfwzm58xlqrukeg2vyr"); // int fill_color = obj->fillcolor.u.index; UNSUPPORTED("240u1bsplk74etvnv0m0z4af6"); // int depth = Depth; UNSUPPORTED("4mqqliisakngnea1fbgw3n16w"); // int pen_style = 0; /* not used */ UNSUPPORTED("1rb7krh80rapa6zt9gze6d8y"); // int area_fill = filled ? 20 : -1; UNSUPPORTED("erg3jyrsg6mbllclii9gqtczn"); // double style_val; UNSUPPORTED("emk8vv370o9kkt54b48xbckqk"); // int join_style = 0; UNSUPPORTED("at27yenlhsw2mhidnzh560qs7"); // int cap_style = 0; UNSUPPORTED("5ah3zh0iiveyst5794k0axkys"); // int radius = 0; UNSUPPORTED("6aehzky7l6ssu826xre37yhtt"); // int forward_arrow = 0; UNSUPPORTED("cvrcowx9gwh8vdfgelcwxhrhq"); // int backward_arrow = 0; UNSUPPORTED("b2q7ayijmq412v8tkb0p5a4xq"); // int npoints = n + 1; UNSUPPORTED("dub6ackp2wp6jel838haqwj85"); // fig_line_style(obj, &line_style, &style_val); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("46ua4zhlbcjsh2nua5zhohuez"); // "%d %d %d %d %d %d %d %d %d %.1f %d %d %d %d %d %d\n", UNSUPPORTED("aqhcl971r2txljfiisq3maosf"); // object_code, sub_type, line_style, thickness, pen_color, UNSUPPORTED("7565hrxms7ljcrl0jc6pzqo2r"); // fill_color, depth, pen_style, area_fill, style_val, join_style, UNSUPPORTED("cyfkuqh06tebk11sxbz22gb"); // cap_style, radius, forward_arrow, backward_arrow, npoints); UNSUPPORTED("2raacuz450jnyzch78nhdpi5r"); // figptarray(job, A, n, 1); /* closed shape */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1afauosj6wr5u4dhbjovifgei // static void fig_polyline(GVJ_t * job, pointf * A, int n) public static Object fig_polyline(Object... arg) { UNSUPPORTED("1sx5zjyuegemqg5bkzvssc1bn"); // static void fig_polyline(GVJ_t * job, pointf * A, int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("1250jrnrnv2ts7w11no09s3c0"); // int object_code = 2; /* always 2 for polyline */ UNSUPPORTED("2xiuwyphr1m2pc2o9smsohpy7"); // int sub_type = 1; /* always 1 for polyline */ UNSUPPORTED("7yz13t0sqtqvzxyddzcozxe33"); // int line_style; /* solid, dotted, dashed */ UNSUPPORTED("9pyxwz1r98uut10u02vkx6v1q"); // int thickness = obj->penwidth; UNSUPPORTED("spi81120or5799hcfjb8itk6"); // int pen_color = obj->pencolor.u.index; UNSUPPORTED("afxyknafudgf6s6v5jw9qx8p9"); // int fill_color = 0; UNSUPPORTED("240u1bsplk74etvnv0m0z4af6"); // int depth = Depth; UNSUPPORTED("4mqqliisakngnea1fbgw3n16w"); // int pen_style = 0; /* not used */ UNSUPPORTED("1pvrunrk1ylb19scd5xzhf3lp"); // int area_fill = 0; UNSUPPORTED("erg3jyrsg6mbllclii9gqtczn"); // double style_val; UNSUPPORTED("emk8vv370o9kkt54b48xbckqk"); // int join_style = 0; UNSUPPORTED("at27yenlhsw2mhidnzh560qs7"); // int cap_style = 0; UNSUPPORTED("5ah3zh0iiveyst5794k0axkys"); // int radius = 0; UNSUPPORTED("6aehzky7l6ssu826xre37yhtt"); // int forward_arrow = 0; UNSUPPORTED("cvrcowx9gwh8vdfgelcwxhrhq"); // int backward_arrow = 0; UNSUPPORTED("cnai2dhmnp0nlkurdvfgcftzp"); // int npoints = n; UNSUPPORTED("dub6ackp2wp6jel838haqwj85"); // fig_line_style(obj, &line_style, &style_val); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("46ua4zhlbcjsh2nua5zhohuez"); // "%d %d %d %d %d %d %d %d %d %.1f %d %d %d %d %d %d\n", UNSUPPORTED("aqhcl971r2txljfiisq3maosf"); // object_code, sub_type, line_style, thickness, pen_color, UNSUPPORTED("7565hrxms7ljcrl0jc6pzqo2r"); // fill_color, depth, pen_style, area_fill, style_val, join_style, UNSUPPORTED("cyfkuqh06tebk11sxbz22gb"); // cap_style, radius, forward_arrow, backward_arrow, npoints); UNSUPPORTED("8pzdn1xlgnbq81goh0w0k3roi"); // figptarray(job, A, n, 0); /* open shape */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 am7q7qqmqp3cj87eqv61ag2tt // gvrender_engine_t fig_engine = //1 ar7bi3fv0al906tc46yku4qmt // static char *fig_knowncolors[] = //1 2qcp4lauqvs4msrc3ulasniqr // gvrender_features_t render_features_fig = //1 1hl171y3pew4vgjt6v4vsax61 // gvdevice_features_t device_features_fig = //1 472dfp6vcnqblz1b82crth1dc // gvplugin_installed_t gvrender_fig_types[] = //1 3dtvxqen0zlfmzz1ygg4lnixq // gvplugin_installed_t gvdevice_fig_types[] = } plantuml-1.2018.13+ds/src/gen/plugin/core/gvrender_core_map__c.java000066400000000000000000000431071340005343600250430ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.plugin.core; import static smetana.core.Macro.UNSUPPORTED; public class gvrender_core_map__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //3 csv3l33vvs1vebcphye24jq0f // static void map_output_shape (GVJ_t *job, map_shape_t map_shape, pointf * AF, int nump, char* url, char *tooltip, char *target, char *id) public static Object map_output_shape(Object... arg) { UNSUPPORTED("8kf7pfh75y963yumtk9b9z3ys"); // static void map_output_shape (GVJ_t *job, map_shape_t map_shape, pointf * AF, int nump, UNSUPPORTED("bfj85pn6xenrvqizqe3wao6l7"); // char* url, char *tooltip, char *target, char *id) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("4yzh52cxlcnx4kwijawrsiq93"); // static point *A; UNSUPPORTED("ajll5vpeb8zhkx6ef6exlg0x"); // static int size_A; UNSUPPORTED("1w53t40nspe671k7na03lhgrq"); // if (!AF || !nump) UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; UNSUPPORTED("d68wemoq0y2k254bi7ibengwn"); // if (size_A < nump) { UNSUPPORTED("7edr6xzvxhtgwcv3aqikccj9i"); // size_A = nump + 10; UNSUPPORTED("497iml6bv2y1ybutiuoiszh1m"); // A = realloc(A, size_A * sizeof(point)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4v4y5eb8k5nr6qaau3ynqhvcq"); // for (i = 0; i < nump; i++) UNSUPPORTED("cx0olmahgh2xwrv8z1bx82xm2"); // PF2P(AF[i], A[i]); UNSUPPORTED("5i3rds5u46g9ststudzor9xt"); // if (job->render.id == FORMAT_IMAP && url && url[0]) { UNSUPPORTED("2hz9rwf090vttuoibzu9fsw5q"); // switch (map_shape) { UNSUPPORTED("9ny69tiwv0c1k92wg0f5bc2hx"); // case MAP_RECTANGLE: UNSUPPORTED("3fnbb8my11ctfv54p20sjx95u"); // /* Y_GOES_DOWN so need UL to LR */ UNSUPPORTED("13myxcrwgvjfs7vqhn41gptdg"); // gvprintf(job, "rect %s %d,%d %d,%d\n", url, UNSUPPORTED("apxbzz2r91p4jj1fzpftrnwll"); // A[0].x, A[1].y, A[1].x, A[0].y); UNSUPPORTED("dtx9szdvwh3uhziubh9zvgbk5"); // break; UNSUPPORTED("969pm8kka9j9ajn1lpb3q0e7f"); // case MAP_CIRCLE: UNSUPPORTED("1f8q1mvrhrf0asqye0b30as1n"); // gvprintf(job, "circle %s %d,%d,%d\n", url, UNSUPPORTED("e8ycnkoqzmazghue74s8t4ods"); // A[0].x, A[0].y, A[1].x-A[0].x); UNSUPPORTED("dtx9szdvwh3uhziubh9zvgbk5"); // break; UNSUPPORTED("clptlh6vuwx7mynynpacj0ktl"); // case MAP_POLYGON: UNSUPPORTED("8fgyk7ask8my1kx2al65iaaje"); // gvprintf(job, "poly %s", url); UNSUPPORTED("d0fj0wck6hjqyxoodtze7797f"); // for (i = 0; i < nump; i++) UNSUPPORTED("d0b7gixn87mqrfgw7cfdyuj9h"); // gvprintf(job, " %d,%d", A[i].x, A[i].y); UNSUPPORTED("5uq09elejy2ot3s8x5d13dxs9"); // gvputs(job, "\n"); UNSUPPORTED("dtx9szdvwh3uhziubh9zvgbk5"); // break; UNSUPPORTED("p0mt8wznalavjdm44ot4ykl7"); // default: UNSUPPORTED("1hh9o1t0fynw7ejmjny7gevig"); // assert(0); UNSUPPORTED("dtx9szdvwh3uhziubh9zvgbk5"); // break; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("d3576y606phfrc0nvil7m7j14"); // } else if (job->render.id == FORMAT_ISMAP && url && url[0]) { UNSUPPORTED("2hz9rwf090vttuoibzu9fsw5q"); // switch (map_shape) { UNSUPPORTED("9ny69tiwv0c1k92wg0f5bc2hx"); // case MAP_RECTANGLE: UNSUPPORTED("3fnbb8my11ctfv54p20sjx95u"); // /* Y_GOES_DOWN so need UL to LR */ UNSUPPORTED("4cujqj1wxkt2prhfpa93ocz33"); // gvprintf(job, "rectangle (%d,%d) (%d,%d) %s %s\n", UNSUPPORTED("b0bipjx63l5bwm4ur9r16oddw"); // A[0].x, A[1].y, A[1].x, A[0].y, url, tooltip); UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("p0mt8wznalavjdm44ot4ykl7"); // default: UNSUPPORTED("1hh9o1t0fynw7ejmjny7gevig"); // assert(0); UNSUPPORTED("dtx9szdvwh3uhziubh9zvgbk5"); // break; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("f271g0t382wvokvh5b79gnj3c"); // } else if (job->render.id == FORMAT_CMAP || job->render.id == FORMAT_CMAPX) { UNSUPPORTED("2hz9rwf090vttuoibzu9fsw5q"); // switch (map_shape) { UNSUPPORTED("969pm8kka9j9ajn1lpb3q0e7f"); // case MAP_CIRCLE: UNSUPPORTED("apmt6zpnpwkhkathi0qvmwxok"); // gvputs(job, "render.id == FORMAT_CMAPX) UNSUPPORTED("9wuepleq2yxn1w8g9l2t5bv8n"); // gvputs(job, "\"/>\n"); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("8ljg9ari52ao59grstt68083c"); // gvputs(job, "\">\n"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ecfzje2iii2p83pu7a8oknudk // static void map_begin_page(GVJ_t * job) public static Object map_begin_page(Object... arg) { UNSUPPORTED("51hmqgn59iqb0k30s7slug47h"); // static void map_begin_page(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("8yytudftst76763qgnjebkzhm"); // char *s; UNSUPPORTED("69opxqj69jbqthw7e5x8p71j0"); // switch (job->render.id) { UNSUPPORTED("7txd1s74e7fla0b5ppbpj4e9m"); // case FORMAT_IMAP: UNSUPPORTED("5qsnhnk2hikn4v5rngaesebru"); // gvputs(job, "base referer\n"); UNSUPPORTED("bgwmnukjcck9eqoe70218t5sl"); // if (obj->url && obj->url[0]) { UNSUPPORTED("5mfw77dfjvx7mortvgofrjffx"); // gvputs(job, "default "); UNSUPPORTED("cmkzfcsqw6lcz4oeepg7r0ysr"); // gvputs(job, xml_string(obj->url)); UNSUPPORTED("3wbqcj3wgh85ybkhw9jxfnqt5"); // gvputs(job, "\n"); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("azd5ozzc5h2655cjyqy5l6xdm"); // case FORMAT_ISMAP: UNSUPPORTED("bgwmnukjcck9eqoe70218t5sl"); // if (obj->url && obj->url[0]) { UNSUPPORTED("5mfw77dfjvx7mortvgofrjffx"); // gvputs(job, "default "); UNSUPPORTED("cmkzfcsqw6lcz4oeepg7r0ysr"); // gvputs(job, xml_string(obj->url)); UNSUPPORTED("6iupbw97yijdtdpg2bxm4syfu"); // gvputs(job, " "); UNSUPPORTED("4ujbj52xrmo4jrufevyc1puvo"); // gvputs(job, xml_string(agnameof(obj->u.g))); UNSUPPORTED("3wbqcj3wgh85ybkhw9jxfnqt5"); // gvputs(job, "\n"); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("t5h5je1zpt3u8ndyh15gdg9l"); // case FORMAT_CMAPX: UNSUPPORTED("f34ya28ve4bvds8gp4exdfj56"); // s = xml_string(agnameof(obj->u.g)); UNSUPPORTED("xrk4koadrppi4k4gs57d4h9m"); // gvputs(job, "\n"); UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4mrmum1lvc20st1t0ngkucbc4 // static void map_end_page(GVJ_t * job) public static Object map_end_page(Object... arg) { UNSUPPORTED("em0rrlv2wa8t6mbr0f800q1n0"); // static void map_end_page(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("69opxqj69jbqthw7e5x8p71j0"); // switch (job->render.id) { UNSUPPORTED("d2zsw3sbah6m5v82up3yiqu8w"); // case FORMAT_CMAP: UNSUPPORTED("1l81rvjolrz0avoek7zv4ikn6"); // map_output_shape(job, obj->url_map_shape, UNSUPPORTED("b1a3iatyrxuif1n4gqu0f8u5u"); // obj->url_map_p,obj->url_map_n, UNSUPPORTED("av1tl9edbbm94up94c6rfx2tc"); // obj->url, obj->tooltip, obj->target, obj->id); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("t5h5je1zpt3u8ndyh15gdg9l"); // case FORMAT_CMAPX: UNSUPPORTED("1l81rvjolrz0avoek7zv4ikn6"); // map_output_shape(job, obj->url_map_shape, UNSUPPORTED("b1a3iatyrxuif1n4gqu0f8u5u"); // obj->url_map_p,obj->url_map_n, UNSUPPORTED("av1tl9edbbm94up94c6rfx2tc"); // obj->url, obj->tooltip, obj->target, obj->id); UNSUPPORTED("bli0vsh6dvw26mi7hr07pgrto"); // gvputs(job, "\n"); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6gah2kjnd3decve8krn1svbqb // static void map_begin_anchor(GVJ_t * job, char *url, char *tooltip, char *target, char *id) public static Object map_begin_anchor(Object... arg) { UNSUPPORTED("5qn8yqjbqcyx0grv0yypccdy2"); // static void map_begin_anchor(GVJ_t * job, char *url, char *tooltip, char *target, char *id) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("6s3igifxj8shhox656bdbx5pf"); // map_output_shape(job, obj->url_map_shape, UNSUPPORTED("2clu43j15vr7y290qz69husnn"); // obj->url_map_p, obj->url_map_n, UNSUPPORTED("6vqhbjy76o3uv1cptjwt6y45l"); // url, tooltip, target, id); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 aunc2bv7z37pgfwoea8pqzdw6 // static gvrender_engine_t map_engine = //1 1zilsb5vzp5hkz1bqy634l392 // static gvrender_features_t render_features_map = //1 bi57uhrsu8bhcnnl39xr27v97 // static gvdevice_features_t device_features_map = //1 3nksama0j9ayv22motim935v3 // static gvdevice_features_t device_features_map_nopoly = //1 zv8eak0r501gmnqu92pzr5x5 // gvplugin_installed_t gvrender_map_types[] = //1 97mwnp7oqdjce0xttnqhkq7t3 // gvplugin_installed_t gvdevice_map_types[] = } plantuml-1.2018.13+ds/src/gen/plugin/core/gvrender_core_pic__c.java000066400000000000000000001274141340005343600250450ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.plugin.core; import static smetana.core.Macro.UNSUPPORTED; public class gvrender_core_pic__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 bfefdbmxgotf4qqkevk6qvjfy // static int BezierSubdivision = 10 //1 8505t85skxggg0irl1tfmrgdy // static int onetime = NOT(0) //1 4xmsfk0yyzqo0cf2y9ajr36ty // static double Fontscale //1 dffduaq2lkvewi20yyl0idqlq // static const char *EscComment = //1 1u8ij16cx26ycd5fobsl8g2di // static const char picgen_msghdr[] = //3 ayos3jxehp1ztek0fzcl358ep // static void unsupported(char *s) public static Object unsupported(Object... arg) { UNSUPPORTED("7088si6a7r2vno19b32uo8410"); // static void unsupported(char *s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bf1fgr4hqu10lh6v19a4jkjgv"); // agerr(AGWARN, "%s%s unsupported\n", picgen_msghdr, s); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 caqxhmpta2lx5mq13dxzj2u8x // static void warn(char *s) public static Object warn(Object... arg) { UNSUPPORTED("eeixovji04zzi8o9wfp7t9t7o"); // static void warn(char *s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("w0ej7p9v7ag2pzzics45jb9x"); // agerr(AGWARN, "%s%s\n", picgen_msghdr, s); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 554f31iuqyl7u1zcf17z53d5d // static fontinfo fonttab[] = //3 8rp81pt8d1m62r13763vzqa4x // static char *picfontname(char *psname) public static Object picfontname(Object... arg) { UNSUPPORTED("3cgi3bkyyuwjkob8wjbv3j9jb"); // static char *picfontname(char *psname) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ehyq61leulhsbvzo34gv4br20"); // char *rv; UNSUPPORTED("ddbhwe6t3q29agh7a7xgastxx"); // fontinfo *p; UNSUPPORTED("1quze5gak9fidti4u2gpcgauq"); // for (p = fonttab; p->psname; p++) UNSUPPORTED("2d2432dtxx1g5wbcjejux4jqi"); // if (strcmp(p->psname, psname) == 0) UNSUPPORTED("dtx9szdvwh3uhziubh9zvgbk5"); // break; UNSUPPORTED("epo8hgm34vxye7ud1qqax9ilb"); // if (p->psname) UNSUPPORTED("kyhn9y1x9lm133bxfmj4bwek"); // rv = p->trname; UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("k08w7t9x1k6guv6vfivs4v2s"); // agerr(AGERR, "%s%s is not a troff font\n", picgen_msghdr, psname); UNSUPPORTED("6ulxsks045sya9n5eia1i7ddp"); // /* try base font names, e.g. Helvetica-Outline-Oblique -> Helvetica-Outline -> Helvetica */ UNSUPPORTED("72ll8tnxnsj2tpmxl5khlayu0"); // if ((rv = strrchr(psname, '-'))) { UNSUPPORTED("btt8svsoi3k8j99f4n3rlc843"); // *rv = '\0'; /* psname is not specified as const ... */ UNSUPPORTED("aa0y2bm93qvnsy4kdck9f1f2a"); // rv = picfontname(psname); UNSUPPORTED("59zykg2pjkae9ritp3zmr9eeo"); // } else UNSUPPORTED("5zdgc0gkiq6npy5xb86pim6b7"); // rv = "R"; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 wa4nhto9uu4kuly7ppruahop // static void pic_set_color(GVJ_t *job, char *name) public static Object pic_set_color(Object... arg) { UNSUPPORTED("64zybybdqdszgcglznula2i6f"); // static void pic_set_color(GVJ_t *job, char *name) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dicmblysf3rxg5j4drimtm362"); // gvcolor_t color; UNSUPPORTED("e5viuqy4awhjy9yfqag7onhm1"); // colorxlate(name, &color, HSVA_DOUBLE); UNSUPPORTED("baelh9sxxexicjnrlbx7vdyb4"); // /* just v used to set grayscale value */ UNSUPPORTED("er4wz5rvcluf3o1z6qwlatuzh"); // gvprintf(job, "setfillval %f\n", color.u.HSVA[2]); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c5pyghjxe3qfm0n6mgm79rdlm // static void pic_set_style(GVJ_t *job, char **s) public static Object pic_set_style(Object... arg) { UNSUPPORTED("96wpaw44vdacs0vh6jgoj4tz6"); // static void pic_set_style(GVJ_t *job, char **s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("balwwj76p8kmfix80qmjiugl4"); // const char *line, *p; UNSUPPORTED("cs3d00usngkaxu4kgv7kkyckp"); // char skip = 0; UNSUPPORTED("cf8w5z35zxww7q6yjin9lc9op"); // char buf[BUFSIZ]; UNSUPPORTED("32ofqlv8xfhdrh1ooiw235kv6"); // buf[0] = '\0'; UNSUPPORTED("6xleu4rgsqy1817r9he4r47b0"); // gvprintf(job, "define attrs%d %%", 0); UNSUPPORTED("1azyqxax8ahnngehbhvuqt8gz"); // while ((p = line = *s++)) { UNSUPPORTED("59gu8gjy0gkpkkgmy7w3c6hz8"); // while (*p) UNSUPPORTED("a0t85lvr3qdf70ajg30c8eadd"); // p++; UNSUPPORTED("5ms90gds9d7jyok5oqzrumfjz"); // p++; UNSUPPORTED("8tvf313utqfv0v9axl6r3wlkl"); // while (*p) { UNSUPPORTED("cf7nujm2cqcn2a02hkvyf1mvw"); // if (!strcmp(line, "setlinewidth")) { /* a hack to handle the user-defined (PS) style spec in proc3d.gv */ UNSUPPORTED("ai5a1136garr7covbnxk6pyxr"); // long n = atol(p); UNSUPPORTED("16jrsjmpt5dozkg3fowz598p1"); // sprintf(buf, UNSUPPORTED("1nvkg4g1u8xahxfewtp3c722z"); // "oldlinethick = linethick;linethick = %ld * scalethickness / %.0f\n", UNSUPPORTED("eg7jvgq9596hgaq35cxgye91g"); // n, Fontscale); UNSUPPORTED("5kcdmo80e6cptkdn6zgvgxf81"); // skip = 1; UNSUPPORTED("8983k01wuaibmqpm7x4605bp7"); // } else UNSUPPORTED("2fvo48a0txnpmru0ceovu13vm"); // gvprintf(job, " %s", p); UNSUPPORTED("bc3tgg2q6b0su4mo7wfruc1lb"); // while (*p) UNSUPPORTED("9qg60ras48o8da5tv4x27825z"); // p++; UNSUPPORTED("a0t85lvr3qdf70ajg30c8eadd"); // p++; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("26drzkow7ea1ue7a2odilltn8"); // if (!skip) UNSUPPORTED("32d5j591dz6q8zd5wzds7vbrw"); // gvprintf(job, " %s", line); UNSUPPORTED("v8fuj86tc7ilar46z8lk0ou9"); // skip = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3n37k03ptdiq5ledify5lcl9w"); // gvprintf(job, " %%\n"); UNSUPPORTED("7bnv6h5iccaz38t7o7b8u1dlh"); // gvprintf(job, "%s", buf); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 48ntim1de294utfi4bxsk074i // static void picptarray(GVJ_t *job, pointf * A, int n, int close) public static Object picptarray(Object... arg) { UNSUPPORTED("bmccbawo91lbcivkwyf8vc4hg"); // static void picptarray(GVJ_t *job, pointf * A, int n, int close) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("41nrdsugvfgw23s93g0dhizkn"); // point p; UNSUPPORTED("1vi49g48u2rc9v88yhabta0yw"); // for (i = 0; i < n; i++) { UNSUPPORTED("4pvmqbw3yqtv1skjcmzaxzz1j"); // PF2P(A[i],p); UNSUPPORTED("9l156bri4abd87e44n6ponvf7"); // gvprintf(job, " %d %d", p.x, p.y); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("125u8ocmya1ui6f2vy92ys41c"); // if (close) { UNSUPPORTED("3nww6192gmqzcyq5v0whqebqg"); // PF2P(A[0],p); UNSUPPORTED("9l156bri4abd87e44n6ponvf7"); // gvprintf(job, " %d %d", p.x, p.y); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b7eafy5bhxn361xe2c8x8553b"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6ijginogo45k3r7evz06wou90 // static char *pic_string(char *s) public static Object pic_string(Object... arg) { UNSUPPORTED("dw9uiu4spxd1twnomgmszil97"); // static char *pic_string(char *s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("210phh7av8ei8ajjmpptx96m6"); // static char *buf = NULL; UNSUPPORTED("6fpm1wk8mz0hofn15361g6nzn"); // static int bufsize = 0; UNSUPPORTED("3xzujk207ipx0d60nbbrwyjez"); // int pos = 0; UNSUPPORTED("aexhdud6z2wbwwi73yppp0ynl"); // char *p; UNSUPPORTED("10sir32iwi5l2jyfgp65pihto"); // unsigned char c; UNSUPPORTED("cjyiejw67ffjjsk60tgeebvif"); // if (!buf) { UNSUPPORTED("7mna7k5m37x6jycc55rpeeje8"); // bufsize = 64; UNSUPPORTED("ep0onxumq5jdi6uy8gbmbmcbb"); // buf = malloc(bufsize * sizeof(char)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dpfzdhkfq6u86uv5f9lnqfbpq"); // p = buf; UNSUPPORTED("c5ryg6x0ohski7pfyjfenou9s"); // while ((c = *s++)) { UNSUPPORTED("9zdb3w6p9hdzpyyb0migch83s"); // if (pos > (bufsize - 8)) { UNSUPPORTED("6e6hti39a4qgpg5w8s3kln578"); // bufsize *= 2; UNSUPPORTED("5ws50ei3kkqkw4ut1rt6a53bm"); // buf = realloc(buf, bufsize * sizeof(char)); UNSUPPORTED("7bji4miupgafja2y29safeneg"); // p = buf + pos; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("19kfsb89ftcmo72ye73cn1plm"); // if (isascii(c)) { UNSUPPORTED("q0pniw6fxx771jygciq7vzx8"); // if (c == '\\') { UNSUPPORTED("et6mc0jzry6p7o1acim2wudi9"); // *p++ = '\\'; UNSUPPORTED("e2z9y4j5uutkew1vp7bi9rhl4"); // pos++; UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("a9lw77m0m78a5a98c3vho52nx"); // *p++ = c; UNSUPPORTED("80sypvk9gmir13zzfmeeey8ri"); // pos++; UNSUPPORTED("7g575y36b78djy0o00izqx7eq"); // } else { UNSUPPORTED("9x6j5mtq8ejbmg0m64b60ml"); // *p++ = '\\'; UNSUPPORTED("dev643k7td5xqer5x35ldenoh"); // sprintf(p, "%03o", c); UNSUPPORTED("5xg21ei3admmdqgn97zgseutd"); // p += 3; UNSUPPORTED("8sk7u4qhds42x15qm3hujzttc"); // pos += 4; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2t1d66kwn86kqh0i665hqw6cl"); // *p = '\0'; UNSUPPORTED("5jfpogdyby101eyuw2dhtb5cg"); // return buf; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 18gvpecdvza39yoravsxzyqgm // static int picColorResolve(int *new, int r, int g, int b) public static Object picColorResolve(Object... arg) { UNSUPPORTED("50j17slpkgnb1ezx64xqzce87"); // static int picColorResolve(int *new, int r, int g, int b) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c2sddndcjmau5tt4mtu64l1ez"); // static int top = 0; UNSUPPORTED("bnrhaqz49cielpy7fgo6dz2ub"); // static short red[256], green[256], blue[256]; UNSUPPORTED("53xzwretgdbd0atozc0w6hagb"); // int c; UNSUPPORTED("5hsogcx940isfoos26t853z9j"); // int ct = -1; UNSUPPORTED("4nf4ocdnzdty5edptkslzgrhc"); // long rd, gd, bd, dist; UNSUPPORTED("b9jn6a9ked66uo0b0um0kfzfb"); // long mindist = 3 * 255 * 255; /* init to max poss dist */ UNSUPPORTED("c5tawsm7j8n0vkq0qcls0soc3"); // *new = 0; /* in case it is not a new color */ UNSUPPORTED("39bm5fhhzyquf4rlun9zbcbi4"); // for (c = 0; c < top; c++) { UNSUPPORTED("6412n3rfkfyimbx1puriyeqqz"); // rd = (long) (red[c] - r); UNSUPPORTED("amn29e9pu9d8t9ccunm7fn20f"); // gd = (long) (green[c] - g); UNSUPPORTED("1qvtyk7n5kdkzxz8gi0t6sl7m"); // bd = (long) (blue[c] - b); UNSUPPORTED("5awh60zjinxyaizmnt7bcnsgo"); // dist = rd * rd + gd * gd + bd * bd; UNSUPPORTED("72niuav6m4ahb9zc0o87j3rup"); // if (dist < mindist) { UNSUPPORTED("45pwtf48ibwznp83ycluh93rj"); // if (dist == 0) UNSUPPORTED("39io4oxurhajbqm5r7elzwd3g"); // return c; /* Return exact match color */ UNSUPPORTED("9ctfnrqq05xpz8c2upf35fhfw"); // mindist = dist; UNSUPPORTED("2b2qywvsce8xntf2r51qyo3lz"); // ct = c; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("92ga17xtfz92ju9egrpkatfx5"); // /* no exact match. We now know closest, but first try to allocate exact */ UNSUPPORTED("5ovv0tkjil1wqwcyc3cvzxgha"); // if (top++ == 256) UNSUPPORTED("1qskgh83m3zps1l8d7o3ylo8g"); // return ct; /* Return closest available color */ UNSUPPORTED("7lij9fxsovvuk0nh18y6qq0cr"); // red[c] = r; UNSUPPORTED("7uavxrqaipwwg1svkkt5e6gon"); // green[c] = g; UNSUPPORTED("eew689jpibm80nsjrhdscvx6g"); // blue[c] = b; UNSUPPORTED("4ocisp2giicxopfp4qg90x7u9"); // *new = 1; /* flag new color */ UNSUPPORTED("264d1dm29x04zyyqjdk3ddnl5"); // return c; /* Return newly allocated color */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ct81u9217meiyte0vlkysz69d // static void pic_line_style(obj_state_t *obj, int *line_style, double *style_val) public static Object pic_line_style(Object... arg) { UNSUPPORTED("7vmwghtuxdgpvfbhfzdv2z1xm"); // static void pic_line_style(obj_state_t *obj, int *line_style, double *style_val) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1a0u5t2wyxdqipaswmaz0wsvz"); // switch (obj->pen) { UNSUPPORTED("ersst7rw166izs2gaqp8nna81"); // case PEN_DASHED: UNSUPPORTED("2anynsrc9mionezyitu3h8ust"); // *line_style = 1; UNSUPPORTED("13xgbwsnirhzzkr4rhxlssp80"); // *style_val = 10.; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("5u2fwmkidl1tehl5ms86n9ior"); // case PEN_DOTTED: UNSUPPORTED("6w3l2bm01hn2c597o758rnjdd"); // *line_style = 2; UNSUPPORTED("13xgbwsnirhzzkr4rhxlssp80"); // *style_val = 10.; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("f0tv0x0m7ey5lru9fd0f8d6zq"); // case PEN_SOLID: UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("d8wx5390c9r0unl07858cm345"); // *line_style = 0; UNSUPPORTED("3eu0slevfiogpisxlbf0y2b5m"); // *style_val = 0.; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7y7rby3rupqrhq7ae1qveool3 // static void pic_comment(GVJ_t *job, char *str) public static Object pic_comment(Object... arg) { UNSUPPORTED("bfsgdr1g2hvv18xxk5d8ghv5v"); // static void pic_comment(GVJ_t *job, char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8h60idnupi1k47ro0clunyh5q"); // gvprintf(job, "%s %s\n", EscComment, str); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 38dpgquwrcip8qpihgqze85vh // static void pic_begin_graph(GVJ_t * job) public static Object pic_begin_graph(Object... arg) { UNSUPPORTED("4fvhhvcs3op3q4yyanzl48yik"); // static void pic_begin_graph(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("dcigebmf6s6f51j4m9qa6yymj"); // gvprintf(job, "%s Creator: %s version %s (%s)\n", UNSUPPORTED("5998iss16ljg5pzhhht19mmwr"); // EscComment, job->common->info[0], job->common->info[1], job->common->info[2]); UNSUPPORTED("equqpxkstjemlzo2j1dd344zl"); // gvprintf(job, "%s Title: %s\n", EscComment, agnameof(obj->u.g)); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("7ktvkleeg0xcthzjlfhuhmzhl"); // "%s save point size and font\n.nr .S \\n(.s\n.nr DF \\n(.f\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 cj0z02tehuufzejuqii6uk31t // static void pic_end_graph(GVJ_t * job) public static Object pic_end_graph(Object... arg) { UNSUPPORTED("8n0jembcnqf86g3lkgvtafy41"); // static void pic_end_graph(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("f2kfkuj6972o4mzg4g2s5v725"); // "%s restore point size and font\n.ps \\n(.S\n.ft \\n(DF\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4efot5904qdgxwian7og8s7yz // static void pic_begin_page(GVJ_t * job) public static Object pic_begin_page(Object... arg) { UNSUPPORTED("59k0cacsr6yc1k00zy49jcoha"); // static void pic_begin_page(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("76g96x1rehn6s0a72jz2no0bi"); // box pbr = job->pageBoundingBox; UNSUPPORTED("2b2vsocq8sefpglko8y2rk3za"); // double height, width; UNSUPPORTED("m5wp5531idyj44zub1521718"); // if (onetime && job->rotation && (job->rotation != 90)) { UNSUPPORTED("4bqo9fs7mwf1m4oohl243dc7g"); // unsupported("rotation"); UNSUPPORTED("6d9vivazko02yncki54y6wxr0"); // onetime = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("3qzghrup4vwvnoamerwu2xyju"); // height = (((double)(pbr.UR.y) -(double)(pbr.LL.y))/(double)72); UNSUPPORTED("7gvykkmmv8bjpav4giilxkevx"); // width = (((double)(pbr.UR.x) -(double)(pbr.LL.x))/(double)72); UNSUPPORTED("cipcm9rjowjd96dkcyfo6kj26"); // if (job->rotation == 90) { UNSUPPORTED("b0dr2avp0yfrvx3x6lo32hcc9"); // double temp = width; UNSUPPORTED("4ayhsbggju2dkkm9haen3dcuj"); // width = height; UNSUPPORTED("vjy6msvtpf98lv27ygdmc3an"); // height = temp; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("brwmt6ymnb9j9k57fp6dwx0z1"); // gvprintf(job, ".PS %.5f %.5f\n", width, height); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("4xv98dzt9da1iwfbed3qzbz51"); // "%s to change drawing size, multiply the width and height on the .PS line above and the number on the two lines below (rounded to the nearest integer) by a scale factor\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("cvyjdl3qzdzycj7001kaj2al3"); // if (width > 0.0) { UNSUPPORTED("8qqxw44yvv1gjotw76yaj9yiq"); // Fontscale = log10(width); UNSUPPORTED("3gge74lntaihg4dvjhwv7oqhw"); // Fontscale += 3.0 - (int) Fontscale; /* between 3.0 and 4.0 */ UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("hjzl5l4sn9hwtlrmk9lvsx80"); // Fontscale = 3.0; UNSUPPORTED("1otido4r7tr5suta2iikwypjq"); // Fontscale = pow(10.0, Fontscale); /* a power of 10 times width, between 1000 and 10000 */ UNSUPPORTED("dpnhw47fss92k4dkrtrjk13ar"); // gvprintf(job, ".nr SF %.0f\nscalethickness = %.0f\n", Fontscale, UNSUPPORTED("2eilbgmfjnjynn65kgq9ridff"); // Fontscale); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("dfbnxc3d0zif5ki61u2qhpi0u"); // "%s don't change anything below this line in this drawing\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("4q8frt9vf2a38v6cjjeow3hhv"); // "%s non-fatal run-time pic version determination, version 2\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("dc09zp41jpx1ar2yhyc3alm6p"); // "boxrad=2.0 %s will be reset to 0.0 by gpic only\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("87vg3zmzozd5n9v73rd4rorjp"); // gvprintf(job, "scale=1.0 %s required for comparisons\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("fb2hg6vh04qtr5rds817ytzw"); // "%s boxrad is now 0.0 in gpic, else it remains 2.0\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("907w2hhexounybm744hrqew70"); // "%s dashwid is 0.1 in 10th Edition, 0.05 in DWB 2 and in gpic\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("b9scmygr8ue1db38lhe0ugf74"); // "%s fillval is 0.3 in 10th Edition (fill 0 means black), 0.5 in gpic (fill 0 means white), undefined in DWB 2\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("3q4puqndbhga2mrwvj5w2j7ss"); // "%s fill has no meaning in DWB 2, gpic can use fill or filled, 10th Edition uses fill only\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("a3x53q93b4sksa7vee61vtsls"); // "%s DWB 2 doesn't use fill and doesn't define fillval\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("cglsqpq97ek5itbkjjzdm0w8k"); // "%s reset works in gpic and 10th edition, but isn't defined in DWB 2\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("6vzczz8vf0wqmrionyd7tqda8"); // gvprintf(job, "%s DWB 2 compatibility definitions\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("ce0em94lu4t3pt85r2za9mvf2"); // "if boxrad > 1.0 && dashwid < 0.075 then X\n\tfillval = 1;\n\tdefine fill Y Y;\n\tdefine solid Y Y;\n\tdefine reset Y scale=1.0 Y;\nX\n"); UNSUPPORTED("dq09jmz8i5yv8jt3stebgbyqd"); // gvprintf(job, "reset %s set to known state\n", EscComment); UNSUPPORTED("dph08fr8e18senfvv4uvyofo6"); // gvprintf(job, "%s GNU pic vs. 10th Edition d\\(e'tente\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("dqdtm7xiklcacg5om9np226lc"); // "if fillval > 0.4 then X\n\tdefine setfillval Y fillval = 1 - Y;\n\tdefine bold Y thickness 2 Y;\n"); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("18lex7q6g1l8eu6dnpt343s2e"); // "\t%s if you use gpic and it barfs on encountering \"solid\",\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("5ik7ebm2ec8itf29vezxtz2dd"); // "\t%s\tinstall a more recent version of gpic or switch to DWB or 10th Edition pic;\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("3y2bp6wbvp7p7lfnqdb8643gt"); // "\t%s\tsorry, the groff folks changed gpic; send any complaint to them;\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("bjxixh8i6komlukzxuq6bzuxm"); // "X else Z\n\tdefine setfillval Y fillval = Y;\n\tdefine bold Y Y;\n\tdefine filled Y fill Y;\nZ\n"); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("1etnf378bbiv7frkkx646nc6x"); // "%s arrowhead has no meaning in DWB 2, arrowhead = 7 makes filled arrowheads in gpic and in 10th Edition\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("dypqrdzmizcvbpx12mt4t7n5t"); // "%s arrowhead is undefined in DWB 2, initially 1 in gpic, 2 in 10th Edition\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("2laq9xrgobmth8qhrini8rhsi"); // gvprintf(job, "arrowhead = 7 %s not used by graphviz\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("avkzkz4i40ucrl9ssi3p6pyo5"); // "%s GNU pic supports a boxrad variable to draw boxes with rounded corners; DWB and 10th Ed. do not\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("2oi2oo2n1kmide3fp6c7nidfb"); // gvprintf(job, "boxrad = 0 %s no rounded corners in graphviz\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("aa64gd28t5mwmg704oordujc5"); // "%s GNU pic supports a linethick variable to set line thickness; DWB and 10th Ed. do not\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("53sr2p9jkfa612b87p2yb66sq"); // gvprintf(job, "linethick = 0; oldlinethick = linethick\n"); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("db9i2enfon83i8aia8hn3nz90"); // "%s .PS w/o args causes GNU pic to scale drawing to fit 8.5x11 paper; DWB does not\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("3a8pqeqq1melrwpx86klp29z7"); // "%s maxpsht and maxpswid have no meaning in DWB 2.0, set page boundaries in gpic and in 10th Edition\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("3z8mzj59f8c2eyp4tue6ey7yc"); // "%s maxpsht and maxpswid are predefined to 11.0 and 8.5 in gpic\n", UNSUPPORTED("4eth1b45y2w7jpem9jkc8sblp"); // EscComment); UNSUPPORTED("e3g7qqt4wwzno1yygiv98l5o9"); // gvprintf(job, "maxpsht = %f\nmaxpswid = %f\n", height, width); UNSUPPORTED("5ju4jha3xnti1j2ieoce0qmdf"); // gvprintf(job, "Dot: [\n"); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("eynntob2c9h5peks987ekrzym"); // "define attrs0 %% %%; define unfilled %% %%; define rounded %% %%; define diagonals %% %%\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6nt6zbbo643w8j7t009y2v5bm // static void pic_end_page(GVJ_t * job) public static Object pic_end_page(Object... arg) { UNSUPPORTED("c239lltddwrudapv2a7xxlxga"); // static void pic_end_page(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("2teal9uw4ezwoi03qufhfiwlq"); // "]\n.PE\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d9e0jepdo8c58ajdoxng9e1h5 // static void pic_textspan(GVJ_t * job, pointf p, textspan_t * span) public static Object pic_textspan(Object... arg) { UNSUPPORTED("cauh218qle2ae9yjf61ud9p2r"); // static void pic_textspan(GVJ_t * job, pointf p, textspan_t * span) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2z4ulhebckee70a2cyx0dq01k"); // static char *lastname; UNSUPPORTED("begkqws1spfd955d0kagsh1jc"); // static int lastsize; UNSUPPORTED("bpt627vzs0r1tzo7jgpyjdssp"); // int sz; UNSUPPORTED("bpqxh9mig0sh1gasrlkg6hbph"); // switch (span->just) { UNSUPPORTED("b1mhc3reptgjo2p3hwaxyqgfu"); // case 'l': UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("estx9pvff1tn1neki26jky2py"); // case 'r': UNSUPPORTED("lzwxwwf5wl644m2hvx2zioue"); // p.x -= span->size.x; UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("bb1f2erxhc1jxdi9awn26znil"); // case 'n': UNSUPPORTED("6tzmt862u12ecdvt2d00dk679"); // p.x -= span->size.x / 2; UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("4wr1p5fnqbdu0f5yq4dxvlir6"); // /* Why on earth would we do this. But it works. SCN 2/26/2002 */ UNSUPPORTED("d421di00t94nr476ghy7h70n3"); // p.y += span->font->size / (3.0 * 72); UNSUPPORTED("ee4w493wyhc900xnxk58kqlin"); // p.x += span->size.x / (2.0 * 72); UNSUPPORTED("cmznyqe6zlkta59u4wlkwm0b6"); // if (span->font->name && (!(lastname) || strcmp(lastname, span->font->name))) { UNSUPPORTED("4mtb7uml2hzvmd5f3v4vak5ta"); // gvprintf(job, ".ft %s\n", picfontname(span->font->name)); UNSUPPORTED("7hlu4ruvtzkys6hdg160ghzq4"); // lastname = span->font->name; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1cwn7rsimk721vf93302dq6l3"); // if ((sz = (int)span->font->size) < 1); UNSUPPORTED("8nr9q999sn2bf0neqzuypuipz"); // sz = 1; UNSUPPORTED("3nh3xkjixssc69c7r9h07udba"); // if (sz != lastsize) { UNSUPPORTED("7ve9efsns80c8bp56ezays3c5"); // gvprintf(job, ".ps %d*\\n(SFu/%.0fu\n", sz, Fontscale); UNSUPPORTED("ar7ezodtm533ndxpfoz661cp9"); // lastsize = sz; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("cpdm8yivurrmx8ub86bpgs4vn"); // gvprintf(job, "\"%s\" at (%.5f,%.5f);\n", UNSUPPORTED("5zts6obdghaq7mbeyq13bucln"); // pic_string(span->str), p.x, p.y); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3rlk5pvbfad7rr584hs87fbaa // static void pic_ellipse(GVJ_t * job, pointf * A, int filled) public static Object pic_ellipse(Object... arg) { UNSUPPORTED("1v59z1y3qs6icmg9adsga165a"); // static void pic_ellipse(GVJ_t * job, pointf * A, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8tuvacxowvjyekfxkm6dgvp8f"); // /* A[] contains 2 points: the center and corner. */ UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("dwfvg3ih86afd5uzqvndt9ur4"); // "ellipse attrs%d %swid %.5f ht %.5f at (%.5f,%.5f);\n", 1, UNSUPPORTED("457e4jaeiuoxhg7v340gy9rw4"); // filled ? "fill " : "", UNSUPPORTED("cfsz2r42gzz2n7gz9o93odh4i"); // ((2*(A[1].x - A[0].x))/(double)72), UNSUPPORTED("9mgg3lvutbvo26fsphghc4c"); // ((2*(A[1].y - A[0].y))/(double)72), UNSUPPORTED("4hj3y2hq0474p3ghy1l4x0lxf"); // ((A[0].x)/(double)72), UNSUPPORTED("6ccewir86nmmtromy3mivt1ao"); // ((A[0].y)/(double)72)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1sw3gedor8k03dnq5rspgqe0b // static void pic_bezier(GVJ_t * job, pointf * A, int n, int arrow_at_start, public static Object pic_bezier(Object... arg) { UNSUPPORTED("2mb1csja400u5qyc223ocy3me"); // static void pic_bezier(GVJ_t * job, pointf * A, int n, int arrow_at_start, UNSUPPORTED("aucu2oah5hsehslkm52zjqn3q"); // // start_y, end_x, end_y); UNSUPPORTED("77j21vz8ekimnj6b6uefavtz2"); // int arrow_at_end, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("3slisz3umk8yx744ufnbbf50r"); // int object_code = 3; /* always 3 for spline */ UNSUPPORTED("dg2m9953dx1s3kh2xh49cl6j9"); // int sub_type; UNSUPPORTED("7yz13t0sqtqvzxyddzcozxe33"); // int line_style; /* solid, dotted, dashed */ UNSUPPORTED("9pyxwz1r98uut10u02vkx6v1q"); // int thickness = obj->penwidth; UNSUPPORTED("spi81120or5799hcfjb8itk6"); // int pen_color = obj->pencolor.u.index; UNSUPPORTED("85qo3gmfwzm58xlqrukeg2vyr"); // int fill_color = obj->fillcolor.u.index; UNSUPPORTED("4mqqliisakngnea1fbgw3n16w"); // int pen_style = 0; /* not used */ UNSUPPORTED("cv6hsumgyv706zrsc1mb79vjt"); // int area_fill; UNSUPPORTED("erg3jyrsg6mbllclii9gqtczn"); // double style_val; UNSUPPORTED("at27yenlhsw2mhidnzh560qs7"); // int cap_style = 0; UNSUPPORTED("6aehzky7l6ssu826xre37yhtt"); // int forward_arrow = 0; UNSUPPORTED("cvrcowx9gwh8vdfgelcwxhrhq"); // int backward_arrow = 0; UNSUPPORTED("cnai2dhmnp0nlkurdvfgcftzp"); // int npoints = n; UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("2ripxrfk1hjvzu0cnqlmtvz7q"); // pointf pf, V[4]; UNSUPPORTED("41nrdsugvfgw23s93g0dhizkn"); // point p; UNSUPPORTED("54a5cffl70pabwgya54wkrjdt"); // int j, step; UNSUPPORTED("551funk1bxiemly3silcqtngw"); // int count = 0; UNSUPPORTED("cav0e7ncloqss0hsvc4fyfi7s"); // int size; UNSUPPORTED("6wvmmuf1e3qp2qoi1k1njw0a0"); // char *buffer; UNSUPPORTED("6ik3p99apk5rihypipg0uxu8i"); // char *buf; UNSUPPORTED("2oge79a1lz0azw1572k9culsm"); // buffer = UNSUPPORTED("7ls09ukxgkos4a02570trbo11"); // malloc((npoints + 1) * (6 + UNSUPPORTED("82a2b3l9tnp4wb4zntqluobrf"); // 1) * 20 * sizeof(char)); UNSUPPORTED("3fe0hbpwq6bj9ioyuwkjdzyzz"); // buf = buffer; UNSUPPORTED("e77xa6hsjckwgdadat7v55pl6"); // pic_line_style(obj, &line_style, &style_val); UNSUPPORTED("9yhmhvzz81x2bovke5qc93036"); // if (filled) { UNSUPPORTED("bj3webccz9d6zwkfor1wbs62"); // sub_type = 5; /* closed X-spline */ UNSUPPORTED("7zcxl4upa7xx6c4i5y2x03nm8"); // area_fill = 20; /* fully saturated color */ UNSUPPORTED("72p315i58kf1cm2zd3q0u8cn9"); // fill_color = job->obj->fillcolor.u.index; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("b42prafms4wcjet9oaqz2r9an"); // sub_type = 4; /* opened X-spline */ UNSUPPORTED("e8seyevdqkm3o522h0kw3ofoo"); // area_fill = -1; UNSUPPORTED("cnfp5y1qtuaq6rg9e86neg62e"); // fill_color = 0; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a5n7zezdexpwwfy12hsc5q41m"); // V[3].x = A[0].x; UNSUPPORTED("3wrmg8m53mwjg50y22lcyblmg"); // V[3].y = A[0].y; UNSUPPORTED("d4fw6y4mj6hshwm4fwoegfv1"); // /* Write first point in line */ UNSUPPORTED("7ap9l0s2x29me32trtt38kph0"); // count++; UNSUPPORTED("8hem85phuz76zejto4bkwovw1"); // PF2P(A[0], p); UNSUPPORTED("73o6ys1pid2ocs41fxtzlcv8n"); // size = sprintf(buf, " %d %d", p.x, p.y); UNSUPPORTED("1j1vfgxpkci66jmmmccgza2lm"); // buf += size; UNSUPPORTED("a3w2dgd3a2dpgvb5n1a63c9ar"); // /* write subsequent points */ UNSUPPORTED("3s0blwgctqa0ygs872bnu4kye"); // for (i = 0; i + 3 < n; i += 3) { UNSUPPORTED("4a58elv5pvvi5twh4hrzzzj3d"); // V[0] = V[3]; UNSUPPORTED("cr2c5h66bahjj7gd63bz4bhl7"); // for (j = 1; j <= 3; j++) { UNSUPPORTED("d5p6lhssn8pxlfrjhmbm89neq"); // V[j].x = A[i + j].x; UNSUPPORTED("aasvql7kiskb32j9te9gp5xif"); // V[j].y = A[i + j].y; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("afevm918v5rewrdihltcjtka7"); // for (step = 1; step <= 6; step++) { UNSUPPORTED("cc15ym2418ncxwrvmrbf7d5fb"); // count++; UNSUPPORTED("1maly6enkyv5xs410cfeocfo8"); // pf = Bezier (V, 3, (double) step / 6, NULL, NULL); UNSUPPORTED("9hehuild0uke3e57cn1cu37d4"); // PF2P(pf, p); UNSUPPORTED("dlhqn2sqdjrfl9iuem0x42sg7"); // size = sprintf(buf, " %d %d", p.x, p.y); UNSUPPORTED("dc1iwkgf67a40ouxumqgp087o"); // buf += size; UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("adja5audqilxvakjhc4ffv918"); // // gvprintf(job, "%d %d %d %d %d %d %d %d %d %.1f %d %d %d %d\n", UNSUPPORTED("6biruvlzylxqarkvvvk8f1kj1"); // // object_code, UNSUPPORTED("1gvy5x6e4tb8y1t58ea5a9gbr"); // // sub_type, UNSUPPORTED("3j51v7djf78may8pc7fqmbfu9"); // // line_style, UNSUPPORTED("6qk3rwg8n74pfvc3t1l02mcbk"); // // thickness, UNSUPPORTED("e4i6ly0erhqrn6l0sdh52e09w"); // // pen_color, UNSUPPORTED("e6lb1qzdgn5b1xs9adtu5z1a2"); // // fill_color, UNSUPPORTED("du7j3ee3lzjzintra1dpg14fx"); // // depth, UNSUPPORTED("3k0iccc4zc3dcn6wva0b62aue"); // // pen_style, UNSUPPORTED("3i8kq2rp9dnqrluiipxuw59tv"); // // area_fill, UNSUPPORTED("4yigk5lhyfyre5v90resjpok8"); // // style_val, cap_style, forward_arrow, backward_arrow, count); UNSUPPORTED("cqyleb6lm2k4okgz6yyfsnyvs"); // gvprintf(job, " %s\n", buffer); /* print points */ UNSUPPORTED("2puk68crvxxdnxykmgd8hccpb"); // free(buffer); UNSUPPORTED("880df02j7ml0ml3y149lcn5r0"); // for (i = 0; i < count; i++) { UNSUPPORTED("aqnpclkffnis7si1mcldfnqzb"); // gvprintf(job, " %d", i % (count - 1) ? 1 : 0); /* -1 on all */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b7eafy5bhxn361xe2c8x8553b"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6vpufqet2cxqbjkd7b1oz5nqd // static void pic_polygon(GVJ_t * job, pointf * A, int n, int filled) public static Object pic_polygon(Object... arg) { UNSUPPORTED("72rnzkq710hqh92i1k0acfd37"); // static void pic_polygon(GVJ_t * job, pointf * A, int n, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("1250jrnrnv2ts7w11no09s3c0"); // int object_code = 2; /* always 2 for polyline */ UNSUPPORTED("1u7xi4usjz62x26cm8thbbuzf"); // int sub_type = 3; /* always 3 for polygon */ UNSUPPORTED("7yz13t0sqtqvzxyddzcozxe33"); // int line_style; /* solid, dotted, dashed */ UNSUPPORTED("9pyxwz1r98uut10u02vkx6v1q"); // int thickness = obj->penwidth; UNSUPPORTED("spi81120or5799hcfjb8itk6"); // int pen_color = obj->pencolor.u.index; UNSUPPORTED("85qo3gmfwzm58xlqrukeg2vyr"); // int fill_color = obj->fillcolor.u.index; UNSUPPORTED("4mqqliisakngnea1fbgw3n16w"); // int pen_style = 0; /* not used */ UNSUPPORTED("1rb7krh80rapa6zt9gze6d8y"); // int area_fill = filled ? 20 : -1; UNSUPPORTED("erg3jyrsg6mbllclii9gqtczn"); // double style_val; UNSUPPORTED("emk8vv370o9kkt54b48xbckqk"); // int join_style = 0; UNSUPPORTED("at27yenlhsw2mhidnzh560qs7"); // int cap_style = 0; UNSUPPORTED("5ah3zh0iiveyst5794k0axkys"); // int radius = 0; UNSUPPORTED("6aehzky7l6ssu826xre37yhtt"); // int forward_arrow = 0; UNSUPPORTED("cvrcowx9gwh8vdfgelcwxhrhq"); // int backward_arrow = 0; UNSUPPORTED("b2q7ayijmq412v8tkb0p5a4xq"); // int npoints = n + 1; UNSUPPORTED("e77xa6hsjckwgdadat7v55pl6"); // pic_line_style(obj, &line_style, &style_val); UNSUPPORTED("5y46af2tm0pigzfxvxrfcb4lk"); // // gvprintf(job, UNSUPPORTED("5jxusmce4v4hqmp46sfkrhqiu"); // // "%d %d %d %d %d %d %d %d %d %.1f %d %d %d %d %d %d\n", UNSUPPORTED("9gl7rgac8iy5bwp4aik7fhxhm"); // // object_code, sub_type, line_style, thickness, pen_color, UNSUPPORTED("f00qd9ts19m4zytpw9ul3nw86"); // // fill_color, depth, pen_style, area_fill, style_val, join_style, UNSUPPORTED("6zilgzihyxax6qcclohoma171"); // // cap_style, radius, forward_arrow, backward_arrow, npoints); UNSUPPORTED("bb2br2kig62zs308gqpx7dl6j"); // picptarray(job, A, n, 1); /* closed shape */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7rlxbmvn1s9o400xa6a47b3u0 // static void pic_polyline(GVJ_t * job, pointf * A, int n) public static Object pic_polyline(Object... arg) { UNSUPPORTED("2ifmtbi7jzs4ziyl98lik2sln"); // static void pic_polyline(GVJ_t * job, pointf * A, int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("1250jrnrnv2ts7w11no09s3c0"); // int object_code = 2; /* always 2 for polyline */ UNSUPPORTED("2xiuwyphr1m2pc2o9smsohpy7"); // int sub_type = 1; /* always 1 for polyline */ UNSUPPORTED("7yz13t0sqtqvzxyddzcozxe33"); // int line_style; /* solid, dotted, dashed */ UNSUPPORTED("9pyxwz1r98uut10u02vkx6v1q"); // int thickness = obj->penwidth; UNSUPPORTED("spi81120or5799hcfjb8itk6"); // int pen_color = obj->pencolor.u.index; UNSUPPORTED("afxyknafudgf6s6v5jw9qx8p9"); // int fill_color = 0; UNSUPPORTED("4mqqliisakngnea1fbgw3n16w"); // int pen_style = 0; /* not used */ UNSUPPORTED("1pvrunrk1ylb19scd5xzhf3lp"); // int area_fill = 0; UNSUPPORTED("erg3jyrsg6mbllclii9gqtczn"); // double style_val; UNSUPPORTED("emk8vv370o9kkt54b48xbckqk"); // int join_style = 0; UNSUPPORTED("at27yenlhsw2mhidnzh560qs7"); // int cap_style = 0; UNSUPPORTED("5ah3zh0iiveyst5794k0axkys"); // int radius = 0; UNSUPPORTED("6aehzky7l6ssu826xre37yhtt"); // int forward_arrow = 0; UNSUPPORTED("cvrcowx9gwh8vdfgelcwxhrhq"); // int backward_arrow = 0; UNSUPPORTED("cnai2dhmnp0nlkurdvfgcftzp"); // int npoints = n; UNSUPPORTED("e77xa6hsjckwgdadat7v55pl6"); // pic_line_style(obj, &line_style, &style_val); UNSUPPORTED("5y46af2tm0pigzfxvxrfcb4lk"); // // gvprintf(job, UNSUPPORTED("5jxusmce4v4hqmp46sfkrhqiu"); // // "%d %d %d %d %d %d %d %d %d %.1f %d %d %d %d %d %d\n", UNSUPPORTED("9gl7rgac8iy5bwp4aik7fhxhm"); // // object_code, sub_type, line_style, thickness, pen_color, UNSUPPORTED("f00qd9ts19m4zytpw9ul3nw86"); // // fill_color, depth, pen_style, area_fill, style_val, join_style, UNSUPPORTED("6zilgzihyxax6qcclohoma171"); // // cap_style, radius, forward_arrow, backward_arrow, npoints); UNSUPPORTED("aclk0i1g5h2w55leog4sbehnt"); // picptarray(job, A, n, 0); /* open shape */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 1qbgpljw1sasfxrm2urmq04xv // gvrender_engine_t pic_engine = //1 562akbmoglmbe4vhlm4vhgl7d // static gvrender_features_t render_features_pic = //1 brpaeygrxu0b0eyu2x62og81 // static gvdevice_features_t device_features_pic = //1 buvtiax25ah766ey9qhdtidlo // gvplugin_installed_t gvrender_pic_types[] = //1 3t0wgwjmiuh24ntyxb1zv6u5n // gvplugin_installed_t gvdevice_pic_types[] = } plantuml-1.2018.13+ds/src/gen/plugin/core/gvrender_core_pov__c.java000066400000000000000000001024271340005343600250730ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.plugin.core; import static smetana.core.Macro.UNSUPPORTED; public class gvrender_core_pov__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 axr8iiqze4sowxdzhp5h67ccy // static char *pov_knowncolors[] = //1 1xn6uqvhqpp8aql9dt6qqh2z2 // static float layerz = 0 //1 bz4ial18k2hf5bfpuvztnf8tr // static float z = 0 //3 9vn87676zx3r2mmmw7rp52uyy // char *el(GVJ_t* job, char *template, ...) public static Object el(Object... arg) { UNSUPPORTED("dr1ui1v7k7dfzi58sjrxnr8hq"); // char *el(GVJ_t* job, char *template, ...) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3bclex5rigeol6kpwga9nrp4o"); // /* Dummy function that will never be used */ UNSUPPORTED("c65npejb203kqftvj9of8tg28"); // return strdup(""); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9pw2lre7mxb30qh6ob8oaebc2 // static char *pov_color_as_str(GVJ_t * job, gvcolor_t color, float transparency) public static Object pov_color_as_str(Object... arg) { UNSUPPORTED("bl2yw1wd29bda0ivzrrgu9edn"); // static char *pov_color_as_str(GVJ_t * job, gvcolor_t color, float transparency) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ef8yz870ibkbk17ridydfygym"); // char *pov, *c; UNSUPPORTED("5fmow7rd08qdpjro9ggko2axg"); // switch (color.type) { UNSUPPORTED("3963t7kz3wj9jmr4b42bh0ikz"); // case COLOR_STRING: UNSUPPORTED("4bi7a75t9gvcwhnm13jo31q8g"); // if (!strcmp(color.u.string, "red")) UNSUPPORTED("eu9kml5h4p55xr8jdh2cccm3c"); // c = el(job, "%s transmit %.3f", "Red", transparency); UNSUPPORTED("677fpercxitfukr8v78x2w5cb"); // else if (!strcmp(color.u.string, "green")) UNSUPPORTED("1qiiwyqveadi00g1dvya9gofj"); // c = el(job, "%s transmit %.3f", "Green", transparency); UNSUPPORTED("144n6nl0tohqej0icjdjh72sp"); // else if (!strcmp(color.u.string, "blue")) UNSUPPORTED("6ysoqjit3c4036kfg992gdju"); // c = el(job, "%s transmit %.3f", "Blue", transparency); UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else UNSUPPORTED("5xvdf2fd67dqx75mdmvchi5ct"); // c = el(job, "%s transmit %.3f", color.u.string, transparency); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("4qyq5lb20pb6flw57yam37kot"); // case RGBA_BYTE: UNSUPPORTED("5wxuremuazucr0f5jubhi97ms"); // c = el(job, "rgb""<%9.3f, %9.3f, %9.3f>"" transmit %.3f", UNSUPPORTED("12zckwop92tdxv6dlv1vp0fbs"); // color.u.rgba[0] / 256.0, color.u.rgba[1] / 256.0, UNSUPPORTED("3aw03ntnbxbvdxah2aeh3p24b"); // color.u.rgba[2] / 256.0, transparency); UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("18zn34qcs4vsdhhh831gn9vc9"); // fprintf(stderr, UNSUPPORTED("4i3x2ar1txrydae0r4ejyuz6a"); // "oops, internal error: unhandled color type=%d %s\n", UNSUPPORTED("11r7e8g9h9a5htgibzuoxopjl"); // color.type, color.u.string); UNSUPPORTED("cgq902zwbdbdny3ekubc7rtwg"); // assert(0); //oops, wrong type set in gvrender_features_t? UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1umcnsvyiiij01szhjjwci3fw"); // pov = el(job, "pigment { color %s }\n", c); UNSUPPORTED("5rfulyznntlt1olqapu82esby"); // free(c); UNSUPPORTED("ec6nf0cxneh8g9w1p13kiy0dj"); // return pov; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 blyo0peeuj2vdpa4s7h40t882 // static void pov_comment(GVJ_t * job, char *str) public static Object pov_comment(Object... arg) { UNSUPPORTED("5ny39zebhyjkf7c8wtacqvks9"); // static void pov_comment(GVJ_t * job, char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ep887hrpmp4h57zbiq58d1fdl"); // gvprintf(job, "//*** comment: %s\n", str); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 19jx65sbu7mzdlbpobkqmkcm5 // static void pov_begin_job(GVJ_t * job) public static Object pov_begin_job(Object... arg) { UNSUPPORTED("e7ucc8led9jhpy4503iyu1mx3"); // static void pov_begin_job(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ezi9hebxdhn31a8g77mjddcho"); // gvputs(job, "#version 3.6;\n"); UNSUPPORTED("717tvalowegvfefto6nsu0ssr"); // gvputs(job, "global_settings { assumed_gamma 1.0 }\n"); UNSUPPORTED("ambfxfnqqcqjwa371wi2xxa7j"); // gvputs(job, "#default { finish { ambient 0.1 diffuse 0.9 } }\n"); UNSUPPORTED("2fr5g4jf2x5dkqy2rzur089sd"); // gvputs(job, "#include \"colors.inc\"\n" "#include \"textures.inc\"\n" "#include \"shapes.inc\"\n"); UNSUPPORTED("3p0r7bbc28ao5qtxrbbv16p1v"); // gvprintf(job, "#declare %s = %s;\n", "black", "Black"); UNSUPPORTED("bv59pn9i50oaiu2joqodi7v3m"); // gvprintf(job, "#declare %s = %s;\n", "white", "White"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2uod4qhdoe2sxk49g7jnnxej1 // static void pov_begin_graph(GVJ_t * job) public static Object pov_begin_graph(Object... arg) { UNSUPPORTED("7r54iz4ovg2j1636jr02tb0fq"); // static void pov_begin_graph(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("67e4xbpzccjioks12bk0w12s7"); // float x, y, d, px, py; UNSUPPORTED("2np0pxewx2qr0hc4wvdsukjdi"); // gvprintf(job, "//*** begin_graph %s\n", agnameof(job->obj->u.g)); UNSUPPORTED("4p6634f0ays00wyvz0jqew496"); // //setup scene UNSUPPORTED("c6yotkg0ed9f75gui9axv2rob"); // x = job->view.x / 2.0 * job->scale.x; UNSUPPORTED("2jqapjhabefytb0cnl8zra3c1"); // y = job->view.y / 2.0 * job->scale.y; UNSUPPORTED("eepp86bbm9j6kz7yrj6bxm7rd"); // d = -500; UNSUPPORTED("8cvhzu1hyz5hi8nkkdodtwn49"); // px = atanf(x / abs(d)) * 180 / M_PI * 2; UNSUPPORTED("6rvfie6mwp4jpauy66s5ef9po"); // py = atanf(y / abs(d)) * 180 / M_PI * 2; UNSUPPORTED("a5t124x5xel6027dgfcxkc1k0"); // gvprintf(job, "camera { location <%.3f , %.3f , %.3f>\n" " look_at <%.3f , %.3f , %.3f>\n" " right x * image_width / image_height\n" " angle %.3f\n" "}\n", x, y, d, x, y, 0.0, UNSUPPORTED("f0y37qj1uxr9qkprkzpddptic"); // (px > py ? px : py) * 1.2); UNSUPPORTED("4ejvtub36nhniqc8kx0q9ugcc"); // gvputs(job, "//sky\n" "plane { <0, 1, 0>, 1 hollow\n" " texture {\n" " pigment { bozo turbulence 0.95\n" " color_map {\n" " [0.00 rgb <0.05, 0.20, 0.50>]\n" " [0.50 rgb <0.05, 0.20, 0.50>]\n" " [0.75 rgb <1.00, 1.00, 1.00>]\n" " [0.75 rgb <0.25, 0.25, 0.25>]\n" " [1.00 rgb <0.50, 0.50, 0.50>]\n" " }\n" " scale <1.00, 1.00, 1.50> * 2.50\n" " translate <0.00, 0.00, 0.00>\n" " }\n" " finish { ambient 1 diffuse 0 }\n" " }\n" " scale 10000\n" "}\n" "//mist\n" "fog { fog_type 2\n" " distance 50\n" " color rgb <1.00, 1.00, 1.00> * 0.75\n" " fog_offset 0.10\n" " fog_alt 1.50\n" " turbulence 1.75\n" "}\n" "//gnd\n" "plane { <0.00, 1.00, 0.00>, 0\n" " texture {\n" " pigment{ color rgb <0.25, 0.45, 0.00> }\n" " normal { bumps 0.75 scale 0.01 }\n" " finish { phong 0.10 }\n" " }\n" "}\n"); UNSUPPORTED("2wxid02webko3zekheejcp2ak"); // gvputs(job, "light_source { <1500,3000,-2500> color White }\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4i3fvchaaqy0lecs9urmfd8c9 // static void pov_end_graph(GVJ_t * job) public static Object pov_end_graph(Object... arg) { UNSUPPORTED("a62y9av6or8p2emv2p63mc48t"); // static void pov_end_graph(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1hga3nvp22vfl40enmsok6fol"); // gvputs(job, "//*** end_graph\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 e5tq67bjtp1mxou7ivnyjj96c // static void pov_begin_layer(GVJ_t * job, char *layername, int layerNum, int numLayers) public static Object pov_begin_layer(Object... arg) { UNSUPPORTED("21l3qlfmtt9jj25ltili90086"); // static void pov_begin_layer(GVJ_t * job, char *layername, int layerNum, int numLayers) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6vxpb1gk8xxy3aeje3hukjj8f"); // gvprintf(job, "//*** begin_layer: %s, %d/%d\n", layername, layerNum, UNSUPPORTED("3p7uxhm5ftq2vewm5vqpgyl52"); // numLayers); UNSUPPORTED("7afht14wina8ef7t2obgzr53z"); // layerz = layerNum * -10; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6ot7jtlpa5ns5g8mrljucw73p // static void pov_end_layer(GVJ_t * job) public static Object pov_end_layer(Object... arg) { UNSUPPORTED("msmg6mchcw6wk1hwzv4vfh9"); // static void pov_end_layer(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6wmd7mpzynz9r6txzhga6hseq"); // gvputs(job, "//*** end_layer\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4z4wr7z5q5tb2nw3y70re05w2 // static void pov_begin_page(GVJ_t * job) public static Object pov_begin_page(Object... arg) { UNSUPPORTED("du0jdd44z91nfwdqe62phoc7c"); // static void pov_begin_page(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("jj3s1e88b3c3eeucmt9a2dl1"); // gvputs(job, "//*** begin_page\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6ort6jt20rg9fnad6wyg7pwor // static void pov_end_page(GVJ_t * job) public static Object pov_end_page(Object... arg) { UNSUPPORTED("3rhzejrofrliwvfg22jrq09tg"); // static void pov_end_page(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cpbqx0fkzv5v1omdltbdfb03"); // gvputs(job, "//*** end_page\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6knkobsw1frd76zp1qw7z53rj // static void pov_begin_cluster(GVJ_t * job) public static Object pov_begin_cluster(Object... arg) { UNSUPPORTED("2juyfkoz2kja04ue6gwra6vd8"); // static void pov_begin_cluster(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8g6u83xzr1yp6es8v82x6t712"); // gvputs(job, "//*** begin_cluster\n"); UNSUPPORTED("6xzjyk7shpggapmx9msnltpor"); // layerz -= 2; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1so9pfvjq4zz182ufinyv9fv2 // static void pov_end_cluster(GVJ_t * job) public static Object pov_end_cluster(Object... arg) { UNSUPPORTED("3vp8n8w4vn3uthzjzd0x0k41x"); // static void pov_end_cluster(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5n89byozotfig7g8ibo1gao3p"); // gvputs(job, "//*** end_cluster\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2p7ma5wim7eq25qp8gx7cocuq // static void pov_begin_node(GVJ_t * job) public static Object pov_begin_node(Object... arg) { UNSUPPORTED("es06i47dskbixwwotieeyv5mr"); // static void pov_begin_node(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ez8i1j34mzm9in29mtx4b3v0"); // gvprintf(job, "//*** begin_node: %s\n", agnameof(job->obj->u.n)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4asyy6qwnihawoxqyey2uw0d5 // static void pov_end_node(GVJ_t * job) public static Object pov_end_node(Object... arg) { UNSUPPORTED("6o3vlh6gnxvtq9jdzf2it0x1b"); // static void pov_end_node(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("cbfh6mmc1rbt7m9l9s9ypvdj7"); // gvputs(job, "//*** end_node\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3nnmi75q7dx9uhggg3eqsssez // static void pov_begin_edge(GVJ_t * job) public static Object pov_begin_edge(Object... arg) { UNSUPPORTED("2z40r4qoltjdiqjwr1htt5bp4"); // static void pov_begin_edge(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("c6ba404gdc9z8520xq82tknvw"); // gvputs(job, "//*** begin_edge\n"); UNSUPPORTED("b1i8thw6fnr132r6o719oly3i"); // layerz -= 5; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 67ua9o3fipl6vujo4osgu6pew // static void pov_end_edge(GVJ_t * job) public static Object pov_end_edge(Object... arg) { UNSUPPORTED("6e3hav877emt1quzaldcem28y"); // static void pov_end_edge(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5n48qab4bxl9dxf8rgqw44ix2"); // gvputs(job, "//*** end_edge\n"); UNSUPPORTED("dhvja5wqkslqorvosluq18fwn"); // layerz += 5; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dzgi67xn3f7g3qpvtluivy9b4 // static void pov_textspan(GVJ_t * job, pointf c, textspan_t * span) public static Object pov_textspan(Object... arg) { UNSUPPORTED("da91j5br6qhlfr421zkx076tx"); // static void pov_textspan(GVJ_t * job, pointf c, textspan_t * span) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bhqtz42wh5ojvof66mrtbotz5"); // double x, y; UNSUPPORTED("3cohebhm3opbm2vh6b4wzdlkl"); // char *pov, *s, *r, *t, *p; UNSUPPORTED("caph5wpsys7oxxneh5xjl1ge2"); // gvprintf(job, "//*** textspan: %s, fontsize = %.3f, fontname = %s\n", UNSUPPORTED("aatbh13pgi2seywuv58l164sg"); // span->str, span->font->size, span->font->name); UNSUPPORTED("p78pafc3a70q01a93j3hakqj"); // z = layerz - 9; UNSUPPORTED("8yrhor0piybk3cx5mqluj6ct0"); // //handle text justification UNSUPPORTED("abi5cnvri7biecl3jbz3ljbqn"); // switch (span->just) { UNSUPPORTED("f0b1gez33b7p2l2mh99g8szv9"); // case 'l': //left justified UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("2unsigciyurjjkm59j0x51yks"); // case 'r': //right justified UNSUPPORTED("bawpoz7lcmuf4ttemxc072smd"); // c.x = c.x - span->size.x; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("6imja9q9r4w9xkws4jnkxaoib"); // case 'n': //centered UNSUPPORTED("arerr6hl1fo2r21lgv6dq0fhe"); // c.x = c.x - span->size.x / 2.0; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5dp6hqhk8pdh35zmahjmrbil4"); // x = (c.x + job->translation.x) * job->scale.x; UNSUPPORTED("8g5ivywnwkgbkamexmslhkbwl"); // y = (c.y + job->translation.y) * job->scale.y; UNSUPPORTED("7ibjof57xyrrbjfq984fhq53q"); // s = el(job, "scale %.3f\n", span->font->size * job->scale.x); UNSUPPORTED("12hm1ht9azi6mmxv4dvc2dvih"); // r = el(job, "rotate ""<%9.3f, %9.3f, %9.3f>""\n", 0.0, 0.0, (float)job->rotation); UNSUPPORTED("9tdxqqkubd9vcc8ei2ek0ohsu"); // t = el(job, "translate""<%9.3f, %9.3f, %9.3f>""\n", x, y, z); UNSUPPORTED("3boaqla3jgicjsvi0cj6tylfw"); // p = pov_color_as_str(job, job->obj->pencolor, 0.0); UNSUPPORTED("b2ejqbz7lvl4hg7pgh487n64i"); // //pov bundled fonts: timrom.ttf, cyrvetic.ttf UNSUPPORTED("6igjb924cisay3j6lgi0ongrm"); // pov = el(job, "text {\n" " ttf \"%s\",\n" " \"%s\", %.3f, %.3f\n" " %s %s %s %s %s" "}\n", UNSUPPORTED("3xx9l0bux74bmtji5uhkw2ik8"); // span->font->name, 0.25, 0.0, //font, depth (0.5 ... 2.0), offset UNSUPPORTED("a1wi2fm46kq0gl96wwx26fgab"); // span->str, " no_shadow\n", s, r, t, p); UNSUPPORTED("3x0tju516ycfkyg76dbmy12z3"); // gvputs(job, pov); UNSUPPORTED("1nwb9ca1mjxkgynagbneulg58"); // free(pov); UNSUPPORTED("7scwdfzpkx03bafy8mo9p36ku"); // free(r); UNSUPPORTED("cy5x5dma0v4hiepir7lrfuo17"); // free(p); UNSUPPORTED("9r1kr4nla99ts81ivi2g8ne6q"); // free(t); UNSUPPORTED("d285xdylp7oj81aar06ulc7kh"); // free(s); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 80vqnzdsz7alwxdre4myzs7cz // static void pov_ellipse(GVJ_t * job, pointf * A, int filled) public static Object pov_ellipse(Object... arg) { UNSUPPORTED("41s3h16cmnt5btexht7j82vat"); // static void pov_ellipse(GVJ_t * job, pointf * A, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3cohebhm3opbm2vh6b4wzdlkl"); // char *pov, *s, *r, *t, *p; UNSUPPORTED("2c4bbxdmt2mx4fss2xa1kkfap"); // float cx, cy, rx, ry, w; UNSUPPORTED("eposezldvr4ehjm1pb4ymq2u5"); // gvputs(job, "//*** ellipse\n"); UNSUPPORTED("4yafz83qky6zhzfs6o2wgxklk"); // z = layerz - 6; UNSUPPORTED("bhf89737crzdptaovef0dh68a"); // // A[0] center, A[1] corner of ellipse UNSUPPORTED("9fxk9sykye0f78f0i5b95gtaw"); // cx = (A[0].x + job->translation.x) * job->scale.x; UNSUPPORTED("19fh9jhjbqwtt9qitwkzy7jb2"); // cy = (A[0].y + job->translation.y) * job->scale.y; UNSUPPORTED("d48v01y3j249ssh8yx85xfm5u"); // rx = (A[1].x - A[0].x) * job->scale.x; UNSUPPORTED("7rbc982nuc7nd1tuc5effk4fw"); // ry = (A[1].y - A[0].y) * job->scale.y; UNSUPPORTED("aekbfd5p6hwhtk3o1acksvq6"); // w = job->obj->penwidth / (rx + ry) / 2.0 * 5; UNSUPPORTED("2zqnnknbzl1cnu2qmt2uquiuh"); // //draw rim (torus) UNSUPPORTED("d1xsz8zm5cmzpth3kx2ypj6ae"); // s = el(job, "scale ""<%9.3f, %9.3f, %9.3f>""\n", rx, (rx + ry) / 4.0, ry); UNSUPPORTED("c8v01mji8vpxow1hdefxz0xy5"); // r = el(job, "rotate ""<%9.3f, %9.3f, %9.3f>""\n", 90.0, 0.0, (float)job->rotation); UNSUPPORTED("995xgtqf93yds26fofxapqasn"); // t = el(job, "translate""<%9.3f, %9.3f, %9.3f>""\n", cx, cy, z); UNSUPPORTED("3boaqla3jgicjsvi0cj6tylfw"); // p = pov_color_as_str(job, job->obj->pencolor, 0.0); UNSUPPORTED("ditiwhg74so8wkvce2dz1ctsc"); // pov = el(job, "torus { %.3f, %.3f\n" " %s %s %s %s" "}\n", 1.0, w, //radius, size of ring UNSUPPORTED("3k6wpzzzs2t4gtijl8zs1c6e"); // s, r, t, p); UNSUPPORTED("3x0tju516ycfkyg76dbmy12z3"); // gvputs(job, pov); UNSUPPORTED("d285xdylp7oj81aar06ulc7kh"); // free(s); UNSUPPORTED("7scwdfzpkx03bafy8mo9p36ku"); // free(r); UNSUPPORTED("9r1kr4nla99ts81ivi2g8ne6q"); // free(t); UNSUPPORTED("cy5x5dma0v4hiepir7lrfuo17"); // free(p); UNSUPPORTED("1nwb9ca1mjxkgynagbneulg58"); // free(pov); UNSUPPORTED("b6xpllwn0s7t41md7rql9u6ps"); // //backgroud of ellipse if filled UNSUPPORTED("2atgu691bmn6h9jvk8lve5qzc"); // if (filled) { UNSUPPORTED("d55j0r2nj3jas2svuuhd22due"); // s = el(job, "scale ""<%9.3f, %9.3f, %9.3f>""\n", rx, ry, 1.0); UNSUPPORTED("95ovvy40bmmuglc6s7uitv3jq"); // r = el(job, "rotate ""<%9.3f, %9.3f, %9.3f>""\n", 0.0, 0.0, (float)job->rotation); UNSUPPORTED("58dmanx0lpf638fy0xe5bb2qu"); // t = el(job, "translate""<%9.3f, %9.3f, %9.3f>""\n", cx, cy, z); UNSUPPORTED("a5gghuf60fymy4ca6p0yubyro"); // p = pov_color_as_str(job, job->obj->fillcolor, 0.0); UNSUPPORTED("ek1cqknka7kxhnsb5frwqxjvk"); // pov = el(job, "sphere {""<%9.3f, %9.3f, %9.3f>"", 1.0\n" " %s %s %s %s" "}\n", UNSUPPORTED("4glbfmpx1gp42z1y90x0sn18x"); // 0.0, 0.0, 0.0, s, r, t, p); UNSUPPORTED("38o9oyyy59mzbbt6zzozzj5kp"); // gvputs(job, pov); UNSUPPORTED("80itb1itky2rb7sgcktyeypr2"); // free(s); UNSUPPORTED("3t86d4kz7zwqy3xx9m37y0eoa"); // free(r); UNSUPPORTED("iagyh21osy84ww1ekih6gqlh"); // free(t); UNSUPPORTED("8eho71vuxbyqy1c76wpeqzivl"); // free(p); UNSUPPORTED("8aa1al3xqgdhiv4dq7n9t47bu"); // free(pov); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1nwr700gjhj5a5axcdo060csj // static void pov_bezier(GVJ_t * job, pointf * A, int n, int arrow_at_start, int arrow_at_end, int filled) public static Object pov_bezier(Object... arg) { UNSUPPORTED("ee8875esc1r7im8eq6n9m1bbb"); // static void pov_bezier(GVJ_t * job, pointf * A, int n, int arrow_at_start, UNSUPPORTED("yl0kcnz0uvxq0ffk8eb6kcon"); // int arrow_at_end, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bbuxsg26kpzb2fl660hjri9l8"); // int i; UNSUPPORTED("coyatly5x4mbjcq0bwhb3ky4k"); // char *v, *x; UNSUPPORTED("3cohebhm3opbm2vh6b4wzdlkl"); // char *pov, *s, *r, *t, *p; UNSUPPORTED("9swckmk8r5e9zhs7k5ljct6nt"); // gvputs(job, "//*** bezier\n"); UNSUPPORTED("6w5t2p8ujl2czgk9nm8q9twwq"); // z = layerz - 4; UNSUPPORTED("2omh8jf0yjm0iz8fp4udk4f62"); // s = el(job, "scale ""<%9.3f, %9.3f, %9.3f>""\n", job->scale.x, job->scale.y, 1.0); UNSUPPORTED("12hm1ht9azi6mmxv4dvc2dvih"); // r = el(job, "rotate ""<%9.3f, %9.3f, %9.3f>""\n", 0.0, 0.0, (float)job->rotation); UNSUPPORTED("e4zn7gmaqed5rgvrdfmn4aws9"); // t = el(job, "translate""<%9.3f, %9.3f, %9.3f>""\n", 0.0, 0.0, z - 2); UNSUPPORTED("av7kz9qqnv0p5fnbcld2iw2qa"); // p = pov_color_as_str(job, job->obj->fillcolor, 0.0); UNSUPPORTED("a24ea5773bp2lh6m5pc3nb3cq"); // pov = el(job, "sphere_sweep {\n" " %s\n" " %d,\n", "b_spline", n + 2); UNSUPPORTED("7lppn4o65696k131iftk9aihq"); // for (i = 0; i < n; i++) { UNSUPPORTED("321e5283swfg4sm1s1vl257nh"); // v = el(job, "<%9.3f, %9.3f, %9.3f>" ", %.3f\n", A[i].x + job->translation.x, A[i].y + job->translation.y, 0.0, job->obj->penwidth); //z coordinate, thickness UNSUPPORTED("4zdxrso8p4mqjcbsmj89gqlte"); // x = el(job, "%s %s", pov, v); //catenate pov & vector v UNSUPPORTED("vfr0wm9gm15yrovhwdzvfjj3"); // free(v); UNSUPPORTED("8aa1al3xqgdhiv4dq7n9t47bu"); // free(pov); UNSUPPORTED("b536z5l52wpzyul7cr4nfyjml"); // pov = x; UNSUPPORTED("a2hqs30x24m07r0la4yg21n03"); // //TODO: we currently just use the start and end points of the curve as UNSUPPORTED("874oelxej10s2jdrj46nlkyhy"); // //control points but we should use center of nodes UNSUPPORTED("33w4htg1ddnzrlrn3aaqx4mih"); // if (i == 0 || i == n - 1) { UNSUPPORTED("ejfxr9c5tlyeymuqusujnge65"); // v = el(job, "<%9.3f, %9.3f, %9.3f>" ", %.3f\n", A[i].x + job->translation.x, A[i].y + job->translation.y, 0.0, job->obj->penwidth); //z coordinate, thickness UNSUPPORTED("117aoj4wdcidfnr09ttcuh0bq"); // x = el(job, "%s %s", pov, v); //catenate pov & vector v UNSUPPORTED("2ms9r7llvwurv03vshuwp33g0"); // free(v); UNSUPPORTED("36ulf5u2x88apdfvl8575t0pw"); // free(pov); UNSUPPORTED("52w8yci1wukx08u5iw209foki"); // pov = x; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6rjarox8bj4qvyn5xm8l44ek3"); // x = el(job, " tolerance 0.01\n %s %s %s %s" "}\n", s, r, t, UNSUPPORTED("75z6hiocdm99uxsymxnekqzz4"); // p); UNSUPPORTED("57yf8g8kqm96q238qx5boux2p"); // pov = el(job, "%s%s", pov, x); //catenate pov & end str UNSUPPORTED("6laycqh8jpxy4ruipf713audd"); // free(x); UNSUPPORTED("3x0tju516ycfkyg76dbmy12z3"); // gvputs(job, pov); UNSUPPORTED("d285xdylp7oj81aar06ulc7kh"); // free(s); UNSUPPORTED("7scwdfzpkx03bafy8mo9p36ku"); // free(r); UNSUPPORTED("9r1kr4nla99ts81ivi2g8ne6q"); // free(t); UNSUPPORTED("cy5x5dma0v4hiepir7lrfuo17"); // free(p); UNSUPPORTED("1nwb9ca1mjxkgynagbneulg58"); // free(pov); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 byjm8zehiu37tz6v8axr9pw3n // static void pov_polygon(GVJ_t * job, pointf * A, int n, int filled) public static Object pov_polygon(Object... arg) { UNSUPPORTED("66neyti84r77ayxgttnq6ja44"); // static void pov_polygon(GVJ_t * job, pointf * A, int n, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7w62ed76qkbpnwrmdmtxuvbqt"); // char *pov, *s, *r, *t, *p, *v, *x; UNSUPPORTED("bbuxsg26kpzb2fl660hjri9l8"); // int i; UNSUPPORTED("7qf2cy4yl409rjtqmxp9e15zk"); // gvputs(job, "//*** polygon\n"); UNSUPPORTED("egmkaiy8ma7d7wgilpj7gjfx8"); // z = layerz - 2; UNSUPPORTED("2omh8jf0yjm0iz8fp4udk4f62"); // s = el(job, "scale ""<%9.3f, %9.3f, %9.3f>""\n", job->scale.x, job->scale.y, 1.0); UNSUPPORTED("12hm1ht9azi6mmxv4dvc2dvih"); // r = el(job, "rotate ""<%9.3f, %9.3f, %9.3f>""\n", 0.0, 0.0, (float)job->rotation); UNSUPPORTED("e4zn7gmaqed5rgvrdfmn4aws9"); // t = el(job, "translate""<%9.3f, %9.3f, %9.3f>""\n", 0.0, 0.0, z - 2); UNSUPPORTED("3boaqla3jgicjsvi0cj6tylfw"); // p = pov_color_as_str(job, job->obj->pencolor, 0.0); UNSUPPORTED("37ahpca2y7feyrvstporqhl8u"); // pov = el(job, "sphere_sweep {\n" " %s\n" " %d,\n", "linear_spline", n + 1); UNSUPPORTED("7lppn4o65696k131iftk9aihq"); // for (i = 0; i < n; i++) { UNSUPPORTED("321e5283swfg4sm1s1vl257nh"); // v = el(job, "<%9.3f, %9.3f, %9.3f>" ", %.3f\n", A[i].x + job->translation.x, A[i].y + job->translation.y, 0.0, job->obj->penwidth); //z coordinate, thickness UNSUPPORTED("4zdxrso8p4mqjcbsmj89gqlte"); // x = el(job, "%s %s", pov, v); //catenate pov & vector v UNSUPPORTED("vfr0wm9gm15yrovhwdzvfjj3"); // free(v); UNSUPPORTED("8aa1al3xqgdhiv4dq7n9t47bu"); // free(pov); UNSUPPORTED("b536z5l52wpzyul7cr4nfyjml"); // pov = x; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("514o3in8i24vfy9zenseu42h1"); // //close polygon, add starting point as final point^ UNSUPPORTED("9tnc5necekjr89isqg9turon9"); // v = el(job, "<%9.3f, %9.3f, %9.3f>" ", %.3f\n", A[0].x + job->translation.x, A[0].y + job->translation.y, 0.0, job->obj->penwidth); //z coordinate, thickness UNSUPPORTED("4ktvr5g349qqwk467rn1z63az"); // x = el(job, "%s %s", pov, v); //catenate pov & vector v UNSUPPORTED("cuo9qqlefcz4kzzualo1de3no"); // free(v); UNSUPPORTED("1nwb9ca1mjxkgynagbneulg58"); // free(pov); UNSUPPORTED("7xz82xouyjrr6uykusy7qpf2w"); // pov = x; UNSUPPORTED("ht1aje0654drgytpm5le9rjh"); // x = el(job, " tolerance 0.1\n %s %s %s %s" "}\n", s, r, t, p); UNSUPPORTED("57yf8g8kqm96q238qx5boux2p"); // pov = el(job, "%s%s", pov, x); //catenate pov & end str UNSUPPORTED("6laycqh8jpxy4ruipf713audd"); // free(x); UNSUPPORTED("3x0tju516ycfkyg76dbmy12z3"); // gvputs(job, pov); UNSUPPORTED("d285xdylp7oj81aar06ulc7kh"); // free(s); UNSUPPORTED("7scwdfzpkx03bafy8mo9p36ku"); // free(r); UNSUPPORTED("9r1kr4nla99ts81ivi2g8ne6q"); // free(t); UNSUPPORTED("cy5x5dma0v4hiepir7lrfuo17"); // free(p); UNSUPPORTED("1nwb9ca1mjxkgynagbneulg58"); // free(pov); UNSUPPORTED("aq1dxinpieit5q7d2nbxcebql"); // //create fill background UNSUPPORTED("2atgu691bmn6h9jvk8lve5qzc"); // if (filled) { UNSUPPORTED("3ruh2ygmjwz4qt3cdfolchjsr"); // s = el(job, "scale ""<%9.3f, %9.3f, %9.3f>""\n", job->scale.x, job->scale.y, 1.0); UNSUPPORTED("95ovvy40bmmuglc6s7uitv3jq"); // r = el(job, "rotate ""<%9.3f, %9.3f, %9.3f>""\n", 0.0, 0.0, (float)job->rotation); UNSUPPORTED("13w1x4vkx03vnimou254113c9"); // t = el(job, "translate""<%9.3f, %9.3f, %9.3f>""\n", 0.0, 0.0, z - 2); UNSUPPORTED("2d03xv6bj4q7cciljhxeyma7w"); // p = pov_color_as_str(job, job->obj->fillcolor, 0.25); UNSUPPORTED("ay7d9vngvzwvfr5gm3r67e4sg"); // pov = el(job, "polygon { %d,\n", n); UNSUPPORTED("2rrnw2qr4kt708c1ryyszovp9"); // for (i = 0; i < n; i++) { UNSUPPORTED("1yhl4u2jvgrqqs92asnmn634"); // //create on z = 0 plane, then translate to real z pos UNSUPPORTED("323gm6pkek1kq1f80pdg2baje"); // v = el(job, "<%9.3f, %9.3f, %9.3f>", UNSUPPORTED("9y7o0jvy5fig3ebzjjuvxrp9"); // A[i].x + job->translation.x, UNSUPPORTED("7dm6pesqrr4ofolkoau22kfyw"); // A[i].y + job->translation.y, 0.0); UNSUPPORTED("5426ydiaul7suvot22wcxj4ql"); // x = el(job, "%s\n %s", pov, v); //catenate pov & vector v UNSUPPORTED("2ms9r7llvwurv03vshuwp33g0"); // free(v); UNSUPPORTED("36ulf5u2x88apdfvl8575t0pw"); // free(pov); UNSUPPORTED("52w8yci1wukx08u5iw209foki"); // pov = x; UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } UNSUPPORTED("1c5gz2uin3fm53ihebst7i310"); // x = el(job, "\n %s %s %s %s" "}\n", s, r, t, p); UNSUPPORTED("a5ui5eg32sxrkxt68rvk1y6nd"); // pov = el(job, "%s%s", pov, x); //catenate pov & end str UNSUPPORTED("akxc4ygimq2dxgjssmv2tcw24"); // free(x); UNSUPPORTED("38o9oyyy59mzbbt6zzozzj5kp"); // gvputs(job, pov); UNSUPPORTED("80itb1itky2rb7sgcktyeypr2"); // free(s); UNSUPPORTED("3t86d4kz7zwqy3xx9m37y0eoa"); // free(r); UNSUPPORTED("iagyh21osy84ww1ekih6gqlh"); // free(t); UNSUPPORTED("8eho71vuxbyqy1c76wpeqzivl"); // free(p); UNSUPPORTED("8aa1al3xqgdhiv4dq7n9t47bu"); // free(pov); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4tenvyj7b9pbo2g8hb5qwdl5e // static void pov_polyline(GVJ_t * job, pointf * A, int n) public static Object pov_polyline(Object... arg) { UNSUPPORTED("6y14qhe4e218exwzocw9x5gfq"); // static void pov_polyline(GVJ_t * job, pointf * A, int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7w62ed76qkbpnwrmdmtxuvbqt"); // char *pov, *s, *r, *t, *p, *v, *x; UNSUPPORTED("bbuxsg26kpzb2fl660hjri9l8"); // int i; UNSUPPORTED("diupy09i3wc1frcvkvjwnyty1"); // gvputs(job, "//*** polyline\n"); UNSUPPORTED("4yafz83qky6zhzfs6o2wgxklk"); // z = layerz - 6; UNSUPPORTED("2omh8jf0yjm0iz8fp4udk4f62"); // s = el(job, "scale ""<%9.3f, %9.3f, %9.3f>""\n", job->scale.x, job->scale.y, 1.0); UNSUPPORTED("12hm1ht9azi6mmxv4dvc2dvih"); // r = el(job, "rotate ""<%9.3f, %9.3f, %9.3f>""\n", 0.0, 0.0, (float)job->rotation); UNSUPPORTED("9wdvdavwfn1nyjtjdobqa9137"); // t = el(job, "translate""<%9.3f, %9.3f, %9.3f>""\n", 0.0, 0.0, z); UNSUPPORTED("3boaqla3jgicjsvi0cj6tylfw"); // p = pov_color_as_str(job, job->obj->pencolor, 0.0); UNSUPPORTED("dp2pkyhb12fz76mwb5hgddd7l"); // pov = el(job, "sphere_sweep {\n" " %s\n" " %d,\n", "linear_spline", n); UNSUPPORTED("7lppn4o65696k131iftk9aihq"); // for (i = 0; i < n; i++) { UNSUPPORTED("321e5283swfg4sm1s1vl257nh"); // v = el(job, "<%9.3f, %9.3f, %9.3f>" ", %.3f\n", A[i].x + job->translation.x, A[i].y + job->translation.y, 0.0, job->obj->penwidth); //z coordinate, thickness UNSUPPORTED("4zdxrso8p4mqjcbsmj89gqlte"); // x = el(job, "%s %s", pov, v); //catenate pov & vector v UNSUPPORTED("vfr0wm9gm15yrovhwdzvfjj3"); // free(v); UNSUPPORTED("8aa1al3xqgdhiv4dq7n9t47bu"); // free(pov); UNSUPPORTED("b536z5l52wpzyul7cr4nfyjml"); // pov = x; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5oy4ofx9kib8m20osqf5183js"); // x = el(job, " tolerance 0.01\n %s %s %s %s" "}\n", s, r, t, p); UNSUPPORTED("57yf8g8kqm96q238qx5boux2p"); // pov = el(job, "%s%s", pov, x); //catenate pov & end str UNSUPPORTED("6laycqh8jpxy4ruipf713audd"); // free(x); UNSUPPORTED("3x0tju516ycfkyg76dbmy12z3"); // gvputs(job, pov); UNSUPPORTED("d285xdylp7oj81aar06ulc7kh"); // free(s); UNSUPPORTED("7scwdfzpkx03bafy8mo9p36ku"); // free(r); UNSUPPORTED("9r1kr4nla99ts81ivi2g8ne6q"); // free(t); UNSUPPORTED("cy5x5dma0v4hiepir7lrfuo17"); // free(p); UNSUPPORTED("1nwb9ca1mjxkgynagbneulg58"); // free(pov); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 60ddyecwuwk1q703j08lxofaw // gvrender_engine_t pov_engine = //1 3mk6p83k5m6nkdmz9a3zgngia // gvrender_features_t render_features_pov = //1 4vl7xgwqefutkozj8utzeuuwh // gvdevice_features_t device_features_pov = //1 4xnrqrdo6vuoa096fq2ib607n // gvplugin_installed_t gvrender_pov_types[] = //1 7glwt7v8poq3kemx5yiig02a8 // gvplugin_installed_t gvdevice_pov_types[] = } plantuml-1.2018.13+ds/src/gen/plugin/core/gvrender_core_ps__c.java000066400000000000000000001041321340005343600247040ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.plugin.core; import static smetana.core.Macro.UNSUPPORTED; public class gvrender_core_ps__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 1qtflsog3urfbtfk7yequcb6l // static const char *ps_txt[] = //1 7fq6ozjgi243ox7yrdb2ep5lx // static int isLatin1 //1 u3p8me9bh8fnyshn034rzpzo // static char setupLatin1 //3 4jsbd8kmwbzb2dkxcq0akopqt // static void psgen_begin_job(GVJ_t * job) public static Object psgen_begin_job(Object... arg) { UNSUPPORTED("9orw8eslfn5kltlv212oz9m4t"); // static void psgen_begin_job(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2gqkshnzesys4oyr4v83wtm7r"); // gvputs(job, "%!PS-Adobe-3.0"); UNSUPPORTED("10cxufp7bdbg3focj7i2ji75x"); // if (job->render.id == FORMAT_EPS) UNSUPPORTED("d7jryk3bdwpt507jq18ibacn5"); // gvputs(job, " EPSF-3.0\n"); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("ab9vno2hfka5wkcaq86o3njmq"); // gvputs(job, "\n"); UNSUPPORTED("dv3jmvt7myav44xtzcqkbrvpa"); // gvprintf(job, "%%%%Creator: %s version %s (%s)\n", UNSUPPORTED("4avcb2reh8m3qem3f2716wav3"); // job->common->info[0], job->common->info[1], job->common->info[2]); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3vsgq26dsfvpzsck4p2l68jv8 // static void psgen_end_job(GVJ_t * job) public static Object psgen_end_job(Object... arg) { UNSUPPORTED("829ltuhwlzr8hozer6oad9sz5"); // static void psgen_end_job(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("djedkpe7zjd45r39k271iaxcu"); // gvputs(job, "%%Trailer\n"); UNSUPPORTED("b3iu4ks8uomai9twz4bxnbipx"); // if (job->render.id != FORMAT_EPS) UNSUPPORTED("36ngacoh31azhdowttvvpjjk2"); // gvprintf(job, "%%%%Pages: %d\n", job->common->viewNum); UNSUPPORTED("dgmf05k9an1qfxjxd97hq1buj"); // if (job->common->show_boxes == NULL) UNSUPPORTED("6h3w6ikmuw9ywilwm2qpevp3l"); // if (job->render.id != FORMAT_EPS) UNSUPPORTED("18j4zj26y29rtjxd0cekzpfee"); // gvprintf(job, "%%%%BoundingBox: %d %d %d %d\n", UNSUPPORTED("dxbze4i780qyz19i2rh8y5jht"); // job->boundingBox.LL.x, job->boundingBox.LL.y, UNSUPPORTED("60out7dqilui46fgktwm5ej8r"); // job->boundingBox.UR.x, job->boundingBox.UR.y); UNSUPPORTED("c1p513mbeu7uv14dlqfw6abkg"); // gvputs(job, "end\nrestore\n"); UNSUPPORTED("4uqbd6po1wgmrs3zrxz4ik9mw"); // gvputs(job, "%%EOF\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3gb6ikypoueyb2y6i764cxbhx // static void psgen_begin_graph(GVJ_t * job) public static Object psgen_begin_graph(Object... arg) { UNSUPPORTED("apgmzjzeua7qxnlanxaxe3hua"); // static void psgen_begin_graph(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("bhf3m2sbf59gs5cg8rpaiywew"); // setupLatin1 = 0; UNSUPPORTED("8bju5ndiwsdb8q2ly29dv84wm"); // if (job->common->viewNum == 0) { UNSUPPORTED("7q41bmyw0rrgi4x6negigle3m"); // gvprintf(job, "%%%%Title: %s\n", agnameof(obj->u.g)); UNSUPPORTED("5n912p3phcw0i5akike49jiqc"); // if (job->render.id != FORMAT_EPS) UNSUPPORTED("8aqdygs4r7d8g3i6xp7mj8e50"); // gvputs(job, "%%Pages: (atend)\n"); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("4vsc5buyrhwh1ovu2agkm6zjy"); // gvputs(job, "%%Pages: 1\n"); UNSUPPORTED("d56ndgp8enkjfui03ixmhufw3"); // if (job->common->show_boxes == NULL) { UNSUPPORTED("w7ueydz0ch59r5x7jz39zgtp"); // if (job->render.id != FORMAT_EPS) UNSUPPORTED("bxgfbxaraautik8cspg1wmptv"); // gvputs(job, "%%BoundingBox: (atend)\n"); UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("6wpp34s0c7tqg0wv4g8ltebzm"); // gvprintf(job, "%%%%BoundingBox: %d %d %d %d\n", UNSUPPORTED("1smwnfuueu6rmd1bgwt1zhvtx"); // job->pageBoundingBox.LL.x, job->pageBoundingBox.LL.y, UNSUPPORTED("6lr43m798s3534swmbhen5m0q"); // job->pageBoundingBox.UR.x, job->pageBoundingBox.UR.y); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("6q85d3glhzmompt5xmvj42zoa"); // gvputs(job, "%%EndComments\nsave\n"); UNSUPPORTED("c9ohr5sqm5pydsv4h8o12ku9h"); // /* include shape library */ UNSUPPORTED("sk0bwxtidaigb1oi4xkk10up"); // cat_libfile(job, job->common->lib, ps_txt); UNSUPPORTED("clqt6n30kglwpmnxf6ayp06x9"); // /* include epsf */ UNSUPPORTED("61opdwqs031lj4tzzg2sgcci2"); // epsf_define(job); UNSUPPORTED("6vg9px4q8r7fdndbyt64w62lt"); // if (job->common->show_boxes) { UNSUPPORTED("edalkp7jyj28icbidbcmfsz4y"); // const char* args[2]; UNSUPPORTED("912tsmkymhqfhqp25qexxz6m5"); // args[0] = job->common->show_boxes[0]; UNSUPPORTED("83o9dwn4xs47t734kcj652p5p"); // args[1] = NULL; UNSUPPORTED("7miirzhxs42qrp2ovadq92khu"); // cat_libfile(job, NULL, args); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("33xxzmz1g6bggeapvxm1zx9yr"); // isLatin1 = (GD_charset(obj->u.g) == 1 ? 1 : -1); UNSUPPORTED("1xv4b98ox7mq8hhp97i19zfor"); // /* We always setup Latin1. The charset info is always output, UNSUPPORTED("1d9yupk35hp3i9e12yycbevaz"); // * and installing it is cheap. With it installed, we can then UNSUPPORTED("m5mzxzrnlpf7h3hy7np9zmd0"); // * rely on ps_string to convert UTF-8 characters whose encoding UNSUPPORTED("cajcmda1cmsbpwhy0mvm56dao"); // * is in the range of Latin-1 into the Latin-1 equivalent and UNSUPPORTED("eko1rvgwxxxitm2caqgogrvhq"); // * get the expected PostScript output. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("a6gal7mia1c9lnenwqr2je5bh"); // if (!setupLatin1) { UNSUPPORTED("erhruwqa7hy0mxl27hsdhwjvq"); // gvputs(job, "setupLatin1\n"); /* as defined in ps header */ UNSUPPORTED("4yyacs2oqpdxm2x0r5pdup66w"); // setupLatin1 = NOT(0); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6szrbi81oehk1yhwceaheeuev"); // /* Set base URL for relative links (for Distiller >= 3.0) */ UNSUPPORTED("4jozt8n5f1lyy86sk34jfrvgg"); // if (obj->url) UNSUPPORTED("36rstk5tbud6jtt4g6z61q808"); // gvprintf(job, "[ {Catalog} << /URI << /Base %s >> >>\n" UNSUPPORTED("d3gnahi0ckutslapcmkiqsd7p"); // "/PUT pdfmark\n", ps_string(obj->url,isLatin1)); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ar4xx7dz90q15xh2y4klc4num // static void psgen_begin_layer(GVJ_t * job, char *layername, int layerNum, int numLayers) public static Object psgen_begin_layer(Object... arg) { UNSUPPORTED("agsvap2lizd7txyml3u0vrp85"); // static void psgen_begin_layer(GVJ_t * job, char *layername, int layerNum, int numLayers) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("61nwew8w1g6gyi8sfcje734f0"); // gvprintf(job, "%d %d setlayer\n", layerNum, numLayers); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7m0sjz6ewwd4y7tot8bmcfcei // static void psgen_begin_page(GVJ_t * job) public static Object psgen_begin_page(Object... arg) { UNSUPPORTED("cogyrlqcthcac2sfe3ms3b7v8"); // static void psgen_begin_page(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("76g96x1rehn6s0a72jz2no0bi"); // box pbr = job->pageBoundingBox; UNSUPPORTED("br2sfjk7c29me4e6ggop0ljk3"); // gvprintf(job, "%%%%Page: %d %d\n", UNSUPPORTED("17n0zsnmgi4zptncq1uvxywuu"); // job->common->viewNum + 1, job->common->viewNum + 1); UNSUPPORTED("dgmf05k9an1qfxjxd97hq1buj"); // if (job->common->show_boxes == NULL) UNSUPPORTED("68yf7k1sgpmnim51dqkg7iijt"); // gvprintf(job, "%%%%PageBoundingBox: %d %d %d %d\n", UNSUPPORTED("21d5hfu7mone3g6dbuen2sgg3"); // pbr.LL.x, pbr.LL.y, pbr.UR.x, pbr.UR.y); UNSUPPORTED("3x0ssk90v3lg33lsr6b4ula1p"); // gvprintf(job, "%%%%PageOrientation: %s\n", UNSUPPORTED("78a69y96uj20rf1bjroairawi"); // (job->rotation ? "Landscape" : "Portrait")); UNSUPPORTED("2ztdn9tzegcfj0564qx2gwyq0"); // if (job->render.id == FORMAT_PS2) UNSUPPORTED("3uk2omkh4h2oh9x6p6gdfgezn"); // gvprintf(job, "<< /PageSize [%d %d] >> setpagedevice\n", UNSUPPORTED("alr7wses0g3ewh8vkfvlk58fc"); // pbr.UR.x, pbr.UR.y); UNSUPPORTED("4h7sybrqpqww3pcpixnfe21z6"); // gvprintf(job, "%d %d %d beginpage\n", UNSUPPORTED("96jucytj8f7c6fy6z1gy6r1ze"); // job->pagesArrayElem.x, job->pagesArrayElem.y, job->numPages); UNSUPPORTED("dgmf05k9an1qfxjxd97hq1buj"); // if (job->common->show_boxes == NULL) UNSUPPORTED("5koijcwi38ci3a4qx13pvfwlw"); // gvprintf(job, "gsave\n%d %d %d %d boxprim clip newpath\n", UNSUPPORTED("9clbdsb3beptgdszw41ynvu0p"); // pbr.LL.x, pbr.LL.y, pbr.UR.x-pbr.LL.x, pbr.UR.y-pbr.LL.y); UNSUPPORTED("4a7e5k6q3rlacd537rx9ub20c"); // gvprintf(job, "%g %g set_scale %d rotate %g %g translate\n", UNSUPPORTED("10afwn16gj676dpglziigsm50"); // job->scale.x, job->scale.y, UNSUPPORTED("a1cdlhacjn1xlkc1yude0wrql"); // job->rotation, UNSUPPORTED("c7ifb58gy4lomkldshbldytbo"); // job->translation.x, job->translation.y); UNSUPPORTED("1z8ea74p9uxtwtwscul3o3jz7"); // /* Define the size of the PS canvas */ UNSUPPORTED("4sr6w5mogwrv0l5izwjeu7ryc"); // if (job->render.id == FORMAT_PS2) { UNSUPPORTED("co3q2mi6gjxi3gchpln4w4567"); // if (pbr.UR.x >= 14400 || pbr.UR.y >= 14400) UNSUPPORTED("31162iy3wjwmhqlutqv8nfc7d"); // job->common->errorfn("canvas size (%d,%d) exceeds PDF limit (%d)\n" UNSUPPORTED("an7h4u4y334blwkn06120ydt5"); // "\t(suggest setting a bounding box size, see dot(1))\n", UNSUPPORTED("c56zgl5pu3nxenerpmp3f3o0z"); // pbr.UR.x, pbr.UR.y, 14400); UNSUPPORTED("dxf3rvnawk3z9x2n179fzbxt9"); // gvprintf(job, "[ /CropBox [%d %d %d %d] /PAGES pdfmark\n", UNSUPPORTED("ddbug0c0aj9lbqu8f829kzjvm"); // pbr.LL.x, pbr.LL.y, pbr.UR.x, pbr.UR.y); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7jxfd86j0csce75s68ekegiq6 // static void psgen_end_page(GVJ_t * job) public static Object psgen_end_page(Object... arg) { UNSUPPORTED("5uicvg0h4t78pg6xobhau861e"); // static void psgen_end_page(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3u573a16zqopxfboi2w0zqqzz"); // if (job->common->show_boxes) { UNSUPPORTED("8uc8ww599n2y8x603qf4a4b06"); // gvputs(job, "0 0 0 edgecolor\n"); UNSUPPORTED("c67xlny46u43tnb3m46iy32o4"); // cat_libfile(job, NULL, job->common->show_boxes + 1); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5flwz55ptjslg8li9ttksuap5"); // /* the showpage is really a no-op, but at least one PS processor UNSUPPORTED("9eh3687p6imh9z6upt3sok5ka"); // * out there needs to see this literal token. endpage does the real work. UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ UNSUPPORTED("2jczhqdkf2v0tvqskulv69qq3"); // gvputs(job, "endpage\nshowpage\ngrestore\n"); UNSUPPORTED("eof3ypspah8sg4phxnbptv9l"); // gvputs(job, "%%PageTrailer\n"); UNSUPPORTED("48g7wddoi0h6l2ma38gg97vcs"); // gvprintf(job, "%%%%EndPage: %d\n", job->common->viewNum); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 64yihbmjh014pmpusuctsl3sl // static void psgen_begin_cluster(GVJ_t * job) public static Object psgen_begin_cluster(Object... arg) { UNSUPPORTED("9m23jcvafreyz22sgraim1dr6"); // static void psgen_begin_cluster(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("e2btf3o0oasmpyurrr5iedyei"); // gvprintf(job, "%% %s\n", agnameof(obj->u.g)); UNSUPPORTED("br61vl70v0xgjsjgnfhks64fr"); // gvputs(job, "gsave\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3yzoaq9nyxn75ghsk94xknu7c // static void psgen_end_cluster(GVJ_t * job) public static Object psgen_end_cluster(Object... arg) { UNSUPPORTED("x7ci6jzq6e6cbwdkt9cbd1az"); // static void psgen_end_cluster(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8efwipnmlx4cesl8wwb0fxsi1"); // gvputs(job, "grestore\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4gsfnvgb2qcux6uz1kdumc5vr // static void psgen_begin_node(GVJ_t * job) public static Object psgen_begin_node(Object... arg) { UNSUPPORTED("4ngrphh4a1xs5qfo6vgfzqgh0"); // static void psgen_begin_node(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("br61vl70v0xgjsjgnfhks64fr"); // gvputs(job, "gsave\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 f0az3wc3ll61cwwyyr8dsyphs // static void psgen_end_node(GVJ_t * job) public static Object psgen_end_node(Object... arg) { UNSUPPORTED("ecuij4nzrh3ztsf6nmjoubsqu"); // static void psgen_end_node(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8efwipnmlx4cesl8wwb0fxsi1"); // gvputs(job, "grestore\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6d5xpnziymgn6d0min85jfjvv // static void psgen_begin_edge(GVJ_t * job) public static Object psgen_begin_edge(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("eni14d6lyslf5a4etuic39aa8"); // psgen_begin_edge(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("br61vl70v0xgjsjgnfhks64fr"); // gvputs(job, "gsave\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1smwxyj2mbjasopcdnl2snrpe // static void psgen_end_edge(GVJ_t * job) public static Object psgen_end_edge(Object... arg) { UNSUPPORTED("f2g7y2r104tklwtr280jfpf5h"); // static void psgen_end_edge(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8efwipnmlx4cesl8wwb0fxsi1"); // gvputs(job, "grestore\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 b0pad7wyg5jnhkvyvxxfex8ij // static void psgen_begin_anchor(GVJ_t *job, char *url, char *tooltip, char *target, char *id) public static Object psgen_begin_anchor(Object... arg) { UNSUPPORTED("51xu7flm3qjo0cjkkrc57auwy"); // static void psgen_begin_anchor(GVJ_t *job, char *url, char *tooltip, char *target, char *id) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("9cok0gxbmxzogxgwng4xmi787"); // if (url && obj->url_map_p) { UNSUPPORTED("18v6n3l39cjzkzv2qek8f5afv"); // gvputs(job, "[ /Rect [ "); UNSUPPORTED("chip985p4cjoasqpkgaiuru5f"); // gvprintpointflist(job, obj->url_map_p, 2); UNSUPPORTED("672y6r8zwkhwb44q91feajtwe"); // gvputs(job, " ]\n"); UNSUPPORTED("15sn5jwyf74feyieb8amxyl2n"); // gvprintf(job, " /Border [ 0 0 0 ]\n" UNSUPPORTED("efeqhwnyncozgnojuosrolj8l"); // " /Action << /Subtype /URI /URI %s >>\n" UNSUPPORTED("5zen76z1f3ruolu46nam3b8sm"); // " /Subtype /Link\n" UNSUPPORTED("4xsvt507xerg3xtxu3l0co4zn"); // "/ANN pdfmark\n", UNSUPPORTED("2xp015vqrvd5x2cu42yttmbvv"); // ps_string(url, isLatin1)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 azkjcny2ozhl5ngrex3xy1920 // static void ps_set_pen_style(GVJ_t *job) public static Object ps_set_pen_style(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("7tbc3p5jgba58vc3atp666q9o"); // ps_set_pen_style(GVJ_t *job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3jhg4yacyumgqbahinlar0ugn"); // double penwidth = job->obj->penwidth; UNSUPPORTED("9nzbcv0dhv0ufp0gxl6imgp7c"); // char *p, *line, **s = job->obj->rawstyle; UNSUPPORTED("a54kc8hkuqkvqgh8t0g3edgg6"); // gvprintdouble(job, penwidth); UNSUPPORTED("193mrkgt2kaa19s0ahu3qlpvn"); // gvputs(job," setlinewidth\n"); UNSUPPORTED("exk7aqfswofs5s40p0nulkkbq"); // while (s && (p = line = *s++)) { UNSUPPORTED("996bsna1tw4r0r1j0ontx6960"); // if (strcmp(line, "setlinewidth") == 0) UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; UNSUPPORTED("yxnvzyld8ixj1ioqsioffpte"); // while (*p) UNSUPPORTED("847zwwso12sey42b59zepembc"); // p++; UNSUPPORTED("2wdgcrx402aszs54rq2kh9txd"); // p++; UNSUPPORTED("1bnbwdqgkfyku19nvuttx2w2d"); // while (*p) { UNSUPPORTED("32m73n62g8mlcoc4opqo15aug"); // gvprintf(job,"%s ", p); UNSUPPORTED("48rrlpibv3umwc6ofz2eg3007"); // while (*p) UNSUPPORTED("f0iluvyv5shsjqi6qh07pclgc"); // p++; UNSUPPORTED("847zwwso12sey42b59zepembc"); // p++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3uz4rodnpqcb2rgbcjlk95s2c"); // if (strcmp(line, "invis") == 0) UNSUPPORTED("1tn42ug84sznim8sne8iif91k"); // job->obj->penwidth = 0; UNSUPPORTED("f3bcgmltuhfwlwib8wdxiq8vz"); // gvprintf(job, "%s\n", line); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ewmcmbew48t6xoasz1f2dg37q // static void ps_set_color(GVJ_t *job, gvcolor_t *color) public static Object ps_set_color(Object... arg) { UNSUPPORTED("97ps1rl0dp2n5licoxgmtrh4d"); // static void ps_set_color(GVJ_t *job, gvcolor_t *color) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("aqb0odbaeg51ab9k2c5qo3x9x"); // char *objtype; UNSUPPORTED("aut7kl4l7gn4g3hxqkru7ilg4"); // if (color) { UNSUPPORTED("5loilaiyk3wcqxx79q7zkv8pe"); // switch (job->obj->type) { UNSUPPORTED("4twjeggzt94nyvkfk4ngj7uqp"); // case ROOTGRAPH_OBJTYPE: UNSUPPORTED("bs92udgg6yjwdh38r8entr4c"); // case CLUSTER_OBJTYPE: UNSUPPORTED("4nfiirl3mvtumxrrh21gbk154"); // objtype = "graph"; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("c7xs8ak1x3jqu2f4z7haikpgw"); // case NODE_OBJTYPE: UNSUPPORTED("31u8h2s30zfu9ub2557w6y2n1"); // objtype = "node"; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("5cvje3cnq8nvl851sut6sdhs9"); // case EDGE_OBJTYPE: UNSUPPORTED("4aw3ehtuh69fgbi7j764udybx"); // objtype = "edge"; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("bt2g0yhsy3c7keqyftf3c98ut"); // default: UNSUPPORTED("6o2vs9xfrblfvi3oi2nzlvsaa"); // objtype = "sethsb"; UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("3xu9fluch6hl1rf5xj3p7bmwh"); // gvprintf(job, "%.5g %.5g %.5g %scolor\n", UNSUPPORTED("bfjslqaz3l8lvo8opshvafth"); // color->u.HSVA[0], color->u.HSVA[1], color->u.HSVA[2], objtype); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ay05ube2905przfamsvtiz6l6 // static void psgen_textspan(GVJ_t * job, pointf p, textspan_t * span) public static Object psgen_textspan(Object... arg) { UNSUPPORTED("d3apfsoqjlwvrkzxkew5ymyrd"); // static void psgen_textspan(GVJ_t * job, pointf p, textspan_t * span) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("76nok3eiyr33qf4ecv69ujxn6"); // char *str; UNSUPPORTED("27583bfrnkeiouhqlzq21bpee"); // if (job->obj->pencolor.u.HSVA[3] < .5) UNSUPPORTED("6p588rupwy8yjjk196zz8qcvj"); // return; /* skip transparent text */ UNSUPPORTED("78h44lidscrr82izbmmtwxpvy"); // ps_set_color(job, &(job->obj->pencolor)); UNSUPPORTED("33ezxcuazz0b3dqe48eqxi81p"); // gvprintdouble(job, span->font->size); UNSUPPORTED("29wnsn5uix8ajohqm9brgm9gr"); // gvprintf(job, " /%s set_font\n", span->font->name); UNSUPPORTED("9mljtbtg6rnqp0ppoda72glkp"); // str = ps_string(span->str,isLatin1); UNSUPPORTED("bpqxh9mig0sh1gasrlkg6hbph"); // switch (span->just) { UNSUPPORTED("8pu80wsk8me7q17ensqlviq86"); // case 'r': UNSUPPORTED("lzwxwwf5wl644m2hvx2zioue"); // p.x -= span->size.x; UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("15tf5rbprgr65ucp24e4bba9t"); // case 'l': UNSUPPORTED("5u1yeddr7gxqz7isver6zd56p"); // p.x -= 0.0; UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("37fbny64zwo23oymypyreuldc"); // case 'n': UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("e3odj4lftxsik5ovvxgbu6ddv"); // p.x -= span->size.x / 2.0; UNSUPPORTED("bzxyddcf9jharsko2rb8asyik"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c9qtg5nyqzscz54w8w9mfwv7v"); // p.y += span->yoffset_centerline; UNSUPPORTED("i7zx9lpif6lu4yrqqzsw2a4o"); // gvprintpointf(job, p); UNSUPPORTED("bj02ifjyeidil7b0nmgp8v2p3"); // gvputs(job, " moveto "); UNSUPPORTED("ckz29c0pawvdlkc5buih60dss"); // gvprintdouble(job, span->size.x); UNSUPPORTED("8lffoflzrv4a2q19ehsyhtrpb"); // gvprintf(job, " %s alignedtext\n", str); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1g8u7srxnvq1rd50aunp0in6i // static void psgen_ellipse(GVJ_t * job, pointf * A, int filled) public static Object psgen_ellipse(Object... arg) { UNSUPPORTED("2jfirodbjd67iil3z6l362as"); // static void psgen_ellipse(GVJ_t * job, pointf * A, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8tuvacxowvjyekfxkm6dgvp8f"); // /* A[] contains 2 points: the center and corner. */ UNSUPPORTED("6c99ntmslfdjq7lacoxq90io4"); // pointf AA[2]; UNSUPPORTED("9m1ds5xbx68961mur5f3hmoa0"); // AA[0] = A[0]; UNSUPPORTED("ad7su3a8dtyp8cqjizxb1fa0w"); // AA[1].x = A[1].x - A[0].x; UNSUPPORTED("2k9sojs8nidphiuatou9i7dmw"); // AA[1].y = A[1].y - A[0].y; UNSUPPORTED("2ream5c4u1f89xiwzlijg1ydk"); // if (filled && job->obj->fillcolor.u.HSVA[3] > .5) { UNSUPPORTED("ba0yi3he6a0tf9iisvs2r7lud"); // ps_set_color(job, &(job->obj->fillcolor)); UNSUPPORTED("c9ias5z64yrffrtfmr2jmrp6o"); // gvprintpointflist(job, AA, 2); UNSUPPORTED("7gxao5sidmj76sv5nozugni5x"); // gvputs(job, " ellipse_path fill\n"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5745blic5ogwm4kppw7oweo2d"); // if (job->obj->pencolor.u.HSVA[3] > .5) { UNSUPPORTED("21kugn3mt0fvrcqbct2bxlb7t"); // ps_set_pen_style(job); UNSUPPORTED("axvgzd7tszpjn2lhenmufiumy"); // ps_set_color(job, &(job->obj->pencolor)); UNSUPPORTED("c9ias5z64yrffrtfmr2jmrp6o"); // gvprintpointflist(job, AA, 2); UNSUPPORTED("5zt3wwgax2r40r61om4iuqlfx"); // gvputs(job, " ellipse_path stroke\n"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dbmkwnmkz2w3ar1495wtjqo79 // static void psgen_bezier(GVJ_t * job, pointf * A, int n, int arrow_at_start, int arrow_at_end, int filled) public static Object psgen_bezier(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("9fpyhlu20gavb794dxeeud675"); // psgen_bezier(GVJ_t * job, pointf * A, int n, int arrow_at_start, UNSUPPORTED("e5hr0515188mok0vrr6ri5swt"); // int arrow_at_end, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2bs0wcp6367dz1o5x166ec7l8"); // int j; UNSUPPORTED("2ream5c4u1f89xiwzlijg1ydk"); // if (filled && job->obj->fillcolor.u.HSVA[3] > .5) { UNSUPPORTED("ba0yi3he6a0tf9iisvs2r7lud"); // ps_set_color(job, &(job->obj->fillcolor)); UNSUPPORTED("eb3xzimrw2og0neoowz566azn"); // gvputs(job, "newpath "); UNSUPPORTED("bjs7upob2hu49ojei4bhcfxz7"); // gvprintpointf(job, A[0]); UNSUPPORTED("d8x140qupg29prem26ttu4koj"); // gvputs(job, " moveto\n"); UNSUPPORTED("8wzekl6ndy167eorf6dv1b631"); // for (j = 1; j < n; j += 3) { UNSUPPORTED("3xyqg3mc833hr109cg8gvmv2t"); // gvprintpointflist(job, &A[j], 3); UNSUPPORTED("1m65lci1avkdlwjkxllj4m6gw"); // gvputs(job, " curveto\n"); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("i9jma968ecg2ludmdn9y0lee"); // gvputs(job, "closepath fill\n"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5745blic5ogwm4kppw7oweo2d"); // if (job->obj->pencolor.u.HSVA[3] > .5) { UNSUPPORTED("21kugn3mt0fvrcqbct2bxlb7t"); // ps_set_pen_style(job); UNSUPPORTED("axvgzd7tszpjn2lhenmufiumy"); // ps_set_color(job, &(job->obj->pencolor)); UNSUPPORTED("eb3xzimrw2og0neoowz566azn"); // gvputs(job, "newpath "); UNSUPPORTED("bjs7upob2hu49ojei4bhcfxz7"); // gvprintpointf(job, A[0]); UNSUPPORTED("d8x140qupg29prem26ttu4koj"); // gvputs(job, " moveto\n"); UNSUPPORTED("8wzekl6ndy167eorf6dv1b631"); // for (j = 1; j < n; j += 3) { UNSUPPORTED("3xyqg3mc833hr109cg8gvmv2t"); // gvprintpointflist(job, &A[j], 3); UNSUPPORTED("1m65lci1avkdlwjkxllj4m6gw"); // gvputs(job, " curveto\n"); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("87zw9vd7draxbwfkbyy134lil"); // gvputs(job, "stroke\n"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3uv0mikukldcg9dyvrcagotsn // static void psgen_polygon(GVJ_t * job, pointf * A, int n, int filled) public static Object psgen_polygon(Object... arg) { UNSUPPORTED("4qcfsf0li4k9lm1473wfiyl8a"); // static void psgen_polygon(GVJ_t * job, pointf * A, int n, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2bs0wcp6367dz1o5x166ec7l8"); // int j; UNSUPPORTED("2ream5c4u1f89xiwzlijg1ydk"); // if (filled && job->obj->fillcolor.u.HSVA[3] > .5) { UNSUPPORTED("ba0yi3he6a0tf9iisvs2r7lud"); // ps_set_color(job, &(job->obj->fillcolor)); UNSUPPORTED("eb3xzimrw2og0neoowz566azn"); // gvputs(job, "newpath "); UNSUPPORTED("bjs7upob2hu49ojei4bhcfxz7"); // gvprintpointf(job, A[0]); UNSUPPORTED("d8x140qupg29prem26ttu4koj"); // gvputs(job, " moveto\n"); UNSUPPORTED("d3tqpplutqsilsr0svy23b35k"); // for (j = 1; j < n; j++) { UNSUPPORTED("de5j1zrilg6nolqeb004l2e18"); // gvprintpointf(job, A[j]); UNSUPPORTED("2u9oh4cykwgv0xspreoaonj0k"); // gvputs(job, " lineto\n"); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("i9jma968ecg2ludmdn9y0lee"); // gvputs(job, "closepath fill\n"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5745blic5ogwm4kppw7oweo2d"); // if (job->obj->pencolor.u.HSVA[3] > .5) { UNSUPPORTED("21kugn3mt0fvrcqbct2bxlb7t"); // ps_set_pen_style(job); UNSUPPORTED("axvgzd7tszpjn2lhenmufiumy"); // ps_set_color(job, &(job->obj->pencolor)); UNSUPPORTED("eb3xzimrw2og0neoowz566azn"); // gvputs(job, "newpath "); UNSUPPORTED("bjs7upob2hu49ojei4bhcfxz7"); // gvprintpointf(job, A[0]); UNSUPPORTED("d8x140qupg29prem26ttu4koj"); // gvputs(job, " moveto\n"); UNSUPPORTED("8d369cvojmdwbhvjfm3dy9wci"); // for (j = 1; j < n; j++) { UNSUPPORTED("de5j1zrilg6nolqeb004l2e18"); // gvprintpointf(job, A[j]); UNSUPPORTED("2u9oh4cykwgv0xspreoaonj0k"); // gvputs(job, " lineto\n"); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("94j5qi9ukl2l2ogh7z7dosq32"); // gvputs(job, "closepath stroke\n"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 emshu7ex2sb49zftzpu7v7nl8 // static void psgen_polyline(GVJ_t * job, pointf * A, int n) public static Object psgen_polyline(Object... arg) { UNSUPPORTED("dzdwhrdgsj0bxjp7f2uws63rf"); // static void psgen_polyline(GVJ_t * job, pointf * A, int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2bs0wcp6367dz1o5x166ec7l8"); // int j; UNSUPPORTED("5745blic5ogwm4kppw7oweo2d"); // if (job->obj->pencolor.u.HSVA[3] > .5) { UNSUPPORTED("21kugn3mt0fvrcqbct2bxlb7t"); // ps_set_pen_style(job); UNSUPPORTED("axvgzd7tszpjn2lhenmufiumy"); // ps_set_color(job, &(job->obj->pencolor)); UNSUPPORTED("eb3xzimrw2og0neoowz566azn"); // gvputs(job, "newpath "); UNSUPPORTED("bjs7upob2hu49ojei4bhcfxz7"); // gvprintpointf(job, A[0]); UNSUPPORTED("d8x140qupg29prem26ttu4koj"); // gvputs(job, " moveto\n"); UNSUPPORTED("8d369cvojmdwbhvjfm3dy9wci"); // for (j = 1; j < n; j++) { UNSUPPORTED("de5j1zrilg6nolqeb004l2e18"); // gvprintpointf(job, A[j]); UNSUPPORTED("2u9oh4cykwgv0xspreoaonj0k"); // gvputs(job, " lineto\n"); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("87zw9vd7draxbwfkbyy134lil"); // gvputs(job, "stroke\n"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2gsov0kt2cm8uz4mmsiy83z46 // static void psgen_comment(GVJ_t * job, char *str) public static Object psgen_comment(Object... arg) { UNSUPPORTED("45z5nair27wr5kf22brmgmms1"); // static void psgen_comment(GVJ_t * job, char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("64ek15nfld1t8q7vi9x33fpvy"); // gvputs(job, "% "); UNSUPPORTED("de7p50zdgdv1ycamcx5ibians"); // gvputs(job, str); UNSUPPORTED("b7eafy5bhxn361xe2c8x8553b"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 f2bghtv809eimejb28i73kzia // static void psgen_library_shape(GVJ_t * job, char *name, pointf * A, int n, int filled) public static Object psgen_library_shape(Object... arg) { UNSUPPORTED("dn0m6cdwn28bcu1u2vmoy1a2c"); // static void psgen_library_shape(GVJ_t * job, char *name, pointf * A, int n, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("2ream5c4u1f89xiwzlijg1ydk"); // if (filled && job->obj->fillcolor.u.HSVA[3] > .5) { UNSUPPORTED("ba0yi3he6a0tf9iisvs2r7lud"); // ps_set_color(job, &(job->obj->fillcolor)); UNSUPPORTED("2p1j7dn4pu0imzbf77mre9k3s"); // gvputs(job, "[ "); UNSUPPORTED("af44mg78omj8g3sx02euas8s"); // gvprintpointflist(job, A, n); UNSUPPORTED("8dk2likbqm43q0p28bspn3ux4"); // gvputs(job, " "); UNSUPPORTED("didklqh38lq2cm8zufhnkjy94"); // gvprintpointf(job, A[0]); UNSUPPORTED("8c4717nsqb9qh1m5pkqxu3nab"); // gvprintf(job, " ] %d true %s\n", n, name); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5745blic5ogwm4kppw7oweo2d"); // if (job->obj->pencolor.u.HSVA[3] > .5) { UNSUPPORTED("21kugn3mt0fvrcqbct2bxlb7t"); // ps_set_pen_style(job); UNSUPPORTED("axvgzd7tszpjn2lhenmufiumy"); // ps_set_color(job, &(job->obj->pencolor)); UNSUPPORTED("a9rnggimah1qzsbj25u9gxjvi"); // gvputs(job, "[ "); UNSUPPORTED("af44mg78omj8g3sx02euas8s"); // gvprintpointflist(job, A, n); UNSUPPORTED("8dk2likbqm43q0p28bspn3ux4"); // gvputs(job, " "); UNSUPPORTED("didklqh38lq2cm8zufhnkjy94"); // gvprintpointf(job, A[0]); UNSUPPORTED("ar45etwgai0wcnglwou25mka6"); // gvprintf(job, " ] %d false %s\n", n, name); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 4f0tedaxz1mg2o27rukecbmjl // static gvrender_engine_t psgen_engine = //1 6mtxeu6btxy3ypxd3uwk9m4s5 // static gvrender_features_t render_features_ps = //1 4tcujj00n5zmmxavjrh1y4cv // static gvdevice_features_t device_features_ps = //1 2fdbmmc7eh40yzthi2e79fs6v // static gvdevice_features_t device_features_eps = //1 8ccgm6294yfcwokwubby9ui9t // gvplugin_installed_t gvrender_ps_types[] = //1 40zb59jhewjfetnd2oqgm1wh7 // gvplugin_installed_t gvdevice_ps_types[] = } plantuml-1.2018.13+ds/src/gen/plugin/core/gvrender_core_svg__c.java000066400000000000000000001262301340005343600250640ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.plugin.core; import static smetana.core.Macro.UNSUPPORTED; public class gvrender_core_svg__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 bvcf56ia0p6vpyltaakksum8n // static char *sdasharray = //1 32o9ll4py294p7pqt1k953d4w // static char *sdotarray = //3 827ujd356a39nqzblmaenq91m // static void svg_bzptarray(GVJ_t * job, pointf * A, int n) public static Object svg_bzptarray(Object... arg) { UNSUPPORTED("cazk54t3k9gr91cuy8thjwn1l"); // static void svg_bzptarray(GVJ_t * job, pointf * A, int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("wrvu9u7a8j6i6y6552zncxfk"); // char c; UNSUPPORTED("6828kr12yxx3rtky06j9ffxcx"); // c = 'M'; /* first point */ UNSUPPORTED("1vi49g48u2rc9v88yhabta0yw"); // for (i = 0; i < n; i++) { UNSUPPORTED("e6mg6rzvpgtjw4cqzq98shznt"); // gvprintf(job, "%c%g,%g", c, A[i].x, -A[i].y); UNSUPPORTED("82djk3ejfh3b927h8m60dmvut"); // if (i == 0) UNSUPPORTED("96i2xuik7cifcs9jthuh45l7g"); // c = 'C'; /* second point */ UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("5xdp61gfqysw7d4xy1nav6fbf"); // c = ' '; /* remaining points */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ayourvjaaejk97eijt6e5i8v3 // static void svg_print_color(GVJ_t * job, gvcolor_t color) public static Object svg_print_color(Object... arg) { UNSUPPORTED("2fy9dz4og1ebbt4qo1ewgqlj6"); // static void svg_print_color(GVJ_t * job, gvcolor_t color) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1hn9tht7vq6fnuzbw3mgpwl6i"); // switch (color.type) { UNSUPPORTED("8d4tzwdd3f608e3jl4lzyugu0"); // case COLOR_STRING: UNSUPPORTED("13cycml8lfb1s4abkvnuhd8dh"); // gvputs(job, color.u.string); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("1ke9k1couoeb4od2nwibgg0xu"); // case RGBA_BYTE: UNSUPPORTED("abau3frv1i9j8mksgb01245yj"); // if (color.u.rgba[3] == 0) /* transparent */ UNSUPPORTED("azlrdflufy5e04p9xhwe83phw"); // gvputs(job, "none"); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("7jq54scftd6wr5k5aefwuq5r4"); // gvprintf(job, "#%02x%02x%02x", UNSUPPORTED("625ktjnk20h4ovl2ahumf26wi"); // color.u.rgba[0], color.u.rgba[1], color.u.rgba[2]); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("3yz4iw4v7mm470if4vb6yaack"); // assert(0); /* internal error */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 ewal0ri6n9uxj2sbig9gocp29 // static void svg_grstyle(GVJ_t * job, int filled, int gid) public static Object svg_grstyle(Object... arg) { UNSUPPORTED("7elkc6m9imb8varjnzb30xb02"); // static void svg_grstyle(GVJ_t * job, int filled, int gid) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("c2x5gho26hata2tuomem5yvki"); // gvputs(job, " fill=\""); UNSUPPORTED("6ix1vu2jcuffbc6bfez9ob1bm"); // if (filled == 2) { UNSUPPORTED("dvtv0kwd2akm1jigbiozoiqw5"); // gvprintf(job, "url(#l_%d)", gid); UNSUPPORTED("efd7920d59k4ry70p4ywahhv7"); // } else if (filled == 3) { UNSUPPORTED("477jazwco6vx5txrrroe5v8z5"); // gvprintf(job, "url(#r_%d)", gid); UNSUPPORTED("1vkwrzn8i2sf7fo7hsb8koiqs"); // } else if (filled) { UNSUPPORTED("4gxgoulqqxervkv6xlv14to0z"); // svg_print_color(job, obj->fillcolor); UNSUPPORTED("7qngwi9a7zbb7rz4n2iflsxnb"); // if (obj->fillcolor.type == RGBA_BYTE UNSUPPORTED("2pteb6b7jxu3tu27ixhdkxkwr"); // && obj->fillcolor.u.rgba[3] > 0 UNSUPPORTED("chj56ql2g9vj2sr7r5vc0ot60"); // && obj->fillcolor.u.rgba[3] < 255) UNSUPPORTED("ckmt75f4ouzjccut0i5hbpjg1"); // gvprintf(job, "\" fill-opacity=\"%f", UNSUPPORTED("deszrkdt62tz6uhj3w9wa76jm"); // ((float) obj->fillcolor.u.rgba[3] / 255.0)); UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("30hha2b9y77pqqb6gvdbgcm43"); // gvputs(job, "none"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5e5xi4p9sv1ne0igfwfygfhru"); // gvputs(job, "\" stroke=\""); UNSUPPORTED("9gt78yg9a3ph8mbbfsrn902ib"); // svg_print_color(job, obj->pencolor); UNSUPPORTED("eeukvd8elh15jnqvrpkyb0m4q"); // if (obj->penwidth != 1.) UNSUPPORTED("4oq6l59kmwm1i8icb12lytqrk"); // gvprintf(job, "\" stroke-width=\"%g", obj->penwidth); UNSUPPORTED("djo67r65tyuacmqc3z1ydjwqz"); // if (obj->pen == PEN_DASHED) { UNSUPPORTED("a4974y0ir8mq99xudu33ptkas"); // gvprintf(job, "\" stroke-dasharray=\"%s", sdasharray); UNSUPPORTED("8lyt1l1t8621bzmtn7js5zd27"); // } else if (obj->pen == PEN_DOTTED) { UNSUPPORTED("427m3m7ogg0sx6ys62nnfa6dl"); // gvprintf(job, "\" stroke-dasharray=\"%s", sdotarray); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9iyzhe3jrf11fsglobdu8z73k"); // if (obj->pencolor.type == RGBA_BYTE && obj->pencolor.u.rgba[3] > 0 UNSUPPORTED("77a9crd4hjv6i9wqpfa5vc90d"); // && obj->pencolor.u.rgba[3] < 255) UNSUPPORTED("mhthumv7lzyftxticeftd06x"); // gvprintf(job, "\" stroke-opacity=\"%f", UNSUPPORTED("89yrujjhfpvunosus21e587nh"); // ((float) obj->pencolor.u.rgba[3] / 255.0)); UNSUPPORTED("37rm205a74loh45pr3ipamp7f"); // gvputs(job, "\""); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 29mng6on9ihwuvj7oo9qtysys // static void svg_comment(GVJ_t * job, char *str) public static Object svg_comment(Object... arg) { UNSUPPORTED("5l1vlrhw8bkx7tct31qeo6151"); // static void svg_comment(GVJ_t * job, char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6944t04aqfgp80pwqjz0owo0u"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6mwdhf5su8dr537zquta04atq // static void svg_begin_job(GVJ_t * job) public static Object svg_begin_job(Object... arg) { UNSUPPORTED("4e7xpfs5qzccui3jexpu1pqoe"); // static void svg_begin_job(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8yytudftst76763qgnjebkzhm"); // char *s; UNSUPPORTED("ayed4u3e3kuzbpmriet6gf3jg"); // gvputs(job, UNSUPPORTED("4gl5ch5bkikklz0xjqvf4kwku"); // "\n"); UNSUPPORTED("dydthgf8fenq2b363w8o1seqw"); // if ((s = agget(job->gvc->g, "stylesheet")) && s[0]) { UNSUPPORTED("eucq5lq6nxhzzmxfzcixi5h4f"); // gvputs(job, "\n"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("ctj0hnvfmv4c6uy6y5b9bel4o"); // gvputs(job, "\n"); UNSUPPORTED("9e78axv4zzrr2igh04wi6f9t7"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6u4qt4f63eb32j74vgthrvm3k // static void svg_begin_graph(GVJ_t * job) public static Object svg_begin_graph(Object... arg) { UNSUPPORTED("etwt71rr36sz8xg8iwyo3lxpm"); // static void svg_begin_graph(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("86eziot3ia26vo3saxgg09478"); // gvputs(job, "\n", UNSUPPORTED("1ej7utiu4i2qo6za5fe4yt3mk"); // job->pagesArraySize.x * job->pagesArraySize.y); UNSUPPORTED("bvmajkx0qvgcj8bp8btgb0aat"); // gvprintf(job, "width, job->height); UNSUPPORTED("6rttd8yqbzg3ge9sbgwv1rc7f"); // gvprintf(job, " viewBox=\"%.2f %.2f %.2f %.2f\"", UNSUPPORTED("1tgix2fnrgqsbtjao4h5qa8y8"); // job->canvasBox.LL.x, UNSUPPORTED("clzvcjx7z45oixlhix29si3iq"); // job->canvasBox.LL.y, UNSUPPORTED("4l8ealx1li6nrviboxdy946k5"); // job->canvasBox.UR.x, UNSUPPORTED("s6k2ogvbwyc0koya5xkl6qz7"); // job->canvasBox.UR.y); UNSUPPORTED("2bzmoimqon8kjq0pd5r46qm39"); // /* namespace of svg */ UNSUPPORTED("4cefpshby7cvk6nh7o5k9dd1l"); // gvputs(job, " xmlns=\"http://www.w3.org/2000/svg\""); UNSUPPORTED("173phnczur0o8y4nl77tj7w4t"); // /* namespace of xlink */ UNSUPPORTED("26qfcwfkirbk76zvu4fbvw4dg"); // gvputs(job, " xmlns:xlink=\"http://www.w3.org/1999/xlink\""); UNSUPPORTED("8nnf9bugtewncr07cqxfrhd2f"); // gvputs(job, ">\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2hipijo16x18tlxywsjp6iuco // static void svg_end_graph(GVJ_t * job) public static Object svg_end_graph(Object... arg) { UNSUPPORTED("4avti5hfwd5zukwiqponwsj4p"); // static void svg_end_graph(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("67oo7pytz2b3e3mgw1csct2it"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4n6b17byr3am0te4kjrvg0out // static void svg_begin_layer(GVJ_t * job, char *layername, int layerNum, int numLayers) public static Object svg_begin_layer(Object... arg) { UNSUPPORTED("1r9c8oevaa5ry2zdcz0aacjqk"); // static void svg_begin_layer(GVJ_t * job, char *layername, int layerNum, UNSUPPORTED("19krtcvsu8mqw2qgui7bmaa55"); // int numLayers) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("a34kpoo0q6rr9pc4et7430a4v"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7t2zqyq53yz5otut6qswu0dwl // static void svg_end_layer(GVJ_t * job) public static Object svg_end_layer(Object... arg) { UNSUPPORTED("944h0psiepf1zvjpjbct7pd04"); // static void svg_end_layer(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3hlnrvjmgpq1q1u2yiwyshlu7"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9xak74k7uwv1dmzpqrrjngk0d // static void svg_begin_page(GVJ_t * job) public static Object svg_begin_page(Object... arg) { UNSUPPORTED("603r99thfc1ydss48z9z4a4xq"); // static void svg_begin_page(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("8idc8bxfl4rmppt1hunj7lyc8"); // /* its really just a page of the graph, but its still a graph, UNSUPPORTED("4ftdfj0v4nvlad96sxezwsljv"); // * and it is the entire graph if we're not currently paging */ UNSUPPORTED("a34kpoo0q6rr9pc4et7430a4v"); // gvputs(job, "id)); UNSUPPORTED("5ad32c614mvtmwco7ib5x86r5"); // gvputs(job, "\" class=\"graph\""); UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("2g7b7oapf1f994y3cbzhwtffs"); // " transform=\"scale(%g %g) rotate(%d) translate(%g %g)\">\n", UNSUPPORTED("5dcg2db7g2mpvt9u2skn5pvza"); // job->scale.x, job->scale.y, -job->rotation, UNSUPPORTED("8bf40j0648ock32z2279j44lw"); // job->translation.x, -job->translation.y); UNSUPPORTED("9ab0b7dzh2g3iqza181l2oauj"); // /* default style */ UNSUPPORTED("a140rb3spyp62aewcsebcj6lz"); // if (agnameof(obj->u.g)[0]) { UNSUPPORTED("5kgm2a3rpk6s37lzlp8n3f1tc"); // gvputs(job, ""); UNSUPPORTED("56224uoiibb4gtpsqio4wdtya"); // gvputs(job, xml_string(agnameof(obj->u.g))); UNSUPPORTED("4rj6l5z1l0bf3ie9wy97io0dl"); // gvputs(job, "\n"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3lrylfpzwboor5fazs5bzblqy // static void svg_end_page(GVJ_t * job) public static Object svg_end_page(Object... arg) { UNSUPPORTED("a63vtpfz17jfrg1v6k4ithnck"); // static void svg_end_page(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3hlnrvjmgpq1q1u2yiwyshlu7"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1i2x52qcsyl7b2n1uk3xo8bt2 // static void svg_begin_cluster(GVJ_t * job) public static Object svg_begin_cluster(Object... arg) { UNSUPPORTED("5770ni8d11ktmtniojx88vupg"); // static void svg_begin_cluster(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("a34kpoo0q6rr9pc4et7430a4v"); // gvputs(job, "id)); UNSUPPORTED("ak3v9uh54ekp5ra6l7niqmhir"); // gvputs(job, "\" class=\"cluster\">"); UNSUPPORTED("2wuzvoqzbmnfp97tc2ns323h7"); // gvputs(job, ""); UNSUPPORTED("1y1fios3ue07ny9j6953yqqgl"); // gvputs(job, xml_string(agnameof(obj->u.g))); UNSUPPORTED("6c646bxlvxh07x9tspq8c6op6"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 12501qs5dpkc4yvizuoe3oszr // static void svg_end_cluster(GVJ_t * job) public static Object svg_end_cluster(Object... arg) { UNSUPPORTED("bf99mf7m7ypqllj8l88ybolew"); // static void svg_end_cluster(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3hlnrvjmgpq1q1u2yiwyshlu7"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 62sozvxvxh2xvvuz04updxsoj // static void svg_begin_node(GVJ_t * job) public static Object svg_begin_node(Object... arg) { UNSUPPORTED("6kr2t5s0pv6i3wkyf85csih71"); // static void svg_begin_node(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("a34kpoo0q6rr9pc4et7430a4v"); // gvputs(job, "id)); UNSUPPORTED("3t9kr3ms5xoxx12pel4pthxrk"); // if (job->layerNum > 1) UNSUPPORTED("28x41kw3rxtipdm6pxbqd0m0x"); // gvprintf (job, "_%s", xml_string(job->gvc->layerIDs[job->layerNum])); UNSUPPORTED("7brh7599jyc889z01a186atee"); // gvputs(job, "\" class=\"node\">"); UNSUPPORTED("2wuzvoqzbmnfp97tc2ns323h7"); // gvputs(job, ""); UNSUPPORTED("enr2p4c7ke6vme870ssfffrvf"); // gvputs(job, xml_string(agnameof(obj->u.n))); UNSUPPORTED("6c646bxlvxh07x9tspq8c6op6"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2ssu7z7ncurc3v03vezyd70jd // static void svg_end_node(GVJ_t * job) public static Object svg_end_node(Object... arg) { UNSUPPORTED("e42ev4sec4fgoa1lxjoddv9vc"); // static void svg_end_node(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3hlnrvjmgpq1q1u2yiwyshlu7"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4lkaj8kdorw3nudimt40x1p0m // static void svg_begin_edge(GVJ_t * job) public static Object svg_begin_edge(Object... arg) { UNSUPPORTED("5wtieu2gn40jt7gdgind9bf4"); // static void svg_begin_edge(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("6ujcykx18mkszn1x15d0ptd8m"); // char *ename; UNSUPPORTED("a34kpoo0q6rr9pc4et7430a4v"); // gvputs(job, "id)); UNSUPPORTED("62xyzl6khtp7jteidlu55vcar"); // gvputs(job, "\" class=\"edge\">"); UNSUPPORTED("2wuzvoqzbmnfp97tc2ns323h7"); // gvputs(job, ""); UNSUPPORTED("dakm0rgzt870aen1gs4yfkqvm"); // ename = strdup_and_subst_obj("\\E", (void *) (obj->u.e)); UNSUPPORTED("4h38cdc7bvsawzk220q60efus"); // gvputs(job, xml_string(ename)); UNSUPPORTED("1ptaw1megx8o1nxddb9cru8b1"); // free(ename); UNSUPPORTED("6c646bxlvxh07x9tspq8c6op6"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5jbl4ebzw11dwjfx2exyr6twj // static void svg_end_edge(GVJ_t * job) public static Object svg_end_edge(Object... arg) { UNSUPPORTED("9d2i3nxvvtquponlm7cw31rha"); // static void svg_end_edge(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3hlnrvjmgpq1q1u2yiwyshlu7"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 2ls1kg5xerh9e6l4ngof4km0p // static void svg_begin_anchor(GVJ_t * job, char *href, char *tooltip, char *target, char *id) public static Object svg_begin_anchor(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("4y9u0dzkdunolhcze5gpuysob"); // svg_begin_anchor(GVJ_t * job, char *href, char *tooltip, char *target, UNSUPPORTED("6tix47kj9o1r14xs59rhq05qt"); // char *id) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("an2ri99x8tiwg2vb9fhwft10s"); // gvputs(job, ""); UNSUPPORTED("amqsywm4tf3cr4mn35bngqsho"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4ddtxxh621w5w7uuokg15lfuk // static void svg_end_anchor(GVJ_t * job) public static Object svg_end_anchor(Object... arg) { UNSUPPORTED("96oojtu8n7eizsc1uma8aeq1f"); // static void svg_end_anchor(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("gdbgsnwooftm30av6d4pf8vp"); // gvputs(job, "\n"); UNSUPPORTED("3hlnrvjmgpq1q1u2yiwyshlu7"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 509rbvnnpffihwcds1q4o4el5 // static void svg_textspan(GVJ_t * job, pointf p, textspan_t * span) public static Object svg_textspan(Object... arg) { UNSUPPORTED("cdh2myddciaij2jg2ygpu0f4d"); // static void svg_textspan(GVJ_t * job, pointf p, textspan_t * span) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("7pxhx3kruwsackat2315zxaxh"); // PostscriptAlias *pA; UNSUPPORTED("boqtrshd5fxyaq9o4qrp6ies"); // char *family = NULL, *weight = NULL, *stretch = NULL, *style = NULL; UNSUPPORTED("f0j3qhox7adw2oktxrx3z6n3b"); // unsigned int flags; UNSUPPORTED("6eq2wimnyond8hhyt7fj62jkq"); // gvputs(job, "just) { UNSUPPORTED("15tf5rbprgr65ucp24e4bba9t"); // case 'l': UNSUPPORTED("256awp1qimuok9dpwcna489jx"); // gvputs(job, " text-anchor=\"start\""); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8pu80wsk8me7q17ensqlviq86"); // case 'r': UNSUPPORTED("eyrb4ojjun5482g8v15qc73r3"); // gvputs(job, " text-anchor=\"end\""); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("37fbny64zwo23oymypyreuldc"); // case 'n': UNSUPPORTED("3023vn5j4xt8ewwp1kfhet7lv"); // gvputs(job, " text-anchor=\"middle\""); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c9qtg5nyqzscz54w8w9mfwv7v"); // p.y += span->yoffset_centerline; UNSUPPORTED("7l5wmvdydbzztglmyvtqj67ac"); // gvprintf(job, " x=\"%g\" y=\"%g\"", p.x, -p.y); UNSUPPORTED("5gvgwpzq8o9hz6bmkphkldr14"); // pA = span->font->postscript_alias; UNSUPPORTED("85v4mh1bambtpopgva0jmspn9"); // if (pA) { UNSUPPORTED("93b89673s4m4oux21ikja33by"); // switch (GD_fontnames(job->gvc->g)) { UNSUPPORTED("7t6u02vcbbp8pgwlv0s475wy7"); // case PSFONTS: UNSUPPORTED("1zo7hx1h667n22l58hefai6xu"); // family = pA->name; UNSUPPORTED("tzy3gy5xrkn2kylegnfq40gx"); // weight = pA->weight; UNSUPPORTED("4biccq2rftoyzak5v0rx6bbua"); // style = pA->style; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("92e0ccltko27a70yl2qkogz66"); // case SVGFONTS: UNSUPPORTED("d29jpipvsssvit4udg5m4rb9z"); // family = pA->svg_font_family; UNSUPPORTED("b7bano7beynz6cdjgdw5p10xh"); // weight = pA->svg_font_weight; UNSUPPORTED("9u0c8t1jl3ksdy4uqeau1ytm9"); // style = pA->svg_font_style; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("1drv0xz8hp34qnf72b4jpprg2"); // default: UNSUPPORTED("8usgbe5tejhe3ynslgkg0pw79"); // case NATIVEFONTS: UNSUPPORTED("e2iij4hncoq1z5mod74s7xb9l"); // family = pA->family; UNSUPPORTED("tzy3gy5xrkn2kylegnfq40gx"); // weight = pA->weight; UNSUPPORTED("4biccq2rftoyzak5v0rx6bbua"); // style = pA->style; UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("apakty8ulxpur721psab8qc25"); // stretch = pA->stretch; UNSUPPORTED("f2ahbdlyhogvxic3wgumxlnx4"); // gvprintf(job, " font-family=\"%s", family); UNSUPPORTED("dlvmrp3zu9by9thsalw30kor9"); // if (pA->svg_font_family) UNSUPPORTED("32af7qmlteybi80xxc5ku3d6c"); // gvprintf(job, ",%s", pA->svg_font_family); UNSUPPORTED("5dipay2vdinr7r0bjdg2vqthj"); // gvputs(job, "\""); UNSUPPORTED("1823tfo3ifqci6w34a3hp2jm3"); // if (weight) UNSUPPORTED("erjhhd4wujeagj8jj8i553pyb"); // gvprintf(job, " font-weight=\"%s\"", weight); UNSUPPORTED("dddcuk8zw7ruwe8def3hcqhq1"); // if (stretch) UNSUPPORTED("1gicoqs8k03tm9i7r2n7yvtaf"); // gvprintf(job, " font-stretch=\"%s\"", stretch); UNSUPPORTED("2k6etsm6v3ivdzk5e818fki9r"); // if (style) UNSUPPORTED("dwa6mvk6ta3fyrds7hknr5e2l"); // gvprintf(job, " font-style=\"%s\"", style); UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else UNSUPPORTED("9rrqjadroq7mnlchw9ylzerl5"); // gvprintf(job, " font-family=\"%s\"", span->font->name); UNSUPPORTED("8pu27ywa7vnvu5xu1c6mfmdcb"); // if ((span->font) && (flags = span->font->flags)) { UNSUPPORTED("7ba191a6p5dly5azwbzrnq45c"); // if ((flags & (1 << 0)) && !weight) UNSUPPORTED("4xpkdz7hajytfllktyx3iaoxg"); // gvprintf(job, " font-weight=\"bold\""); UNSUPPORTED("8hb411ksceuuz5uydsa7vfjfz"); // if ((flags & (1 << 1)) && !style) UNSUPPORTED("ch4ehek8vqzttd65qrzb0wgm5"); // gvprintf(job, " font-style=\"italic\""); UNSUPPORTED("8lsjw9ngsxcsmcngqckbis5rr"); // if ((flags & ((1 << 2)|(1 << 5)|(1 << 6)))) { UNSUPPORTED("5ceh1yy4z3eou7y6sb7daoij0"); // int comma = 0; UNSUPPORTED("4ol2se2oh595cmdhxyppj02k0"); // gvprintf(job, " text-decoration=\""); UNSUPPORTED("5rdoupdxxwd930xga1248jy1j"); // if ((flags & (1 << 2))) { UNSUPPORTED("5pt5lms126q1c044gxn7rma8m"); // gvprintf(job, "underline"); UNSUPPORTED("5cv6nleg9qer8wzue8yj3mhu2"); // comma = 1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("4z5scs2etzrpry6bj0hqsph8v"); // if ((flags & (1 << 6))) { UNSUPPORTED("cipt1c28whuawjgtwpo5bgob3"); // gvprintf(job, "%soverline", (comma?",":"")); UNSUPPORTED("5cv6nleg9qer8wzue8yj3mhu2"); // comma = 1; UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } UNSUPPORTED("eqjv5jxaigje1i0o5dz9obtt5"); // if ((flags & (1 << 5))) UNSUPPORTED("29q3ccadncw279yksfy435h8g"); // gvprintf(job, "%sline-through", (comma?",":"")); UNSUPPORTED("8o2uvz97hn60l8j1okfocnsbl"); // gvprintf(job, "\""); UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9m7kf0pwe40hzlub06abvfeh9"); // if ((flags & (1 << 3))) UNSUPPORTED("nr8krq8748jfkd0ispcblf9f"); // gvprintf(job, " baseline-shift=\"super\""); UNSUPPORTED("clacovmef99qjhl0yk3rl7piu"); // if ((flags & (1 << 4))) UNSUPPORTED("1sfxrrei9occxyku20wyj1583"); // gvprintf(job, " baseline-shift=\"sub\""); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("5emn8p1yeoecdhojsizg5m36t"); // gvprintf(job, " font-size=\"%.2f\"", span->font->size); UNSUPPORTED("1ns59jz9xcw8otsxv6kgjgr5e"); // switch (obj->pencolor.type) { UNSUPPORTED("8d4tzwdd3f608e3jl4lzyugu0"); // case COLOR_STRING: UNSUPPORTED("b7fzwqzuy02m4jzy6m43xnpd1"); // if (strcasecmp(obj->pencolor.u.string, "black")) UNSUPPORTED("f4bdj41dxfe9c90otbtpckefx"); // gvprintf(job, " fill=\"%s\"", obj->pencolor.u.string); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("1ke9k1couoeb4od2nwibgg0xu"); // case RGBA_BYTE: UNSUPPORTED("8ajndit7j1806751z61j7gfj9"); // gvprintf(job, " fill=\"#%02x%02x%02x\"", UNSUPPORTED("5raiao60ivpnxzihbubbx93ls"); // obj->pencolor.u.rgba[0], obj->pencolor.u.rgba[1], UNSUPPORTED("1y0xlsu8sbuudl5682umhlese"); // obj->pencolor.u.rgba[2]); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("3yz4iw4v7mm470if4vb6yaack"); // assert(0); /* internal error */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("b0wlwv4nycnh5og2scvone3i5"); // gvputs(job, ">"); UNSUPPORTED("b2d727ygdp49jzxj4mltky63u"); // gvputs(job, xml_string0(span->str, NOT(0))); UNSUPPORTED("dmq45ciur1vva2ppfymdb900x"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3gjy3fev22j4mgz0ihk6o8twf // static int svg_gradstyle(GVJ_t * job, pointf * A, int n) public static Object svg_gradstyle(Object... arg) { UNSUPPORTED("2bfo7hixlhvjvrfaafyyg88ar"); // static int svg_gradstyle(GVJ_t * job, pointf * A, int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4umvnon5n2rousfurm6sgtb1j"); // pointf G[2]; UNSUPPORTED("c7hjgducl4grlwhjwsinbtcee"); // float angle; UNSUPPORTED("egjk91955uvmmeb20amqowi0s"); // static int gradId; UNSUPPORTED("6fce7laz159a9nfec1weed9tk"); // int id = gradId++; UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("3fni3vsly1h90xeevvu56dkuj"); // angle = obj->gradient_angle * M_PI / 180; //angle of gradient line UNSUPPORTED("2qsw987g3l3zzvlx93ioi4gx2"); // G[0].x = G[0].y = G[1].x = G[1].y = 0.; UNSUPPORTED("3bsktxjgzrewl1tjtpyx52p3f"); // get_gradient_points(A, G, n, angle, 0); //get points on gradient line UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("aq4i0pf82yoa5atdyl1f1efy6"); // "\n\n", G[0].x, UNSUPPORTED("biy1yz3z88ncz02663a4qs5fz"); // G[0].y, G[1].x, G[1].y); UNSUPPORTED("bzb8si8h6dzcj4rpku675ennh"); // if (obj->gradient_frac > 0) UNSUPPORTED("z96xvbayfas7iuiat2o7lacc"); // gvprintf(job, "gradient_frac - 0.001); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("5j0brbmsc3uac75nrnbi7hbjg"); // gvputs(job, "fillcolor); UNSUPPORTED("25yyjy09rw6wj1hem358rrtx5"); // gvputs(job, ";stop-opacity:"); UNSUPPORTED("894falzn9ikb3ugxo7rf30v01"); // if (obj->fillcolor.type == RGBA_BYTE && obj->fillcolor.u.rgba[3] > 0 UNSUPPORTED("7msi3z20gjxrpjeseoycqw22g"); // && obj->fillcolor.u.rgba[3] < 255) UNSUPPORTED("2dbabn5cv0kwtysa1rcpsrcq7"); // gvprintf(job, "%f", ((float) obj->fillcolor.u.rgba[3] / 255.0)); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("czmoa1w0n08fmcmgutwcr3apz"); // gvputs(job, "1."); UNSUPPORTED("dy96k8bewexhluplfg196pr0c"); // gvputs(job, ";\"/>\n"); UNSUPPORTED("bzb8si8h6dzcj4rpku675ennh"); // if (obj->gradient_frac > 0) UNSUPPORTED("5vmqn1vuq3rb8jtl78xdov7zm"); // gvprintf(job, "gradient_frac); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("3nhcni3eauuet4n0oul1y75zp"); // gvputs(job, "stopcolor); UNSUPPORTED("25yyjy09rw6wj1hem358rrtx5"); // gvputs(job, ";stop-opacity:"); UNSUPPORTED("69jkl15qlmjhgsrh61j09jxp9"); // if (obj->stopcolor.type == RGBA_BYTE && obj->stopcolor.u.rgba[3] > 0 UNSUPPORTED("5yvxwp3rfgj1z2d6dri2q83cx"); // && obj->stopcolor.u.rgba[3] < 255) UNSUPPORTED("bivsghea127ronz4jnplynoy"); // gvprintf(job, "%f", ((float) obj->stopcolor.u.rgba[3] / 255.0)); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("czmoa1w0n08fmcmgutwcr3apz"); // gvputs(job, "1."); UNSUPPORTED("1iszsyeqv6zyj3zb7w2pfpu4i"); // gvputs(job, ";\"/>\n\n\n"); UNSUPPORTED("8jjtthatl5k37wbc9wfeogjct"); // return id; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 67ww4214261qqk7os79dnxb91 // static int svg_rgradstyle(GVJ_t * job, pointf * A, int n) public static Object svg_rgradstyle(Object... arg) { UNSUPPORTED("2qd44o0nwqzg9a83ie5f868kk"); // static int svg_rgradstyle(GVJ_t * job, pointf * A, int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("anwmj45eahbja1x9uwxa4z67q"); // /* pointf G[2]; */ UNSUPPORTED("c7hjgducl4grlwhjwsinbtcee"); // float angle; UNSUPPORTED("1gwihowmrjihhujhiqo20snqq"); // int ifx, ify; UNSUPPORTED("1v43j91cccrl5r4pl30a68se3"); // static int rgradId; UNSUPPORTED("bg4c10jkjriorbj66ijiyhvh0"); // int id = rgradId++; UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("3fni3vsly1h90xeevvu56dkuj"); // angle = obj->gradient_angle * M_PI / 180; //angle of gradient line UNSUPPORTED("a7sn2w4y0sbdrtnmup718yxk2"); // /* G[0].x = G[0].y = G[1].x = G[1].y; */ UNSUPPORTED("ea160wg5wxr6lqtaddejmsqka"); // /* get_gradient_points(A, G, n, 0, 1); */ UNSUPPORTED("ylvjn4yu1p8yxux37vu789na"); // if (angle == 0.) { UNSUPPORTED("2izgqowow6pmwmv27fiva3tvz"); // ifx = ify = 50; UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("aum9vd35r7s7f9use8zf38z9k"); // ifx = 50 * (1 + cos(angle)); UNSUPPORTED("cm03wwy8l2b9wnla83wnp3msr"); // ify = 50 * (1 - sin(angle)); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("a8yoal1dchk0nt5nro0jh2f29"); // gvprintf(job, UNSUPPORTED("14gmgrq5aclflj13s6zyh43is"); // "\n\n", UNSUPPORTED("l5wr5d3d8joaguf800asanct"); // id, ifx, ify); UNSUPPORTED("8ado4ojlrd7ipx162vau7fxvx"); // gvputs(job, "fillcolor); UNSUPPORTED("25yyjy09rw6wj1hem358rrtx5"); // gvputs(job, ";stop-opacity:"); UNSUPPORTED("894falzn9ikb3ugxo7rf30v01"); // if (obj->fillcolor.type == RGBA_BYTE && obj->fillcolor.u.rgba[3] > 0 UNSUPPORTED("7msi3z20gjxrpjeseoycqw22g"); // && obj->fillcolor.u.rgba[3] < 255) UNSUPPORTED("2dbabn5cv0kwtysa1rcpsrcq7"); // gvprintf(job, "%f", ((float) obj->fillcolor.u.rgba[3] / 255.0)); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("czmoa1w0n08fmcmgutwcr3apz"); // gvputs(job, "1."); UNSUPPORTED("dy96k8bewexhluplfg196pr0c"); // gvputs(job, ";\"/>\n"); UNSUPPORTED("2ciprtix75p6n1rvrofzer09k"); // gvputs(job, "stopcolor); UNSUPPORTED("25yyjy09rw6wj1hem358rrtx5"); // gvputs(job, ";stop-opacity:"); UNSUPPORTED("69jkl15qlmjhgsrh61j09jxp9"); // if (obj->stopcolor.type == RGBA_BYTE && obj->stopcolor.u.rgba[3] > 0 UNSUPPORTED("5yvxwp3rfgj1z2d6dri2q83cx"); // && obj->stopcolor.u.rgba[3] < 255) UNSUPPORTED("bivsghea127ronz4jnplynoy"); // gvprintf(job, "%f", ((float) obj->stopcolor.u.rgba[3] / 255.0)); UNSUPPORTED("div10atae09n36x269sl208r1"); // else UNSUPPORTED("czmoa1w0n08fmcmgutwcr3apz"); // gvputs(job, "1."); UNSUPPORTED("82y1ud8efmpl12973l04ba0xk"); // gvputs(job, ";\"/>\n\n\n"); UNSUPPORTED("8jjtthatl5k37wbc9wfeogjct"); // return id; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6179wcbuyu90qz6rpi6mgppxr // static void svg_ellipse(GVJ_t * job, pointf * A, int filled) public static Object svg_ellipse(Object... arg) { UNSUPPORTED("aeulny0gu30zb5sbdc2fb6i8q"); // static void svg_ellipse(GVJ_t * job, pointf * A, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("5n5mg10ujef23pj2i3tfg98mb"); // int gid = 0; UNSUPPORTED("8tuvacxowvjyekfxkm6dgvp8f"); // /* A[] contains 2 points: the center and corner. */ UNSUPPORTED("6ix1vu2jcuffbc6bfez9ob1bm"); // if (filled == 2) { UNSUPPORTED("408j2y19ppayrgj8rcylk5uej"); // gid = svg_gradstyle(job, A, 2); UNSUPPORTED("1f3u2rbrimcdejw1fhkimfmtq"); // } else if (filled == (3)) { UNSUPPORTED("17dijdtidp3dm9zedxik5pte8"); // gid = svg_rgradstyle(job, A, 2); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("prza2073gtuthtmkfaeasaom"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4voh5pqlltjszwhlaqt8qc6h // static void svg_bezier(GVJ_t * job, pointf * A, int n, int arrow_at_start, int arrow_at_end, int filled) public static Object svg_bezier(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("4b2sf54o9xlmuusu6iujw6tzo"); // svg_bezier(GVJ_t * job, pointf * A, int n, int arrow_at_start, UNSUPPORTED("dxw18xwwo4n9p0pz03h53njzw"); // int arrow_at_end, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bva9x0qdlhvut574wqidcp51o"); // int gid = 0; UNSUPPORTED("6ix1vu2jcuffbc6bfez9ob1bm"); // if (filled == 2) { UNSUPPORTED("336pt1lxutdhk6cn1yrrnb31g"); // gid = svg_gradstyle(job, A, n); UNSUPPORTED("1f3u2rbrimcdejw1fhkimfmtq"); // } else if (filled == (3)) { UNSUPPORTED("7ykd3tlli3mnnab2q0uiotvhd"); // gid = svg_rgradstyle(job, A, n); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2wytgj2mvbp924ox0n93mx0s2"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7ibkd0we1erd0sjwcq0769ynl // static void svg_polygon(GVJ_t * job, pointf * A, int n, int filled) public static Object svg_polygon(Object... arg) { UNSUPPORTED("bs95s3hzmbofgepmna889krqu"); // static void svg_polygon(GVJ_t * job, pointf * A, int n, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9rv93hlp64hdng1p33rot7lfv"); // int i, gid = 0; UNSUPPORTED("6ix1vu2jcuffbc6bfez9ob1bm"); // if (filled == 2) { UNSUPPORTED("336pt1lxutdhk6cn1yrrnb31g"); // gid = svg_gradstyle(job, A, n); UNSUPPORTED("1f3u2rbrimcdejw1fhkimfmtq"); // } else if (filled == (3)) { UNSUPPORTED("7ykd3tlli3mnnab2q0uiotvhd"); // gid = svg_rgradstyle(job, A, n); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("78z961zddfij8pb5rmwl4n2tm"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c8rn5juypta39ccw5pbh8pk49 // static void svg_polyline(GVJ_t * job, pointf * A, int n) public static Object svg_polyline(Object... arg) { UNSUPPORTED("38urwxhvfthoaqtp3stv44nr7"); // static void svg_polyline(GVJ_t * job, pointf * A, int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("6g8w45vwmydzwnarkgxk5lr6g"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 b9hjnmz91lrhcgjntnr3pxxg8 // static char *svg_knowncolors[] = //1 4e1dh88puzpsk9gnuuog4v6n // gvrender_engine_t svg_engine = //1 eaglivfetg4iko7wbadzatuu1 // gvrender_features_t render_features_svg = //1 4n103oc5z61rm55i81psizksi // gvdevice_features_t device_features_svg = //1 bd33dnvj2ff9ha2832sa7e0u8 // gvdevice_features_t device_features_svgz = //1 c8ccvawathznbo5pws5jwz6q0 // gvplugin_installed_t gvrender_svg_types[] = //1 3g6v0vqqku0vco0few4b26in8 // gvplugin_installed_t gvdevice_svg_types[] = } plantuml-1.2018.13+ds/src/gen/plugin/core/gvrender_core_tk__c.java000066400000000000000000000642411340005343600247060ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.plugin.core; import static smetana.core.Macro.UNSUPPORTED; public class gvrender_core_tk__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //3 vnba6ctep0vnompe5n04xa3l // static char *tkgen_string(char *s) public static Object tkgen_string(Object... arg) { UNSUPPORTED("aa32h5bkponzvoqtod1mva7ps"); // static char *tkgen_string(char *s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("3y6wj3ntgmr1qkdpm7wp1dsch"); // return s; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dplaa6pgfnvndktf7zizb0dd9 // static void tkgen_print_color(GVJ_t * job, gvcolor_t color) public static Object tkgen_print_color(Object... arg) { UNSUPPORTED("2038ixzt93lz5npkbq5uh0qwr"); // static void tkgen_print_color(GVJ_t * job, gvcolor_t color) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1hn9tht7vq6fnuzbw3mgpwl6i"); // switch (color.type) { UNSUPPORTED("8d4tzwdd3f608e3jl4lzyugu0"); // case COLOR_STRING: UNSUPPORTED("13cycml8lfb1s4abkvnuhd8dh"); // gvputs(job, color.u.string); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("1ke9k1couoeb4od2nwibgg0xu"); // case RGBA_BYTE: UNSUPPORTED("bk6hmzzce8zu1dqkcetedyx8a"); // if (color.u.rgba[3] == 0) /* transparent */ UNSUPPORTED("cqkxybfy03p6sdzaw403x4anw"); // gvputs(job, "\"\""); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("7jq54scftd6wr5k5aefwuq5r4"); // gvprintf(job, "#%02x%02x%02x", UNSUPPORTED("e0jr1wda5b2t6n9g1aas984rf"); // color.u.rgba[0], color.u.rgba[1], color.u.rgba[2]); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("3yz4iw4v7mm470if4vb6yaack"); // assert(0); /* internal error */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7fftf2s66s7nkjfvfwqxq2wri // static void tkgen_print_tags(GVJ_t *job) public static Object tkgen_print_tags(Object... arg) { UNSUPPORTED("5rwzkk8kjevk7s1e5igx8wikf"); // static void tkgen_print_tags(GVJ_t *job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("6fmxub3a5s4yqhi6k71lbbewx"); // char *ObjType; UNSUPPORTED("36c1s92uv6tfwjm89w624ibxa"); // unsigned int ObjId; UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("e6yyipvortaqhjfzpnfvdaea6"); // int ObjFlag; UNSUPPORTED("9kqeoqv8k67h4o1r0zmzcpja4"); // switch (obj->emit_state) { UNSUPPORTED("edn2txxwkd2kmwwo2dgazo6hg"); // case EMIT_NDRAW: UNSUPPORTED("9wmdny2syd27ay1uhzyj36k2k"); // ObjType = "node"; UNSUPPORTED("3x8av8kig5q0u8qayofbq7ao5"); // ObjFlag = 1; UNSUPPORTED("4lrn04rxio5vdym9mvu96uakv"); // ObjId = AGSEQ(obj->u.n); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("3dkus0mrhy1dxovvhot9s7zc4"); // case EMIT_NLABEL: UNSUPPORTED("9wmdny2syd27ay1uhzyj36k2k"); // ObjType = "node"; UNSUPPORTED("arrey7e5x7t7ug3fcbir0h99f"); // ObjFlag = 0; UNSUPPORTED("4lrn04rxio5vdym9mvu96uakv"); // ObjId = AGSEQ(obj->u.n); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("ddijyz6xr6xxiji0xwi84qsq1"); // case EMIT_EDRAW: UNSUPPORTED("2zes9o0ykhutqmeeyeizb6sw6"); // case EMIT_TDRAW: UNSUPPORTED("f4ax0wnfz42m0mvpo8ov4uwgj"); // case EMIT_HDRAW: UNSUPPORTED("ekq5izr299kjgtxohtoayjuay"); // ObjType = "edge"; UNSUPPORTED("3x8av8kig5q0u8qayofbq7ao5"); // ObjFlag = 1; UNSUPPORTED("2n6su1jan1lfwl3bv3vpvtf2m"); // ObjId = AGSEQ(obj->u.e); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("82u5g3c6sjjwnob1gwc3bumud"); // case EMIT_ELABEL: UNSUPPORTED("5a42wk0iyr9uwqezh67ujkaci"); // case EMIT_TLABEL: UNSUPPORTED("bgniadjg8rn6697mbbbrtdj46"); // case EMIT_HLABEL: UNSUPPORTED("ekq5izr299kjgtxohtoayjuay"); // ObjType = "edge"; UNSUPPORTED("arrey7e5x7t7ug3fcbir0h99f"); // ObjFlag = 0; UNSUPPORTED("2n6su1jan1lfwl3bv3vpvtf2m"); // ObjId = AGSEQ(obj->u.e); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("eoday7rklu6k6yz10yospl4fm"); // case EMIT_GDRAW: UNSUPPORTED("8kzghiwhkdmm0vv0aph5lnl24"); // ObjType = "graph"; UNSUPPORTED("3x8av8kig5q0u8qayofbq7ao5"); // ObjFlag = 1; UNSUPPORTED("caivixbej5pdp5nezbwnt2ncp"); // ObjId = -1; /* hack! */ UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("bs2bx2mdpt81ogx6xg3uu2tmf"); // case EMIT_GLABEL: UNSUPPORTED("arrey7e5x7t7ug3fcbir0h99f"); // ObjFlag = 0; UNSUPPORTED("3gtg1b09awmbttihqzq7we0yl"); // ObjType = "graph label"; UNSUPPORTED("caivixbej5pdp5nezbwnt2ncp"); // ObjId = -1; /* hack! */ UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("5mi2jlcl1mkxh27aq4swcrvsd"); // case EMIT_CDRAW: UNSUPPORTED("8kzghiwhkdmm0vv0aph5lnl24"); // ObjType = "graph"; UNSUPPORTED("3x8av8kig5q0u8qayofbq7ao5"); // ObjFlag = 1; UNSUPPORTED("3019wv5sfqax6te4ocvlvdik2"); // ObjId = AGSEQ(obj->u.sg); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("2g9uft4wkkmqft2kfgbtkig71"); // case EMIT_CLABEL: UNSUPPORTED("8kzghiwhkdmm0vv0aph5lnl24"); // ObjType = "graph"; UNSUPPORTED("arrey7e5x7t7ug3fcbir0h99f"); // ObjFlag = 0; UNSUPPORTED("3019wv5sfqax6te4ocvlvdik2"); // ObjId = AGSEQ(obj->u.sg); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("b844if1dn4kjcevyd28kssy2e"); // assert (0); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("55znmxgknag5qirkz1z6lpksh"); // gvprintf(job, " -tags {%d%s%d}", ObjFlag, ObjType, ObjId); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6oyiwbg0tt965z8czwrybx7sk // static void tkgen_canvas(GVJ_t * job) public static Object tkgen_canvas(Object... arg) { UNSUPPORTED("3jvfz8f5qzwiglrakhy83umfp"); // static void tkgen_canvas(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("9h891dv6xzcbe003pt2da6zaa"); // if (job->external_context) UNSUPPORTED("5qodxedfoew7wk6n6u7a55eoy"); // gvputs(job, job->imagedata); UNSUPPORTED("axam71d21fg4esy4zqklfrwm4"); // else UNSUPPORTED("2vrpkklffbp4w437thim0u8b7"); // gvputs(job, "$c"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 234xlyukcgtfrl83jcxd9lago // static void tkgen_comment(GVJ_t * job, char *str) public static Object tkgen_comment(Object... arg) { UNSUPPORTED("2280389c7mo073ymgoiqe9zc7"); // static void tkgen_comment(GVJ_t * job, char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ea77c3tz79kbzzy6ixp1d2kh4"); // gvputs(job, "# "); UNSUPPORTED("5q62ijbcsw35n264ivjfulqvt"); // gvputs(job, tkgen_string(str)); UNSUPPORTED("b7eafy5bhxn361xe2c8x8553b"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9fhmin70b5qf04bp9t3gp6ql5 // static void tkgen_begin_job(GVJ_t * job) public static Object tkgen_begin_job(Object... arg) { UNSUPPORTED("7099eur0jsw3fx3t04i009op4"); // static void tkgen_begin_job(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8phrhbpt3gwyqfay75nnt01sn"); // gvputs(job, "# Generated by "); UNSUPPORTED("4fmowhw6woxnz0yfmf7ihnv5w"); // gvputs(job, tkgen_string(job->common->info[0])); UNSUPPORTED("cx22tlhx29vhu1t7qu0qa4qq7"); // gvputs(job, " version "); UNSUPPORTED("71t1hukev4nj9d5vgu67aecnu"); // gvputs(job, tkgen_string(job->common->info[1])); UNSUPPORTED("85rsmmnqjhjgun71czh20mlqf"); // gvputs(job, " ("); UNSUPPORTED("eq1ksgr2y9k7jkdl3l5fx2dxr"); // gvputs(job, tkgen_string(job->common->info[2])); UNSUPPORTED("2e9opn4z98non8389n3x7cvfj"); // gvputs(job, ")\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bidf6nln7jad77uyvyjiwsahj // static void tkgen_begin_graph(GVJ_t * job) public static Object tkgen_begin_graph(Object... arg) { UNSUPPORTED("c66a3xz9acxwt162a2639p0kf"); // static void tkgen_begin_graph(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("bf5z85r4dnnsytsyyw7t3gx6o"); // gvputs(job, "#"); UNSUPPORTED("a140rb3spyp62aewcsebcj6lz"); // if (agnameof(obj->u.g)[0]) { UNSUPPORTED("dzpnxf48rus9qbb0ks0h8dqd1"); // gvputs(job, " Title: "); UNSUPPORTED("aqk6vyc91z34ikxpps386o2gb"); // gvputs(job, tkgen_string(agnameof(obj->u.g))); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9zpqzsstpmkb5v40kv0rt86rx"); // gvprintf(job, " Pages: %d\n", job->pagesArraySize.x * job->pagesArraySize.y); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 578fx153hsm0thk9yst8xsav // static int first_periphery //3 3y0ogli6wn5tiuel1z0cdvpmp // static void tkgen_begin_node(GVJ_t * job) public static Object tkgen_begin_node(Object... arg) { UNSUPPORTED("65n9qvpouyi5n69pxqhy3ly5j"); // static void tkgen_begin_node(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("ekl6yorur1ahi50axky7lyawh"); // first_periphery = 1; /* FIXME - this is an ugly hack! */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 48o8qk8mdvwx737vbohxu80s6 // static void tkgen_begin_edge(GVJ_t * job) public static Object tkgen_begin_edge(Object... arg) { UNSUPPORTED("4jelx905puajzw3pw79wr399g"); // static void tkgen_begin_edge(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("8rousoe1k1rgca46ysx8k11n9"); // first_periphery = -1; /* FIXME - this is an ugly ugly hack! Need this one for arrowheads. */ UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 elok7zvfwcod280ol1ewx7xi6 // static void tkgen_textspan(GVJ_t * job, pointf p, textspan_t * span) public static Object tkgen_textspan(Object... arg) { UNSUPPORTED("ctbqa72rfic93u34n0vcy070n"); // static void tkgen_textspan(GVJ_t * job, pointf p, textspan_t * span) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("2eltcrenufen27upw0otuj5rg"); // const char *font; UNSUPPORTED("7pxhx3kruwsackat2315zxaxh"); // PostscriptAlias *pA; UNSUPPORTED("cav0e7ncloqss0hsvc4fyfi7s"); // int size; UNSUPPORTED("t8jc65c5jcpqdkfpg4fjb8u4"); // if (obj->pen != PEN_NONE) { UNSUPPORTED("jmu515qulcvrabiwjcvrcc3z"); // /* determine font size */ UNSUPPORTED("27qmq4a14tm7p6a47yf7m6bwl"); // /* round fontsize down, better too small than too big */ UNSUPPORTED("d6wfbdo0cro4b8en0ny4b4zn0"); // size = (int)(span->font->size * job->zoom); UNSUPPORTED("2jso8vydmg40ljyk6riyesqpe"); // /* don't even bother if fontsize < 1 point */ UNSUPPORTED("4ek995evzufhzop2kinw7g53o"); // if (size) { UNSUPPORTED("9g1m3v4tgit2cudtd1mdwt6ui"); // tkgen_canvas(job); UNSUPPORTED("efw4q0zbq8bz1zbek9qh8r362"); // gvputs(job, " create text "); UNSUPPORTED("6z6wkidq5hq6evjicc4xdclir"); // p.y -= size * 0.55; /* cl correction */ UNSUPPORTED("2v1yrsn7wzpnae01zojw8d7no"); // gvprintpointf(job, p); UNSUPPORTED("786rbjesnuuzbso73vd0nop0m"); // gvputs(job, " -text {"); UNSUPPORTED("3rqoe86bgahp689yo06e13tg9"); // gvputs(job, span->str); UNSUPPORTED("c5daf8oxiupwtbg0xqvnmhcja"); // gvputs(job, "}"); UNSUPPORTED("eyrt0ozexqiogwfvx6afjau6i"); // gvputs(job, " -fill "); UNSUPPORTED("2g5b6wr0r6zs9h8szn82kzlwh"); // tkgen_print_color(job, obj->pencolor); UNSUPPORTED("2f348xbokrc8ke8cqvx1n8r8t"); // gvputs(job, " -font {"); UNSUPPORTED("9sp1k6nk7qgspuoh1fsykad1d"); // /* tk doesn't like PostScript font names like "Times-Roman" */ UNSUPPORTED("3fgue2b4or4v2ea9156z83s40"); // /* so use family names */ UNSUPPORTED("8hnpk6w2tpf5af6930s0fwjzv"); // pA = span->font->postscript_alias; UNSUPPORTED("25qpoikp60eudd2s2rx82m4nz"); // if (pA) UNSUPPORTED("8jg0mf1p0gcs81yus1o9buib3"); // font = pA->family; UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else UNSUPPORTED("blasxdo35r0ck273xhl4rt9aq"); // font = span->font->name; UNSUPPORTED("eec8oj7b6e89hy8dovtjq79l3"); // gvputs(job, "\""); UNSUPPORTED("bfjoee7kusanzqqsijx9fv8e3"); // gvputs(job, font); UNSUPPORTED("eec8oj7b6e89hy8dovtjq79l3"); // gvputs(job, "\""); UNSUPPORTED("3iim7kn92kmgyv6y3ksj64yts"); // /* use -ve fontsize to indicate pixels - see "man n font" */ UNSUPPORTED("1npabltzbojkssc7y6zaax68z"); // gvprintf(job, " %d}", size); UNSUPPORTED("aa77x3rwsgl9w2j4emr2slvvg"); // switch (span->just) { UNSUPPORTED("dva9utlw6mjaqopti10jmbumi"); // case 'l': UNSUPPORTED("3axfyb1v0b6zx9rpx0zk823t8"); // gvputs(job, " -anchor w"); UNSUPPORTED("d1pumbibe8xz2i7gr1wj6zdak"); // break; UNSUPPORTED("8t43r13dsz4v58jm5myew417n"); // case 'r': UNSUPPORTED("21sml808kswrqs8l2ia7cc6lw"); // gvputs(job, " -anchor e"); UNSUPPORTED("d1pumbibe8xz2i7gr1wj6zdak"); // break; UNSUPPORTED("84cl4r6uveabh1lahtyw0ptb8"); // default: UNSUPPORTED("9szdbf50c5ed9xajhvikui4o6"); // case 'n': UNSUPPORTED("d1pumbibe8xz2i7gr1wj6zdak"); // break; UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("2il2s87ajd09islkh7e2kirpo"); // tkgen_print_tags(job); UNSUPPORTED("5uq09elejy2ot3s8x5d13dxs9"); // gvputs(job, "\n"); UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3g3c5t15h39grskbujipsb3n7 // static void tkgen_ellipse(GVJ_t * job, pointf * A, int filled) public static Object tkgen_ellipse(Object... arg) { UNSUPPORTED("5092mqkkvnba8iben6dh14iz5"); // static void tkgen_ellipse(GVJ_t * job, pointf * A, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; UNSUPPORTED("t8jc65c5jcpqdkfpg4fjb8u4"); // if (obj->pen != PEN_NONE) { UNSUPPORTED("dm4570wcyjb3rox4itsi86l1q"); // /* A[] contains 2 points: the center and top right corner. */ UNSUPPORTED("5s8l5jhamrhlmzhbxbollx0ce"); // r.x = A[1].x - A[0].x; UNSUPPORTED("5xe23krn77wrf3q2cnb8tid6u"); // r.y = A[1].y - A[0].y; UNSUPPORTED("42w8f4syzoodosc4lqh7zdhf6"); // A[0].x -= r.x; UNSUPPORTED("8v0iqqzghk3op67s3lqog6ehb"); // A[0].y -= r.y; UNSUPPORTED("cpyq52t64pblc9nfne0q9tzvv"); // tkgen_canvas(job); UNSUPPORTED("897mq76heyo6hgxh4e95wy9zi"); // gvputs(job, " create oval "); UNSUPPORTED("cxoxxyz7qmjvft5cr1rcjstyo"); // gvprintpointflist(job, A, 2); UNSUPPORTED("cfzbaouamgyduscf63lup4oww"); // gvputs(job, " -fill "); UNSUPPORTED("2r3o5gud8djix2uwr2zk2pvtr"); // if (filled) UNSUPPORTED("in3qxhb278ephlrwa1dj9da8"); // tkgen_print_color(job, obj->fillcolor); UNSUPPORTED("1zsbuj1o3uaqqaqgzt5q0kcs"); // else if (first_periphery) UNSUPPORTED("1q9z405druym0tb73iu7wgsbj"); // /* tk ovals default to no fill, some fill UNSUPPORTED("aeswylfea9yhqvz6vm9o2vu8l"); // * is necessary else "canvas find overlapping" doesn't UNSUPPORTED("mj4s48s0gyalklfrcrgpxdol"); // * work as expected, use white instead */ UNSUPPORTED("vh2rv9mnbc28spfzs8cyaoar"); // gvputs(job, "white"); UNSUPPORTED("df5svfeo1imlc8qm6azeqkkmh"); // else UNSUPPORTED("cqkxybfy03p6sdzaw403x4anw"); // gvputs(job, "\"\""); UNSUPPORTED("67pmynbmmb156i27d3hh6z2lm"); // if (first_periphery == 1) UNSUPPORTED("beq2s7wwrxfrqoschrxojlq3"); // first_periphery = 0; UNSUPPORTED("5d33cl4ogs78yvw2i75icg9g6"); // gvputs(job, " -width "); UNSUPPORTED("9lzl69uuazscmin8fqgbic818"); // gvprintdouble(job, obj->penwidth); UNSUPPORTED("4cpwr3m94g1ys1g7qno3p7770"); // gvputs(job, " -outline "); UNSUPPORTED("b1kdoymo0peu76atwvwlvppxm"); // tkgen_print_color(job, obj->pencolor); UNSUPPORTED("7ljsiyfswf1fyq7u5u5meig9b"); // if (obj->pen == PEN_DASHED) UNSUPPORTED("48ujmq20gr1bcmnb9x7qstuon"); // gvputs(job, " -dash 5"); UNSUPPORTED("qz536d4xx8biptvgrkpjg3wo"); // if (obj->pen == PEN_DOTTED) UNSUPPORTED("nxz0zcvg2vp69h2k4vz0zxjo"); // gvputs(job, " -dash 2"); UNSUPPORTED("7xbsyhpezhbss8vlckn2p77i7"); // tkgen_print_tags(job); UNSUPPORTED("427r2p9r3ymmxp5p69rt99ymp"); // gvputs(job, "\n"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eeajnb6p79ncip1c7g31tb6ig // static void tkgen_bezier(GVJ_t * job, pointf * A, int n, int arrow_at_start, int arrow_at_end, int filled) public static Object tkgen_bezier(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("3iwjodya57audhxb7vhl6mtnt"); // tkgen_bezier(GVJ_t * job, pointf * A, int n, int arrow_at_start, UNSUPPORTED("77j21vz8ekimnj6b6uefavtz2"); // int arrow_at_end, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("t8jc65c5jcpqdkfpg4fjb8u4"); // if (obj->pen != PEN_NONE) { UNSUPPORTED("cpyq52t64pblc9nfne0q9tzvv"); // tkgen_canvas(job); UNSUPPORTED("bb6nsdbnte9p73wmrdar55mb7"); // gvputs(job, " create line "); UNSUPPORTED("af44mg78omj8g3sx02euas8s"); // gvprintpointflist(job, A, n); UNSUPPORTED("cfzbaouamgyduscf63lup4oww"); // gvputs(job, " -fill "); UNSUPPORTED("8lreipxfzo9h2hdub9byfimmx"); // tkgen_print_color(job, obj->pencolor); UNSUPPORTED("5d33cl4ogs78yvw2i75icg9g6"); // gvputs(job, " -width "); UNSUPPORTED("9lzl69uuazscmin8fqgbic818"); // gvprintdouble(job, obj->penwidth); UNSUPPORTED("7ljsiyfswf1fyq7u5u5meig9b"); // if (obj->pen == PEN_DASHED) UNSUPPORTED("48ujmq20gr1bcmnb9x7qstuon"); // gvputs(job, " -dash 5"); UNSUPPORTED("qz536d4xx8biptvgrkpjg3wo"); // if (obj->pen == PEN_DOTTED) UNSUPPORTED("nxz0zcvg2vp69h2k4vz0zxjo"); // gvputs(job, " -dash 2"); UNSUPPORTED("3rjk6ae9vk516ajz9hz4fr70p"); // gvputs(job, " -smooth bezier "); UNSUPPORTED("7xbsyhpezhbss8vlckn2p77i7"); // tkgen_print_tags(job); UNSUPPORTED("427r2p9r3ymmxp5p69rt99ymp"); // gvputs(job, "\n"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 d9qc2t2e84r1dyjrjh9lvaaqc // static void tkgen_polygon(GVJ_t * job, pointf * A, int n, int filled) public static Object tkgen_polygon(Object... arg) { UNSUPPORTED("17wb4p46hmuuq5j0pxtx7ui5x"); // static void tkgen_polygon(GVJ_t * job, pointf * A, int n, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("t8jc65c5jcpqdkfpg4fjb8u4"); // if (obj->pen != PEN_NONE) { UNSUPPORTED("cpyq52t64pblc9nfne0q9tzvv"); // tkgen_canvas(job); UNSUPPORTED("1sccvd9iuqc3n3fkzk810g0y"); // gvputs(job, " create polygon "); UNSUPPORTED("af44mg78omj8g3sx02euas8s"); // gvprintpointflist(job, A, n); UNSUPPORTED("cfzbaouamgyduscf63lup4oww"); // gvputs(job, " -fill "); UNSUPPORTED("2r3o5gud8djix2uwr2zk2pvtr"); // if (filled) UNSUPPORTED("in3qxhb278ephlrwa1dj9da8"); // tkgen_print_color(job, obj->fillcolor); UNSUPPORTED("1zsbuj1o3uaqqaqgzt5q0kcs"); // else if (first_periphery) UNSUPPORTED("b9wx5iz0yfgk23y63056w64g8"); // /* tk polygons default to black fill, some fill UNSUPPORTED("85jmgncgec9epxj3v03qzl4x6"); // * is necessary else "canvas find overlapping" doesn't UNSUPPORTED("aorsjpcyvmasihruyarjm4f8p"); // * work as expected, use white instead */ UNSUPPORTED("3jjudqx9sb6o5u51zdnpfjf9q"); // gvputs(job, "white"); UNSUPPORTED("35nw1pbiz2p3s6qwlam5eoo3m"); // else UNSUPPORTED("cys9b9aepuo25ntuuyhiqb6ln"); // gvputs(job, "\"\""); UNSUPPORTED("94eif945asnu8gb1psb6wspvz"); // if (first_periphery == 1) UNSUPPORTED("beq2s7wwrxfrqoschrxojlq3"); // first_periphery = 0; UNSUPPORTED("5d33cl4ogs78yvw2i75icg9g6"); // gvputs(job, " -width "); UNSUPPORTED("9lzl69uuazscmin8fqgbic818"); // gvprintdouble(job, obj->penwidth); UNSUPPORTED("4cpwr3m94g1ys1g7qno3p7770"); // gvputs(job, " -outline "); UNSUPPORTED("b1kdoymo0peu76atwvwlvppxm"); // tkgen_print_color(job, obj->pencolor); UNSUPPORTED("7ljsiyfswf1fyq7u5u5meig9b"); // if (obj->pen == PEN_DASHED) UNSUPPORTED("48ujmq20gr1bcmnb9x7qstuon"); // gvputs(job, " -dash 5"); UNSUPPORTED("qz536d4xx8biptvgrkpjg3wo"); // if (obj->pen == PEN_DOTTED) UNSUPPORTED("nxz0zcvg2vp69h2k4vz0zxjo"); // gvputs(job, " -dash 2"); UNSUPPORTED("7xbsyhpezhbss8vlckn2p77i7"); // tkgen_print_tags(job); UNSUPPORTED("427r2p9r3ymmxp5p69rt99ymp"); // gvputs(job, "\n"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 6c5hyqf18vqv7zjvhkfe6ti35 // static void tkgen_polyline(GVJ_t * job, pointf * A, int n) public static Object tkgen_polyline(Object... arg) { UNSUPPORTED("at98nvxsdu2h0dornar4y15ul"); // static void tkgen_polyline(GVJ_t * job, pointf * A, int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("t8jc65c5jcpqdkfpg4fjb8u4"); // if (obj->pen != PEN_NONE) { UNSUPPORTED("cpyq52t64pblc9nfne0q9tzvv"); // tkgen_canvas(job); UNSUPPORTED("bb6nsdbnte9p73wmrdar55mb7"); // gvputs(job, " create line "); UNSUPPORTED("af44mg78omj8g3sx02euas8s"); // gvprintpointflist(job, A, n); UNSUPPORTED("cfzbaouamgyduscf63lup4oww"); // gvputs(job, " -fill "); UNSUPPORTED("8lreipxfzo9h2hdub9byfimmx"); // tkgen_print_color(job, obj->pencolor); UNSUPPORTED("7ljsiyfswf1fyq7u5u5meig9b"); // if (obj->pen == PEN_DASHED) UNSUPPORTED("48ujmq20gr1bcmnb9x7qstuon"); // gvputs(job, " -dash 5"); UNSUPPORTED("qz536d4xx8biptvgrkpjg3wo"); // if (obj->pen == PEN_DOTTED) UNSUPPORTED("nxz0zcvg2vp69h2k4vz0zxjo"); // gvputs(job, " -dash 2"); UNSUPPORTED("7xbsyhpezhbss8vlckn2p77i7"); // tkgen_print_tags(job); UNSUPPORTED("427r2p9r3ymmxp5p69rt99ymp"); // gvputs(job, "\n"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 2zi5rrmhj45i69kzgpbc74bsu // gvrender_engine_t tkgen_engine = //1 89ucnxk8hokecx6wfztqf0uyc // gvrender_features_t render_features_tk = //1 bl8y4t7jlhz6ojwhbki4xl65i // gvdevice_features_t device_features_tk = //1 9u0gr6vcp1rk5yi3h4xw8lvbp // gvplugin_installed_t gvrender_tk_types[] = //1 2ge2ai9gnykik4apwbrsp6qua // gvplugin_installed_t gvdevice_tk_types[] = } plantuml-1.2018.13+ds/src/gen/plugin/core/gvrender_core_vml__c.java000066400000000000000000001224241340005343600250640ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.plugin.core; import static smetana.core.Macro.UNSUPPORTED; public class gvrender_core_vml__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 btjrd0itqwulq8xqtw1togigv // unsigned int graphHeight,graphWidth //3 bevzgi4opmmgxwksl1lssepxc // static int xml_isentity(char *s) public static Object xml_isentity(Object... arg) { UNSUPPORTED("ddxpdim5n11qvep9b61kpijae"); // static int xml_isentity(char *s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("7309b02hjekdyss2l1jlfa3o5"); // s++; /* already known to be '&' */ UNSUPPORTED("ee1xg58k0yj6mgak36f7bqx4z"); // if (*s == '#') { UNSUPPORTED("1fe0kohehgdxhenrepo7ymdcw"); // s++; UNSUPPORTED("autyof60ysqv0zxvcovs8ol1o"); // if (*s == 'x' || *s == 'X') { UNSUPPORTED("8dqpp2f04tbhgnmk4gjjb8dga"); // s++; UNSUPPORTED("7z8kjrmcms9gfhq10a65dbjog"); // while ((*s >= '0' && *s <= '9') UNSUPPORTED("cvyao8709l4lhttkvu9hcnvne"); // || (*s >= 'a' && *s <= 'f') UNSUPPORTED("5q6n6p2xf3gohuffw81ur8vhb"); // || (*s >= 'A' && *s <= 'F')) UNSUPPORTED("zybbca41b450wccgr0kkur00"); // s++; UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { UNSUPPORTED("1hg41j8n8b0uz0lmqlqcy30so"); // while (*s >= '0' && *s <= '9') UNSUPPORTED("zybbca41b450wccgr0kkur00"); // s++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { UNSUPPORTED("8h0cru3h3jveaqc5sgyq4rk71"); // while ((*s >= 'a' && *s <= 'z') UNSUPPORTED("31bir978ftxj7zjleb3mr1bei"); // || (*s >= 'A' && *s <= 'Z')) UNSUPPORTED("8dqpp2f04tbhgnmk4gjjb8dga"); // s++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9hcbv4ydnt8trlfaz870sjsyh"); // if (*s == ';') UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 4b9su7anr30347e1zthtrc5ym // static void vml_bzptarray(GVJ_t * job, pointf * A, int n) public static Object vml_bzptarray(Object... arg) { UNSUPPORTED("6cz31arpp4llfud9so2l10aha"); // static void vml_bzptarray(GVJ_t * job, pointf * A, int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("a1dehvgts7vkximbs2yo0q6pa"); // char *c; UNSUPPORTED("7ldg2xw8jnkip042t0h8hr93d"); // c = "m "; /* first point */ UNSUPPORTED("1vi49g48u2rc9v88yhabta0yw"); // for (i = 0; i < n; i++) { UNSUPPORTED("1hgvbe15yhlrd0rd46akda9gh"); // /* integers only in path! */ UNSUPPORTED("e0prmugfew3rqlba7h143j07h"); // gvprintf(job, "%s%.0f,%.0f ", c, A[i].x, graphHeight-A[i].y); UNSUPPORTED("82djk3ejfh3b927h8m60dmvut"); // if (i == 0) UNSUPPORTED("en3ws2ntk263bznbygnksiaqs"); // c = "c "; /* second point */ UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("bhkjgxzahx5z8sapqu2kv00g6"); // c = ""; /* remaining points */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("37rm205a74loh45pr3ipamp7f"); // gvputs(job, "\""); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 c7gxm1yprlzzrruo8zduf87vr // static void vml_print_color(GVJ_t * job, gvcolor_t color) public static Object vml_print_color(Object... arg) { UNSUPPORTED("cq7w4y4atb4wd7qbo6b5xu52q"); // static void vml_print_color(GVJ_t * job, gvcolor_t color) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("1hn9tht7vq6fnuzbw3mgpwl6i"); // switch (color.type) { UNSUPPORTED("8d4tzwdd3f608e3jl4lzyugu0"); // case COLOR_STRING: UNSUPPORTED("13cycml8lfb1s4abkvnuhd8dh"); // gvputs(job, color.u.string); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("1ke9k1couoeb4od2nwibgg0xu"); // case RGBA_BYTE: UNSUPPORTED("bk6hmzzce8zu1dqkcetedyx8a"); // if (color.u.rgba[3] == 0) /* transparent */ UNSUPPORTED("azlrdflufy5e04p9xhwe83phw"); // gvputs(job, "none"); UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else UNSUPPORTED("7jq54scftd6wr5k5aefwuq5r4"); // gvprintf(job, "#%02x%02x%02x", UNSUPPORTED("e0jr1wda5b2t6n9g1aas984rf"); // color.u.rgba[0], color.u.rgba[1], color.u.rgba[2]); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("3yz4iw4v7mm470if4vb6yaack"); // assert(0); /* internal error */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 eev3wa4msf4zlx50e30mpo9cg // static void vml_grstroke(GVJ_t * job, int filled) public static Object vml_grstroke(Object... arg) { UNSUPPORTED("4sobdt8jkapv72q76h5vuwa4d"); // static void vml_grstroke(GVJ_t * job, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("ehybj1eln7oznx97cjgnxbsh4"); // gvputs(job, "pencolor); UNSUPPORTED("eeukvd8elh15jnqvrpkyb0m4q"); // if (obj->penwidth != 1.) UNSUPPORTED("17tvpctzkynev0i8kjxunhih0"); // gvprintf(job, "\" weight=\"%.0fpt", obj->penwidth); UNSUPPORTED("djo67r65tyuacmqc3z1ydjwqz"); // if (obj->pen == PEN_DASHED) { UNSUPPORTED("ezihanuro72spak2bn2a3hsgj"); // gvputs(job, "\" dashstyle=\"dash"); UNSUPPORTED("8lyt1l1t8621bzmtn7js5zd27"); // } else if (obj->pen == PEN_DOTTED) { UNSUPPORTED("8c5eqi9230prlfcpffd4p996q"); // gvputs(job, "\" dashstyle=\"dot"); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6ojsqtwezy0tjycbxcwjo31az"); // gvputs(job, "\" />"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5pomyedqfnet64wh6uod6vb2q // static void vml_grfill(GVJ_t * job, int filled) public static Object vml_grfill(Object... arg) { UNSUPPORTED("ajogwjsu07g39q2rvxv7fkhes"); // static void vml_grfill(GVJ_t * job, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("76ttmy9v8uqmlqtu38x3c4z7j"); // if (filled){ UNSUPPORTED("57p42rg5dkh6garwd1jzybkv5"); // gvputs(job, " filled=\"true\" fillcolor=\""); UNSUPPORTED("1n6pvxcwsq6w87n3kgcvwrkc0"); // vml_print_color(job, obj->fillcolor); UNSUPPORTED("5mqqon1gnvkayrizou1xqmzp7"); // gvputs(job, "\" "); UNSUPPORTED("d5hubmf3ko4b709pzj48gex81"); // }else{ UNSUPPORTED("5bqy4mcc9vk4ut4zsywfztdpy"); // gvputs(job, " filled=\"false\" "); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dyzsyf54kn673uhch0r5fwpg // char *html_string(char *s) public static Object html_string(Object... arg) { UNSUPPORTED("8tv9tnhw9ye4r7idvy9m4aey6"); // char *html_string(char *s) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("210phh7av8ei8ajjmpptx96m6"); // static char *buf = NULL; UNSUPPORTED("6fpm1wk8mz0hofn15361g6nzn"); // static int bufsize = 0; UNSUPPORTED("1q9p9mppsiolvz4xyp1xfe8s2"); // char *p, *sub, *prev = NULL; UNSUPPORTED("9ee5mdh9hsw491mz8n88ey33d"); // int len, pos = 0; UNSUPPORTED("29p3td3mgocxg8wzsqpdzufk1"); // int temp,cnt,remaining=0; UNSUPPORTED("3kfrqsdr0zbtgcprb136f6jf7"); // char workstr[16]; UNSUPPORTED("dqghet86b6lisy95vk1aiqmoq"); // long unsigned int charnum=0; UNSUPPORTED("blujo31vwffo3a9xik8oit7xl"); // unsigned char byte; UNSUPPORTED("a6hm2qvtj6ubjqjo5o0y1nbv6"); // unsigned char mask; UNSUPPORTED("cjyiejw67ffjjsk60tgeebvif"); // if (!buf) { UNSUPPORTED("4xkxdnucjd4ldoikgelnsa7c9"); // bufsize = 64; UNSUPPORTED("9pvgystp8nwvblycum3rps3tz"); // buf = gmalloc(bufsize); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("dpfzdhkfq6u86uv5f9lnqfbpq"); // p = buf; UNSUPPORTED("e8ng575h9ts71v7d04mtpxyr5"); // while (s && *s) { UNSUPPORTED("85svsyrkaau2681m7ya7tygx6"); // if (pos > (bufsize - 8)) { UNSUPPORTED("aa09fjtytqkag416h6457rmkr"); // bufsize *= 2; UNSUPPORTED("3vu2n3g10rrkdmia0oyndfj4s"); // buf = grealloc(buf, bufsize); UNSUPPORTED("cz6j3s7zlvrbs83g3e42o83z7"); // p = buf + pos; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("97iud4axotxlk7ywlijb75m3d"); // /* escape '&' only if not part of a legal entity sequence */ UNSUPPORTED("2ulqzjhkp81o1cpur4y62jck9"); // if (*s == '&' && !(xml_isentity(s))) { UNSUPPORTED("cac1jzftgtiz1fvztpxrb5pzr"); // sub = "&"; UNSUPPORTED("17g0bn2jwfuvdxn93z9lsronr"); // len = 5; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("7e1vaedh6l0yfegrgw9donb9e"); // /* '<' '>' are safe to substitute even if string is already UTF-8 coded UNSUPPORTED("2hspzajrej6p5fmxtp3xo33mw"); // * since UTF-8 strings won't contain '<' or '>' */ UNSUPPORTED("3xg4wo6utmvnlgyvg8ciz4tey"); // else if (*s == '<') { UNSUPPORTED("13qv1mf2mabbasi5mgrjsqs3n"); // sub = "<"; UNSUPPORTED("cn6mu8yh8covbdy1zkhq7256"); // len = 4; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("art2agkl4px2ncm5gmygaoi4v"); // else if (*s == '>') { UNSUPPORTED("dbkjqbduusn4tza1p3ng8iuyi"); // sub = ">"; UNSUPPORTED("cn6mu8yh8covbdy1zkhq7256"); // len = 4; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("aundz2f5ze9pcxo1dksgg0zxi"); // else if (*s == '-') { /* can't be used in xml comment strings */ UNSUPPORTED("37g3n162xpdox7os6l6tphpwc"); // sub = "-"; UNSUPPORTED("17g0bn2jwfuvdxn93z9lsronr"); // len = 5; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("1lvkv9camdmveih40gwylsnw6"); // else if (*s == ' ' && prev && *prev == ' ') { UNSUPPORTED("b0atdb6d1uzal5s04csjvyq30"); // /* substitute 2nd and subsequent spaces with required_spaces */ UNSUPPORTED("72g8c8ott8fvqjni8tir0plf7"); // sub = " "; /* inkscape doesn't recognise   */ UNSUPPORTED("axaethtisavqkan2dx7laigpw"); // len = 6; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("9e32cag083iuoabhlvpcldsa8"); // else if (*s == '"') { UNSUPPORTED("4w7kby1vesehrcs7zpowfb0q6"); // sub = """; UNSUPPORTED("axaethtisavqkan2dx7laigpw"); // len = 6; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("akz9vs5rt6crj61e0batgdi09"); // else if (*s == '\'') { UNSUPPORTED("6ohptq6v6vjhjivmjf7d5auoz"); // sub = "'"; UNSUPPORTED("17g0bn2jwfuvdxn93z9lsronr"); // len = 5; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("7osubpgj63tmt0wj4pvxpwxoe"); // else if ((unsigned char)*s > 127) { UNSUPPORTED("ck3iw54e1uosgnoar7tuj5yiq"); // byte=(unsigned char)*s; UNSUPPORTED("685r14yvgnv8corj4fyj87dwc"); // cnt=0; UNSUPPORTED("1sk7v07qqsmtkhcx3a69hnjyd"); // for (mask=127; mask < byte; mask=mask >>1){ UNSUPPORTED("8fopryll06kvr0jnyzk09qfpq"); // cnt++; UNSUPPORTED("3kqngicr09spfic6rk1h6wfin"); // byte=byte & mask; UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("9i47zp8uygm8m9vcerpifoq21"); // if (cnt>1){ UNSUPPORTED("ac2ry7rlqffp1fgrhemc934gu"); // charnum=byte; UNSUPPORTED("90z94v1tlojflavsqt0s26r6j"); // remaining=cnt-1; UNSUPPORTED("exa3odb9ukrxd1fpltrrdron7"); // }else{ UNSUPPORTED("1og0iux5l20krj89wdqh9w7uv"); // charnum=charnum<<6; UNSUPPORTED("cft38jo0ay29phgz8mhgumxq1"); // charnum+=byte; UNSUPPORTED("aeih2m1vf4h9mot9xtfcgud99"); // remaining--; UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // } UNSUPPORTED("5a72e9ko8v0uosbb9u6k1hcc6"); // if (remaining>0){ UNSUPPORTED("6rtxeprdkn5hl12mzahfp266n"); // s++; UNSUPPORTED("5ltvgvxpweo0rh2kdfohxc2hz"); // continue; UNSUPPORTED("bqxp6rw8noicrlglo8qe8unqq"); // } UNSUPPORTED("7et6ic8p4hqvhv3yec3yk55p6"); // /* we will build the html value right-to-left UNSUPPORTED("2mvg42q0v95d1x1ed42qbvx01"); // * (least significant-to-most) */ UNSUPPORTED("31b55rw6kawn2r6zmqrh228qf"); // workstr[15]=';'; UNSUPPORTED("8i1jougg0os93j7bodx0va50k"); // sub=&workstr[14]; UNSUPPORTED("d3rh9e3or0bar417dv1fit5fo"); // len=3; /* &# + ; */ UNSUPPORTED("ewhmvw4ooekot2lyb18r4tj5g"); // do { UNSUPPORTED("cwwv0otu07pe13eakls5xxerm"); // temp=charnum%10; UNSUPPORTED("da252sqmro65h7ak83r4m3obu"); // *(sub--)=(char)((int)'0'+ temp); UNSUPPORTED("1zirekhu226huecycep0ne7pu"); // charnum/=10; UNSUPPORTED("aq5hs10z0fbv4mhaeuzcmkgog"); // len++; UNSUPPORTED("4bx2iu76wtvgwdtj1yxkeo7bw"); // if (len>12){ /* 12 is arbitrary, but clearly in error */ UNSUPPORTED("btpcnzuplf607blcmfn5tmveu"); // fprintf(stderr, "Error during conversion to \"UTF-8\". Quiting.\n"); UNSUPPORTED("5s066qy9i7y4r1rxj2y59o0cj"); // exit(1); UNSUPPORTED("43y12cfgcytwnxmxacc66zhaa"); // } UNSUPPORTED("8lm55matje4172sjn6kkr5hxq"); // } while (charnum>0); UNSUPPORTED("9y3km5dpa85tacgkfb6yz1mnf"); // *(sub--)='#'; UNSUPPORTED("bo52wzef6reby5fe9dmhkk81l"); // *(sub)='&'; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { UNSUPPORTED("adxr80w3fzxvf4gxvbuo78rm5"); // sub = s; UNSUPPORTED("ct414lk8my1pywj7ypk05e6d"); // len = 1; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("25ryz7f7izh8r6792860c1d0y"); // while (len--) { UNSUPPORTED("byu93mjyl867v3xyy1fb9pw9"); // *p++ = *sub++; UNSUPPORTED("27349aw1zezm0lpez1jn3pcw4"); // pos++; UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } UNSUPPORTED("5j7yubj14qnrajv5mpkfylpk3"); // prev = s; UNSUPPORTED("1fe0kohehgdxhenrepo7ymdcw"); // s++; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("2t1d66kwn86kqh0i665hqw6cl"); // *p = '\0'; UNSUPPORTED("5jfpogdyby101eyuw2dhtb5cg"); // return buf; UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 dur880fsg5atx9nvy1p3ela10 // static void vml_comment(GVJ_t * job, char *str) public static Object vml_comment(Object... arg) { UNSUPPORTED("c00kjo9ns7f17wgw1ohzw57tm"); // static void vml_comment(GVJ_t * job, char *str) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("66eb4g2o03hr5raslmg9nfbeu"); // gvputs(job, " \n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5oyyq924hjocedbpq4l7oehzv // static void vml_begin_job(GVJ_t * job) public static Object vml_begin_job(Object... arg) { UNSUPPORTED("4vv3qhgtpbes35jfx8pclwrgh"); // static void vml_begin_job(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("4cbnyzmzg3cvvcs2o2oquee16"); // gvputs(job, "\n"); UNSUPPORTED("928w4si5zj3hjwozhxchpdea3"); // gvputs(job, "\n\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3xv9atzf4fzy1912qmp1uvq0m // static void vml_begin_graph(GVJ_t * job) public static Object vml_begin_graph(Object... arg) { UNSUPPORTED("avqdb0s2nmtb6gvp76ps0ei2k"); // static void vml_begin_graph(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("8i0d7frxcvvmzhidle0zin9i0"); // char *name; UNSUPPORTED("e1b0xy1qef9gc82t0ivbjb8zh"); // graphHeight =(int)(job->bb.UR.y - job->bb.LL.y); UNSUPPORTED("55u7wm7xjrcquuu2n0hz1jizw"); // graphWidth =(int)(job->bb.UR.x - job->bb.LL.x); UNSUPPORTED("6dl46e1222e567abtx5vifkzq"); // gvputs(job, ""); UNSUPPORTED("b70phb0h3tdknwo7m1tzk0yu9"); // gvputs(job, "\n"); UNSUPPORTED("an46m2db2jmg9d78f3cw0oeep"); // name = agnameof(obj->u.g); UNSUPPORTED("2bwa0axbof4o9lendy4mv0cpr"); // if (name[0]) { UNSUPPORTED("9a7iaj7rt5y0ad0nng4a7jxbo"); // gvputs(job, ""); UNSUPPORTED("1upiypaoqqpwx9r8wle6ufk2g"); // gvputs(job, html_string(name)); UNSUPPORTED("6hyq1ok8iavza1xukic96q0h"); // gvputs(job, ""); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("9tm5u4fe5an4thc0q7bjxnr75"); // gvprintf(job, "\n", job->pagesArraySize.x * job->pagesArraySize.y); UNSUPPORTED("5la678eg2w90eh0sdfjkqn7cz"); // /* the next chunk and all the "DIV" stuff is not required, UNSUPPORTED("6zlticf1cev2j2vigz4tx779o"); // * but it helps with non-IE browsers */ UNSUPPORTED("lhp79l7hlsjswf7b7tw8wpdx"); // gvputs(job, " \n"); UNSUPPORTED("269gwva6ivx61sjbdee3m8vj0"); // gvputs(job, ""); UNSUPPORTED("93pwzzgpdh9757l4olxop6pi0"); // gvputs(job, "\n"); UNSUPPORTED("3kryaxr0uaxo7qpu3ktwzjhz9"); // /* add 10pt pad to the bottom of the graph */ UNSUPPORTED("87yakm6jlsdw93lwf21ta1fdh"); // gvputs(job, "
\n", graphWidth, 10+graphHeight); UNSUPPORTED("5jwc1lxfhyiu5a3waqioulo3"); // gvputs(job, "\n"); UNSUPPORTED("kfdibijgk7342gk871tg8gje"); // gvputs(job, "\n"); UNSUPPORTED("35orfdyus9v7xk40ooebirkq5"); // gvputs(job, " ", graphWidth, graphHeight); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 9qyew5qsglzdy9qx7swdfe7mp // static void vml_end_graph(GVJ_t * job) public static Object vml_end_graph(Object... arg) { UNSUPPORTED("anrryg4l39vgr225rotun9gnr"); // static void vml_end_graph(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("bxensc87sjojotvuy3k04i58o"); // gvputs(job, "\n"); UNSUPPORTED("dvq6wxetnzd2fc0ug9uz2zppo"); // gvputs(job, "
\n"); UNSUPPORTED("1s3mj7n718sgb6k6qbmbcdc9v"); // /* add 10pt pad to the bottom of the graph */ UNSUPPORTED("27m6w3kfdqelgtlqxrx56jlxr"); // gvputs(job, "
\n"); UNSUPPORTED("ebb37y083syliy72ozkhk4wks"); // gvputs(job, "\n"); UNSUPPORTED("dvq6wxetnzd2fc0ug9uz2zppo"); // gvputs(job, "
\n"); UNSUPPORTED("3s1hxsrzd7hxfmm8x5jyyjieh"); // gvputs(job, "
\n"); UNSUPPORTED("5fd7vc4jew0i3dt9bu5fowugo"); // gvputs(job, "\n"); UNSUPPORTED("2vufe64jniejolxnz5681gxqe"); // gvputs(job, "

Sorry, this diagram will only display correctly on Internet Explorer 5 (and up) browsers.

\n"); UNSUPPORTED("dvq6wxetnzd2fc0ug9uz2zppo"); // gvputs(job, "
\n"); UNSUPPORTED("ez37b3bcyingy4jq78tmg0pxj"); // gvputs(job, "
\n"); UNSUPPORTED("eq3lzj7qatimzfjmxipjhyiqz"); // gvputs(job, "\n"); UNSUPPORTED("dvq6wxetnzd2fc0ug9uz2zppo"); // gvputs(job, "
\n"); UNSUPPORTED("dy4p0jrbfldkelbyrvvyzj4qz"); // gvputs(job, "\n\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 bl9rzlwd1nwcpeg5ugnuzqa5e // static void vml_begin_anchor(GVJ_t * job, char *href, char *tooltip, char *target, char *id) public static Object vml_begin_anchor(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("1a7vcj7j4eg713imsharya0ud"); // vml_begin_anchor(GVJ_t * job, char *href, char *tooltip, char *target, char *id) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("amqsywm4tf3cr4mn35bngqsho"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 1x3m9i59qmjupolfx4vhxw0v7 // static void vml_end_anchor(GVJ_t * job) public static Object vml_end_anchor(Object... arg) { UNSUPPORTED("9vhqbnuimouv0ow47wxsqyrls"); // static void vml_end_anchor(GVJ_t * job) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("gdbgsnwooftm30av6d4pf8vp"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 3w9m053yxsneu33cud9timt9t // static void vml_textspan(GVJ_t * job, pointf p, textspan_t * span) public static Object vml_textspan(Object... arg) { UNSUPPORTED("aizdf41m4lp84vrfxtqqjm5kk"); // static void vml_textspan(GVJ_t * job, pointf p, textspan_t * span) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("a6cqx0inp0ev3s5i17yp4krl3"); // pointf p1,p2; UNSUPPORTED("84llcpxtvxaggx841n2t03850"); // obj_state_t *obj = job->obj; UNSUPPORTED("7pxhx3kruwsackat2315zxaxh"); // PostscriptAlias *pA; UNSUPPORTED("bpqxh9mig0sh1gasrlkg6hbph"); // switch (span->just) { UNSUPPORTED("15tf5rbprgr65ucp24e4bba9t"); // case 'l': UNSUPPORTED("bx5btb16vs7f3gj67kpy77ey5"); // p1.x=p.x; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8pu80wsk8me7q17ensqlviq86"); // case 'r': UNSUPPORTED("88f68xft9y7x7p7757jw5v539"); // p1.x=p.x-span->size.x; UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("37fbny64zwo23oymypyreuldc"); // case 'n': UNSUPPORTED("41f56eyenmswtnwdl92dgzi6i"); // p1.x=p.x-(span->size.x/2); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("6v5kd5y5vru7rgdgdqpx8v5qn"); // p2.x=p1.x+span->size.x; UNSUPPORTED("8qe9sncool5td3uxg4au3fcr3"); // if (span->size.y < span->font->size){ UNSUPPORTED("2ta69i4d7oe74st195r1on46r"); // span->size.y = 1 + (1.1*span->font->size); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("l7n28ygxehizidxvci80c5eo"); // p1.x-=8; /* vml textbox margin fudge factor */ UNSUPPORTED("d04wets4lspsvs5pxjr5f7qiv"); // p2.x+=8; /* vml textbox margin fudge factor */ UNSUPPORTED("8y5r2cgryhw2do4ex1gj8g5k2"); // p2.y=graphHeight-(p.y); UNSUPPORTED("348q7svrvxy55boyhh6ini0m5"); // p1.y=(p2.y-span->size.y); UNSUPPORTED("dn75y57iaumqs7rtia0ypr6ho"); // /* text "y" was too high UNSUPPORTED("1lan35rlz4uz5bucr5o7r0g4v"); // * Graphviz uses "baseline", VML seems to use bottom of descenders - so we fudge a little UNSUPPORTED("20rbf35vu5ppvv7irnm95dyo"); // * (heuristics - based on eyeballs) */ UNSUPPORTED("2612tyqxei5p6h4f9ys5dee86"); // if (span->font->size <12.){ /* see graphs/directed/arrows.gv */ UNSUPPORTED("cvs1mwall6wq4ij48lqm4op48"); // p1.y+=1.4+span->font->size/5; /* adjust by approx. descender */ UNSUPPORTED("1rt3dk2b5mwsszlr7636vr1iu"); // p2.y+=1.4+span->font->size/5; /* adjust by approx. descender */ UNSUPPORTED("d5hubmf3ko4b709pzj48gex81"); // }else{ UNSUPPORTED("d562p565hvv27m9q6hboqoceg"); // p1.y+=2+span->font->size/5; /* adjust by approx. descender */ UNSUPPORTED("9zyp3amjqv7igfjsyakzl17mh"); // p2.y+=2+span->font->size/5; /* adjust by approx. descender */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("euxy967coeahp4bc20yubm2yl"); // gvprintf(job, "\n"); UNSUPPORTED("9qq0nba1t0ng7kljc1sbs0qfj"); // gvputs(job, "font->postscript_alias; UNSUPPORTED("85v4mh1bambtpopgva0jmspn9"); // if (pA) { UNSUPPORTED("bgqxo8khg1e099cxrptiwit1z"); // gvprintf(job, "font-family: '%s';", pA->family); UNSUPPORTED("9h5q63fru796qjss1e7qmjs87"); // if (pA->weight) UNSUPPORTED("d27tbziquy9uwa9ti4aosdkhl"); // gvprintf(job, "font-weight: %s;", pA->weight); UNSUPPORTED("9huytp1h7voa42nmxmer22vzu"); // if (pA->stretch) UNSUPPORTED("3pki43hxuzxyud3tzdxwrhaa0"); // gvprintf(job, "font-stretch: %s;", pA->stretch); UNSUPPORTED("5d7zj4s1n6561mk9pcx6o6cgu"); // if (pA->style) UNSUPPORTED("eh8ev5fgxm7vpxf9pk75n85ex"); // gvprintf(job, "font-style: %s;", pA->style); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { UNSUPPORTED("fz55kaucqr8430w3mc1m8hwl"); // gvprintf(job, "font-family: \'%s\';", span->font->name); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("7rot1wnzwom21e0ppkrh5zdav"); // gvprintf(job, " font-size: %.2fpt;", span->font->size); UNSUPPORTED("1ns59jz9xcw8otsxv6kgjgr5e"); // switch (obj->pencolor.type) { UNSUPPORTED("8d4tzwdd3f608e3jl4lzyugu0"); // case COLOR_STRING: UNSUPPORTED("b7fzwqzuy02m4jzy6m43xnpd1"); // if (strcasecmp(obj->pencolor.u.string, "black")) UNSUPPORTED("8nzpd9zrx7vpp0m8m1qgid7do"); // gvprintf(job, "color:%s;", obj->pencolor.u.string); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("1ke9k1couoeb4od2nwibgg0xu"); // case RGBA_BYTE: UNSUPPORTED("c3dfl7pq8vixzp7cbj7583mln"); // gvprintf(job, "color:#%02x%02x%02x;", UNSUPPORTED("7se80bj4r3ij8yqdqdw96l2d2"); // obj->pencolor.u.rgba[0], obj->pencolor.u.rgba[1], obj->pencolor.u.rgba[2]); UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default: UNSUPPORTED("3yz4iw4v7mm470if4vb6yaack"); // assert(0); /* internal error */ UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8stgz0xogc10yjcir6sanbobh"); // gvputs(job, "\">
"); UNSUPPORTED("2y2125yjs17y8io61dtxwyrmo"); // gvputs(job, html_string(span->str)); UNSUPPORTED("32wtt9g6cjyw7gk6tdrbhp88n"); // gvputs(job, "
\n"); UNSUPPORTED("ec1nzz2ms8uxq882p4akkdc7x"); // gvputs(job, "
\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 7uemnirlwr6y4ngurfwnenkrx // static void vml_ellipse(GVJ_t * job, pointf * A, int filled) public static Object vml_ellipse(Object... arg) { UNSUPPORTED("2rzq7xornook326ugiqtx9ip8"); // static void vml_ellipse(GVJ_t * job, pointf * A, int filled) UNSUPPORTED("4ecslok588dpq5vf5tzktm48k"); // { UNSUPPORTED("a736y55qgt64cklrj8yk9uvu"); // double dx, dy, left, right, top, bottom; UNSUPPORTED("8tuvacxowvjyekfxkm6dgvp8f"); // /* A[] contains 2 points: the center and corner. */ UNSUPPORTED("7s2m9hgonz1vxyrkaunqzmm0x"); // gvputs(job, " "); UNSUPPORTED("7gqf6f2q0xzi9bhfhrkseam0y"); // vml_grstroke(job, filled); UNSUPPORTED("18q2t3ic8pbe1l0wsmw06z2n5"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 b5kmfiqdu9573i9iqip2kkynm // static void vml_bezier(GVJ_t * job, pointf * A, int n, int arrow_at_start, int arrow_at_end, int filled) public static Object vml_bezier(Object... arg) { UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void UNSUPPORTED("cxwdtprcwq7lm3c780w1tds29"); // vml_bezier(GVJ_t * job, pointf * A, int n, int arrow_at_start, UNSUPPORTED("77j21vz8ekimnj6b6uefavtz2"); // int arrow_at_end, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("dticghuio7so5b1whdvly7d4h"); // gvputs(job, " "); UNSUPPORTED("7gqf6f2q0xzi9bhfhrkseam0y"); // vml_grstroke(job, filled); UNSUPPORTED("3sp32zqf7o27wlhfm0e8qwo8f"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 5k4nobte06p1zh3op4d1ubct2 // static void vml_polygon(GVJ_t * job, pointf * A, int n, int filled) public static Object vml_polygon(Object... arg) { UNSUPPORTED("14advi4blywcgi43gbteimc7r"); // static void vml_polygon(GVJ_t * job, pointf * A, int n, int filled) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("dwt7qbi5bm9qnisfbxetj2c1u"); // double px,py; UNSUPPORTED("dticghuio7so5b1whdvly7d4h"); // gvputs(job, " "); UNSUPPORTED("7gqf6f2q0xzi9bhfhrkseam0y"); // vml_grstroke(job, filled); UNSUPPORTED("3sp32zqf7o27wlhfm0e8qwo8f"); // gvputs(job, ""); UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } UNSUPPORTED("8va191an28d0k948tf16y0nxn"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //3 elv8mlcw3hix4jbez3msjvwl3 // static void vml_polyline(GVJ_t * job, pointf * A, int n) public static Object vml_polyline(Object... arg) { UNSUPPORTED("9k67ncobudll8378huzqmql4u"); // static void vml_polyline(GVJ_t * job, pointf * A, int n) UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; UNSUPPORTED("dticghuio7so5b1whdvly7d4h"); // gvputs(job, " ", graphWidth, graphHeight); UNSUPPORTED("8xo83512azztf61gbgqbp60i"); // gvputs(job, ""); UNSUPPORTED("1k6f5ran45kpeb0vrbfuqpswu"); // vml_grstroke(job, 0); /* no fill here for polyline */ UNSUPPORTED("8va191an28d0k948tf16y0nxn"); // gvputs(job, "\n"); UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } throw new UnsupportedOperationException(); } //1 d0v2ctv7fk7xyjshwyllfkcpt // static char *vml_knowncolors[] = //1 i4obs2vdal7jcgzcmqpiabad // gvrender_engine_t vml_engine = //1 f19ql4f0xzpd3o01gsqdld6hy // gvrender_features_t render_features_vml = //1 do5wawnnfhzf2g7r3wftgsy4o // gvdevice_features_t device_features_vml = //1 8yst1dqk2z5q83e32t3wmrr75 // gvdevice_features_t device_features_vmlz = //1 65n0gf390fc3raflk4vdbxp9y // gvplugin_installed_t gvrender_vml_types[] = //1 2pmjyl28in77fbh1nf0xxn20c // gvplugin_installed_t gvdevice_vml_types[] = } plantuml-1.2018.13+ds/src/gen/plugin/dot_layout/000077500000000000000000000000001340005343600213045ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/gen/plugin/dot_layout/gvlayout_dot_layout__c.java000066400000000000000000000073001340005343600267250ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.plugin.dot_layout; public class gvlayout_dot_layout__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 baedz5i9est5csw3epz3cv7z // typedef Ppoly_t Ppolyline_t //1 9k44uhd5foylaeoekf3llonjq // extern Dtmethod_t* Dtset //1 1ahfywsmzcpcig2oxm7pt9ihj // extern Dtmethod_t* Dtbag //1 anhghfj3k7dmkudy2n7rvt31v // extern Dtmethod_t* Dtoset //1 5l6oj1ux946zjwvir94ykejbc // extern Dtmethod_t* Dtobag //1 2wtf222ak6cui8cfjnw6w377z // extern Dtmethod_t* Dtlist //1 d1s1s6ibtcsmst88e3057u9r7 // extern Dtmethod_t* Dtstack //1 axa7mflo824p6fspjn1rdk0mt // extern Dtmethod_t* Dtqueue //1 ega812utobm4xx9oa9w9ayij6 // extern Dtmethod_t* Dtdeque //1 cyfr996ur43045jv1tjbelzmj // extern Dtmethod_t* Dtorder //1 wlofoiftbjgrrabzb2brkycg // extern Dtmethod_t* Dttree //1 12bds94t7voj7ulwpcvgf6agr // extern Dtmethod_t* Dthash //1 9lqknzty480cy7zsubmabkk8h // extern Dtmethod_t _Dttree //1 bvn6zkbcp8vjdhkccqo1xrkrb // extern Dtmethod_t _Dthash //1 9lidhtd6nsmmv3e7vjv9e10gw // extern Dtmethod_t _Dtlist //1 34ujfamjxo7xn89u90oh2k6f8 // extern Dtmethod_t _Dtqueue //1 3jy4aceckzkdv950h89p4wjc8 // extern Dtmethod_t _Dtstack //1 8dfqgf3u1v830qzcjqh9o8ha7 // extern Agmemdisc_t AgMemDisc //1 18k2oh2t6llfsdc5x0wlcnby8 // extern Agiddisc_t AgIdDisc //1 a4r7hi80gdxtsv4hdoqpyiivn // extern Agiodisc_t AgIoDisc //1 bnzt5syjb7mgeru19114vd6xx // extern Agdisc_t AgDefaultDisc //1 35y2gbegsdjilegaribes00mg // extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected //1 c2rygslq6bcuka3awmvy2b3ow // typedef Agsubnode_t Agnoderef_t //1 xam6yv0dcsx57dtg44igpbzn // typedef Dtlink_t Agedgeref_t //1 3rtanuqep8p4j1ff0fu8pc317 // gvlayout_engine_t dotgen_engine = //1 d72gzhpu1133ozfmxotx96w15 // gvlayout_features_t dotgen_features = //1 b4znay22fp8g1gn9bsyovltke // gvplugin_installed_t gvlayout_dot_layout[] = } plantuml-1.2018.13+ds/src/gen/plugin/dot_layout/gvplugin_dot_layout__c.java000066400000000000000000000043061340005343600267110ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package gen.plugin.dot_layout; public class gvplugin_dot_layout__c { //1 2digov3edok6d5srhgtlmrycs // extern lt_symlist_t lt_preloaded_symbols[] //1 7fijea0rwszpxhs4k5zka76di // extern gvplugin_installed_t gvlayout_dot_layout[] //1 b52d96517bdj0tz5tyri3l3ma // static gvplugin_api_t apis[] = //1 91j4f2ok2soe72bm33t6lrnvv // gvplugin_library_t gvplugin_dot_layout_LTX_library = } plantuml-1.2018.13+ds/src/h/000077500000000000000000000000001340005343600153015ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/h/Agcbstack_s.java000066400000000000000000000045061340005343600203550ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 c13tvg963ir8gy4n4hq85wlp5 public interface Agcbstack_s extends __ptr__ { public static List DEFINITION = Arrays.asList( "struct Agcbstack_s", "{", "Agcbdisc_t *f", "void *state", "Agcbstack_t *prev", "}"); } // struct Agcbstack_s { /* object event callbacks */ // Agcbdisc_t *f; /* methods */ // void *state; /* closure */ // Agcbstack_t *prev; /* kept in a stack, unlike other disciplines */ // };plantuml-1.2018.13+ds/src/h/Agcbstack_t.java000066400000000000000000000041351340005343600203540ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; //2 9vl1n1ipo4hb9ftk6z6tbxabj public interface Agcbstack_t extends Agcbstack_s { public static List DEFINITION = Arrays.asList( "typedef struct Agcbstack_s Agcbstack_t"); } // typedef struct Agcbstack_s Agcbstack_t;plantuml-1.2018.13+ds/src/h/Agdstate_s.java000066400000000000000000000044311340005343600202240ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 87jmuxk6h1j3ep0k0s2qz7fsb public interface Agdstate_s extends __ptr__ { public static List DEFINITION = Arrays.asList( "struct Agdstate_s", "{", "void *mem", "void *id", "}"); } // struct Agdstate_s { // void *mem; // void *id; // /* IO must be initialized and finalized outside Cgraph, // * and channels (FILES) are passed as void* arguments. */ // };plantuml-1.2018.13+ds/src/h/Agiodisc_s.java000066400000000000000000000046301340005343600202130ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 e7kjont9j5j3b97ohu5k7ur89 public interface Agiodisc_s extends __ptr__ { public static List DEFINITION = Arrays.asList( "struct Agiodisc_s", "{", "int (*afread) (void *chan, char *buf, int bufsize)", "int (*putstr) (void *chan, const char *str)", "int (*flush) (void *chan)", "}"); } // struct Agiodisc_s { // int (*afread) (void *chan, char *buf, int bufsize); // int (*putstr) (void *chan, const char *str); // int (*flush) (void *chan); /* sync */ // /* error messages? */ // };plantuml-1.2018.13+ds/src/h/Branch_t.java000066400000000000000000000043141340005343600176660ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 85dckzvbvghwxxfvifa6k6n9u public interface Branch_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct Branch", "{", "Rect_t rect", "struct Node *child", "}", "Branch_t"); } // typedef struct Branch { // Rect_t rect; // struct Node *child; // } Branch_t;plantuml-1.2018.13+ds/src/h/Dtcompar_f.java000066400000000000000000000042321340005343600202230ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 8l0hamj2h9wjmxntnfif8qr0u public interface Dtcompar_f extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef int (*Dtcompar_f)(Dt_t*,void*,void*,Dtdisc_t*)"); } // typedef int (*Dtcompar_f)(Dt_t*,void*,void*,Dtdisc_t*);plantuml-1.2018.13+ds/src/h/Dtevent_f.java000066400000000000000000000042231340005343600200630ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 aok6h7reyx9aof9o5x8vmhrdl public interface Dtevent_f extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef int (*Dtevent_f)(Dt_t*,int,void*,Dtdisc_t*)"); } // typedef int (*Dtevent_f)(Dt_t*,int,void*,Dtdisc_t*);plantuml-1.2018.13+ds/src/h/Dtfree_f.java000066400000000000000000000042141340005343600176630ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 77oaerxzxja1o4hf22u53nx0q public interface Dtfree_f extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef void (*Dtfree_f)(Dt_t*,void*,Dtdisc_t*)"); } // typedef void (*Dtfree_f)(Dt_t*,void*,Dtdisc_t*);plantuml-1.2018.13+ds/src/h/Dthash_f.java000066400000000000000000000042301340005343600176630ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 df6rxih396i1t0qdbcbr992aw public interface Dthash_f extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef unsigned int (*Dthash_f)(Dt_t*,void*,Dtdisc_t*)"); } // typedef unsigned int (*Dthash_f)(Dt_t*,void*,Dtdisc_t*);plantuml-1.2018.13+ds/src/h/Dtmake_f.java000066400000000000000000000042141340005343600176570ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 9m2e8f1zyiy1pfo2wn5pxlrd4 public interface Dtmake_f extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef void* (*Dtmake_f)(Dt_t*,void*,Dtdisc_t*)"); } // typedef void* (*Dtmake_f)(Dt_t*,void*,Dtdisc_t*);plantuml-1.2018.13+ds/src/h/Dtmemory_f.java000066400000000000000000000042401340005343600202510ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 4zc871fjqyem7alnz2wj8tbr1 public interface Dtmemory_f extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef void* (*Dtmemory_f)(Dt_t*,void*,size_t,Dtdisc_t*)"); } // typedef void* (*Dtmemory_f)(Dt_t*,void*,size_t,Dtdisc_t*);plantuml-1.2018.13+ds/src/h/Dtsearch_f.java000066400000000000000000000042061340005343600202100ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 aagzksky19to67t04s3ajytr4 public interface Dtsearch_f extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef void* (*Dtsearch_f)(Dt_t*,void*,int)"); } // typedef void* (*Dtsearch_f)(Dt_t*,void*,int);plantuml-1.2018.13+ds/src/h/Dtstat_t.java000066400000000000000000000041161340005343600177340ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; //2 1r5lk2p40u9awvooeu2vq9dks public interface Dtstat_t extends _dtstat_s { public static List DEFINITION = Arrays.asList( "typedef struct _dtstat_s Dtstat_t"); } // typedef struct _dtstat_s Dtstat_t;plantuml-1.2018.13+ds/src/h/GVCOMMON_t.java000066400000000000000000000054501340005343600177200ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 3xlydw5hu2becv89l6tup8eo public interface GVCOMMON_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct GVCOMMON_s", "{", "char **info", "char *cmdname", "int verbose", "boolean config, auto_outfile_names", "void (*errorfn) (const char *fmt, ...)", "const char **show_boxes", "const char **lib", "int viewNum", "const lt_symlist_t *builtins", "int demand_loading", "}", "GVCOMMON_t"); } // typedef struct GVCOMMON_s { // char **info; // char *cmdname; // int verbose; // boolean config, auto_outfile_names; // void (*errorfn) (const char *fmt, ...); // const char **show_boxes; /* emit code for correct box coordinates */ // const char **lib; // // /* rendering state */ // int viewNum; /* current view - 1 based count of views, // all pages in all layers */ // const lt_symlist_t *builtins; // int demand_loading; // } GVCOMMON_t;plantuml-1.2018.13+ds/src/h/LeafList_t.java000066400000000000000000000043361340005343600202000ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 5wb626r2549k6hvj4smr38atg public interface LeafList_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct LeafList", "{", "struct LeafList *next", "Leaf_t *leaf", "}", "LeafList_t"); } // typedef struct LeafList { // struct LeafList *next; // Leaf_t *leaf; // } LeafList_t;plantuml-1.2018.13+ds/src/h/Leaf_t.java000066400000000000000000000042621340005343600173420ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 222l43uzb7c0te92wbi9jdkk4 public interface Leaf_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct Leaf", "{", "Rect_t rect", "void *data", "}", "Leaf_t"); } // typedef struct Leaf { // Rect_t rect; // void *data; // } Leaf_t;plantuml-1.2018.13+ds/src/h/ListNode_t.java000066400000000000000000000043501340005343600202120ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 2e7wm1x0xyl1l19f34nw52e1c public interface ListNode_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct ListNode", "{", "struct ListNode *next", "struct Node *node", "}", "ListNode_t"); } // typedef struct ListNode { // struct ListNode *next; // struct Node *node; // } ListNode_t;plantuml-1.2018.13+ds/src/h/MPairDisc.java000066400000000000000000000042711340005343600177630ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 4elpghprbfhy6q6283wnrh4wv public interface MPairDisc extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "Dtdisc_t disc", "mpair *flist", "}", "MPairDisc"); } // typedef struct { // Dtdisc_t disc; // mpair *flist; // } MPairDisc;plantuml-1.2018.13+ds/src/h/PartitionVars.java000066400000000000000000000045111340005343600207520ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 3bl1j8t9m914f4j86dshaf3ec public interface PartitionVars extends __ptr__ { public static List DEFINITION = Arrays.asList( "struct PartitionVars", "{", "int partition[64 + 1]", "int taken[64 + 1]", "int count[2]", "struct Rect cover[2]", "int area[2]", "}"); } // struct PartitionVars { // int partition[64 + 1]; // int taken[64 + 1]; // int count[2]; // struct Rect cover[2]; // int area[2]; // };plantuml-1.2018.13+ds/src/h/PostscriptAlias.java000066400000000000000000000050631340005343600212740ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 bz3dqxllqmg9suinb2cpbn15d public interface PostscriptAlias extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct _PostscriptAlias", "{", "char* name", "char* family", "char* weight", "char* stretch", "char* style", "int xfig_code", "char* svg_font_family", "char* svg_font_weight", "char* svg_font_style", "}", "PostscriptAlias"); } // typedef struct _PostscriptAlias { // char* name; // char* family; // char* weight; // char* stretch; // char* style; // int xfig_code; // char* svg_font_family; // char* svg_font_weight; // char* svg_font_style; // } PostscriptAlias;plantuml-1.2018.13+ds/src/h/Ppoint_t.java000066400000000000000000000041521340005343600177420ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.pointf_s; //2 5ih4079ytax8x1xfcnbvykspw public interface Ppoint_t extends pointf_s { public static List DEFINITION = Arrays.asList( "typedef struct pointf_s Ppoint_t"); } // typedef struct pointf_s Ppoint_t;plantuml-1.2018.13+ds/src/h/Pvector_t.java000066400000000000000000000041551340005343600201160ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.pointf_s; //2 7u6ia0m5l63lzjsh8q9g4m0z0 public interface Pvector_t extends pointf_s { public static List DEFINITION = Arrays.asList( "typedef struct pointf_s Pvector_t"); } // typedef struct pointf_s Pvector_t;plantuml-1.2018.13+ds/src/h/Pxy_t.java000066400000000000000000000042211340005343600172460ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 6l32s8asvxzjzhd33lym87bk6 public interface Pxy_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct Pxy_t", "{", "double x, y", "}", "Pxy_t"); } // typedef struct Pxy_t { // double x, y; // } Pxy_t;plantuml-1.2018.13+ds/src/h/ST_Agattr_s.java000066400000000000000000000057061340005343600203260ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.List; import smetana.core.CString; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_Agattr_s extends UnsupportedStructAndPtr { private final ST_Agrec_s h = new ST_Agrec_s(this); /* common data header */ public ST_dt_s dict; /* shared dict to interpret attr field */ public List str; /* the attribute string values */ private final StarStruct parent; public ST_Agattr_s() { this(null); } public ST_Agattr_s(StarStruct parent) { this.parent = parent; } public StarStruct getParent() { return parent; } @Override public __ptr__ castTo(Class dest) { if (dest == ST_Agrec_s.class) { return h; // return h.amp(); } return super.castTo(dest); } // public static List DEFINITION = Arrays.asList( // "struct Agattr_s", // "{", // "Agrec_t h", // "Dict_t *dict", // "char **str", // "}"); } // struct Agattr_s { /* dynamic string attributes */ // Agrec_t h; /* common data header */ // Dict_t *dict; /* shared dict to interpret attr field */ // char **str; /* the attribute string values */ // };plantuml-1.2018.13+ds/src/h/ST_Agcbstack_s.java000066400000000000000000000050261340005343600207610ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.amiga.StarStruct; public class ST_Agcbstack_s extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_Agcbstack_s() { this(null); } public ST_Agcbstack_s(StarStruct parent) { this.parent = parent; } public StarStruct getParent() { return parent; } // public static List DEFINITION = Arrays.asList( // "struct Agcbstack_s", // "{", // "Agcbdisc_t *f", // "void *state", // "Agcbstack_t *prev", // "}"); } // struct Agcbstack_s { /* object event callbacks */ // Agcbdisc_t *f; /* methods */ // void *state; /* closure */ // Agcbstack_t *prev; /* kept in a stack, unlike other disciplines */ // };plantuml-1.2018.13+ds/src/h/ST_Agclos_s.java000066400000000000000000000072641340005343600203150ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_Agclos_s extends UnsupportedStructAndPtr { private final StarStruct parent; public final ST_Agdisc_s disc = new ST_Agdisc_s(this); /* resource discipline functions */ public final ST_Agdstate_s state = new ST_Agdstate_s(this); /* resource closures */ public ST_dt_s strdict; public final int[] seq = new int[3]; // "unsigned long seq[3]", public ST_Agcbstack_s cb; public boolean callbacks_enabled; /* issue user callbacks or hold them? */ // "Dict_t *lookup_by_name[3]", // "Dict_t *lookup_by_id[3]", public final ST_dt_s[] lookup_by_id = new ST_dt_s[3]; public ST_Agclos_s() { this(null); } public ST_Agclos_s(StarStruct parent) { this.parent = parent; } public StarStruct getParent() { return parent; } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("strdict")) { this.strdict = (ST_dt_s) newData; return strdict; } return super.setPtr(fieldName, newData); } // public interface ST_Agclos_s extends __ptr__ { // public static List DEFINITION = Arrays.asList( // "struct Agclos_s", // "{", // "Agdisc_t disc", // "Agdstate_t state", // "Dict_t *strdict", // "unsigned long seq[3]", // "Agcbstack_t *cb", // "unsigned char callbacks_enabled", // "Dict_t *lookup_by_name[3]", // "Dict_t *lookup_by_id[3]", // "}"); } // struct Agclos_s { // Agdisc_t disc; /* resource discipline functions */ // Agdstate_t state; /* resource closures */ // Dict_t *strdict; /* shared string dict */ // unsigned long seq[3]; /* local object sequence number counter */ // Agcbstack_t *cb; /* user and system callback function stacks */ // unsigned char callbacks_enabled; /* issue user callbacks or hold them? */ // Dict_t *lookup_by_name[3]; // Dict_t *lookup_by_id[3]; // };plantuml-1.2018.13+ds/src/h/ST_Agdatadict_s.java000066400000000000000000000063501340005343600211250ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_Agdatadict_s extends UnsupportedStructAndPtr { private final ST_Agrec_s h = new ST_Agrec_s(this); /* installed in list of graph recs */ public ST_dt_s dict_n; public ST_dt_s dict_e; public ST_dt_s dict_g; private final StarStruct parent; public ST_Agdatadict_s() { this(null); } public ST_Agdatadict_s(StarStruct parent) { this.parent = parent; } public StarStruct getParent() { return parent; } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("dict.n")) { this.dict_n = (ST_dt_s) newData; return dict_n; } if (fieldName.equals("dict.e")) { this.dict_e = (ST_dt_s) newData; return dict_e; } if (fieldName.equals("dict.g")) { this.dict_g = (ST_dt_s) newData; return dict_g; } return super.setPtr(fieldName, newData); } @Override public __ptr__ castTo(Class dest) { if (dest == ST_Agrec_s.class) { return h; } return super.castTo(dest); } // public static List DEFINITION = Arrays.asList( // "struct Agdatadict_s", // "{", // "Agrec_t h", // "struct", // "{", // "Dict_t *n, *e, *g", // "}", // "dict", // "}"); } // struct Agdatadict_s { /* set of dictionaries per graph */ // Agrec_t h; /* installed in list of graph recs */ // struct { // Dict_t *n, *e, *g; // } dict; // };plantuml-1.2018.13+ds/src/h/ST_Agdesc_s.java000066400000000000000000000116751340005343600202740ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedStarStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__struct__; import smetana.core.amiga.Area; import smetana.core.amiga.AreaInt; import smetana.core.amiga.InternalData; import smetana.core.amiga.StarStruct; public class ST_Agdesc_s extends UnsupportedStructAndPtr implements HardcodedStruct { public int directed; /* if edges are asymmetric */ public int strict; /* if multi-edges forbidden */ public int no_loop; /* if no loops */ public int maingraph; /* if this is the top level graph */ public int flatlock; /* if sets are flattened into lists in cdt */ public int no_write; /* if a temporary subgraph */ public int has_attrs; /* if string attr tables should be initialized */ public int has_cmpnd; /* if may contain collapsed nodes */ public ST_Agdesc_s() { this(null); } public ST_Agdesc_s(StarStruct parent) { } @Override public __struct__ copy() { final ST_Agdesc_s result = new ST_Agdesc_s(); result.directed = directed; result.strict = strict; result.no_loop = no_loop; result.maingraph = maingraph; result.flatlock = flatlock; result.no_write = no_write; result.has_attrs = has_attrs; result.has_cmpnd = has_cmpnd; return result; } @Override public void copyDataFrom(__struct__ other) { ST_Agdesc_s other2 = (ST_Agdesc_s) other; directed = other2.directed; strict = other2.strict; no_loop = other2.no_loop; maingraph = other2.maingraph; flatlock = other2.flatlock; no_write = other2.no_write; has_attrs = other2.has_attrs; has_cmpnd = other2.has_cmpnd; } public class MyInternalData extends UnsupportedStarStruct implements InternalData { @Override public Area getArea(String name) { final AreaInt result = new AreaInt(); if (name.equals("directed")) { result.setInternal(directed); return result; } if (name.equals("strict")) { result.setInternal(strict); return result; } if (name.equals("no_loop")) { result.setInternal(no_loop); return result; } if (name.equals("maingraph")) { result.setInternal(maingraph); return result; } if (name.equals("flatlock")) { result.setInternal(flatlock); return result; } if (name.equals("no_write")) { result.setInternal(no_write); return result; } if (name.equals("has_attrs")) { result.setInternal(has_attrs); return result; } if (name.equals("has_cmpnd")) { result.setInternal(has_cmpnd); return result; } return super.getArea(name); } } @Override public StarStruct getInternalData() { return new MyInternalData(); } } // struct Agdesc_s { /* graph descriptor */ // unsigned directed:1; /* if edges are asymmetric */ // unsigned strict:1; /* if multi-edges forbidden */ // unsigned no_loop:1; /* if no loops */ // unsigned maingraph:1; /* if this is the top level graph */ // unsigned flatlock:1; /* if sets are flattened into lists in cdt */ // unsigned no_write:1; /* if a temporary subgraph */ // unsigned has_attrs:1; /* if string attr tables should be initialized */ // unsigned has_cmpnd:1; /* if may contain collapsed nodes */ // };plantuml-1.2018.13+ds/src/h/ST_Agdisc_s.java000066400000000000000000000056731340005343600203010ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_Agdisc_s extends UnsupportedStructAndPtr { public ST_Agmemdisc_s mem; public ST_Agiddisc_s id; public ST_Agiodisc_s io; private final StarStruct parent; public ST_Agdisc_s() { this(null); } public ST_Agdisc_s(StarStruct parent) { this.parent = parent; } public StarStruct getParent() { return parent; } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("mem")) { this.mem = (ST_Agmemdisc_s) newData; return mem; } if (fieldName.equals("id")) { this.id = (ST_Agiddisc_s) newData; return id; } // if (fieldName.equals("io")) { // this.io = (ST_Agiodisc_s.Amp) newData; // return io; // } return super.setPtr(fieldName, newData); } // public static List DEFINITION = Arrays.asList( // "struct Agdisc_s", // "{", // "Agmemdisc_t *mem", // "Agiddisc_t *id", // "Agiodisc_t *io", // "}"); } // struct Agdisc_s { /* user's discipline */ // Agmemdisc_t *mem; // Agiddisc_t *id; // Agiodisc_t *io; // };plantuml-1.2018.13+ds/src/h/ST_Agdstate_s.java000066400000000000000000000054641340005343600206410ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_Agdstate_s extends UnsupportedStructAndPtr { private final StarStruct parent; public __ptr__ mem; public __ptr__ id; public ST_Agdstate_s() { this(null); } public ST_Agdstate_s(StarStruct parent) { this.parent = parent; } public StarStruct getParent() { return parent; } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("mem")) { this.mem = newData; return mem; } if (fieldName.equals("id")) { this.id = newData; return id; } return super.setPtr(fieldName, newData); } // public static List DEFINITION = Arrays.asList( // "struct Agdstate_s", // "{", // "void *mem", // "void *id", // "}"); } // struct Agdstate_s { // void *mem; // void *id; // /* IO must be initialized and finalized outside Cgraph, // * and channels (FILES) are passed as void* arguments. */ // };plantuml-1.2018.13+ds/src/h/ST_Agedge_s.java000066400000000000000000000145631340005343600202610ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.ArrayList; import java.util.List; import smetana.core.HardcodedStruct; import smetana.core.OFFSET; import smetana.core.UnsupportedArrayOfPtr; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__array_of_ptr__; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_Agedge_s extends UnsupportedStructAndPtr implements HardcodedStruct { private final StarStruct parent; public final ST_Agobj_s base = new ST_Agobj_s(this); public final ST_dtlink_s id_link = new ST_dtlink_s(this); public final ST_dtlink_s seq_link = new ST_dtlink_s(this); public ST_Agnode_s node; public static class ArrayOfStar extends UnsupportedArrayOfPtr implements __ptr__, __array_of_ptr__ { private final List data; private final int pos; public ArrayOfStar(int size) { this.data = new ArrayList(); this.pos = 0; for (int i = 0; i < size; i++) { data.add(null); } } public void swap(int i, int j) { ST_Agedge_s e1 = data.get(i); ST_Agedge_s e2 = data.get(j); data.set(i, e2); data.set(j, e1); } public ArrayOfStar(List data, int pos) { this.data = data; this.pos = pos; } public ArrayOfStar reallocJ(int newsize) { while (data.size() < newsize) { data.add(null); } return this; } @Override public ArrayOfStar plus(int delta) { return new ArrayOfStar(data, pos + delta); } public ST_Agedge_s get(int i) { return plus(i).getPtr(); } @Override public ArrayOfStar asPtr() { return this; } @Override public void setPtr(__ptr__ value) { this.data.set(pos, (ST_Agedge_s) value); } @Override public ST_Agedge_s getPtr() { return this.data.get(pos); } @Override public int comparePointer(__ptr__ other) { final ArrayOfStar this2 = (ArrayOfStar) other; if (this.data != this2.data) { throw new IllegalArgumentException(); } return this.pos - this2.pos; } public boolean isSameThan2(ArrayOfStar other) { if (this.data != other.data) { throw new IllegalArgumentException(); } return this.pos == other.pos; } } @Override public void copyDataFrom(__ptr__ arg) { ST_Agedge_s this2 = (ST_Agedge_s) arg; this.base.copyDataFrom((__struct__) this2.base); this.id_link.copyDataFrom((__struct__) this2.id_link); this.seq_link.copyDataFrom((__struct__) this2.seq_link); this.node = this2.node; } public ST_Agedge_s() { this(null); } public ST_Agedge_s(StarStruct parent) { this.parent = parent; } @Override public boolean isSameThan(StarStruct other) { ST_Agedge_s other2 = (ST_Agedge_s) other; return this == other2; } @Override public Object addVirtualBytes(int virtualBytes) { if (virtualBytes == 0) { return this; } OFFSET offset = OFFSET.fromInt(virtualBytes); if (offset.toString().equals("h.ST_Agedge_s::seq_link")) { return seq_link; } if (offset.toString().equals("h.ST_Agedge_s::id_link")) { return id_link; } System.err.println("offset2=" + offset); return super.addVirtualBytes(virtualBytes); } @Override public ST_Agedge_s plus(int pointerMove) { ST_Agedgepair_s pair = (ST_Agedgepair_s) parent; // Order=out, in if (pair.out == this && pointerMove == 1) { return pair.in; } if (pair.in == this && pointerMove == -1) { return pair.out; } throw new UnsupportedOperationException(); } @Override public __ptr__ castTo(Class dest) { if (dest == ST_Agobj_s.class) { return base; } if (dest == ST_Agedge_s.class) { return this; } return super.castTo(dest); } public ST_Agobj_s castTo_ST_Agobj_s() { return base; } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("node")) { this.node = (ST_Agnode_s) newData; return node; } return super.setPtr(fieldName, newData); } @Override public ST_Agedge_s getPtr() { return this; } public StarStruct from_seq_link(ST_dtlink_s from) { if (from == seq_link) { return this; } throw new IllegalArgumentException(); } public StarStruct from_id_link(ST_dtlink_s from) { if (from == id_link) { return this; } throw new IllegalArgumentException(); } // public interface ST_Agedge_s extends __ptr__ { // public static List DEFINITION = Arrays.asList( // "struct Agedge_s", // "{", // "Agobj_t base", // "Dtlink_t id_link", // "Dtlink_t seq_link", // "Agnode_t *node", // "}"); } // struct Agedge_s { // Agobj_t base; // Dtlink_t id_link; /* main graph only */ // Dtlink_t seq_link; // Agnode_t *node; /* the endpoint node */ // };plantuml-1.2018.13+ds/src/h/ST_Agedgeinfo_t.java000066400000000000000000000151101340005343600211230ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_Agedgeinfo_t extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_Agedgeinfo_t() { this(null); } public ST_Agedgeinfo_t(StarStruct parent) { this.parent = parent; } public final ST_Agrec_s hdr = new ST_Agrec_s(this); public ST_splines spl; public final ST_port tail_port = new ST_port(this), head_port = new ST_port(this); public ST_textlabel_t label, head_label, tail_label, xlabel; public int edge_type; public int adjacent; public boolean label_ontop; // "unsigned char gui_state", public ST_Agedge_s to_orig; // "void *alg", // "double factor", public double dist; // "Ppolyline_t path", public int showboxes; public boolean conc_opp_flag; public int xpenalty; public int weight; public int cutvalue, tree_index; public int count; public int minlen; public ST_Agedge_s to_virt; @Override public void copyDataFrom(__struct__ other) { ST_Agedgeinfo_t this2 = (ST_Agedgeinfo_t) other; this.hdr.copyDataFrom((__struct__) this2.hdr); this.spl = this2.spl; this.tail_port.copyDataFrom((__struct__) this2.tail_port); this.head_port.copyDataFrom((__struct__) this2.head_port); this.label = this2.label; this.head_label = this2.head_label; this.tail_label = this2.tail_label; this.xlabel = this2.xlabel; this.edge_type = this2.edge_type; this.adjacent = this2.adjacent; this.label_ontop = this2.label_ontop; this.to_orig = this2.to_orig; this.dist = this2.dist; this.showboxes = this2.showboxes; this.conc_opp_flag = this2.conc_opp_flag; this.xpenalty = this2.xpenalty; this.weight = this2.weight; this.cutvalue = this2.cutvalue; this.tree_index = this2.tree_index; this.count = this2.count; this.minlen = this2.minlen; this.to_virt = this2.to_virt; } @Override public __ptr__ castTo(Class dest) { if (dest == ST_Agrec_s.class) { return hdr; } if (dest == ST_Agedgeinfo_t.class) { return this; } return super.castTo(dest); } @Override public void setStruct(String fieldName, __struct__ newData) { if (fieldName.equals("tail_port")) { this.tail_port.copyDataFrom(newData); return; } if (fieldName.equals("head_port")) { this.head_port.copyDataFrom(newData); return; } super.setStruct(fieldName, newData); } @Override public void setDouble(String fieldName, double data) { if (fieldName.equals("dist")) { this.dist = data; return; } super.setDouble(fieldName, data); } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("minlen")) { this.minlen = data; return; } if (fieldName.equals("weight")) { this.weight = data; return; } if (fieldName.equals("cutvalue")) { this.cutvalue = data; return; } if (fieldName.equals("tree_index")) { this.tree_index = data; return; } if (fieldName.equals("count")) { this.count = data; return; } if (fieldName.equals("xpenalty")) { this.xpenalty = data; return; } if (fieldName.equals("showboxes")) { this.showboxes = data; return; } if (fieldName.equals("edge_type")) { this.edge_type = data; return; } if (fieldName.equals("adjacent")) { this.adjacent = data; return; } super.setInt(fieldName, data); } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("to_virt")) { this.to_virt = (ST_Agedge_s) newData; return this.to_virt; } if (fieldName.equals("to_orig")) { this.to_orig = (ST_Agedge_s) newData; return this.to_orig; } if (fieldName.equals("spl")) { this.spl = (ST_splines) newData; return this.spl; } if (fieldName.equals("label")) { this.label = (ST_textlabel_t) newData; return this.label; } if (fieldName.equals("head_label")) { this.head_label = (ST_textlabel_t) newData; return this.head_label; } if (fieldName.equals("tail_label")) { this.tail_label = (ST_textlabel_t) newData; return this.tail_label; } return super.setPtr(fieldName, newData); } @Override public __struct__ getStruct() { return this; } } // typedef struct Agedgeinfo_t { // Agrec_t hdr; // splines *spl; // port tail_port, head_port; // textlabel_t *label, *head_label, *tail_label, *xlabel; // char edge_type; // char adjacent; /* true for flat edge with adjacent nodes */ // char label_ontop; // unsigned char gui_state; /* Edge state for GUI ops */ // edge_t *to_orig; /* for dot's shapes.c */ // void *alg; // // // double factor; // double dist; // Ppolyline_t path; // // // unsigned char showboxes; // boolean conc_opp_flag; // short xpenalty; // int weight; // int cutvalue, tree_index; // short count; // unsigned short minlen; // edge_t *to_virt; // // } Agedgeinfo_t;plantuml-1.2018.13+ds/src/h/ST_Agedgepair_s.java000066400000000000000000000047361340005343600211360ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.amiga.StarStruct; public class ST_Agedgepair_s extends UnsupportedStructAndPtr implements HardcodedStruct { public final ST_Agedge_s out = new ST_Agedge_s(this); public final ST_Agedge_s in = new ST_Agedge_s(this); private final StarStruct parent; public ST_Agedgepair_s() { this(null); } public ST_Agedgepair_s(StarStruct parent) { this.parent = parent; } // public static List DEFINITION = Arrays.asList( // "struct Agedgepair_s", // "{", // "Agedge_t out, in", // "}"); } // struct Agedgepair_s { // Agedge_t out, in; // };plantuml-1.2018.13+ds/src/h/ST_Agiddisc_s.java000066400000000000000000000062371340005343600206130ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CFunction; import smetana.core.UnsupportedStructAndPtr; public class ST_Agiddisc_s extends UnsupportedStructAndPtr { public CFunction open; public CFunction map; public CFunction alloc; public CFunction free; public CFunction print; public CFunction close; public CFunction idregister; // public static List DEFINITION = Arrays.asList( // "struct Agiddisc_s", // "{", // "void *(*open) (Agraph_t * g, Agdisc_t*)", // "long (*map) (void *state, int objtype, char *str, unsigned long *id, int createflag)", // "long (*alloc) (void *state, int objtype, unsigned long id)", // "void (*free) (void *state, int objtype, unsigned long id)", // "char *(*print) (void *state, int objtype, unsigned long id)", // "void (*close) (void *state)", // "void (*idregister) (void *state, int objtype, void *obj)", // "}"); } // struct Agiddisc_s { /* object ID allocator */ // void *(*open) (Agraph_t * g, Agdisc_t*); /* associated with a graph */ // long (*map) (void *state, int objtype, char *str, unsigned long *id, // int createflag); // long (*alloc) (void *state, int objtype, unsigned long id); // void (*free) (void *state, int objtype, unsigned long id); // char *(*print) (void *state, int objtype, unsigned long id); // void (*close) (void *state); // void (*idregister) (void *state, int objtype, void *obj); // };plantuml-1.2018.13+ds/src/h/ST_Agiodisc_s.java000066400000000000000000000047471340005343600206320ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CFunction; import smetana.core.UnsupportedStruct; public class ST_Agiodisc_s extends UnsupportedStruct { public CFunction afread; public CFunction putstr; public CFunction flush; // public static List DEFINITION = Arrays.asList( // "struct Agiodisc_s", // "{", // "int (*afread) (void *chan, char *buf, int bufsize)", // "int (*putstr) (void *chan, const char *str)", // "int (*flush) (void *chan)", // "}"); } // struct Agiodisc_s { // int (*afread) (void *chan, char *buf, int bufsize); // int (*putstr) (void *chan, const char *str); // int (*flush) (void *chan); /* sync */ // /* error messages? */ // };plantuml-1.2018.13+ds/src/h/ST_Agmemdisc_s.java000066400000000000000000000053331340005343600207710ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CFunction; import smetana.core.UnsupportedStructAndPtr; public class ST_Agmemdisc_s extends UnsupportedStructAndPtr { public CFunction open; public CFunction alloc; public CFunction resize; public CFunction free; public CFunction close; // public static List DEFINITION = Arrays.asList( // "struct Agmemdisc_s", // "{", // "void *(*open) (Agdisc_t*)", // "void *(*alloc) (void *state, size_t req)", // "void *(*resize) (void *state, void *ptr, size_t old, size_t req)", // "void (*free) (void *state, void *ptr)", // "void (*close) (void *state)", // "}"); } // struct Agmemdisc_s { /* memory allocator */ // void *(*open) (Agdisc_t*); /* independent of other resources */ // void *(*alloc) (void *state, size_t req); // void *(*resize) (void *state, void *ptr, size_t old, size_t req); // void (*free) (void *state, void *ptr); // void (*close) (void *state); // };plantuml-1.2018.13+ds/src/h/ST_Agnode_s.java000066400000000000000000000150241340005343600202730ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.ArrayList; import java.util.List; import smetana.core.UnsupportedArrayOfPtr; import smetana.core.UnsupportedArrayOfStruct2; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__array_of_ptr__; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.size_t; import smetana.core.amiga.StarStruct; public class ST_Agnode_s extends UnsupportedStructAndPtr { public final ST_Agobj_s base = new ST_Agobj_s(this); public ST_Agraph_s root; public final ST_Agsubnode_s mainsub = new ST_Agsubnode_s(this); private final StarStruct parent; public static class ArrayOfStar extends UnsupportedArrayOfPtr implements __ptr__, __array_of_ptr__ { private final List data; private final int pos; public ArrayOfStar(int size) { this.data = new ArrayList(); this.pos = 0; for (int i = 0; i < size; i++) { data.add(null); } } public void swap(int i, int j) { ST_Agnode_s e1 = data.get(i); ST_Agnode_s e2 = data.get(j); data.set(i, e2); data.set(j, e1); } public ArrayOfStar(List data, int pos) { this.data = data; this.pos = pos; } public ArrayOfStar reallocJ(int newsize) { while (data.size() < newsize) { data.add(null); } return this; } @Override public ArrayOfStar plus(int delta) { return new ArrayOfStar(data, pos + delta); } @Override public ArrayOfStar asPtr() { return this; } @Override public void setPtr(__ptr__ value) { this.data.set(pos, (ST_Agnode_s) value); } public ST_Agnode_s get(int i) { return plus(i).getPtr(); } @Override public ST_Agnode_s getPtr() { return this.data.get(pos); } @Override public int comparePointer(__ptr__ other) { final ArrayOfStar this2 = (ArrayOfStar) other; if (this.data != this2.data) { throw new IllegalArgumentException(); } return this.pos - this2.pos; } public boolean isSameThan2(ArrayOfStar other) { if (this.data != other.data) { throw new IllegalArgumentException(); } return this.pos == other.pos; } } public static class Array extends UnsupportedArrayOfStruct2 implements __ptr__, __array_of_ptr__ { private final List data; private final int pos; @Override public void setStruct(__struct__ value) { get(0).___(value); } @Override public Array asPtr() { return this; } public Array(int size) { this.data = new ArrayList(); this.pos = 0; for (int i = 0; i < size; i++) { data.add(new ST_Agnode_s()); } } public Array reallocJ(int newsize) { while (data.size() < newsize) { data.add(new ST_Agnode_s()); } return this; } public Array plus(int delta) { return plusJ(delta); } @Override public void setPtr(__ptr__ value) { this.data.set(pos, (ST_Agnode_s) value); } @Override public ST_Agnode_s getPtr() { return this.data.get(pos); } private Array(List data, int pos) { this.data = data; this.pos = pos; } public ST_Agnode_s get(int i) { return this.data.get(pos + i); } public Array plusJ(int i) { return new Array(data, pos + i); } public int minus(Array other) { if (this.data != other.data) { throw new IllegalArgumentException(); } return this.pos - other.pos; } public Array move(int delta) { throw new UnsupportedOperationException(getClass().toString()); } public void realloc(size_t nb) { throw new UnsupportedOperationException(getClass().toString()); } public int comparePointerInternal(__array_of_ptr__ other) { throw new UnsupportedOperationException(getClass().toString()); } } public ST_Agnode_s() { this(null); } public ST_Agnode_s(StarStruct parent) { this.parent = parent; } public StarStruct getParent() { return parent; } @Override public __ptr__ castTo(Class dest) { if (dest == ST_Agnode_s.class) { return this; } if (dest == ST_Agobj_s.class) { return base; } return super.castTo(dest); } public ST_Agobj_s castTo_ST_Agobj_s() { return base; } @Override public boolean isSameThan(StarStruct other) { ST_Agnode_s other2 = (ST_Agnode_s) other; return this == other2; } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("root")) { this.root = (ST_Agraph_s) newData; return root; } return super.setPtr(fieldName, newData); } @Override public ST_Agnode_s getStruct() { return this; } // public static List DEFINITION = Arrays.asList( // "struct Agnode_s", // "{", // "Agobj_t base", // "Agraph_t *root", // "Agsubnode_t mainsub", // "}"); } // struct Agnode_s { // Agobj_t base; // Agraph_t *root; // Agsubnode_t mainsub; /* embedded for main graph */ // };plantuml-1.2018.13+ds/src/h/ST_Agnodeinfo_t.java000066400000000000000000000174011340005343600211510ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_Agnodeinfo_t extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_Agnodeinfo_t() { this(null); } public ST_Agnodeinfo_t(StarStruct parent) { this.parent = parent; } public final ST_Agrec_s hdr = new ST_Agrec_s(this); public ST_shape_desc shape; public ST_polygon_t shape_info; public final ST_pointf coord = new ST_pointf(this); public double width, height; // "boxf bb", public double ht, lw, rw; public ST_textlabel_t label; public ST_textlabel_t xlabel; // "void *alg", public ST_Agedge_s alg = null; // "char state", // "unsigned char gui_state", // "boolean clustnode", // "unsigned char pinned", public int id, heapindex, hops; // "double *pos, dist", public int showboxes; public boolean has_port; // "node_t* rep", // "node_t *set", public int node_type, mark, onstack; public int ranktype, weight_class; public ST_Agnode_s next; public ST_Agnode_s prev; // "elist in, out, flat_out, flat_in, other", public final ST_elist in = new ST_elist(this); public final ST_elist out = new ST_elist(this); public final ST_elist flat_out = new ST_elist(this); public final ST_elist flat_in = new ST_elist(this); public final ST_elist other = new ST_elist(this); public ST_Agraph_s clust; public int UF_size; public ST_Agnode_s UF_parent; public ST_Agnode_s inleaf, outleaf; public int rank, order; public double mval; public final ST_elist save_in = new ST_elist(this); public final ST_elist save_out = new ST_elist(this); public final ST_elist tree_in = new ST_elist(this); public final ST_elist tree_out = new ST_elist(this); public ST_Agedge_s par; public int low, lim; public int priority; // "double pad[1]", // "}", // "Agnodeinfo_t"); @Override public __ptr__ castTo(Class dest) { if (dest == ST_Agrec_s.class) { return hdr; } return super.castTo(dest); } @Override public void setDouble(String fieldName, double data) { if (fieldName.equals("width")) { this.width = data; return; } if (fieldName.equals("height")) { this.height = data; return; } if (fieldName.equals("ht")) { this.ht = data; return; } if (fieldName.equals("lw")) { this.lw = data; return; } if (fieldName.equals("rw")) { this.rw = data; return; } if (fieldName.equals("mval")) { this.mval = data; return; } super.setDouble(fieldName, data); } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("showboxes")) { this.showboxes = data; return; } if (fieldName.equals("UF_size")) { this.UF_size = data; return; } if (fieldName.equals("mark")) { this.mark = data; return; } if (fieldName.equals("onstack")) { this.onstack = data; return; } if (fieldName.equals("priority")) { this.priority = data; return; } if (fieldName.equals("node_type")) { this.node_type = data; return; } if (fieldName.equals("rank")) { this.rank = data; return; } if (fieldName.equals("order")) { this.order = data; return; } if (fieldName.equals("ranktype")) { this.ranktype = data; return; } if (fieldName.equals("low")) { this.low = data; return; } if (fieldName.equals("lim")) { this.lim = data; return; } if (fieldName.equals("weight_class")) { this.weight_class = data; return; } super.setInt(fieldName, data); } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("shape")) { this.shape = (ST_shape_desc) newData; return shape; } if (fieldName.equals("shape_info")) { this.shape_info = (ST_polygon_t) newData; return shape_info; } if (fieldName.equals("label")) { this.label = (ST_textlabel_t) newData; return label; } if (fieldName.equals("clust")) { this.clust = (ST_Agraph_s) newData; return clust; } if (fieldName.equals("next")) { this.next = (ST_Agnode_s) newData; return next; } if (fieldName.equals("prev")) { this.prev = (ST_Agnode_s) newData; return prev; } if (fieldName.equals("UF_parent")) { this.UF_parent = (ST_Agnode_s) newData; return UF_parent; } if (fieldName.equals("par")) { this.par = (ST_Agedge_s) newData; return par; } if (fieldName.equals("alg")) { this.alg = (ST_Agedge_s) alg; return alg; } return super.setPtr(fieldName, newData); } @Override public void setStruct(String fieldName, __struct__ newData) { if (fieldName.equals("save_in")) { save_in.copyDataFrom(newData); return; } if (fieldName.equals("save_out")) { save_out.copyDataFrom(newData); return; } if (fieldName.equals("out")) { out.copyDataFrom(newData); return; } if (fieldName.equals("in")) { in.copyDataFrom(newData); return; } super.setStruct(fieldName, newData); } } // typedef struct Agnodeinfo_t { // Agrec_t hdr; // shape_desc *shape; // void *shape_info; // pointf coord; // double width, height; /* inches */ // boxf bb; // double ht, lw, rw; // textlabel_t *label; // textlabel_t *xlabel; // void *alg; // char state; // unsigned char gui_state; /* Node state for GUI ops */ // boolean clustnode; // // // unsigned char pinned; // int id, heapindex, hops; // double *pos, dist; // // // unsigned char showboxes; // boolean has_port; // node_t* rep; // node_t *set; // // /* fast graph */ // char node_type, mark, onstack; // char ranktype, weight_class; // node_t *next, *prev; // elist in, out, flat_out, flat_in, other; // graph_t *clust; // // /* for union-find and collapsing nodes */ // int UF_size; // node_t *UF_parent; // node_t *inleaf, *outleaf; // // /* for placing nodes */ // int rank, order; /* initially, order = 1 for ordered edges */ // double mval; // elist save_in, save_out; // // /* for network-simplex */ // elist tree_in, tree_out; // edge_t *par; // int low, lim; // int priority; // // double pad[1]; // // // } Agnodeinfo_t;plantuml-1.2018.13+ds/src/h/ST_Agobj_s.java000066400000000000000000000102261340005343600201170ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_Agobj_s extends UnsupportedStructAndPtr implements WithParent, HardcodedStruct { public final ST_Agtag_s tag = new ST_Agtag_s(this); public ST_Agrec_s data; @Override public void copyDataFrom(__struct__ other) { ST_Agobj_s this2 = (ST_Agobj_s) other; this.tag.copyDataFrom((__struct__) this2.tag); this.data = this2.data; } private final StarStruct parent; public ST_Agobj_s() { this(null); } public ST_Agobj_s(StarStruct parent) { this.parent = parent; } @Override public __ptr__ castTo(Class dest) { if (dest == ST_Agobj_s.class) { return this; } if (dest == ST_Agraph_s.class && parent instanceof ST_Agraph_s) { return (ST_Agraph_s) parent; } if (dest == ST_Agnode_s.class && parent instanceof ST_Agnode_s) { return (ST_Agnode_s) parent; } if (dest == ST_Agedge_s.class && parent instanceof ST_Agedge_s) { return (ST_Agedge_s) parent; } return super.castTo(dest); } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("data")) { if (newData instanceof ST_Agnodeinfo_t) { ST_Agnodeinfo_t info = (ST_Agnodeinfo_t) newData; newData = (ST_Agrec_s) info.castTo(ST_Agrec_s.class); } else if (newData instanceof ST_Agedgeinfo_t) { ST_Agedgeinfo_t info = (ST_Agedgeinfo_t) newData; newData = (ST_Agrec_s) info.castTo(ST_Agrec_s.class); } else if (newData instanceof ST_Agedgeinfo_t) { ST_Agedgeinfo_t info = (ST_Agedgeinfo_t) newData; newData = (ST_Agrec_s) info.castTo(ST_Agrec_s.class); } if (newData instanceof ST_Agrec_s) { this.data = (ST_Agrec_s) newData; } return data; } return super.setPtr(fieldName, newData); } @Override public void setStruct(String fieldName, __struct__ newData) { if (fieldName.equals("tag")) { this.tag.copyDataFrom(newData); return; } super.setStruct(fieldName, newData); } public StarStruct getParent() { return parent; } // public interface ST_Agobj_s extends __ptr__ { // public static List DEFINITION = Arrays.asList( // "struct Agobj_s", // "{", // "Agtag_t tag", // "Agrec_t *data", // "}"); } // struct Agobj_s { // Agtag_t tag; // Agrec_t *data; // };plantuml-1.2018.13+ds/src/h/ST_Agraph_s.java000066400000000000000000000170731340005343600203060ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.ArrayList; import java.util.List; import smetana.core.OFFSET; import smetana.core.UnsupportedArrayOfStruct2; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__array_of_ptr__; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.size_t; import smetana.core.amiga.StarStruct; public class ST_Agraph_s extends UnsupportedStructAndPtr { public final ST_Agobj_s base = new ST_Agobj_s(this); public final ST_Agdesc_s desc = new ST_Agdesc_s(this); public final ST_dtlink_s link = new ST_dtlink_s(this); public ST_dt_s n_seq; /* the node set in sequence */ public ST_dt_s n_id; /* the node set indexed by ID */ public ST_dt_s e_seq; /* holders for edge sets */ public ST_dt_s e_id; /* holders for edge sets */ public ST_dt_s g_dict; /* subgraphs - descendants */ public ST_Agraph_s parent; /* subgraphs - ancestors */ // Agraph_t *parent, *root; /* subgraphs - ancestors */ public ST_Agraph_s root; /* subgraphs - ancestors */ public ST_Agclos_s clos; /* shared resources */ private final StarStruct _parent; public ST_Agraph_s() { this(null); } public ST_Agraph_s(StarStruct parent) { this._parent = parent; } public StarStruct getParent() { return _parent; } @Override public ST_Agraph_s getStruct() { return this; } @Override public void setStruct(String fieldName, __struct__ newData) { if (fieldName.equals("desc")) { desc.copyDataFrom(newData); return; } super.setStruct(fieldName, newData); } @Override public ST_Agraph_s getPtr() { return this; } public static class Array extends UnsupportedArrayOfStruct2 implements __ptr__, __array_of_ptr__ { private final List data; private final int pos; @Override public void setStruct(String fieldName, __struct__ data) { getStruct().setStruct(fieldName, data); } @Override public __ptr__ castTo(Class dest) { return getStruct().castTo(dest); } @Override public void setPtr(__ptr__ value) { this.data.set(pos, (ST_Agraph_s) value); } @Override public ST_Agraph_s getPtr() { return this.data.get(pos); } @Override public Array asPtr() { return this; } @Override public ST_Agraph_s getStruct() { return data.get(pos); } public Array(int size) { this.data = new ArrayList(); this.pos = 0; for (int i = 0; i < size; i++) { data.add(null); } } public Array reallocJ(int newsize) { while (data.size() < newsize) { data.add(null); } return this; } public Array plus(int delta) { return plusJ(delta); } private Array(List data, int pos) { this.data = data; this.pos = pos; } public ST_Agraph_s get(int i) { return this.data.get(pos + i); } public Array plusJ(int i) { return new Array(data, pos + i); } public int minus(Array other) { if (this.data != other.data) { throw new IllegalArgumentException(); } return this.pos - other.pos; } public Array move(int delta) { throw new UnsupportedOperationException(getClass().toString()); } public void realloc(size_t nb) { throw new UnsupportedOperationException(getClass().toString()); } public int comparePointerInternal(__array_of_ptr__ other) { throw new UnsupportedOperationException(getClass().toString()); } } @Override public Object addVirtualBytes(int virtualBytes) { if (virtualBytes == 0) { return this; } OFFSET offset = OFFSET.fromInt(virtualBytes); // if (offset.toString().equals("h.Agedge_s::seq_link")) { // return seq_link; // } if (offset.toString().equals("h.ST_Agraph_s::link")) { return link; } System.err.println("offset156=" + offset); return super.addVirtualBytes(virtualBytes); } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("clos")) { this.clos = (ST_Agclos_s) newData; return clos; } if (fieldName.equals("root")) { this.root = (ST_Agraph_s) newData; return root; } if (fieldName.equals("n_seq")) { this.n_seq = (ST_dt_s) newData; return n_seq; } if (fieldName.equals("n_id")) { this.n_id = (ST_dt_s) newData; return n_id; } if (fieldName.equals("e_seq")) { this.e_seq = (ST_dt_s) newData; return e_seq; } if (fieldName.equals("e_id")) { this.e_id = (ST_dt_s) newData; return e_id; } if (fieldName.equals("g_dict")) { this.g_dict = (ST_dt_s) newData; return g_dict; } if (fieldName.equals("parent")) { this.parent = (ST_Agraph_s) newData; return parent; } return super.setPtr(fieldName, newData); } @Override public __ptr__ castTo(Class dest) { if (dest == ST_Agobj_s.class) { return base; } if (dest == ST_Agraph_s.class) { return this; } return super.castTo(dest); } public ST_Agobj_s castTo_ST_Agobj_s() { return base; } @Override public boolean isSameThan(StarStruct other) { ST_Agraph_s other2 = (ST_Agraph_s) other; return this == other2; } public StarStruct from_link(ST_dtlink_s from) { if (from == link) { return this; } throw new IllegalArgumentException(); } // // public interface ST_Agraph_s extends __ptr__ { // public static List DEFINITION = Arrays.asList( // "struct Agraph_s", // "{", // "Agobj_t base", // "Agdesc_t desc", // "Dtlink_t link", // "Dict_t *n_seq", // "Dict_t *n_id", // "Dict_t *e_seq, *e_id", // "Dict_t *g_dict", // "Agraph_t *parent, *root", // "Agclos_t *clos", // "}"); } // struct Agraph_s { // Agobj_t base; // Agdesc_t desc; // Dtlink_t link; // Dict_t *n_seq; /* the node set in sequence */ // Dict_t *n_id; /* the node set indexed by ID */ // Dict_t *e_seq, *e_id; /* holders for edge sets */ // Dict_t *g_dict; /* subgraphs - descendants */ // Agraph_t *parent, *root; /* subgraphs - ancestors */ // Agclos_t *clos; /* shared resources */ // };plantuml-1.2018.13+ds/src/h/ST_Agraphinfo_t.java000066400000000000000000000257471340005343600211720ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CFunction; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedArrayOfStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_Agraphinfo_t extends UnsupportedStructAndPtr implements HardcodedStruct { public final ST_Agrec_s hdr = new ST_Agrec_s(this); // /* to generate code */ public ST_layout_t drawing; public ST_textlabel_t label; /* if the cluster has a title */ public final ST_boxf bb = new ST_boxf(this); /* bounding box */ // pointf border[4]; /* sizes of margins for graph labels */ public final ST_pointf border[] = new ST_pointf[] { new ST_pointf(), new ST_pointf(), new ST_pointf(), new ST_pointf() }; // unsigned char gui_state; /* Graph state for GUI ops */ public int has_labels; // boolean has_images; public int charset; /* input character set */ public int rankdir; public double ht1, ht2; /* below and above extremal ranks */ public int flags; // void *alg; public ST_GVC_s gvc; /* context for "globals" over multiple graphs */ public CFunction cleanup; // void (*cleanup) (graph_t * g); /* function to deallocate layout-specific data */ // // // /* to place nodes */ // node_t **neato_nlist; // int move; // double **dist, **spring, **sum_t, ***t; // unsigned short ndim; // unsigned short odim; // // // /* to have subgraphs */ public int n_cluster; // graph_t **clust; /* clusters are in clust[1..n_cluster] !!! */ public ST_Agraph_s.Array clust; public ST_Agraph_s dotroot; public ST_Agnode_s nlist; public ST_rank_t.Array2 rank; public ST_Agraph_s parent; /* containing cluster (not parent subgraph) */ // int level; /* cluster nesting level (not node level!) */ // node_t *minrep, *maxrep; /* set leaders for min and max rank */ // // /* fast graph node list */ public final ST_nlist_t comp = new ST_nlist_t(this); // /* connected components */ public ST_Agnode_s minset, maxset; /* set leaders */ public int n_nodes; // /* includes virtual */ public int minrank, maxrank; // // /* various flags */ public int has_flat_edges; // boolean has_sourcerank; // boolean has_sinkrank; public int showboxes; public int fontnames; /* to override mangling in SVG */ // public int nodesep, ranksep; public ST_Agnode_s ln, rn; /* left, right nodes of bounding box */ // // /* for clusters */ // node_t *leader, **rankleader; public ST_Agnode_s leader; public ST_Agnode_s.Array rankleader; public boolean expanded; public int installed; public int set_type; public int label_pos; public int exact_ranksep; private final StarStruct parent_; public ST_Agraphinfo_t() { this(null); } public ST_Agraphinfo_t(StarStruct parent) { this.parent_ = parent; } class ArrayOfFour extends UnsupportedArrayOfStruct { final private int pos; public ArrayOfFour(int pos) { this.pos = pos; } public ArrayOfFour plus(int delta) { return new ArrayOfFour(pos + delta); } @Override public __struct__ getStruct() { return border[pos]; } @Override public void setStruct(__struct__ value) { border[pos].copyDataFrom(value); } } @Override public __ptr__ castTo(Class dest) { if (dest == ST_Agrec_s.class) { return hdr; } return super.castTo(dest); } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("gvc")) { this.gvc = (ST_GVC_s) newData; return gvc; } if (fieldName.equals("drawing")) { this.drawing = (ST_layout_t) newData; return drawing; } if (fieldName.equals("dotroot")) { this.dotroot = (ST_Agraph_s) newData; return dotroot; } if (fieldName.equals("parent")) { this.parent = (ST_Agraph_s) newData; return parent; } if (fieldName.equals("clust")) { this.clust = (ST_Agraph_s.Array) newData; return clust; } if (fieldName.equals("label")) { this.label = (ST_textlabel_t) newData; return label; } if (fieldName.equals("maxset")) { this.maxset = (ST_Agnode_s) newData; return maxset; } if (fieldName.equals("minset")) { this.minset = (ST_Agnode_s) newData; return minset; } if (fieldName.equals("nlist")) { this.nlist = (ST_Agnode_s) newData; return nlist; } if (fieldName.equals("leader")) { this.leader = (ST_Agnode_s) newData; return leader; } if (fieldName.equals("rankleader")) { this.rankleader = (ST_Agnode_s.Array) newData; return rankleader; } if (fieldName.equals("rank")) { this.rank = (ST_rank_t.Array2) newData; return rank; } if (fieldName.equals("ln")) { this.ln = (ST_Agnode_s) newData; return ln; } if (fieldName.equals("rn")) { this.rn = (ST_Agnode_s) newData; return rn; } return super.setPtr(fieldName, newData); } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("charset")) { this.charset = data; return; } if (fieldName.equals("rankdir")) { this.rankdir = data; return; } if (fieldName.equals("nodesep")) { this.nodesep = data; return; } if (fieldName.equals("ranksep")) { this.ranksep = data; return; } if (fieldName.equals("showboxes")) { this.showboxes = data; return; } if (fieldName.equals("fontnames")) { this.fontnames = data; return; } if (fieldName.equals("flags")) { this.flags = data; return; } if (fieldName.equals("has_labels")) { this.has_labels = data; return; } if (fieldName.equals("n_cluster")) { this.n_cluster = data; return; } if (fieldName.equals("label_pos")) { this.label_pos = data; return; } if (fieldName.equals("n_nodes")) { this.n_nodes = data; return; } if (fieldName.equals("maxrank")) { this.maxrank = data; return; } if (fieldName.equals("minrank")) { this.minrank = data; return; } if (fieldName.equals("installed")) { this.installed = data; return; } super.setInt(fieldName, data); } @Override public void setDouble(String fieldName, double data) { if (fieldName.equals("ht1")) { this.ht1 = data; return; } if (fieldName.equals("ht2")) { this.ht2 = data; return; } super.setDouble(fieldName, data); } // public static List DEFINITION = Arrays.asList( // "typedef struct Agraphinfo_t", // "{", // "Agrec_t hdr", // "layout_t *drawing", // "textlabel_t *label", // "boxf bb", // "pointf border[4]", // "unsigned char gui_state", // "unsigned char has_labels", // "boolean has_images", // "unsigned char charset", // "int rankdir", // "double ht1, ht2", // "unsigned short flags", // "void *alg", // "GVC_t *gvc", // "void (*cleanup) (graph_t * g)", // "node_t **neato_nlist", // "int move", // "double **dist, **spring, **sum_t, ***t", // "unsigned short ndim", // "unsigned short odim", // "int n_cluster", // "graph_t **clust", // "graph_t *dotroot", // "node_t *nlist", // "rank_t *rank", // "graph_t *parent", // "int level", // "node_t *minrep, *maxrep", // "nlist_t comp", // "node_t *minset, *maxset", // "long n_nodes", // "short minrank, maxrank", // "boolean has_flat_edges", // "boolean has_sourcerank", // "boolean has_sinkrank", // "unsigned char showboxes", // "fontname_kind fontnames", // "int nodesep, ranksep", // "node_t *ln, *rn", // "node_t *leader, **rankleader", // "boolean expanded", // "char installed", // "char set_type", // "char label_pos", // "boolean exact_ranksep", // "}", // "Agraphinfo_t"); } // typedef struct Agraphinfo_t { // Agrec_t hdr; // /* to generate code */ // layout_t *drawing; // textlabel_t *label; /* if the cluster has a title */ // boxf bb; /* bounding box */ // pointf border[4]; /* sizes of margins for graph labels */ // unsigned char gui_state; /* Graph state for GUI ops */ // unsigned char has_labels; // boolean has_images; // unsigned char charset; /* input character set */ // int rankdir; // double ht1, ht2; /* below and above extremal ranks */ // unsigned short flags; // void *alg; // GVC_t *gvc; /* context for "globals" over multiple graphs */ // void (*cleanup) (graph_t * g); /* function to deallocate layout-specific data */ // // // /* to place nodes */ // node_t **neato_nlist; // int move; // double **dist, **spring, **sum_t, ***t; // unsigned short ndim; // unsigned short odim; // // // /* to have subgraphs */ // int n_cluster; // graph_t **clust; /* clusters are in clust[1..n_cluster] !!! */ // graph_t *dotroot; // node_t *nlist; // rank_t *rank; // graph_t *parent; /* containing cluster (not parent subgraph) */ // int level; /* cluster nesting level (not node level!) */ // node_t *minrep, *maxrep; /* set leaders for min and max rank */ // // /* fast graph node list */ // nlist_t comp; // /* connected components */ // node_t *minset, *maxset; /* set leaders */ // long n_nodes; // /* includes virtual */ // short minrank, maxrank; // // /* various flags */ // boolean has_flat_edges; // boolean has_sourcerank; // boolean has_sinkrank; // unsigned char showboxes; // fontname_kind fontnames; /* to override mangling in SVG */ // // int nodesep, ranksep; // node_t *ln, *rn; /* left, right nodes of bounding box */ // // /* for clusters */ // node_t *leader, **rankleader; // boolean expanded; // char installed; // char set_type; // char label_pos; // boolean exact_ranksep; // // // } Agraphinfo_t;plantuml-1.2018.13+ds/src/h/ST_Agrec_s.java000066400000000000000000000107271340005343600201240ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CString; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_Agrec_s extends UnsupportedStructAndPtr implements WithParent { public CString name; public ST_Agrec_s next; private final StarStruct parent; @Override public void copyDataFrom(__struct__ other) { if (other instanceof ST_Agedgeinfo_t && parent instanceof ST_Agedgeinfo_t) { parent.copyDataFrom(other); return; } ST_Agrec_s this2 = (ST_Agrec_s) other; this.name = this2.name; this.next = this2.next; } public ST_Agrec_s() { this(null); } public ST_Agrec_s(StarStruct parent) { this.parent = parent; } public StarStruct getParent() { return parent; } @Override public boolean isSameThan(StarStruct other) { ST_Agrec_s other2 = (ST_Agrec_s) other; return this == other2; } @Override public __ptr__ castTo(Class dest) { if (dest == ST_Agdatadict_s.class && getParent() instanceof ST_Agdatadict_s) { return (ST_Agdatadict_s) getParent(); } if (dest == ST_Agattr_s.class && getParent() instanceof ST_Agattr_s) { return (ST_Agattr_s) getParent(); } if (dest == ST_Agraphinfo_t.class && getParent() instanceof ST_Agraphinfo_t) { return (ST_Agraphinfo_t) getParent(); } if (dest == ST_Agnodeinfo_t.class && getParent() instanceof ST_Agnodeinfo_t) { return (ST_Agnodeinfo_t) getParent(); } if (dest == ST_Agedgeinfo_t.class && getParent() instanceof ST_Agedgeinfo_t) { return (ST_Agedgeinfo_t) getParent(); } System.err.println("dest=" + dest); System.err.println("getParent=" + getParent().getClass()); return super.castTo(dest); } public ST_Agnodeinfo_t castTo_ST_Agnodeinfo_t() { if (getParent() instanceof ST_Agnodeinfo_t) { return (ST_Agnodeinfo_t) getParent(); } throw new UnsupportedOperationException(); } public ST_Agraphinfo_t castTo_ST_Agraphinfo_t() { if (getParent() instanceof ST_Agraphinfo_t) { return (ST_Agraphinfo_t) getParent(); } throw new UnsupportedOperationException(); } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("name")) { this.name = (CString) newData; return name; } if (fieldName.equals("next")) { if (newData instanceof ST_Agrec_s) { this.next = (ST_Agrec_s) newData; } return next; } return super.setPtr(fieldName, newData); } // public static List DEFINITION = Arrays.asList( // "struct Agrec_s", // "{", // "char *name", // "Agrec_t *next", // "}"); } // struct Agrec_s { // char *name; // Agrec_t *next; // /* following this would be any programmer-defined data */ // };plantuml-1.2018.13+ds/src/h/ST_Agsubnode_s.java000066400000000000000000000114131340005343600210030ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.HardcodedStruct; import smetana.core.OFFSET; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_Agsubnode_s extends UnsupportedStructAndPtr implements HardcodedStruct { public final ST_dtlink_s seq_link = new ST_dtlink_s(this); public final ST_dtlink_s id_link = new ST_dtlink_s(this); public ST_Agnode_s node; public ST_dtlink_s in_id; public ST_dtlink_s out_id; public ST_dtlink_s in_seq; public ST_dtlink_s out_seq; public ST_Agsubnode_s() { this(null); } public ST_Agsubnode_s(StarStruct parent) { } public ST_Agsubnode_s from_id_link(ST_dtlink_s from) { if (from == id_link) { return this; } throw new IllegalArgumentException(); } public ST_Agsubnode_s from_seq_link(ST_dtlink_s from) { if (from == seq_link) { return this; } throw new IllegalArgumentException(); } @Override public boolean isSameThan(StarStruct other) { return this == (ST_Agsubnode_s) other; } @Override public Object addVirtualBytes(int virtualBytes) { if (virtualBytes == 0) { return this; } final OFFSET offset = OFFSET.fromInt(virtualBytes); if (offset.toString().equals("h.ST_Agsubnode_s::id_link")) { return id_link; } if (offset.toString().equals("h.ST_Agsubnode_s::seq_link")) { return seq_link; } System.err.println("virtualBytes=" + virtualBytes); System.err.println("offset=" + offset); return super.addVirtualBytes(virtualBytes); } @Override public __ptr__ castTo(Class dest) { if (dest == ST_Agsubnode_s.class) { return ST_Agsubnode_s.this; } System.err.println("dest=" + dest); return super.castTo(dest); } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("node")) { this.node = (ST_Agnode_s) newData; return node; } if (fieldName.equals("in_id")) { this.in_id = (h.ST_dtlink_s) newData; return in_id; } if (fieldName.equals("out_seq")) { this.out_seq = (h.ST_dtlink_s) newData; return out_seq; } if (fieldName.equals("out_id")) { this.out_id = (h.ST_dtlink_s) newData; return out_id; } if (fieldName.equals("seq_link")) { this.seq_link.copyDataFrom(newData); return seq_link; } if (fieldName.equals("in_seq")) { this.in_seq = (h.ST_dtlink_s) newData; return in_seq; } return super.setPtr(fieldName, newData); } // public interface ST_Agsubnode_s extends __ptr__ { // public static List DEFINITION = Arrays.asList( // "struct Agsubnode_s", // "{", // "Dtlink_t seq_link", // "Dtlink_t id_link", // "Agnode_t *node", // "Dtlink_t *in_id, *out_id", // "Dtlink_t *in_seq, *out_seq", // "}"); } // struct Agsubnode_s { /* the node-per-graph-or-subgraph record */ // Dtlink_t seq_link; /* must be first */ // Dtlink_t id_link; // Agnode_t *node; /* the object */ // Dtlink_t *in_id, *out_id; /* by node/ID for random access */ // Dtlink_t *in_seq, *out_seq; /* by node/sequence for serial access */ // };plantuml-1.2018.13+ds/src/h/ST_Agsym_s.java000066400000000000000000000106141340005343600201560ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CString; import smetana.core.HardcodedStruct; import smetana.core.OFFSET; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; //2 38c2s12koxcpi2c7vwl72qrsp public class ST_Agsym_s extends UnsupportedStructAndPtr implements HardcodedStruct { public final ST_dtlink_s link = new ST_dtlink_s(this); public CString name; /* attribute's name */ public CString defval; /* its default value for initialization */ public int id; /* its index in attr[] */ public int kind; /* referent object type */ public int fixed; /* immutable value */ public int print; /* always print */ public ST_Agsym_s(StarStruct parent) { } @Override public Object addVirtualBytes(int virtualBytes) { if (virtualBytes == 0) { return this; } final OFFSET offset = OFFSET.fromInt(virtualBytes); if (offset.toString().equals("h.ST_Agsym_s::name")) { return name; } if (offset.toString().equals("h.ST_Agsym_s::link")) { return link; } System.err.println("virtualBytes=" + virtualBytes); System.err.println("offset=" + offset); return super.addVirtualBytes(virtualBytes); } public ST_Agsym_s() { this(null); } @Override public boolean isSameThan(StarStruct other) { ST_Agsym_s other2 = (ST_Agsym_s) other; return this == other2; } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("name")) { this.name = (CString) newData; return name; } if (fieldName.equals("defval")) { this.defval = (CString) newData; return defval; } return super.setPtr(fieldName, newData); } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("kind")) { this.kind = data; return; } if (fieldName.equals("id")) { this.id = data; return; } super.setInt(fieldName, data); } public StarStruct from_link(ST_dtlink_s from) { if (from == link) { return this; } throw new IllegalArgumentException(); } // public static List DEFINITION = Arrays.asList( // "struct Agsym_s", // "{", // "Dtlink_t link", // "char *name", // "char *defval", // "int id", // "unsigned char kind", // "unsigned char fixed", // "unsigned char print", // "}"); } // struct Agsym_s { /* symbol in one of the above dictionaries */ // Dtlink_t link; // char *name; /* attribute's name */ // char *defval; /* its default value for initialization */ // int id; /* its index in attr[] */ // unsigned char kind; /* referent object type */ // unsigned char fixed; /* immutable value */ // unsigned char print; /* always print */ // };plantuml-1.2018.13+ds/src/h/ST_Agtag_s.java000066400000000000000000000123011340005343600201140ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedStarStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__struct__; import smetana.core.amiga.Area; import smetana.core.amiga.AreaInt; import smetana.core.amiga.InternalData; import smetana.core.amiga.StarStruct; public class ST_Agtag_s extends UnsupportedStructAndPtr implements HardcodedStruct { public int objtype; public int mtflock; public int attrwf; public int seq; public int id; public ST_Agtag_s(StarStruct parent) { } public ST_Agtag_s() { this(null); } @Override public Class getRealClass() { return ST_Agtag_s.class; } @Override public __struct__ copy() { final ST_Agtag_s result = new ST_Agtag_s(); result.objtype = objtype; result.mtflock = mtflock; result.attrwf = attrwf; result.seq = seq; result.id = id; return result; } @Override public void copyDataFrom(__struct__ other) { // if (other instanceof ST_Agtag_s) { final ST_Agtag_s other2 = (ST_Agtag_s) other; objtype = other2.objtype; mtflock = other2.mtflock; attrwf = other2.attrwf; seq = other2.seq; id = other2.id; // } else { // objtype = other.getInt("objtype"); // mtflock = other.getInt("mtflock"); // attrwf = other.getInt("attrwf"); // seq = other.getInt("seq"); // id = other.getInt("id"); // } } @Override public void memcopyFrom(Area source) { final ST_Agtag_s other2 = (ST_Agtag_s) source; objtype = other2.objtype; mtflock = other2.mtflock; attrwf = other2.attrwf; seq = other2.seq; id = other2.id; } @Override public void ___(__struct__ other) { copyDataFrom(other); } @Override public Area getArea(String name) { final AreaInt result = new AreaInt(); if (name.equals("objtype")) { result.setInternal(objtype); return result; } if (name.equals("mtflock")) { result.setInternal(mtflock); return result; } if (name.equals("attrwf")) { result.setInternal(attrwf); return result; } if (name.equals("seq")) { result.setInternal(seq); return result; } if (name.equals("id")) { result.setInternal(id); return result; } return super.getArea(name); } public class MyInternalData extends UnsupportedStarStruct implements InternalData { @Override public Area getArea(String name) { final AreaInt result = new AreaInt(); if (name.equals("objtype")) { result.setInternal(objtype); return result; } if (name.equals("mtflock")) { result.setInternal(mtflock); return result; } if (name.equals("attrwf")) { result.setInternal(attrwf); return result; } if (name.equals("seq")) { result.setInternal(seq); return result; } if (name.equals("id")) { result.setInternal(id); return result; } return super.getArea(name); } } @Override public StarStruct getInternalData() { return new MyInternalData(); } // public static List DEFINITION = Arrays.asList( // "struct Agtag_s", // "{", // "unsigned objtype:2", // "unsigned mtflock:1", // "unsigned attrwf:1", // "unsigned seq:(sizeof(unsigned) * 8 - 4)", // "unsigned long id", // "}"); } // struct Agtag_s { // unsigned objtype:2; /* see literal tags below */ // unsigned mtflock:1; /* move-to-front lock, see above */ // unsigned attrwf:1; /* attrs written (parity, write.c) */ // unsigned seq:(sizeof(unsigned) * 8 - 4); /* sequence no. */ // unsigned long id; /* client ID */ // };plantuml-1.2018.13+ds/src/h/ST_BestPos_t.java000066400000000000000000000063421340005343600204610ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_BestPos_t extends UnsupportedStructAndPtr { private final StarStruct parent; public int n; public double area; public final ST_pointf pos = new ST_pointf(this); public ST_BestPos_t() { this(null); } public ST_BestPos_t(StarStruct parent) { this.parent = parent; } @Override public __struct__ copy() { final ST_BestPos_t result = new ST_BestPos_t(); result.n = this.n; result.area = this.area; result.pos.copyDataFrom((__struct__) this.pos); return result; } public void ___(__struct__ other) { ST_BestPos_t this2 = (ST_BestPos_t) other; this.n = this2.n; this.area = this2.area; this.pos.copyDataFrom((__struct__) this2.pos); } @Override public void setStruct(String fieldName, __struct__ newData) { if (fieldName.equals("pos")) { pos.copyDataFrom(newData); return; } super.setStruct(fieldName, newData); } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("n")) { this.n = data; return; } super.setInt(fieldName, data); } @Override public void setDouble(String fieldName, double data) { if (fieldName.equals("area")) { this.area = data; return; } super.setDouble(fieldName, data); } // typedef struct best_p_s { // int n; // double area; // pointf pos; // } BestPos_t; } plantuml-1.2018.13+ds/src/h/ST_Branch_t.java000066400000000000000000000064201340005343600202740ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.__struct__; public class ST_Branch_t extends UnsupportedStructAndPtr implements HardcodedStruct { // Warning : could be a "ST_Leaf_t" from C Version public final ST_Rect_t rect = new ST_Rect_t(this); public ST_Node_t___or_object_t child; // "data" : ST_object_t public ST_Branch_t() { } @Override public void copyDataFrom(__struct__ other) { ST_Branch_t this2 = (ST_Branch_t) other; this.rect.copyDataFrom((__struct__) this2.rect); this.child = this2.child; } @Override public __ptr__ castTo(Class dest) { if (dest == Branch_t.class) { return ST_Branch_t.this; } if (dest == ST_Rect_t.class) { return rect; } return super.castTo(dest); } public __struct__ getStruct() { return this; } @Override public void ___(__struct__ other) { this.copyDataFrom(other); } @Override public void setStruct(String fieldName, __struct__ newData) { if (fieldName.equals("rect")) { this.rect.copyDataFrom(newData); return; } super.setStruct(fieldName, newData); } @Override public ST_Node_t___or_object_t setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("child")) { this.child = (ST_Node_t___or_object_t) newData; return this.child; } throw new UnsupportedOperationException(); } // typedef struct Branch { // Rect_t rect; // struct Node *child; // } Branch_t; } plantuml-1.2018.13+ds/src/h/ST_EMPTY.java000066400000000000000000000041461340005343600174550ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.amiga.StarStruct; public class ST_EMPTY extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_EMPTY() { this(null); } public ST_EMPTY(StarStruct parent) { this.parent = parent; } } plantuml-1.2018.13+ds/src/h/ST_GVCOMMON_t.java000066400000000000000000000067211340005343600203300ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CFunction; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_GVCOMMON_t extends UnsupportedStructAndPtr implements HardcodedStruct { // "typedef struct GVCOMMON_s", // "{", public __ptr__ info; // "char *cmdname", // "int verbose", // "boolean config, auto_outfile_names", // "void (*errorfn) (const char *fmt, ...)", public CFunction errorfn; // "const char **show_boxes", // "const char **lib", // "int viewNum", // "const lt_symlist_t *builtins", public __ptr__ builtins; public boolean demand_loading; // "}", // "GVCOMMON_t"); private final StarStruct parent; public ST_GVCOMMON_t() { this(null); } public ST_GVCOMMON_t(StarStruct parent) { this.parent = parent; } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("info")) { this.info = newData; return newData; } if (fieldName.equals("errorfn")) { this.errorfn = (CFunction) newData; return newData; } if (fieldName.equals("builtins")) { this.builtins = newData; return newData; } return super.setPtr(fieldName, newData); } } // typedef struct GVCOMMON_s { // char **info; // char *cmdname; // int verbose; // boolean config, auto_outfile_names; // void (*errorfn) (const char *fmt, ...); // const char **show_boxes; /* emit code for correct box coordinates */ // const char **lib; // // /* rendering state */ // int viewNum; /* current view - 1 based count of views, // all pages in all layers */ // const lt_symlist_t *builtins; // int demand_loading; // } GVCOMMON_t;plantuml-1.2018.13+ds/src/h/ST_GVC_s.java000066400000000000000000000137771340005343600175320ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.amiga.StarStruct; public class ST_GVC_s extends UnsupportedStructAndPtr implements HardcodedStruct { // "struct GVC_s", // "{", public final ST_GVCOMMON_t common = new ST_GVCOMMON_t(this); // "char *config_path", public int config_found; // "char **input_filenames", // "GVG_t *gvgs", // "GVG_t *gvg", // "gvplugin_available_t *apis[ +1 +1 +1 +1 +1 ]", // "gvplugin_available_t *api[ +1 +1 +1 +1 +1 ]", // "gvplugin_package_t *packages", // "size_t (*write_fn) (GVJ_t *job, const char *s, size_t len)", // "Dtdisc_t textfont_disc", // "Dt_t *textfont_dt", // "gvplugin_active_textlayout_t textlayout", // "GVJ_t *jobs", // "GVJ_t *job", // "graph_t *g", public final ST_gvplugin_active_layout_t layout = new ST_gvplugin_active_layout_t(); // "char *graphname", // "GVJ_t *active_jobs", // "char *pagedir", // "pointf margin", // "pointf pad", // "pointf pageSize", // "point pb", // "boxf bb", // "int rotation", // "boolean graph_sets_pad, graph_sets_margin, graph_sets_pageSize, graph_sets_rotation", // "char *layerDelims", // "char *layerListDelims", // "char *layers", // "char **layerIDs", // "int numLayers", // "int *layerlist", // "char *defaultfontname", // "double defaultfontsize", // "char **defaultlinestyle", // "gvcolor_t bgcolor", // "int fontrenaming", // "}"); private final StarStruct parent; public ST_GVC_s() { this(null); } public ST_GVC_s(StarStruct parent) { this.parent = parent; } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("config_found")) { this.config_found = data; return; } super.setInt(fieldName, data); } } // struct GVC_s { // GVCOMMON_t common; // // char *config_path; // boolean config_found; // // /* gvParseArgs */ // char **input_filenames; /* null terminated array of input filenames */ // // /* gvNextInputGraph() */ // GVG_t *gvgs; /* linked list of graphs */ // GVG_t *gvg; /* current graph */ // // /* plugins */ // // /* APIS expands to "+1 +1 ... +1" to give the number of APIs */ // gvplugin_available_t *apis[ +1 +1 +1 +1 +1 ]; /* array of linked-list of plugins per api */ // gvplugin_available_t *api[ +1 +1 +1 +1 +1 ]; /* array of current plugins per api */ // // gvplugin_package_t *packages; /* list of available packages */ // // /* externally provided write() displine */ // size_t (*write_fn) (GVJ_t *job, const char *s, size_t len); // // /* fonts and textlayout */ // Dtdisc_t textfont_disc; // Dt_t *textfont_dt; // gvplugin_active_textlayout_t textlayout; /* always use best avail for all jobs */ // // void (*free_layout) (void *layout); /* function for freeing layouts (mostly used by pango) */ // // /* FIXME - everything below should probably move to GVG_t */ // // /* gvrender_config() */ // GVJ_t *jobs; /* linked list of jobs */ // GVJ_t *job; /* current job */ // // graph_t *g; /* current graph */ // // /* gvrender_begin_job() */ // gvplugin_active_layout_t layout; // // char *graphname; /* name from graph */ // GVJ_t *active_jobs; /* linked list of active jobs */ // // /* pagination */ // char *pagedir; /* pagination order */ // pointf margin; /* margins in graph units */ // pointf pad; /* pad in graph units */ // pointf pageSize; /* pageSize in graph units, not including margins */ // point pb; /* page size - including margins (inches) */ // boxf bb; /* graph bb in graph units, not including margins */ // int rotation; /* rotation - 0 = portrait, 90 = landscape */ // boolean graph_sets_pad, graph_sets_margin, graph_sets_pageSize, graph_sets_rotation; // // /* layers */ // char *layerDelims; /* delimiters in layer names */ // char *layerListDelims; /* delimiters between layer ranges */ // char *layers; /* null delimited list of layer names */ // char **layerIDs; /* array of layer names */ // int numLayers; /* number of layers */ // int *layerlist; // // /* default font */ // char *defaultfontname; // double defaultfontsize; // // /* default line style */ // char **defaultlinestyle; // // /* render defaults set from graph */ // gvcolor_t bgcolor; /* background color */ // // /* whether to mangle font names (at least in SVG), usually false */ // int fontrenaming; // };plantuml-1.2018.13+ds/src/h/ST_HDict_t.java000066400000000000000000000062211340005343600200710ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.OFFSET; import smetana.core.UnsupportedStructAndPtr; import smetana.core.amiga.StarStruct; public class ST_HDict_t extends UnsupportedStructAndPtr { private final StarStruct parent; public final ST_dtlink_s link = new ST_dtlink_s(this); public int key; public final ST_Branch_t d = new ST_Branch_t(); /* Should be ST_Leaf_t */ public ST_HDict_t() { this(null); } public ST_HDict_t(StarStruct parent) { this.parent = parent; } @Override public Object addVirtualBytes(int virtualBytes) { if (virtualBytes == 0) { return this; } OFFSET offset = OFFSET.fromInt(virtualBytes); if (offset.toString().equals("h.ST_HDict_t::key")) { return key; } System.err.println("offset="+offset); // TODO Auto-generated method stub return super.addVirtualBytes(virtualBytes); } // @Override // public __ptr__ getPtr(String fieldName) { // if (fieldName.equals("d")) { // return this.d; // } // return super.getPtr(fieldName); // } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("key")) { this.key = data; return; } super.setInt(fieldName, data); } // "typedef struct obyh", // "{", // "Dtlink_t link", // "int key", // "Leaf_t d", // "}", // "HDict_t"); } // typedef struct obyh { // Dtlink_t link; // int key; // Leaf_t d; // } HDict_t;plantuml-1.2018.13+ds/src/h/ST_IMapEntry_t.java000066400000000000000000000047551340005343600207600ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CString; import smetana.core.UnsupportedStructAndPtr; import smetana.core.amiga.StarStruct; public class ST_IMapEntry_t extends UnsupportedStructAndPtr { private final StarStruct parent; public final CString str = null; public ST_IMapEntry_t() { this(null); } public ST_IMapEntry_t(StarStruct parent) { this.parent = parent; } // "typedef struct IMapEntry_s", // "{", // "Dtlink_t namedict_link", // "Dtlink_t iddict_link", // "unsigned long id", // "char *str", // "}", // "IMapEntry_t"); } // typedef struct IMapEntry_s { // Dtlink_t namedict_link; // Dtlink_t iddict_link; // unsigned long id; // char *str; // } IMapEntry_t;plantuml-1.2018.13+ds/src/h/ST_LeafList_t.java000066400000000000000000000041741340005343600206060ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; public class ST_LeafList_t extends UnsupportedStructAndPtr { public ST_LeafList_t next; public ST_Branch_t /* ST_Leaf_t */leaf; public ST_LeafList_t() { } // typedef struct LeafList { // struct LeafList *next; // Leaf_t *leaf; // } LeafList_t; } plantuml-1.2018.13+ds/src/h/ST_Node_t___.java000066400000000000000000000107131340005343600204210ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedArrayOfStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_Node_t___ extends UnsupportedStructAndPtr implements ST_Node_t___or_object_t { private final StarStruct parent; public int count; public int level; // Sorry guys :-) public final ST_Branch_t branch[] = new ST_Branch_t[] { new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t() }; public ST_Node_t___() { this(null); } public ST_Node_t___(StarStruct parent) { this.parent = parent; } class ArrayOfSixtyFor extends UnsupportedArrayOfStruct { final private int pos; public ArrayOfSixtyFor(int pos) { this.pos = pos; } public ArrayOfSixtyFor plus(int delta) { return new ArrayOfSixtyFor(pos + delta); } @Override public __struct__ getStruct() { return branch[pos]; } @Override public void setStruct(__struct__ value) { branch[pos].copyDataFrom(value); } } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("count")) { this.count = data; return; } if (fieldName.equals("level")) { this.level = data; return; } super.setInt(fieldName, data); } // "typedef struct Node", // "{", // "int count", // "int level", // "struct Branch branch[64]", // "}", // "Node_t"); } // typedef struct Node { // int count; // int level; /* 0 is leaf, others positive */ // struct Branch branch[64]; // } Node_t;plantuml-1.2018.13+ds/src/h/ST_Node_t___or_object_t.java000066400000000000000000000036471340005343600226430ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.__ptr__; public interface ST_Node_t___or_object_t extends __ptr__ { } plantuml-1.2018.13+ds/src/h/ST_PartitionVars.java000066400000000000000000000061341340005343600213630ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedArrayOfStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_PartitionVars extends UnsupportedStructAndPtr { private final StarStruct parent; public final int[] partition = new int[64 + 1]; public final int[] taken = new int[64 + 1]; public final int[] count = new int[2]; public final ST_Rect_t[] cover = new ST_Rect_t[] { new ST_Rect_t(), new ST_Rect_t() }; public final int[] area = new int[2]; // int partition[64 + 1]; // int taken[64 + 1]; // int count[2]; // struct Rect cover[2]; // int area[2]; class ArrayOfTwo extends UnsupportedArrayOfStruct { final private int pos; public ArrayOfTwo(int pos) { this.pos = pos; } public ArrayOfTwo plus(int delta) { return new ArrayOfTwo(pos + delta); } @Override public __struct__ getStruct() { return cover[pos]; } @Override public void setStruct(__struct__ value) { cover[pos].copyDataFrom(value); } } public ST_PartitionVars() { this(null); } public ST_PartitionVars(StarStruct parent) { this.parent = parent; } // struct PartitionVars { // int partition[64 + 1]; // int taken[64 + 1]; // int count[2]; // struct Rect cover[2]; // int area[2]; // }; } plantuml-1.2018.13+ds/src/h/ST_Pedge_t.java000066400000000000000000000105251340005343600201240ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.ArrayList; import java.util.List; import smetana.core.UnsupportedArrayOfStruct2; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__array_of_ptr__; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.size_t; import smetana.core.amiga.StarStruct; public class ST_Pedge_t extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_Pedge_t() { this(null); } public ST_Pedge_t(StarStruct parent) { this.parent = parent; } // "typedef struct Pedge_t", // "{", // "Ppoint_t a, b", public final ST_pointf a = new ST_pointf(this); public final ST_pointf b = new ST_pointf(this); // "}", // "Pedge_t"); public static class Array extends UnsupportedArrayOfStruct2 implements __ptr__, __array_of_ptr__{ private final List data; private final int pos; @Override public void setStruct(String fieldName, __struct__ data) { getStruct().setStruct(fieldName, data); } @Override public Array asPtr() { return this; } @Override public ST_Pedge_t getStruct() { return data.get(pos); } public Array(int size) { this.data = new ArrayList(); this.pos = 0; for (int i = 0; i < size; i++) { data.add(new ST_Pedge_t()); } } public Array reallocJ(int newsize) { while (data.size() < newsize) { data.add(new ST_Pedge_t()); } return this; } public Array plus(int delta) { return plusJ(delta); } private Array(List data, int pos) { this.data = data; this.pos = pos; } public ST_Pedge_t get(int i) { return this.data.get(pos + i); } public Array plusJ(int i) { return new Array(data, pos + i); } public int minus(Array other) { if (this.data != other.data) { throw new IllegalArgumentException(); } return this.pos - other.pos; } public Array move(int delta) { throw new UnsupportedOperationException(getClass().toString()); } public void realloc(size_t nb) { throw new UnsupportedOperationException(getClass().toString()); } public int comparePointerInternal(__array_of_ptr__ other) { throw new UnsupportedOperationException(getClass().toString()); } } @Override public void setStruct(String fieldName, __struct__ newData) { if (fieldName.equals("a")) { this.a.copyDataFrom(newData); return; } if (fieldName.equals("b")) { this.b.copyDataFrom(newData); return; } super.setStruct(fieldName, newData); } } // typedef struct Pedge_t { // Ppoint_t a, b; // } Pedge_t;plantuml-1.2018.13+ds/src/h/ST_Ppoly_t.java000066400000000000000000000064031340005343600202030ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedArrayOfStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__struct__; import smetana.core.amiga.Area; import smetana.core.amiga.StarStruct; public class ST_Ppoly_t extends UnsupportedStructAndPtr implements HardcodedStruct { // public StarArrayOfPtr ps; public ST_pointf.Array ps; public int pn; public ST_Ppoly_t() { this(null); } public ST_Ppoly_t(StarStruct parent) { } @Override public __struct__ copy() { ST_Ppoly_t result = new ST_Ppoly_t(); result.ps = this.ps; result.pn = this.pn; return result; } class Adaptor2 extends UnsupportedArrayOfStruct { final private int pos; public Adaptor2(int pos) { this.pos = pos; } public Adaptor2 plus(int delta) { return new Adaptor2(pos + delta); } @Override public __struct__ getStruct() { return ps.plus(pos).getStruct(); } } @Override public void memcopyFrom(Area source) { ST_Ppoly_t source2 = (ST_Ppoly_t) source; this.ps = source2.ps; this.pn = source2.pn; } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("pn")) { this.pn = data; return; } super.setInt(fieldName, data); } // public static List DEFINITION = Arrays.asList( // "typedef struct Ppoly_t", // "{", // "Ppoint_t *ps", // "int pn", // "}", // "Ppoly_t"); } // typedef struct Ppoly_t { // Ppoint_t *ps; // int pn; // } Ppoly_t;plantuml-1.2018.13+ds/src/h/ST_RTree.java000066400000000000000000000105661340005343600176030ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_RTree extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_RTree() { this(null); } public ST_RTree(StarStruct parent) { this.parent = parent; } // "struct RTree", // "{", public ST_Node_t___ root; // "Node_t *root", public final ST_SplitQ_t split = new ST_SplitQ_t(this); public int MinFill; // "long ElapsedTime", // "float UserTime, SystemTime", public int Deleting; public int StatFlag; // "int InsertCount", // "int DeleteCount", // "int ReInsertCount", // "int InSplitCount", // "int DeSplitCount", public int ElimCount; // "int EvalCount", // "int InTouchCount", // "int DeTouchCount", public int SeTouchCount; // "int CallCount", // "float SplitMeritSum", public int RectCount; public int NodeCount; public int LeafCount, NonLeafCount; public int EntryCount; // "int SearchCount", // "int HitCount", // "}"); @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("root")) { this.root = (ST_Node_t___) newData; return root; } return super.setPtr(fieldName, newData); } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("NodeCount")) { this.NodeCount = data; return; } if (fieldName.equals("LeafCount")) { this.LeafCount = data; return; } if (fieldName.equals("RectCount")) { this.RectCount = data; return; } if (fieldName.equals("EntryCount")) { this.EntryCount = data; return; } if (fieldName.equals("SeTouchCount")) { this.SeTouchCount = data; return; } if (fieldName.equals("NonLeafCount")) { this.NonLeafCount = data; return; } super.setInt(fieldName, data); } } // struct RTree { // Node_t *root; // // SplitQ_t split; // // /* balance criterion for node splitting */ // int MinFill; // // /* times */ // long ElapsedTime; // float UserTime, SystemTime; // // int Deleting; // // /* variables for statistics */ // int StatFlag; /* tells if we are counting or not */ // /* counters affected only when StatFlag set */ // int InsertCount; // int DeleteCount; // int ReInsertCount; // int InSplitCount; // int DeSplitCount; // int ElimCount; // int EvalCount; // int InTouchCount; // int DeTouchCount; // int SeTouchCount; // int CallCount; // float SplitMeritSum; // // /* counters used even when StatFlag not set */ // int RectCount; // int NodeCount; // int LeafCount, NonLeafCount; // int EntryCount; // int SearchCount; // int HitCount; // // };plantuml-1.2018.13+ds/src/h/ST_Rect_t.java000066400000000000000000000051101340005343600177670ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_Rect_t extends UnsupportedStructAndPtr implements HardcodedStruct { public final int[] boundary = new int[2 * 2]; public ST_Rect_t(StarStruct parent) { } public ST_Rect_t() { } @Override public void ___(__struct__ other) { this.copyDataFrom(other); } @Override public void copyDataFrom(__struct__ other) { ST_Rect_t other2 = (ST_Rect_t) other; this.boundary[0] = other2.boundary[0]; this.boundary[1] = other2.boundary[1]; this.boundary[2] = other2.boundary[2]; this.boundary[3] = other2.boundary[3]; } // typedef struct Rect { // int boundary[2*2]; // } Rect_t; } plantuml-1.2018.13+ds/src/h/ST_SplitQ_t.java000066400000000000000000000125361340005343600203200ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedArrayOfStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_SplitQ_t extends UnsupportedStructAndPtr { private final StarStruct parent; // typedef struct split_q_s { // struct Branch BranchBuf[64 + 1]; // Sorry guys :-) public final ST_Branch_t BranchBuf[] = new ST_Branch_t[] { new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t(), new ST_Branch_t() }; public final ST_Rect_t CoverSplit = new ST_Rect_t(this); public int CoverSplitArea; public final ST_PartitionVars Partitions[] = new ST_PartitionVars[] { new ST_PartitionVars() }; // struct PartitionVars Partitions[1]; // } SplitQ_t; public ST_SplitQ_t() { this(null); } @Override public ST_Rect_t castTo(Class dest) { if (dest == ST_Rect_t.class) { return CoverSplit; } throw new UnsupportedOperationException(); } public ST_SplitQ_t(StarStruct parent) { this.parent = parent; } class ArrayOfSixtyFive extends UnsupportedArrayOfStruct { final private int pos; public ArrayOfSixtyFive(int pos) { this.pos = pos; } public ArrayOfSixtyFive plus(int delta) { return new ArrayOfSixtyFive(pos + delta); } @Override public __struct__ getStruct() { return BranchBuf[pos]; } @Override public void setStruct(__struct__ value) { BranchBuf[pos].copyDataFrom(value); } } class ArrayOfOne extends UnsupportedArrayOfStruct { final private int pos; public ArrayOfOne(int pos) { this.pos = pos; } public ArrayOfOne plus(int delta) { return new ArrayOfOne(pos + delta); } @Override public __struct__ getStruct() { return Partitions[pos]; } @Override public void setStruct(__struct__ value) { Partitions[pos].copyDataFrom(value); } } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("CoverSplitArea")) { this.CoverSplitArea = data; return; } super.setInt(fieldName, data); } @Override public void setStruct(String fieldName, __struct__ newData) { if (fieldName.equals("CoverSplit")) { this.CoverSplit.copyDataFrom(newData); return; } super.setStruct(fieldName, newData); } // typedef struct split_q_s { // struct Branch BranchBuf[64 + 1]; // struct Rect CoverSplit; // unsigned int CoverSplitArea; // struct PartitionVars Partitions[1]; // } SplitQ_t; } plantuml-1.2018.13+ds/src/h/ST_XLabels_t.java000066400000000000000000000067651340005343600204450ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_XLabels_t extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_XLabels_t() { this(null); } public ST_XLabels_t(StarStruct parent) { this.parent = parent; } // "typedef struct XLabels_s", // "{", public ST_object_t.Array /*ST_object_t*/ objs; public int n_objs; public ST_xlabel_t.Array /*ST_xlabel_t*/ lbls; public int n_lbls; public ST_label_params_t /*ST_label_params_t*/ params; public ST_dt_s hdx; public ST_RTree spdx; // "}", // "XLabels_t"); @Override public void setInt(String fieldName, int data) { if (fieldName.equals("n_objs")) { this.n_objs = data; return; } if (fieldName.equals("n_lbls")) { this.n_lbls = data; return; } super.setInt(fieldName, data); } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("hdx")) { this.hdx = (ST_dt_s) newData; return this.hdx; } if (fieldName.equals("spdx")) { this.spdx = (ST_RTree) newData; return this.spdx; } // if (fieldName.equals("objs")) { // this.objs = newData; // return this.objs; // } // if (fieldName.equals("lbls")) { // this.lbls = newData; // return this.lbls; // } if (fieldName.equals("params")) { this.params = (ST_label_params_t) newData; return this.params; } return super.setPtr(fieldName, newData); } } // typedef struct XLabels_s { // object_t *objs; // int n_objs; // xlabel_t *lbls; // int n_lbls; // label_params_t *params; // // Dt_t *hdx; // splay tree keyed with hilbert spatial codes // RTree_t *spdx; // rtree // // } XLabels_t;plantuml-1.2018.13+ds/src/h/ST_adjmatrix_t.java000066400000000000000000000051151340005343600210620ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.amiga.StarStruct; public class ST_adjmatrix_t extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_adjmatrix_t() { this(null); } public ST_adjmatrix_t(StarStruct parent) { this.parent = parent; } // "typedef struct adjmatrix_t", // "{", public int nrows, ncols; // "char *data", public int[][] data; // "}", // "adjmatrix_t"); @Override public void setInt(String fieldName, int data) { if (fieldName.equals("ncols")) { this.ncols = data; return; } if (fieldName.equals("nrows")) { this.nrows = data; return; } super.setInt(fieldName, data); } } // typedef struct adjmatrix_t { // int nrows, ncols; // char *data; // } adjmatrix_t;plantuml-1.2018.13+ds/src/h/ST_arrowdir_t.java000066400000000000000000000044131340005343600207300ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.amiga.StarStruct; public class ST_arrowdir_t extends UnsupportedStructAndPtr { // char *dir; public int sflag; public int eflag; private final StarStruct parent; public ST_arrowdir_t() { this(null); } public ST_arrowdir_t(StarStruct parent) { this.parent = parent; } // typedef struct arrowdir_t { // char *dir; // int sflag; // int eflag; // } arrowdir_t; } plantuml-1.2018.13+ds/src/h/ST_arrowname_t.java000066400000000000000000000047271340005343600211020ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CString; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__struct__; public class ST_arrowname_t extends UnsupportedStructAndPtr { public CString name; public int type; @Override public void ___(__struct__ other) { ST_arrowname_t other2 = (ST_arrowname_t) other; this.name = other2.name == null ? null : other2.name.duplicate(); this.type = other2.type; } // public static List DEFINITION = Arrays.asList( // "typedef struct arrowname_t", // "{", // "char *name", // "int type", // "}", // "arrowname_t"); } // typedef struct arrowname_t { // char *name; // int type; // } arrowname_t;plantuml-1.2018.13+ds/src/h/ST_arrowtype_t.java000066400000000000000000000063571340005343600211440ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CFunction; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__struct__; public class ST_arrowtype_t extends UnsupportedStructAndPtr { public int type; public double lenfact; public CFunction gen; @Override public void ___(__struct__ other) { ST_arrowtype_t other2 = (ST_arrowtype_t) other; type = other2.type; lenfact = other2.lenfact; gen = other2.gen; } // @Override // public int getInt(String fieldName) { // if (fieldName.equals("type")) { // return type; // } // return super.getInt(fieldName); // } // // @Override // public double getDouble(String fieldName) { // if (fieldName.equals("lenfact")) { // return lenfact; // } // return super.getDouble(fieldName); // } // // @Override // public __ptr__ getPtr(String fieldName) { // if (fieldName.equals("gen")) { // return gen; // } // return super.getPtr(fieldName); // } // public static List DEFINITION = Arrays.asList( // "typedef struct arrowtype_t", // "{", // "int type", // "double lenfact", // "void (*gen) (GVJ_t * job, pointf p, pointf u, double arrowsize, double penwidth, int flag)", // "}", // "arrowtype_t"); } // typedef struct arrowtype_t { // int type; // double lenfact; /* ratio of length of this arrow type to standard arrow */ // void (*gen) (GVJ_t * job, pointf p, pointf u, double arrowsize, double penwidth, int flag); /* generator function for // type */ // } arrowtype_t;plantuml-1.2018.13+ds/src/h/ST_aspect_t.java000066400000000000000000000061511340005343600203570ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.amiga.StarStruct; public class ST_aspect_t extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_aspect_t() { this(null); } public ST_aspect_t(StarStruct parent) { this.parent = parent; } // "typedef struct aspect_t", // "{", // "double targetAR", // "double combiAR", public int prevIterations; public int curIterations; public int nextIter; public int nPasses; public int badGraph; // "}", // "aspect_t"); @Override public void setInt(String fieldName, int data) { if (fieldName.equals("nextIter")) { this.nextIter = data; return; } if (fieldName.equals("badGraph")) { this.badGraph = data; return; } if (fieldName.equals("nPasses")) { this.nPasses = data; return; } super.setInt(fieldName, data); } } // typedef struct aspect_t { // double targetAR; /* target aspect ratio */ // double combiAR; // int prevIterations; /* no. of iterations in previous pass */ // int curIterations; /* no. of iterations in current pass */ // int nextIter; /* dynamically adjusted no. of iterations */ // int nPasses; /* bound on no. of top-level passes */ // int badGraph; /* hack: set if graph is disconnected or has // * clusters. If so, turn off aspect */ // } aspect_t;plantuml-1.2018.13+ds/src/h/ST_bezier.java000066400000000000000000000134421340005343600200360ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import h.ST_pointf.Array; import java.util.ArrayList; import java.util.List; import smetana.core.UnsupportedArrayOfPtr; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__array_of_ptr__; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_bezier extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_bezier() { this(null); } public ST_bezier(StarStruct parent) { this.parent = parent; } // "{", // "pointf *list", public ST_pointf.Array list; public int size; public int sflag, eflag; public final ST_pointf sp = new ST_pointf(this), ep = new ST_pointf(this); public static class Array2 extends UnsupportedArrayOfPtr implements __ptr__, __array_of_ptr__ { private final List data; private final int pos; public Array2(int size) { this.data = new ArrayList(); this.pos = 0; for (int i = 0; i < size; i++) { data.add(new ST_bezier()); } } @Override public ST_bezier getStruct() { return data.get(pos); } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { return getStruct().setPtr(fieldName, newData); } @Override public void setStruct(String fieldName, __struct__ newData) { getStruct().setStruct(fieldName, newData); } @Override public void setInt(String fieldName, int data) { getStruct().setInt(fieldName, data); } // public void swap(int i, int j) { // ST_bezier e1 = data.get(i); // ST_bezier e2 = data.get(j); // data.set(i, e2); // data.set(j, e1); // } public Array2(List data, int pos) { this.data = data; this.pos = pos; } public Array2 reallocJ(int newsize) { while (data.size() < newsize) { data.add(new ST_bezier()); } return this; } @Override public Array2 plus(int delta) { return new Array2(data, pos + delta); } @Override public Array2 asPtr() { return this; } @Override public void setPtr(__ptr__ value) { this.data.set(pos, (ST_bezier) value); } @Override public ST_bezier getPtr() { return this.data.get(pos); } public ST_bezier get(int i) { return this.plus(i).getPtr(); } @Override public int comparePointer(__ptr__ other) { final Array2 this2 = (Array2) other; if (this.data != this2.data) { throw new IllegalArgumentException(); } return this.pos - this2.pos; } public boolean isSameThan2(Array2 other) { if (this.data != other.data) { throw new IllegalArgumentException(); } return this.pos == other.pos; } } // "}", // "bezier"); @Override public void ___(__struct__ other) { ST_bezier this2 = (ST_bezier) other; this.list = this2.list; this.size = this2.size; this.sflag = this2.sflag; this.eflag = this2.eflag; this.sp.copyDataFrom((__struct__) this2.sp); this.ep.copyDataFrom((__struct__) this2.ep); } @Override public void ____(__ptr__ other) { ___(((ST_bezier) other).getStruct()); } @Override public void setStruct(String fieldName, __struct__ newData) { if (fieldName.equals("sp")) { this.sp.copyDataFrom(newData); return; } if (fieldName.equals("ep")) { this.ep.copyDataFrom(newData); return; } super.setStruct(fieldName, newData); } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("size")) { this.size = data; return; } if (fieldName.equals("sflag")) { this.sflag = data; return; } if (fieldName.equals("eflag")) { this.eflag = data; return; } super.setInt(fieldName, data); } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("list")) { this.list = (Array) newData; return this.list; } return super.setPtr(fieldName, newData); } @Override public ST_bezier getStruct() { return this; } @Override public ST_bezier getPtr() { return this; } } // typedef struct bezier { // pointf *list; // int size; // int sflag, eflag; // pointf sp, ep; // } bezier;plantuml-1.2018.13+ds/src/h/ST_boxf.java000066400000000000000000000076101340005343600175140ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_boxf extends UnsupportedStructAndPtr implements HardcodedStruct { public final ST_pointf LL = new ST_pointf(this); public final ST_pointf UR = new ST_pointf(this); public ST_boxf(StarStruct parent) { } public ST_boxf() { } // @Override // public void setStruct(__struct__ value) { // final ST_boxf other = (ST_boxf) value; // this.LL.setStruct(other.LL); // this.UR.setStruct(other.UR); // } public static ST_boxf[] malloc(int nb) { final ST_boxf result[] = new ST_boxf[nb]; for (int i = 0; i < nb; i++) { result[i] = new ST_boxf(); } return result; } @Override public __struct__ getStruct() { return this; } @Override public void setStruct(__struct__ value) { copyDataFrom(value); } public __struct__ getStructInternal(String fieldName) { if (fieldName.equals("LL")) { return LL; } if (fieldName.equals("UR")) { return UR; } throw new IllegalArgumentException(); } @Override public void setStruct(String fieldName, __struct__ newData) { if (fieldName.equals("LL")) { this.LL.setStruct(newData); return; } if (fieldName.equals("UR")) { this.UR.setStruct(newData); return; } super.setStruct(fieldName, newData); } @Override public ST_boxf copy() { final ST_boxf result = new ST_boxf(); result.LL.copyDataFrom((__struct__) this.LL); result.UR.copyDataFrom((__struct__) this.UR); return result; } @Override public void copyDataFrom(__struct__ value) { final ST_boxf other = (ST_boxf) value; this.LL.setStruct(other.LL); this.UR.setStruct(other.UR); } @Override public void ___(__struct__ value) { final ST_boxf other = (ST_boxf) value; this.LL.setStruct(other.LL); this.UR.setStruct(other.UR); } // public interface ST_boxf extends __ptr__ { // public static List DEFINITION = Arrays.asList( // "typedef struct", // "{", // "pointf LL, UR", // "}", // "boxf"); } // typedef struct { pointf LL, UR; } boxf;plantuml-1.2018.13+ds/src/h/ST_cinfo_t.java000066400000000000000000000054561340005343600202050ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_cinfo_t extends UnsupportedStructAndPtr implements HardcodedStruct { public final ST_boxf bb = new ST_boxf(this); public ST_object_t.Array objp; public ST_cinfo_t(StarStruct parent) { } public ST_cinfo_t() { } @Override public void ___(__struct__ value) { final ST_cinfo_t other = (ST_cinfo_t) value; this.bb.setStruct(other.bb); this.objp = other.objp; } @Override public void setStruct(String fieldName, __struct__ newData) { if (fieldName.equals("bb")) { this.bb.setStruct(newData); return; } super.setStruct(fieldName, newData); } @Override public ST_cinfo_t copy() { final ST_cinfo_t result = new ST_cinfo_t(); result.bb.copyDataFrom((__struct__) this.bb); result.objp = this.objp; return result; } } // typedef struct { // boxf bb; // object_t* objp; // } cinfo_t;plantuml-1.2018.13+ds/src/h/ST_deque_t.java000066400000000000000000000100231340005343600201740ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.amiga.StarStruct; public class ST_deque_t extends UnsupportedStructAndPtr implements HardcodedStruct { // --------------- public ST_pointnlink_t pnlps[]; public boolean malloc(int newdqn) { this.pnlps = new ST_pointnlink_t[newdqn]; return true; } public boolean realloc(int newdqn) { if (pnlps.length >= newdqn) { return true; } ST_pointnlink_t pnlps2[] = new ST_pointnlink_t[newdqn]; for (int i = 0; i < pnlps.length; i++) { pnlps2[i] = pnlps[i]; } this.pnlps = pnlps2; return true; } // --------------- // "pointnlink_t **pnlps", // public __ptr__ pnlps; public int pnlpn, fpnlpi, lpnlpi, apex; public ST_deque_t() { this(null); } public ST_deque_t(StarStruct parent) { } // @Override // public __ptr__ getPtr(String fieldName) { // if (fieldName.equals("pnlps")) { // return pnlps; // } // return super.getPtr(fieldName); // } // // @Override // public __ptr__ setPtr(String fieldName, __ptr__ newData) { // if (fieldName.equals("pnlps")) { // pnlps = newData; // return pnlps; // } // return super.setPtr(fieldName, newData); // } // @Override // public int getInt(String fieldName) { // if (fieldName.equals("pnlpn")) { // return pnlpn; // } // if (fieldName.equals("fpnlpi")) { // return fpnlpi; // } // if (fieldName.equals("lpnlpi")) { // return lpnlpi; // } // if (fieldName.equals("apex")) { // return apex; // } // return super.getInt(fieldName); // } // @Override // public void setInt(String fieldName, int data) { // if (fieldName.equals("pnlpn")) { // pnlpn = data; // return; // } // if (fieldName.equals("fpnlpi")) { // fpnlpi = data; // return; // } // if (fieldName.equals("lpnlpi")) { // lpnlpi = data; // return; // } // if (fieldName.equals("apex")) { // apex = data; // return; // } // super.setInt(fieldName, data); // } // public static List DEFINITION = Arrays.asList( // "typedef struct deque_t", // "{", // "pointnlink_t **pnlps", // "int pnlpn, fpnlpi, lpnlpi, apex", // "}", // "deque_t"); } // typedef struct deque_t { // pointnlink_t **pnlps; // int pnlpn, fpnlpi, lpnlpi, apex; // } deque_t;plantuml-1.2018.13+ds/src/h/ST_dt_s.java000066400000000000000000000111561340005343600175070ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CFunction; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_dt_s extends UnsupportedStructAndPtr implements HardcodedStruct { public CFunction searchf;/* search function */ public ST_dtdisc_s disc; /* method to manipulate objs */ public ST_dtdata_s data; /* sharable data */ public CFunction memoryf;/* function to alloc/free memory */ public ST_dtmethod_s meth; /* dictionary method */ public int type; /* type information */ public int nview; /* number of parent view dictionaries */ public ST_dt_s view; /* next on viewpath */ public ST_dt_s walk; /* dictionary being walked */ public __ptr__ user; /* for user's usage */ public ST_dt_s() { this(null); } public ST_dt_s(StarStruct parent) { } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("searchf")) { this.searchf = (CFunction) newData; return searchf; } if (fieldName.equals("meth")) { this.meth = (ST_dtmethod_s) newData; return meth; } if (fieldName.equals("disc")) { this.disc = (ST_dtdisc_s) newData; return disc; } if (fieldName.equals("memoryf")) { this.memoryf = (CFunction) newData; return memoryf; } if (fieldName.equals("view")) { this.view = (ST_dt_s) newData; return view; } if (fieldName.equals("walk")) { this.walk = (ST_dt_s) newData; return walk; } if (fieldName.equals("user")) { this.user = newData; return user; } if (fieldName.equals("data")) { this.data = (ST_dtdata_s) newData; return data; } return super.setPtr(fieldName, newData); } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("type")) { this.type = data; return; } if (fieldName.equals("nview")) { this.nview = data; return; } super.setInt(fieldName, data); } @Override public boolean isSameThan(StarStruct other) { ST_dt_s other2 = (ST_dt_s) other; return this == other2; } // public static List DEFINITION = Arrays.asList( // "struct _dt_s", // "{", // "Dtsearch_f searchf", // "Dtdisc_t* disc", // "Dtdata_t* data", // "Dtmemory_f memoryf", // "Dtmethod_t* meth", // "int type", // "int nview", // "Dt_t* view", // "Dt_t* walk", // "void* user", // "}"); } // struct _dt_s // { Dtsearch_f searchf;/* search function */ // Dtdisc_t* disc; /* method to manipulate objs */ // Dtdata_t* data; /* sharable data */ // Dtmemory_f memoryf;/* function to alloc/free memory */ // Dtmethod_t* meth; /* dictionary method */ // int type; /* type information */ // int nview; /* number of parent view dictionaries */ // Dt_t* view; /* next on viewpath */ // Dt_t* walk; /* dictionary being walked */ // void* user; /* for user's usage */ // };plantuml-1.2018.13+ds/src/h/ST_dtdata_s.java000066400000000000000000000074701340005343600203450ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_dtdata_s extends UnsupportedStructAndPtr { private final StarStruct parent; public int type; /* type of dictionary */ public ST_dtlink_s here; /* finger to last search element */ public __ptr__ _htab; /* hash table */ public ST_dtlink_s _head = null; // Dtlink_t* _head; /* linked list */ // } hh; public int ntab; /* number of hash slots */ public int size; /* number of objects */ public int loop; /* number of nested loops */ public int minp; /* min path before splay, always even */ public ST_dtdata_s() { this(null); } public ST_dtdata_s(StarStruct parent) { this.parent = parent; } public StarStruct getParent() { return parent; } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("type")) { this.type = data; return; } if (fieldName.equals("ntab")) { this.ntab = data; return; } if (fieldName.equals("size")) { this.size = data; return; } if (fieldName.equals("loop")) { this.loop = data; return; } if (fieldName.equals("minp")) { this.minp = data; return; } super.setInt(fieldName, data); } // public interface ST_dtdata_s extends __ptr__ { // public static List DEFINITION = Arrays.asList( // "struct _dtdata_s", // "{", // "int type", // "Dtlink_t* here", // "union", // "{", // "Dtlink_t** _htab", // "Dtlink_t* _head", // "}", // "hh", // "int ntab", // "int size", // "int loop", // "int minp", // "}"); } // struct _dtdata_s // { int type; /* type of dictionary */ // Dtlink_t* here; /* finger to last search element */ // union // { Dtlink_t** _htab; /* hash table */ // Dtlink_t* _head; /* linked list */ // } hh; // int ntab; /* number of hash slots */ // int size; /* number of objects */ // int loop; /* number of nested loops */ // int minp; /* min path before splay, always even */ // /* for hash dt, > 0: fixed table size */ // };plantuml-1.2018.13+ds/src/h/ST_dtdisc_s.java000066400000000000000000000063501340005343600203520ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CFunction; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_dtdisc_s extends UnsupportedStructAndPtr { public int key; /* where the key begins in an object */ public int size; /* key size and type */ public int link; /* offset to Dtlink_t field */ public CFunction makef; /* object constructor */ public CFunction freef; /* object destructor */ public CFunction comparf;/* to compare two objects */ public CFunction hashf; /* to compute hash value of an object */ public CFunction memoryf;/* to allocate/free memory */ public CFunction eventf; /* to process events */ public ST_dtdisc_s(StarStruct parent) { } public ST_dtdisc_s() { this(null); } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("memoryf")) { memoryf = (CFunction) newData; return newData; } return super.setPtr(fieldName, newData); } } // struct _dtdisc_s // { int key; /* where the key begins in an object */ // int size; /* key size and type */ // int link; /* offset to Dtlink_t field */ // Dtmake_f makef; /* object constructor */ // Dtfree_f freef; /* object destructor */ // Dtcompar_f comparf;/* to compare two objects */ // Dthash_f hashf; /* to compute hash value of an object */ // Dtmemory_f memoryf;/* to allocate/free memory */ // Dtevent_f eventf; /* to process events */ // };plantuml-1.2018.13+ds/src/h/ST_dthold_s.java000066400000000000000000000054121340005343600203540ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_dthold_s extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_dthold_s() { this(null); } public ST_dthold_s(StarStruct parent) { this.parent = parent; } // "struct _dthold_s", // "{", // "Dtlink_t hdr", // "void* obj", public final ST_dtlink_s hdr = new ST_dtlink_s(this); public __ptr__ obj; // "}"); @Override public __ptr__ castTo(Class dest) { if (dest == ST_dthold_s.class) { return this; } if (dest == ST_dtlink_s.class) { return hdr; } return super.castTo(dest); } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("obj")) { this.obj = newData; return this.obj; } return super.setPtr(fieldName, newData); } } // struct _dthold_s // { Dtlink_t hdr; /* header */ // void* obj; /* user object */ // };plantuml-1.2018.13+ds/src/h/ST_dtlink_s.java000066400000000000000000000136601340005343600203670ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.OFFSET; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_dtlink_s extends UnsupportedStructAndPtr implements WithParent { public ST_dtlink_s right; public ST_dtlink_s _left; private final StarStruct parent; @Override public void copyDataFrom(__struct__ other) { ST_dtlink_s this2 = (ST_dtlink_s) other; this.right = this2.right; this._left = this2._left; } public ST_dtlink_s() { this(null); } public ST_dtlink_s(StarStruct parent) { this.parent = parent; } public StarStruct getParent() { return parent; } // @Override // public __ptr__ castTo(Class dest) { // if (dest == ST_dtlink_s.class) { // // return amp(); // return this; // } // if (dest == _dthold_s.class) { // return new LinkTo_dthold_s(); // } // return super.castTo(dest); // } @Override public __ptr__ castTo(Class dest) { if (dest == ST_dtlink_s.class) { return this; } // if (dest == refstr_t.class && getParent() instanceof ST_refstr_t) { // return (ST_refstr_t) getParent(); // } if (dest == ST_dthold_s.class && getParent() instanceof ST_dthold_s) { // System.err.println("ITSME"); // System.err.println("getParent()=" + getParent()); return (ST_dthold_s) getParent(); } System.err.println("dest=" + dest); return super.castTo(dest); } public ST_dthold_s castTo_ST_dthold_s() { if (getParent() instanceof ST_dthold_s) { return (ST_dthold_s) getParent(); } throw new UnsupportedOperationException(); } class LinkTo_dthold_s extends UnsupportedStructAndPtr { } class LinkTo_Obj extends UnsupportedStructAndPtr { } @Override public Object addVirtualBytes(int virtualBytes) { if (virtualBytes == 0) { return this; } if (virtualBytes < 0) { final OFFSET offset = OFFSET.fromInt(-virtualBytes); if (offset.toString().equals("h.ST_Agsubnode_s::id_link")) { return ((ST_Agsubnode_s) parent).from_id_link(ST_dtlink_s.this); } if (offset.toString().equals("h.ST_Agsubnode_s::seq_link")) { return ((ST_Agsubnode_s) parent).from_seq_link(ST_dtlink_s.this); } if (offset.toString().equals("h.ST_Agsym_s::link")) { return ((ST_Agsym_s) parent).from_link(ST_dtlink_s.this); } if (offset.toString().equals("h.ST_Agedge_s::seq_link")) { return ((ST_Agedge_s) parent).from_seq_link(ST_dtlink_s.this); } if (offset.toString().equals("h.ST_Agedge_s::id_link")) { return ((ST_Agedge_s) parent).from_id_link(ST_dtlink_s.this); } if (offset.toString().equals("h.ST_Agraph_s::link")) { return ((ST_Agraph_s) parent).from_link(ST_dtlink_s.this); } System.err.println("virtualBytes=" + virtualBytes); System.err.println("offset=" + offset); return super.addVirtualBytes(virtualBytes); } final OFFSET offset = OFFSET.fromInt(virtualBytes); if (offset.toString().equals("h.ST_refstr_t::s") && parent instanceof ST_refstr_t) { return ((ST_refstr_t) parent).to_s(ST_dtlink_s.this); } System.err.println("virtualBytes=" + virtualBytes); System.err.println("offset=" + offset); return super.addVirtualBytes(virtualBytes); } // @Override // public __ptr__ setPtr(String fieldName, __ptr__ newData) { // if (fieldName.equals("hl._left")) { // this._left = (ST_dtlink_s) newData; // return _left; // } // if (fieldName.equals("right")) { // this.right = (ST_dtlink_s) newData; // return right; // } // return super.setPtr(fieldName, newData); // } // @Override // public __ptr__ getPtr(String fieldName) { // // if (fieldName.equals("hl._left")) { // // return _left; // // } // if (fieldName.equals("right")) { // return right; // } // return super.getPtr(fieldName); // } // public interface ST_dtlink_s extends __ptr__ { // public static List DEFINITION = Arrays.asList( // "struct _dtlink_s", // "{", // "Dtlink_t* right", // "union", // "{", // "unsigned int _hash", // "Dtlink_t* _left", // "}", // "hl", // "}"); } // struct _dtlink_s // { Dtlink_t* right; /* right child */ // union // { unsigned int _hash; /* hash value */ // Dtlink_t* _left; /* left child */ // } hl; // };plantuml-1.2018.13+ds/src/h/ST_dtmethod_s.java000066400000000000000000000045441340005343600207130ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CFunction; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; public class ST_dtmethod_s extends UnsupportedStructAndPtr { public CFunction searchf; public int type; // public static List DEFINITION = Arrays.asList( // "struct _dtmethod_s", // "{", // "Dtsearch_f searchf", // "int type", // "}"); @Override public ST_dtmethod_s copy() { final ST_dtmethod_s result = new ST_dtmethod_s(); result.searchf = this.searchf; result.type = this.type; return result; } }plantuml-1.2018.13+ds/src/h/ST_elist.java000066400000000000000000000070511340005343600176750ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.ArrayList; import java.util.List; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_elist extends UnsupportedStructAndPtr implements HardcodedStruct { public int size; public List list; public ST_elist() { this(null); } public ST_elist(StarStruct parent) { } @Override public void copyDataFrom(__struct__ other) { ST_elist other2 = (ST_elist) other; this.size = other2.size; this.list = other2.list; } @Override public void setStruct(__struct__ value) { copyDataFrom(value); } @Override public void ___(__struct__ other) { ST_elist other2 = (ST_elist) other; this.size = other2.size; this.list = other2.list; } @Override public ST_elist copy() { final ST_elist result = new ST_elist(); result.size = this.size; result.list = this.list; return result; } public boolean listNotNull() { return list != null; } public void mallocEmpty(int nb) { list = new ArrayList(); while (list.size() < nb) { list.add(null); } } public void realloc(int nb) { if (list == null) { list = new ArrayList(); } while (list.size() < nb) { list.add(null); } } public void free() { list = null; } public void setInList(int idx, Object value) { list.set(idx, (ST_Agedge_s) value); } public __ptr__ getFromList(int i) { return (__ptr__) list.get(i); } // public static List DEFINITION = Arrays.asList( // "typedef struct elist", // "{", // "edge_t **list", // "int size", // "}", // "elist"); } // typedef struct elist { // edge_t **list; // int size; // } elist;plantuml-1.2018.13+ds/src/h/ST_fontinfo.java000066400000000000000000000054611340005343600204020ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CString; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_fontinfo extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_fontinfo() { this(null); } public ST_fontinfo(StarStruct parent) { this.parent = parent; } // "struct fontinfo", // "{", public double fontsize; public CString fontname; public CString fontcolor; // "}"); @Override public void setDouble(String fieldName, double data) { if (fieldName.equals("fontsize")) { this.fontsize = data; return; } super.setDouble(fieldName, data); } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("fontname")) { return this.fontname; } if (fieldName.equals("fontcolor")) { return this.fontcolor; } return super.setPtr(fieldName, newData); } } // struct fontinfo { // double fontsize; // char *fontname; // char *fontcolor; // };plantuml-1.2018.13+ds/src/h/ST_gvlayout_engine_s.java000066400000000000000000000051211340005343600222720ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CFunction; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; public class ST_gvlayout_engine_s extends UnsupportedStructAndPtr { public CFunction layout; public CFunction cleanup; // "struct gvlayout_engine_s", // "{", // "void (*layout) (graph_t * g)", // "void (*cleanup) (graph_t * g)", // "}"); @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("layout")) { this.layout = (CFunction) newData; return newData; } if (fieldName.equals("cleanup")) { this.cleanup = (CFunction) newData; return newData; } return super.setPtr(fieldName, newData); } } // struct gvlayout_engine_s { // void (*layout) (graph_t * g); // void (*cleanup) (graph_t * g); // };plantuml-1.2018.13+ds/src/h/ST_gvlayout_features_t.java000066400000000000000000000044021340005343600226450ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; public class ST_gvlayout_features_t extends UnsupportedStructAndPtr { // "typedef struct", // "{", public int flags; // "}", // "gvlayout_features_t"); @Override public void setInt(String fieldName, int data) { if (fieldName.equals("flags")) { this.flags = data; return; } super.setInt(fieldName, data); } } // typedef struct { // int flags; // } gvlayout_features_t;plantuml-1.2018.13+ds/src/h/ST_gvplugin_active_layout_t.java000066400000000000000000000056001340005343600236610ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CString; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; public class ST_gvplugin_active_layout_t extends UnsupportedStructAndPtr { public ST_gvlayout_engine_s engine; private int id; public ST_gvlayout_features_t features; public CString type; // "}", @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("type")) { this.type = (CString) newData; return newData; } if (fieldName.equals("engine")) { this.engine = (ST_gvlayout_engine_s) newData; return newData; } if (fieldName.equals("features")) { this.features = (ST_gvlayout_features_t) newData; return newData; } return super.setPtr(fieldName, newData); } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("id")) { this.id = data; return; } super.setInt(fieldName, data); } } // typedef struct gvplugin_active_layout_s { // gvlayout_engine_t *engine; // int id; // gvlayout_features_t *features; // const char *type; // } gvplugin_active_layout_t;plantuml-1.2018.13+ds/src/h/ST_gvplugin_available_s.java000066400000000000000000000061441340005343600227340ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.amiga.StarStruct; public class ST_gvplugin_available_s extends UnsupportedStructAndPtr { private final StarStruct parent; // gvplugin_available_t *next; /* next plugin in linked list, or NULL */ // const char *typestr; /* type string, e.g. "png" or "ps" */ // int quality; /* Programmer assigned quality ranking within type (+ve or -ve int). // First implementation of type should be given "0" quality */ // gvplugin_package_t *package; /* details of library containing plugin */ // gvplugin_installed_t *typeptr; /* pointer to jumptable for plugin, // or NULL if not yet loaded */ public ST_gvplugin_available_s() { this(null); } public ST_gvplugin_available_s(StarStruct parent) { this.parent = parent; } // struct gvplugin_available_s { // gvplugin_available_t *next; /* next plugin in linked list, or NULL */ // const char *typestr; /* type string, e.g. "png" or "ps" */ // int quality; /* Programmer assigned quality ranking within type (+ve or -ve int). // First implementation of type should be given "0" quality */ // gvplugin_package_t *package; /* details of library containing plugin */ // gvplugin_installed_t *typeptr; /* pointer to jumptable for plugin, // or NULL if not yet loaded */ // }; } plantuml-1.2018.13+ds/src/h/ST_gvplugin_installed_t.java000066400000000000000000000072441340005343600227760ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CString; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_gvplugin_installed_t extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_gvplugin_installed_t() { this(null); } public ST_gvplugin_installed_t(StarStruct parent) { this.parent = parent; } public int id; public CString type; public int quality; public ST_gvlayout_engine_s engine; public ST_gvlayout_features_t features; @Override public void setInt(String fieldName, int data) { if (fieldName.equals("id")) { this.id = data; return; } if (fieldName.equals("quality")) { this.quality = data; return; } super.setInt(fieldName, data); } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("type")) { this.type = (CString) newData; return newData; } if (fieldName.equals("engine")) { this.engine = (ST_gvlayout_engine_s) newData; return newData; } if (fieldName.equals("features")) { this.features = (ST_gvlayout_features_t) newData; return newData; } return super.setPtr(fieldName, newData); } } // typedef struct { // int id; /* an id that is only unique within a package // of plugins of the same api. // A renderer-type such as "png" in the cairo package // has an id that is different from the "ps" type // in the same package */ // const char *type; /* a string name, such as "png" or "ps" that // distinguishes different types withing the same // (renderer in this case) */ // int quality; /* an arbitrary integer used for ordering plugins of // the same type from different packages */ // void *engine; /* pointer to the jump table for the plugin */ // void *features; /* pointer to the feature description // void* because type varies by api */ // } gvplugin_installed_t;plantuml-1.2018.13+ds/src/h/ST_inside_t.java000066400000000000000000000061711340005343600203550ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.MutableDoublePtr; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_inside_t extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_inside_t() { this(null); } public ST_inside_t(StarStruct parent) { this.parent = parent; } // "typedef union inside_t", // "{", // "struct", // "{", // "pointf* p", public ST_pointf.Array a_p; public MutableDoublePtr a_r; // "double* r", // "}", // "a", // "struct", // "{", // "node_t* n", public ST_Agnode_s s_n; public ST_boxf s_bp; // "boxf* bp", // "}", // "s", // "}", // "inside_t"); @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("s.n")) { this.s_n = (ST_Agnode_s) newData; return this.s_n; } if (fieldName.equals("s.bp")) { this.s_bp = (ST_boxf) newData; return this.s_bp; } if (fieldName.equals("a.p")) { this.a_p = (ST_pointf.Array) newData; return this.a_p; } if (fieldName.equals("a.r")) { this.a_r = (MutableDoublePtr) newData; return this.a_r; } return super.setPtr(fieldName, newData); } } // typedef union inside_t { // struct { // pointf* p; // double* r; // } a; // struct { // node_t* n; // boxf* bp; // } s; // } inside_t;plantuml-1.2018.13+ds/src/h/ST_label_params_t.java000066400000000000000000000052061340005343600215220ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_label_params_t extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_label_params_t() { this(null); } public ST_label_params_t(StarStruct parent) { this.parent = parent; } // "typedef struct", // "{", public final ST_boxf bb = new ST_boxf(this); public boolean force; // "}", // "label_params_t"); @Override public void setStruct(String fieldName, __struct__ newData) { if (fieldName.equals("bb")) { this.bb.copyDataFrom(newData); return; } super.setStruct(fieldName, newData); } } // typedef struct { // boxf bb; /* Bounding box of all objects */ // unsigned char force; /* If true, all labels must be placed */ // } label_params_t;plantuml-1.2018.13+ds/src/h/ST_layout_t.java000066400000000000000000000066361340005343600204250ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_layout_t extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_layout_t() { this(null); } public ST_layout_t(StarStruct parent) { this.parent = parent; } public double quantum; public double scale; public double ratio; public double dpi; public ST_pointf margin = new ST_pointf(this); public ST_pointf page = new ST_pointf(this); public ST_pointf size = new ST_pointf(this); public boolean filled; public boolean landscape; public boolean centered; // "ratio_t ratio_kind", public int ratio_kind; // "void* xdots", // "char* id", @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("xdots") && newData == null) { return null; } return super.setPtr(fieldName, newData); } @Override public void setDouble(String fieldName, double data) { if (fieldName.equals("quantum")) { this.quantum = data; return; } if (fieldName.equals("scale")) { this.scale = data; return; } if (fieldName.equals("ratio")) { this.ratio = data; return; } if (fieldName.equals("dpi")) { this.dpi = data; return; } super.setDouble(fieldName, data); } } // typedef struct layout_t { // double quantum; // double scale; // double ratio; /* set only if ratio_kind == R_VALUE */ // double dpi; // pointf margin; // pointf page; // pointf size; // boolean filled; // boolean landscape; // boolean centered; // ratio_t ratio_kind; // void* xdots; // char* id; // } layout_t;plantuml-1.2018.13+ds/src/h/ST_nlist_t.java000066400000000000000000000055751340005343600202420ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.ArrayList; import java.util.List; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.amiga.StarStruct; public class ST_nlist_t extends UnsupportedStructAndPtr implements HardcodedStruct { // public __ptr__ list; public int size; private final List data = new ArrayList(); public ST_nlist_t(StarStruct parent) { } public ST_nlist_t() { this(null); } public void reallocEmpty(int n_nodes) { while (data.size() < n_nodes) { data.add(null); } } public void allocEmpty(int n_nodes) { data.clear(); reallocEmpty(n_nodes); } public void setInList(int idx, ST_Agnode_s value) { data.set(idx, value); } public ST_Agnode_s getFromList(int i) { return data.get(i); } public void resetList() { data.clear(); } // public static List DEFINITION = Arrays.asList( // "typedef struct nlist_t", // "{", // "node_t **list", // "int size", // "}", // "nlist_t"); } // typedef struct nlist_t { // node_t **list; // int size; // } nlist_t;plantuml-1.2018.13+ds/src/h/ST_nodequeue.java000066400000000000000000000060501340005343600205450ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_nodequeue extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_nodequeue() { this(null); } public ST_nodequeue(StarStruct parent) { this.parent = parent; } // "typedef struct nodequeue", // "{", // "node_t **store, **limit, **head, **tail", public ST_Agnode_s.ArrayOfStar store; public ST_Agnode_s.ArrayOfStar tail; public ST_Agnode_s.ArrayOfStar head; public ST_Agnode_s.ArrayOfStar limit; // "}", // "nodequeue"); @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("store")) { this.store = (ST_Agnode_s.ArrayOfStar) newData; return this.store; } if (fieldName.equals("tail")) { this.tail = (ST_Agnode_s.ArrayOfStar) newData; return this.tail; } if (fieldName.equals("head")) { this.head = (ST_Agnode_s.ArrayOfStar) newData; return this.head; } if (fieldName.equals("limit")) { this.limit = (ST_Agnode_s.ArrayOfStar) newData; return this.limit; } return super.setPtr(fieldName, newData); } } // typedef struct nodequeue { // node_t **store, **limit, **head, **tail; // } nodequeue;plantuml-1.2018.13+ds/src/h/ST_object_t.java000066400000000000000000000123171340005343600203470ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.ArrayList; import java.util.List; import smetana.core.UnsupportedArrayOfStruct2; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__array_of_ptr__; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.size_t; import smetana.core.amiga.StarStruct; public class ST_object_t extends UnsupportedStructAndPtr implements ST_Node_t___or_object_t { private final StarStruct parent; public ST_object_t() { this(null); } public ST_object_t(StarStruct parent) { this.parent = parent; } // "typedef struct", // "{", public final ST_pointf pos = new ST_pointf(this); public final ST_pointf sz = new ST_pointf(this); // "xlabel_t *lbl", public ST_xlabel_t.Array lbl; // "}", // "object_t"); @Override public ST_object_t getStruct() { return this; } @Override public ST_object_t getPtr() { return this; } @Override public boolean isSameThan(StarStruct other) { ST_object_t other2 = (ST_object_t) other; return this == other2; } public static class Array extends UnsupportedArrayOfStruct2 implements __ptr__, __array_of_ptr__ { private final List data; private final int pos; @Override public Array asPtr() { return this; } @Override public ST_object_t getStruct() { return get(0); } @Override public __ptr__ setPtr(String fieldName, __ptr__ data) { return get(0).setPtr(fieldName, data); } @Override public void setStruct(String fieldName, __struct__ data) { get(0).setStruct(fieldName, data); } public Array(int size) { this.data = new ArrayList(); this.pos = 0; for (int i = 0; i < size; i++) { data.add(new ST_object_t()); } } public Array reallocJ(int newsize) { while (data.size() < newsize) { data.add(new ST_object_t()); } return this; } public Array plus(int delta) { return plusJ(delta); } private Array(List data, int pos) { this.data = data; this.pos = pos; } public ST_object_t get(int i) { return this.data.get(pos + i); } public Array plusJ(int i) { return new Array(data, pos + i); } public int minus(Array other) { if (this.data != other.data) { throw new IllegalArgumentException(); } return this.pos - other.pos; } public Array move(int delta) { throw new UnsupportedOperationException(getClass().toString()); } public void realloc(size_t nb) { throw new UnsupportedOperationException(getClass().toString()); } public int comparePointerInternal(__array_of_ptr__ other) { throw new UnsupportedOperationException(getClass().toString()); } } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("pos")) { this.pos.copyDataFrom(newData); return newData; } if (fieldName.equals("lbl")) { this.lbl = (ST_xlabel_t.Array) newData; return this.lbl; } return super.setPtr(fieldName, newData); } @Override public void setStruct(String fieldName, __struct__ newData) { if (fieldName.equals("pos")) { this.pos.copyDataFrom(newData); return; } if (fieldName.equals("sz")) { this.sz.copyDataFrom(newData); return; } super.setStruct(fieldName, newData); } } // typedef struct { // pointf pos; /* Position of lower-left corner of object */ // pointf sz; /* Size of object; may be zero for a point */ // xlabel_t *lbl; /* Label attached to object, or NULL */ // } object_t;plantuml-1.2018.13+ds/src/h/ST_pack_info.java000066400000000000000000000071361340005343600205120ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_pack_info extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_pack_info() { this(null); } public ST_pack_info(StarStruct parent) { this.parent = parent; } // "typedef struct", // "{", // "float aspect", public int sz; public int margin; private int doSplines; // "pack_mode mode", public int mode; private __ptr__ fixed; // "boolean *fixed", // "packval_t* vals", public __ptr__ vals; public int flags; // "}", // "pack_info"); @Override public void setInt(String fieldName, int data) { if (fieldName.equals("flags")) { this.flags = data; return; } if (fieldName.equals("mode")) { this.mode = data; return; } if (fieldName.equals("sz")) { this.sz = data; return; } if (fieldName.equals("margin")) { this.margin = data; return; } if (fieldName.equals("doSplines")) { this.doSplines = data; return; } if (fieldName.equals("fixed") && data == 0) { this.fixed = null; return; } super.setInt(fieldName, data); } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("vals") && newData == null) { this.vals = newData; return vals; } return super.setPtr(fieldName, newData); } } // typedef struct { // float aspect; /* desired aspect ratio */ // int sz; /* row/column size size */ // unsigned int margin; /* margin left around objects, in points */ // int doSplines; /* use splines in constructing graph shape */ // pack_mode mode; /* granularity and method */ // boolean *fixed; /* fixed[i] == true implies g[i] should not be moved */ // packval_t* vals; /* for arrays, sort numbers */ // int flags; // } pack_info;plantuml-1.2018.13+ds/src/h/ST_path.java000066400000000000000000000054421340005343600175130ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_path extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_path() { this(null); } public ST_path(StarStruct parent) { this.parent = parent; } // "typedef struct path", // "{", final public ST_port start = new ST_port(this), end = new ST_port(this); public int nbox; // "boxf *boxes", public ST_boxf boxes[]; public ST_Agedge_s data; // "void *data", // "}", // "path"); @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("data")) { this.data = (ST_Agedge_s) newData; return this.data; } return super.setPtr(fieldName, newData); } } // typedef struct path { /* internal specification for an edge spline */ // port start, end; // int nbox; /* number of subdivisions */ // boxf *boxes; /* rectangular regions of subdivision */ // void *data; // } path;plantuml-1.2018.13+ds/src/h/ST_pathend_t.java000066400000000000000000000067131340005343600205270ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_pathend_t extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_pathend_t() { this(null); } public ST_pathend_t(StarStruct parent) { this.parent = parent; } // "typedef struct pathend_t", // "{", public final ST_boxf nb = new ST_boxf(this); public final ST_pointf np = new ST_pointf(this); public int sidemask; public int boxn; public final ST_boxf boxes[] = new ST_boxf[] { new ST_boxf(), new ST_boxf(), new ST_boxf(), new ST_boxf(), new ST_boxf(), new ST_boxf(), new ST_boxf(), new ST_boxf(), new ST_boxf(), new ST_boxf(), new ST_boxf(), new ST_boxf(), new ST_boxf(), new ST_boxf(), new ST_boxf(), new ST_boxf(), new ST_boxf(), new ST_boxf(), new ST_boxf(), new ST_boxf() }; // "boxf boxes[20]", // "}", // "pathend_t"); @Override public __ptr__ getPtr() { return this; } @Override public void setStruct(String fieldName, __struct__ newData) { if (fieldName.equals("np")) { this.np.___(newData); return; } if (fieldName.equals("nb")) { this.nb.___(newData); return; } super.setStruct(fieldName, newData); } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("boxn")) { this.boxn = data; return; } if (fieldName.equals("sidemask")) { this.sidemask = data; return; } super.setInt(fieldName, data); } } // typedef struct pathend_t { // boxf nb; /* the node box */ // pointf np; /* node port */ // int sidemask; // int boxn; // boxf boxes[20]; // } pathend_t;plantuml-1.2018.13+ds/src/h/ST_point.java000066400000000000000000000053531340005343600177110ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_point extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_point() { this(null); } public ST_point(StarStruct parent) { this.parent = parent; } // "typedef struct", // "{", public int x, y; // "}", // "point"); @Override public __struct__ copy() { final ST_point result = new ST_point(); result.x = this.x; result.y = this.y; return result; } @Override public void ___(__struct__ other) { ST_point this2 = (ST_point) other; this.x = this2.x; this.y = this2.y; } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("x")) { this.x = data; return; } if (fieldName.equals("y")) { this.y = data; return; } super.setInt(fieldName, data); } } // typedef struct { int x, y; } point;plantuml-1.2018.13+ds/src/h/ST_pointf.java000066400000000000000000000163071340005343600200600ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.ArrayList; import java.util.List; import smetana.core.CString; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedArrayOfStruct2; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__array_of_ptr__; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.size_t; import smetana.core.amiga.Area; import smetana.core.amiga.StarStruct; public class ST_pointf extends UnsupportedStructAndPtr implements HardcodedStruct { public double x; public double y; @Override public boolean isSameThan(StarStruct other) { return this==(ST_pointf)other; } public static class Array extends UnsupportedArrayOfStruct2 implements __ptr__, __array_of_ptr__ { private final List data; private final int pos; @Override public void setStruct(__struct__ value) { getStruct().___(value); } @Override public Array asPtr() { return this; } @Override public void setDouble(String fieldName, double value) { getStruct().setDouble(fieldName, value); } @Override public ST_pointf getStruct() { return get(0).getStruct(); } @Override public ST_pointf getPtr() { return get(0); } public Array(int size) { this.data = new ArrayList(); this.pos = 0; for (int i = 0; i < size; i++) { data.add(new ST_pointf()); } } public Array reallocJ(int newsize) { while (data.size() < newsize) { data.add(new ST_pointf()); } return this; } public Array plus(int delta) { return plusJ(delta); } private Array(List data, int pos) { this.data = data; this.pos = pos; } public ST_pointf get(int i) { return this.data.get(pos + i); } public Array plusJ(int i) { return new Array(data, pos + i); } public int minus(Array other) { if (this.data != other.data) { throw new IllegalArgumentException(); } return this.pos - other.pos; } public Array move(int delta) { throw new UnsupportedOperationException(getClass().toString()); } public void realloc(size_t nb) { throw new UnsupportedOperationException(getClass().toString()); } public int comparePointerInternal(__array_of_ptr__ other) { throw new UnsupportedOperationException(getClass().toString()); } public void setCString(CString value) { throw new UnsupportedOperationException(getClass().toString()); } } public static ST_pointf[] malloc(int nb) { final ST_pointf result[] = new ST_pointf[nb]; for (int i = 0; i < nb; i++) { result[i] = new ST_pointf(); } return result; } public static ST_pointf[] realloc(ST_pointf[] old, int nb) { if (nb <= old.length) { return old; } final ST_pointf result[] = new ST_pointf[nb]; for (int i = 0; i < nb; i++) { result[i] = i < old.length ? old[i] : new ST_pointf(); } return result; } public ST_pointf() { this(null); } @Override public ST_pointf copy() { final ST_pointf result = new ST_pointf(); result.x = this.x; result.y = this.y; return result; } @Override public void setStruct(__struct__ value) { final ST_pointf other2 = (ST_pointf) value; this.x = other2.x; this.y = other2.y; } @Override public void copyDataFrom(__ptr__ value) { final ST_pointf other2 = (ST_pointf) value; this.x = other2.x; this.y = other2.y; } @Override public ST_pointf getStruct() { return this; } @Override public void memcopyFrom(Area source) { // if (source instanceof StarArrayOfPtr) { // final Amp other2 = (Amp) ((StarArrayOfPtr) source).getPtr(); // this.x = other2.getX(); // this.y = other2.getY(); // return; // // } final ST_pointf other2 = (ST_pointf) source; this.x = other2.x; this.y = other2.y; } @Override public void ___(__struct__ other) { final ST_pointf other2 = (ST_pointf) other; this.x = other2.x; this.y = other2.y; } @Override public void ____(__ptr__ other) { if (other instanceof ST_pointf.Array) { ST_pointf.Array other2 = (ST_pointf.Array) other; this.x = other2.get(0).x; this.y = other2.get(0).y; return; } // if (other instanceof __array_of_ptr__) { // Amp other2 = (Amp) other.getPtr(); // this.x = other2.getX(); // this.y = other2.getY(); // return; // } // if (other instanceof StarArrayOfPtr) { // Amp other2 = (Amp) other.getPtr(); // this.x = other2.getX(); // this.y = other2.getY(); // return; // } // if (other instanceof Amp) { // Amp other2 = (Amp) other; // this.x = other2.getX(); // this.y = other2.getY(); // return; // } if (other instanceof ST_pointf) { ST_pointf other2 = (ST_pointf) other; this.x = other2.x; this.y = other2.y; return; } System.err.println("other=" + other.getClass()); System.err.println("other=" + other.getPtr().getClass()); super.____(other); } @Override public void copyDataFrom(__struct__ other) { final ST_pointf other2 = (ST_pointf) other; this.x = other2.x; this.y = other2.y; } @Override public void setDouble(String fieldName, double data) { if (fieldName.equals("x")) { this.x = data; return; } if (fieldName.equals("y")) { this.y = data; return; } super.setDouble(fieldName, data); } public ST_pointf(StarStruct parent) { } // public interface ST_pointf extends __ptr__ { // public static List DEFINITION = Arrays.asList( // "typedef struct pointf_s", // "{", // "double x, y", // "}", // "pointf"); } // typedef struct pointf_s { double x, y; } pointf;plantuml-1.2018.13+ds/src/h/ST_pointnlink_t.java000066400000000000000000000063451340005343600212720ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_pointnlink_t extends UnsupportedStructAndPtr implements HardcodedStruct { public ST_pointf pp; public ST_pointnlink_t link; public ST_pointnlink_t() { this(null); } public ST_pointnlink_t(StarStruct parent) { } @Override public boolean isSameThan(StarStruct other) { ST_pointnlink_t other2 = (ST_pointnlink_t) other; return this == other2; } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("pp")) { System.err.println("newData1=" + newData.getClass()); pp = (ST_pointf) newData; return pp; } if (fieldName.equals("link")) { if (newData == null) { link = null; return link; } if (newData instanceof ST_pointnlink_t) { ST_pointnlink_t tmp = (ST_pointnlink_t) newData; link = tmp; return link; } System.err.println("newData2A=" + newData.getClass()); } return super.setPtr(fieldName, newData); } @Override public ST_pointnlink_t getStruct() { return this; } // public static List DEFINITION = Arrays.asList( // "typedef struct pointnlink_t", // "{", // "Ppoint_t *pp", // "struct pointnlink_t *link", // "}", // "pointnlink_t"); } // typedef struct pointnlink_t { // Ppoint_t *pp; // struct pointnlink_t *link; // } pointnlink_t;plantuml-1.2018.13+ds/src/h/ST_polygon_t.java000066400000000000000000000074421340005343600205730ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.amiga.StarStruct; public class ST_polygon_t extends UnsupportedStructAndPtr implements HardcodedStruct { public int regular; public int peripheries; public int sides; public double orientation; public double distortion; public double skew; public int option; public ST_pointf.Array vertices; // "pointf *vertices", public ST_polygon_t() { this(null); } public ST_polygon_t(StarStruct parent) { } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("regular")) { this.regular = data; return; } if (fieldName.equals("peripheries")) { this.peripheries = data; return; } if (fieldName.equals("sides")) { this.sides = data; return; } super.setInt(fieldName, data); } @Override public void setDouble(String fieldName, double data) { if (fieldName.equals("orientation")) { this.orientation = data; return; } if (fieldName.equals("distortion")) { this.distortion = data; return; } if (fieldName.equals("skew")) { this.skew = data; return; } super.setDouble(fieldName, data); } // public static List DEFINITION = Arrays.asList( // "typedef struct polygon_t", // "{", // "int regular", // "int peripheries", // "int sides", // "double orientation", // "double distortion", // "double skew", // "int option", // "pointf *vertices", // "}", // "polygon_t"); } // typedef struct polygon_t { /* mutable shape information for a node */ // int regular; /* true for symmetric shapes */ // int peripheries; /* number of periphery lines */ // int sides; /* number of sides */ // double orientation; /* orientation of shape (+ve degrees) */ // double distortion; /* distortion factor - as in trapezium */ // double skew; /* skew factor - as in parallelogram */ // int option; /* ROUNDED, DIAGONAL corners, etc. */ // pointf *vertices; /* array of vertex points */ // } polygon_t;plantuml-1.2018.13+ds/src/h/ST_port.java000066400000000000000000000127771340005343600175540ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CString; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.amiga.Area; import smetana.core.amiga.StarStruct; public class ST_port extends UnsupportedStructAndPtr implements HardcodedStruct { public final ST_pointf p = new ST_pointf(this); public double theta; public ST_boxf bp; public int defined; public int constrained; public int clip; public int dyna; public int order; public int side; public CString name; public ST_port(StarStruct parent) { } public ST_port() { } @Override public void ___(__struct__ other) { ST_port other2 = (ST_port) other; this.p.___(other2.p); this.theta = other2.theta; this.bp = other2.bp; this.defined = other2.defined; this.constrained = other2.constrained; this.clip = other2.clip; this.dyna = other2.dyna; this.order = other2.order; this.side = other2.side; this.name = other2.name; } @Override public void copyDataFrom(__struct__ other) { ST_port other2 = (ST_port) other; this.p.___(other2.p); this.theta = other2.theta; this.bp = other2.bp; this.defined = other2.defined; this.constrained = other2.constrained; this.clip = other2.clip; this.dyna = other2.dyna; this.order = other2.order; this.side = other2.side; this.name = other2.name; } @Override public void memcopyFrom(Area other) { ST_port other2 = (ST_port) other; this.p.___(other2.p); this.theta = other2.theta; this.bp = other2.bp; this.defined = other2.defined; this.constrained = other2.constrained; this.clip = other2.clip; this.dyna = other2.dyna; this.order = other2.order; this.side = other2.side; this.name = other2.name; } @Override public ST_port copy() { final ST_port result = new ST_port(); result.p.___(this.p); result.theta = this.theta; result.bp = this.bp; result.defined = this.defined; result.constrained = this.constrained; result.clip = this.clip; result.dyna = this.dyna; result.order = this.order; result.side = this.side; result.name = this.name; return result; } @Override public void setStruct(String fieldName, __struct__ newData) { if (fieldName.equals("p")) { p.copyDataFrom(newData); return; } super.setStruct(fieldName, newData); } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("constrained")) { constrained = data; return; } super.setInt(fieldName, data); } @Override public void setDouble(String fieldName, double data) { if (fieldName.equals("theta")) { this.theta = data; return; } super.setDouble(fieldName, data); } // "typedef struct port", // "{", // "pointf p", // "double theta", // "boxf *bp", // "boolean defined", // "boolean constrained", // "boolean clip", // "boolean dyna", // "unsigned char order", // "unsigned char side", // "char *name", // "}", // "port"); } // typedef struct port { /* internal edge endpoint specification */ // pointf p; /* aiming point relative to node center */ // double theta; /* slope in radians */ // boxf *bp; /* if not null, points to bbox of // * rectangular area that is port target // */ // boolean defined; /* if true, edge has port info at this end */ // boolean constrained; /* if true, constraints such as theta are set */ // boolean clip; /* if true, clip end to node/port shape */ // boolean dyna; /* if true, assign compass point dynamically */ // unsigned char order; /* for mincross */ // unsigned char side; /* if port is on perimeter of node, this // * contains the bitwise OR of the sides (TOP, // * BOTTOM, etc.) it is on. // */ // char *name; /* port name, if it was explicitly given, otherwise NULL */ // } port;plantuml-1.2018.13+ds/src/h/ST_rank_t.java000066400000000000000000000156711340005343600200420ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.ArrayList; import java.util.List; import smetana.core.UnsupportedArrayOfPtr; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__array_of_ptr__; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_rank_t extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_rank_t() { this(null); } public ST_rank_t(StarStruct parent) { this.parent = parent; } public int n; // "node_t **v", public ST_Agnode_s.ArrayOfStar v; public int an; // "node_t **av", public ST_Agnode_s.ArrayOfStar av; public double ht1, ht2; public double pht1, pht2; public boolean candidate; public int valid; public int cache_nc; public ST_adjmatrix_t flat; // "}", // "rank_t"); public static class Array2 extends UnsupportedArrayOfPtr implements __ptr__, __array_of_ptr__ { private final List data; private final int pos; public Array2(int size) { this.data = new ArrayList(); this.pos = 0; for (int i = 0; i < size; i++) { data.add(new ST_rank_t()); } } @Override public void setInt(String fieldName, int data) { getPtr().setInt(fieldName, data); } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { return getPtr().setPtr(fieldName, newData); } @Override public void setDouble(String fieldName, double data) { getPtr().setDouble(fieldName, data); } public ST_rank_t get(int i) { return plus(i).getPtr(); } public void swap(int i, int j) { ST_rank_t e1 = data.get(i); ST_rank_t e2 = data.get(j); data.set(i, e2); data.set(j, e1); } public Array2(List data, int pos) { this.data = data; this.pos = pos; } public Array2 reallocJ(int newsize) { while (data.size() < newsize) { data.add(new ST_rank_t()); } return this; } @Override public Array2 plus(int delta) { return new Array2(data, pos + delta); } @Override public Array2 asPtr() { return this; } @Override public void setPtr(__ptr__ value) { // if (value instanceof Amp) { // value = value.getPtr(); // } this.data.set(pos, (ST_rank_t) value); } @Override public ST_rank_t getPtr() { return this.data.get(pos); } @Override public int comparePointer(__ptr__ other) { final Array2 this2 = (Array2) other; if (this.data != this2.data) { throw new IllegalArgumentException(); } return this.pos - this2.pos; } public boolean isSameThan2(Array2 other) { if (this.data != other.data) { throw new IllegalArgumentException(); } return this.pos == other.pos; } } @Override public void setStruct(__struct__ value) { ST_rank_t this2 = (ST_rank_t) value; this.n = this2.n; this.v = this2.v; this.an = this2.an; this.av = this2.av; this.ht1 = this2.ht1; this.ht2 = this2.ht2; this.pht1 = this2.pht1; this.pht2 = this2.pht2; this.candidate = this2.candidate; this.valid = this2.valid; this.cache_nc = this2.cache_nc; this.flat = this2.flat; } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("n")) { this.n = data; return; } if (fieldName.equals("an")) { this.an = data; return; } if (fieldName.equals("valid")) { this.valid = data; return; } if (fieldName.equals("cache_nc")) { this.cache_nc = data; return; } super.setInt(fieldName, data); } @Override public void setDouble(String fieldName, double data) { if (fieldName.equals("pht1")) { this.pht1 = data; return; } if (fieldName.equals("pht2")) { this.pht2 = data; return; } if (fieldName.equals("ht1")) { this.ht1 = data; return; } if (fieldName.equals("ht2")) { this.ht2 = data; return; } super.setDouble(fieldName, data); } @Override public __struct__ getStruct() { return this; } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("v")) { this.v = (ST_Agnode_s.ArrayOfStar) newData; return v; } if (fieldName.equals("av")) { this.av = (ST_Agnode_s.ArrayOfStar) newData; return av; } if (fieldName.equals("flat")) { this.flat = (ST_adjmatrix_t) newData; return flat; } return super.setPtr(fieldName, newData); } // public static size_t sizeof(final int nb) { // return new UnsupportedSize_t(nb) { // @Override // public Array2 malloc() { // return new Array2(nb); // } // // @Override // public int getInternalNb() { // return nb; // } // // @Override // public Array2 realloc(Object old) { // Array2 old2 = (Array2) old; // old2.reallocJ(nb); // return old2; // } // }; // } } // typedef struct rank_t { // int n; /* number of nodes in this rank */ // node_t **v; /* ordered list of nodes in rank */ // int an; /* globally allocated number of nodes */ // node_t **av; /* allocated list of nodes in rank */ // double ht1, ht2; /* height below/above centerline */ // double pht1, pht2; /* as above, but only primitive nodes */ // boolean candidate; /* for transpose () */ // boolean valid; // int cache_nc; /* caches number of crossings */ // adjmatrix_t *flat; // } rank_t;plantuml-1.2018.13+ds/src/h/ST_refstr_t.java000066400000000000000000000054721340005343600204120ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CString; import smetana.core.OFFSET; public class ST_refstr_t extends ST_dtlink_s /* implements WithParent */{ public int refcnt; public CString s; @Override public Object addVirtualBytes(int virtualBytes) { if (virtualBytes == 0) { return this; } final OFFSET offset = OFFSET.fromInt(virtualBytes); if (offset.toString().equals("h.ST_refstr_t::s")) { return s; } System.err.println("virtualBytes=" + virtualBytes); System.err.println("offset=" + offset); return super.addVirtualBytes(virtualBytes); } public void setString(CString newData) { this.s = newData; this.s.setParent(this); } public CString to_s(ST_dtlink_s from) { // if (from == link) { return s; // } // throw new IllegalArgumentException(); } @Override public Class getRealClass() { return ST_refstr_t.class; } } // typedef struct refstr_t { // Dtlink_t link; // unsigned long refcnt; // char *s; // char store[1]; /* this is actually a dynamic array */ // } refstr_t;plantuml-1.2018.13+ds/src/h/ST_shape_desc.java000066400000000000000000000061751340005343600206610ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CString; import smetana.core.HardcodedStruct; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_shape_desc extends UnsupportedStructAndPtr implements HardcodedStruct { public ST_shape_desc(StarStruct parent) { } public ST_shape_desc() { this(null); } public CString name; public ST_shape_functions fns; public ST_polygon_t polygon; public boolean usershape; @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("name")) { this.name = (CString) newData; return newData; } if (fieldName.equals("fns")) { this.fns = (ST_shape_functions) newData; return newData; } if (fieldName.equals("polygon")) { this.polygon = (ST_polygon_t) newData; return newData; } return super.setPtr(fieldName, newData); } // public static List DEFINITION = Arrays.asList( // "typedef struct shape_desc", // "{", // "char *name", // "shape_functions *fns", // "polygon_t *polygon", // "boolean usershape", // "}", // "shape_desc"); } // typedef struct shape_desc { /* read-only shape descriptor */ // char *name; /* as read from graph file */ // shape_functions *fns; // polygon_t *polygon; /* base polygon info */ // boolean usershape; // } shape_desc;plantuml-1.2018.13+ds/src/h/ST_shape_functions.java000066400000000000000000000100341340005343600217400ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CFunction; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_shape_functions extends UnsupportedStructAndPtr { public CFunction initfn; public CFunction freefn; public CFunction portfn; public CFunction insidefn; public CFunction pboxfn; public CFunction codefn; public ST_shape_functions() { this(null); } public ST_shape_functions(StarStruct parent) { } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("initfn")) { this.initfn = (CFunction) newData; return newData; } if (fieldName.equals("freefn")) { this.freefn = (CFunction) newData; return newData; } if (fieldName.equals("portfn")) { this.portfn = (CFunction) newData; return newData; } if (fieldName.equals("insidefn")) { this.insidefn = (CFunction) newData; return newData; } if (fieldName.equals("pboxfn")) { this.pboxfn = (CFunction) newData; return newData; } if (fieldName.equals("codefn")) { this.codefn = (CFunction) newData; return newData; } return super.setPtr(fieldName, newData); } // public static List DEFINITION = Arrays.asList( // "typedef struct shape_functions", // "{", // "void (*initfn) (node_t *)", // "void (*freefn) (node_t *)", // "port(*portfn) (node_t *, char *, char *)", // "boolean(*insidefn) (inside_t * inside_context, pointf)", // "int (*pboxfn)(node_t* n, port* p, int side, boxf rv[], int *kptr)", // "void (*codefn) (GVJ_t * job, node_t * n)", // "}", // "shape_functions"); } // typedef struct shape_functions { /* read-only shape functions */ // void (*initfn) (node_t *); /* initializes shape from node u.shape_info structure */ // void (*freefn) (node_t *); /* frees shape from node u.shape_info structure */ // port(*portfn) (node_t *, char *, char *); /* finds aiming point and slope of port */ // boolean(*insidefn) (inside_t * inside_context, pointf); /* clips incident gvc->e spline on shape of gvc->n */ // int (*pboxfn)(node_t* n, port* p, int side, boxf rv[], int *kptr); /* finds box path to reach port */ // void (*codefn) (GVJ_t * job, node_t * n); /* emits graphics code for node */ // } shape_functions;plantuml-1.2018.13+ds/src/h/ST_splineInfo.java000066400000000000000000000062211340005343600206610ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CFunction; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_splineInfo extends UnsupportedStructAndPtr { public CFunction swapEnds; public CFunction splineMerge; public boolean ignoreSwap; public boolean isOrtho; public ST_splineInfo() { this(null); } public ST_splineInfo(StarStruct parent) { } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("swapEnds")) { this.swapEnds = (CFunction) newData; return swapEnds; } if (fieldName.equals("splineMerge")) { this.splineMerge = (CFunction) newData; return splineMerge; } return super.setPtr(fieldName, newData); } // public interface ST_splineInfo extends __ptr__ { // public static List DEFINITION = Arrays.asList( // "typedef struct", // "{", // "boolean(*swapEnds) (edge_t * e)", // "boolean(*splineMerge) (node_t * n)", // "boolean ignoreSwap", // "boolean isOrtho", // "}", // "splineInfo"); } // typedef struct { // boolean(*swapEnds) (edge_t * e); /* Should head and tail be swapped? */ // boolean(*splineMerge) (node_t * n); /* Is n a node in the middle of an edge? */ // boolean ignoreSwap; /* Test for swapped edges if false */ // boolean isOrtho; /* Orthogonal routing used */ // } splineInfo;plantuml-1.2018.13+ds/src/h/ST_spline_info_t.java000066400000000000000000000054421340005343600214070ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.amiga.StarStruct; public class ST_spline_info_t extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_spline_info_t() { this(null); } public ST_spline_info_t(StarStruct parent) { this.parent = parent; } // "typedef struct", // "{", public int LeftBound, RightBound, Splinesep, Multisep; public ST_boxf Rank_box[]; // "}", // "spline_info_t"); @Override public void setInt(String fieldName, int data) { if (fieldName.equals("LeftBound")) { this.LeftBound = data; return; } if (fieldName.equals("RightBound")) { this.RightBound = data; return; } if (fieldName.equals("Splinesep")) { this.Splinesep = data; return; } if (fieldName.equals("Multisep")) { this.Multisep = data; return; } super.setInt(fieldName, data); } } // typedef struct { // int LeftBound, RightBound, Splinesep, Multisep; // boxf* Rank_box; // } spline_info_t;plantuml-1.2018.13+ds/src/h/ST_splines.java000066400000000000000000000047741340005343600202430ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.amiga.StarStruct; public class ST_splines extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_splines() { this(null); } public ST_splines(StarStruct parent) { this.parent = parent; } // "typedef struct splines", // "{", // bezier *list; public ST_bezier.Array2 list; public int size; // "boxf bb", // "}", // "splines"); @Override public void setInt(String fieldName, int data) { if (fieldName.equals("size")) { this.size = data; return; } super.setInt(fieldName, data); } } // typedef struct splines { // bezier *list; // int size; // boxf bb; // } splines;plantuml-1.2018.13+ds/src/h/ST_tedge_t.java000066400000000000000000000077221340005343600201750ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_tedge_t extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_tedge_t() { this(null); } public ST_tedge_t(StarStruct parent) { this.parent = parent; } // "typedef struct tedge_t", // "{", public ST_pointnlink_t pnl0p; public ST_pointnlink_t pnl1p; public ST_triangle_t.Array lrp; public ST_triangle_t.Array rtp; // public StarArrayOfPtr ltp; // public StarArrayOfPtr rtp; // "struct triangle_t *ltp", // "struct triangle_t *rtp", // "}", // "tedge_t"); @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("pnl0p")) { this.pnl0p = ((ST_pointnlink_t) newData); return this.pnl0p; } if (fieldName.equals("pnl1p")) { this.pnl1p = ((ST_pointnlink_t) newData); return this.pnl1p; } return super.setPtr(fieldName, newData); } // class Singleton extends UnsupportedArrayOfPtr implements __array_of_ptr__ { // private final ST_pointnlink_t.Amp data; // // Singleton(ST_pointnlink_t.Amp data) { // this.data = data; // } // // @Override // public __ptr__ getPtr() { // return data; // } // // @Override // public Area getInternal(int idx) { // if (idx == 0) { // return data; // } // System.err.println("idx=" + idx); // return super.getInternal(idx); // } // // @Override // public String toString() { // return super.toString() + " " + data + " " + data.getStruct(); // } // // @Override // public int comparePointerInternal(__array_of_ptr__ other) { // System.err.println("other=" + other); // Singleton other2 = (Singleton) other; // System.err.println("other2.data=" + other2.data); // System.err.println("pnl0p=" + pnl0p); // System.err.println("pnl0p=" + foo(pnl0p)); // System.err.println("pnl1p=" + pnl1p); // System.err.println("pnl0p=" + foo(pnl1p)); // // TODO Auto-generated method stub // return super.comparePointerInternal(other); // } // // } } // typedef struct tedge_t { // pointnlink_t *pnl0p; // pointnlink_t *pnl1p; // struct triangle_t *ltp; // struct triangle_t *rtp; // } tedge_t;plantuml-1.2018.13+ds/src/h/ST_textfont_t.java000066400000000000000000000062031340005343600207510ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CString; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.amiga.StarStruct; public class ST_textfont_t extends UnsupportedStructAndPtr { public CString name; public double size; public ST_textfont_t() { this(null); } public ST_textfont_t(StarStruct parent) { } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("name")) { this.name = (CString) newData; return name; } return super.setPtr(fieldName, newData); } @Override public void setDouble(String fieldName, double data) { if (fieldName.equals("size")) { this.size = data; return; } super.setDouble(fieldName, data); } // public interface ST_textfont_t extends __ptr__ { // public static List DEFINITION = Arrays.asList( // "typedef struct", // "{", // "char* name", // "char* color", // "PostscriptAlias *postscript_alias", // "double size", // "unsigned int flags:7", // "unsigned int cnt:(sizeof(unsigned int) * 8 - 7)", // "}", // "textfont_t"); } // typedef struct { // char* name; // char* color; // PostscriptAlias *postscript_alias; // double size; // unsigned int flags:7; /* HTML_UL, HTML_IF, HTML_BF, etc. */ // unsigned int cnt:(sizeof(unsigned int) * 8 - 7); /* reference count */ // } textfont_t;plantuml-1.2018.13+ds/src/h/ST_textlabel_t.java000066400000000000000000000116171340005343600210670ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.CString; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.amiga.StarStruct; public class ST_textlabel_t extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_textlabel_t() { this(null); } public ST_textlabel_t(StarStruct parent) { this.parent = parent; } public CString text, fontname, fontcolor; public int charset; public double fontsize; public final ST_pointf dimen = new ST_pointf(this); public final ST_pointf space = new ST_pointf(this); public final ST_pointf pos = new ST_pointf(this); // "union", // "{", // "struct", // "{", // private ST_textspan_t span; public ST_textspan_t.Array span; public int nspans; // "}", // "txt", // "htmllabel_t *html", public final __ptr__ html__ = null; // "}", // "u", public int valign; public int set; public boolean html; // "boolean html", // "}", // "textlabel_t"); @Override public void setStruct(String fieldName, __struct__ newData) { if (fieldName.equals("space")) { space.copyDataFrom(newData); return; } if (fieldName.equals("pos")) { pos.copyDataFrom(newData); return; } super.setStruct(fieldName, newData); } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("text")) { this.text = (CString) newData; return text; } if (fieldName.equals("fontname")) { this.fontname = (CString) newData; return fontname; } if (fieldName.equals("fontcolor")) { this.fontcolor = (CString) newData; return fontcolor; } if (fieldName.equals("u.txt.span")) { this.span = (ST_textspan_t.Array) newData; return span; } return super.setPtr(fieldName, newData); } @Override public void setDouble(String fieldName, double data) { if (fieldName.equals("fontsize")) { this.fontsize = data; return; } super.setDouble(fieldName, data); } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("charset")) { this.charset = data; return; } if (fieldName.equals("valign")) { this.valign = data; return; } if (fieldName.equals("u.txt.nspans")) { this.nspans = data; return; } if (fieldName.equals("set")) { this.set = data; return; } super.setInt(fieldName, data); } @Override public boolean isSameThan(StarStruct other) { ST_textlabel_t other2 = (ST_textlabel_t) other; return this == other2; } } // typedef struct textlabel_t { // char *text, *fontname, *fontcolor; // int charset; // double fontsize; // pointf dimen; /* the diagonal size of the label (estimated by layout) */ // pointf space; /* the diagonal size of the space for the label */ // /* the rendered label is aligned in this box */ // /* space does not include pad or margin */ // pointf pos; /* the center of the space for the label */ // union { // struct { // textspan_t *span; // short nspans; // } txt; // htmllabel_t *html; // } u; // char valign; /* 't' 'c' 'b' */ // boolean set; /* true if position is set */ // boolean html; /* true if html label */ // } textlabel_t;plantuml-1.2018.13+ds/src/h/ST_textspan_t.java000066400000000000000000000117541340005343600207530ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.ArrayList; import java.util.List; import smetana.core.CString; import smetana.core.UnsupportedArrayOfStruct2; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__array_of_ptr__; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.size_t; import smetana.core.amiga.StarStruct; // UNUSED ? public class ST_textspan_t extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_textspan_t() { this(null); } public ST_textspan_t(StarStruct parent) { this.parent = parent; } public CString str; // "textfont_t *font", // "void *layout", // "void (*free_layout) (void *layout)", // "double yoffset_layout, yoffset_centerline", public final ST_pointf size = new ST_pointf(this); public int just; public static class Array extends UnsupportedArrayOfStruct2 implements __ptr__, __array_of_ptr__{ private final List data; private final int pos; @Override public __ptr__ setPtr(String fieldName, __ptr__ data) { return getStruct().setPtr(fieldName, data); } @Override public void setInt(String fieldName, int data) { getStruct().setInt(fieldName, data); } @Override public void setStruct(String fieldName, __struct__ data) { getStruct().setStruct(fieldName, data); } @Override public Array asPtr() { return this; } @Override public ST_textspan_t getStruct() { return data.get(pos); } public Array(int size) { this.data = new ArrayList(); this.pos = 0; for (int i = 0; i < size; i++) { data.add(new ST_textspan_t()); } } public Array reallocJ(int newsize) { while (data.size() < newsize) { data.add(new ST_textspan_t()); } return this; } public Array plus(int delta) { return plusJ(delta); } private Array(List data, int pos) { this.data = data; this.pos = pos; } public ST_textspan_t get(int i) { return this.data.get(pos + i); } public Array plusJ(int i) { return new Array(data, pos + i); } public int minus(Array other) { if (this.data != other.data) { throw new IllegalArgumentException(); } return this.pos - other.pos; } public Array move(int delta) { throw new UnsupportedOperationException(getClass().toString()); } public void realloc(size_t nb) { throw new UnsupportedOperationException(getClass().toString()); } public int comparePointerInternal(__array_of_ptr__ other) { throw new UnsupportedOperationException(getClass().toString()); } } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("just")) { this.just = data; return; } super.setInt(fieldName, data); } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("str")) { this.str = (CString) newData; return str; } return super.setPtr(fieldName, newData); } } // typedef struct { // char *str; /* stored in utf-8 */ // textfont_t *font; // void *layout; // void (*free_layout) (void *layout); /* FIXME - this is ugly */ // double yoffset_layout, yoffset_centerline; // pointf size; // char just; /* 'l' 'n' 'r' */ /* FIXME */ // } textspan_t;plantuml-1.2018.13+ds/src/h/ST_tna_t.java000066400000000000000000000102461340005343600176620ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.ArrayList; import java.util.List; import smetana.core.UnsupportedArrayOfStruct2; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__array_of_ptr__; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.size_t; import smetana.core.amiga.StarStruct; public class ST_tna_t extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_tna_t() { this(null); } public ST_tna_t(StarStruct parent) { this.parent = parent; } // "typedef struct tna_t", // "{", // "Ppoint_t a[2]", // "}", // "tna_t"); public double t; public final ST_pointf a[] = new ST_pointf[] { new ST_pointf(), new ST_pointf() }; public static class Array extends UnsupportedArrayOfStruct2 implements __ptr__, __array_of_ptr__{ private final List data; private final int pos; @Override public Array asPtr() { return this; } @Override public ST_tna_t getStruct() { return data.get(pos); } public Array(int size) { this.data = new ArrayList(); this.pos = 0; for (int i = 0; i < size; i++) { data.add(new ST_tna_t()); } } public Array reallocJ(int newsize) { while (data.size() < newsize) { data.add(new ST_tna_t()); } return this; } public Array plus(int delta) { return plusJ(delta); } private Array(List data, int pos) { this.data = data; this.pos = pos; } public ST_tna_t get(int i) { return this.data.get(pos + i); } public Array plusJ(int i) { return new Array(data, pos + i); } public int minus(Array other) { if (this.data != other.data) { throw new IllegalArgumentException(); } return this.pos - other.pos; } public Array move(int delta) { throw new UnsupportedOperationException(getClass().toString()); } public void realloc(size_t nb) { throw new UnsupportedOperationException(getClass().toString()); } public int comparePointerInternal(__array_of_ptr__ other) { throw new UnsupportedOperationException(getClass().toString()); } } @Override public void setDouble(String fieldName, double data) { if (fieldName.equals("t")) { this.t = data; return; } super.setDouble(fieldName, data); } @Override public __struct__ getStruct() { return this; } } // typedef struct tna_t { // double t; // Ppoint_t a[2]; // } tna_t;plantuml-1.2018.13+ds/src/h/ST_triangle_t.java000066400000000000000000000066531340005343600207140ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.ArrayList; import java.util.List; import smetana.core.UnsupportedStructAndPtr; import smetana.core.amiga.StarStruct; public class ST_triangle_t extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_triangle_t() { this(null); } public ST_triangle_t(StarStruct parent) { this.parent = parent; } public static class Array { private final List data; private final int pos; public Array(int size) { this.data = new ArrayList(); this.pos = 0; for (int i = 0; i < size; i++) { data.add(new ST_triangle_t()); } } public Array reallocJ(int newsize) { while (data.size() < newsize) { data.add(new ST_triangle_t()); } return this; } private Array(List data, int pos) { this.data = data; this.pos = pos; } public ST_triangle_t get(int i) { return this.data.get(pos + i); } public Array plusJ(int i) { return new Array(data, pos + i); } public int minus(Array other) { if (this.data != other.data) { throw new IllegalArgumentException(); } return this.pos - other.pos; } } // "typedef struct triangle_t", // "{", public int mark; public final ST_tedge_t e[] = new ST_tedge_t[] { new ST_tedge_t(), new ST_tedge_t(), new ST_tedge_t() }; // "struct tedge_t e[3]", // "}", // "triangle_t"); @Override public void setInt(String fieldName, int data) { if (fieldName.equals("mark")) { this.mark = data; return; } super.setInt(fieldName, data); } } // typedef struct triangle_t { // int mark; // struct tedge_t e[3]; // } triangle_t;plantuml-1.2018.13+ds/src/h/ST_xlabel_t.java000066400000000000000000000134211340005343600203450ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.ArrayList; import java.util.List; import smetana.core.UnsupportedArrayOfStruct2; import smetana.core.UnsupportedStructAndPtr; import smetana.core.__array_of_ptr__; import smetana.core.__ptr__; import smetana.core.__struct__; import smetana.core.size_t; import smetana.core.amiga.StarStruct; public class ST_xlabel_t extends UnsupportedStructAndPtr { private final StarStruct parent; public ST_xlabel_t() { this(null); } public ST_xlabel_t(StarStruct parent) { this.parent = parent; } // "typedef struct", // "{", final public ST_pointf sz = new ST_pointf(this); final public ST_pointf pos = new ST_pointf(this); // "void *lbl", public ST_textlabel_t lbl; public int set; // "unsigned char set", // "}", // "xlabel_t"); public static class Array extends UnsupportedArrayOfStruct2 implements __ptr__, __array_of_ptr__{ private final List data; private final int pos_; @Override public void setInt(String fieldName, int data) { get(0).setInt(fieldName, data); } @Override public void setStruct(__struct__ value) { get(0).___(value); } @Override public Array asPtr() { return this; } @Override public void setDouble(String fieldName, double value) { get(0).setDouble(fieldName, value); } @Override public ST_xlabel_t getStruct() { return get(0).getStruct(); } @Override public __ptr__ getPtr() { return get(0); } public Array(int size) { this.data = new ArrayList(); this.pos_ = 0; for (int i = 0; i < size; i++) { data.add(new ST_xlabel_t()); } } public Array reallocJ(int newsize) { while (data.size() < newsize) { data.add(new ST_xlabel_t()); } return this; } public Array plus(int delta) { return plusJ(delta); } private Array(List data, int pos) { this.data = data; this.pos_ = pos; } public ST_xlabel_t get(int i) { return this.data.get(pos_ + i); } public Array plusJ(int i) { return new Array(data, pos_ + i); } public int minus(Array other) { if (this.data != other.data) { throw new IllegalArgumentException(); } return this.pos_ - other.pos_; } public Array move(int delta) { throw new UnsupportedOperationException(getClass().toString()); } public void realloc(size_t nb) { throw new UnsupportedOperationException(getClass().toString()); } public int comparePointerInternal(__array_of_ptr__ other) { throw new UnsupportedOperationException(getClass().toString()); } } @Override public void setInt(String fieldName, int data) { if (fieldName.equals("set")) { this.set = data; return; } super.setInt(fieldName, data); } @Override public __ptr__ setPtr(String fieldName, __ptr__ newData) { if (fieldName.equals("lbl")) { this.lbl = (ST_textlabel_t) newData; return this.lbl; } return super.setPtr(fieldName, newData); } @Override public ST_xlabel_t getStruct() { return this; } @Override public void setStruct(String fieldName, __struct__ newData) { if (fieldName.equals("sz")) { this.sz.copyDataFrom(newData); return; } if (fieldName.equals("pos")) { this.pos.copyDataFrom(newData); return; } super.setStruct(fieldName, newData); } // public static size_t sizeof(final int nb) { // return new UnsupportedSize_t(nb) { // @Override // public Object malloc() { // return new StarArrayOfPtr(new STArray(nb, 0, ST_xlabel_t.class)); // } // // @Override // public int getInternalNb() { // return nb; // } // // @Override // public Object realloc(Object old) { // StarArrayOfPtr old2 = (StarArrayOfPtr) old; // old2.realloc(nb); // return old2; // } // }; // } } // typedef struct { // pointf sz; /* Size of label (input) */ // pointf pos; /* Position of lower-left corner of label (output) */ // void *lbl; /* Pointer to label in the graph */ // unsigned char set; /* True if the position has been set (input/output) */ // } xlabel_t;plantuml-1.2018.13+ds/src/h/WithParent.java000066400000000000000000000036631340005343600202410ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import smetana.core.amiga.StarStruct; public interface WithParent { public StarStruct getParent(); }plantuml-1.2018.13+ds/src/h/YYSTYPE.java000066400000000000000000000044661340005343600173440ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 23p91jqzwh8asa1yejjd5avb1 public interface YYSTYPE extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef union YYSTYPE", "{", "int i", "char *str", "struct Agnode_s *n", "}", "YYSTYPE"); } // typedef union YYSTYPE // { // /* Line 2049 of yacc.c */ // // // int i; // char *str; // struct Agnode_s *n; // // // /* Line 2049 of yacc.c */ // // } YYSTYPE;plantuml-1.2018.13+ds/src/h/_dtstat_s.java000066400000000000000000000046271340005343600201410ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 d0ga3dn66q62mmy36kk5eorat public interface _dtstat_s extends __ptr__ { public static List DEFINITION = Arrays.asList( "struct _dtstat_s", "{", "int dt_meth", "int dt_size", "int dt_n", "int dt_max", "int* dt_count", "}"); } // struct _dtstat_s // { int dt_meth; /* method type */ // int dt_size; /* number of elements */ // int dt_n; /* number of chains or levels */ // int dt_max; /* max size of a chain or a level */ // int* dt_count; /* counts of chains or levels by size */ // };plantuml-1.2018.13+ds/src/h/_grid.java000066400000000000000000000047751340005343600172450ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 bzaoe3mouoxna5q5cxl3fdw6b public interface _grid extends __ptr__ { public static List DEFINITION = Arrays.asList( "struct _grid", "{", "Dt_t *data", "block_t *cellMem", "block_t *cellCur", "int listSize", "node_list *listMem", "node_list *listCur", "}"); } // struct _grid { // Dt_t *data; /* cells indexed by (i,j) */ // block_t *cellMem; /* list of memory blocks for cells */ // block_t *cellCur; /* current block */ // int listSize; /* memory of nodes */ // node_list *listMem; /* list of memory for node items */ // node_list *listCur; /* next node item */ // };plantuml-1.2018.13+ds/src/h/_vmalloc_s.java000066400000000000000000000042001340005343600202560ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 39v3r26qnl4xc35g69w1abt28 public interface _vmalloc_s extends __ptr__ { public static List DEFINITION = Arrays.asList( "struct _vmalloc_s", "{", "char unused", "}"); } // struct _vmalloc_s { // char unused; // };plantuml-1.2018.13+ds/src/h/_xdot_op.java000066400000000000000000000061661340005343600177700ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 8n228pyy8v750bhs0ubxnx0l9 public interface _xdot_op extends __ptr__ { public static List DEFINITION = Arrays.asList( "struct _xdot_op", "{", "xdot_kind kind", "union", "{", "xdot_rect ellipse", "xdot_polyline polygon", "xdot_polyline polyline", "xdot_polyline bezier", "xdot_text text", "xdot_image image", "char* color", "xdot_color grad_color", "xdot_font font", "char* style", "unsigned int fontchar", "}", "u", "drawfunc_t drawfunc", "}"); } // struct _xdot_op { // xdot_kind kind; // union { // xdot_rect ellipse; /* xd_filled_ellipse, xd_unfilled_ellipse */ // xdot_polyline polygon; /* xd_filled_polygon, xd_unfilled_polygon */ // xdot_polyline polyline; /* xd_polyline */ // xdot_polyline bezier; /* xd_filled_bezier, xd_unfilled_bezier */ // xdot_text text; /* xd_text */ // xdot_image image; /* xd_image */ // char* color; /* xd_fill_color, xd_pen_color */ // xdot_color grad_color; /* xd_grad_fill_color, xd_grad_pen_color */ // xdot_font font; /* xd_font */ // char* style; /* xd_style */ // unsigned int fontchar; /* xd_fontchar */ // } u; // drawfunc_t drawfunc; // };plantuml-1.2018.13+ds/src/h/agobjfn_t.java000066400000000000000000000042551340005343600201030ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 af6h9515752o3oaywyt2y8x34 public interface agobjfn_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef void (*agobjfn_t) (Agraph_t * g, Agobj_t * obj, void *arg)"); } // typedef void (*agobjfn_t) (Agraph_t * g, Agobj_t * obj, void *arg);plantuml-1.2018.13+ds/src/h/agobjupdfn_t.java000066400000000000000000000043511340005343600206110ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 8ezqpl2zflq85hy4pay4rex52 public interface agobjupdfn_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef void (*agobjupdfn_t) (Agraph_t * g, Agobj_t * obj, void *arg, Agsym_t * sym)"); } // typedef void (*agobjupdfn_t) (Agraph_t * g, Agobj_t * obj, void *arg, // Agsym_t * sym);plantuml-1.2018.13+ds/src/h/api_t.java000066400000000000000000000044001340005343600172360ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 jt0nf4pbk6zp8gpe1a9abjx9 public interface api_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef enum", "{", "API_render, API_layout, API_textlayout, API_device, API_loadimage, _DUMMY_ELEM_=0", "}", "api_t"); } // typedef enum { API_render, API_layout, API_textlayout, API_device, API_loadimage, _DUMMY_ELEM_=0 } api_t;plantuml-1.2018.13+ds/src/h/attr_state_t.java000066400000000000000000000103071340005343600206420ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 9k0huyjtpb77v42bdkmmy7zo5 public interface attr_state_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "attrsym_t* E_constr", "attrsym_t* E_samehead", "attrsym_t* E_sametail", "attrsym_t* E_weight", "attrsym_t* E_minlen", "attrsym_t* E_fontcolor", "attrsym_t* E_fontname", "attrsym_t* E_fontsize", "attrsym_t* E_headclip", "attrsym_t* E_headlabel", "attrsym_t* E_label", "attrsym_t* E_label_float", "attrsym_t* E_labelfontcolor", "attrsym_t* E_labelfontname", "attrsym_t* E_labelfontsize", "attrsym_t* E_tailclip", "attrsym_t* E_taillabel", "attrsym_t* E_xlabel", "attrsym_t* N_height", "attrsym_t* N_width", "attrsym_t* N_shape", "attrsym_t* N_style", "attrsym_t* N_fontsize", "attrsym_t* N_fontname", "attrsym_t* N_fontcolor", "attrsym_t* N_label", "attrsym_t* N_xlabel", "attrsym_t* N_showboxes", "attrsym_t* N_ordering", "attrsym_t* N_sides", "attrsym_t* N_peripheries", "attrsym_t* N_skew", "attrsym_t* N_orientation", "attrsym_t* N_distortion", "attrsym_t* N_fixed", "attrsym_t* N_nojustify", "attrsym_t* N_group", "attrsym_t* G_ordering", "int State", "}", "attr_state_t"); } // typedef struct { // attrsym_t* E_constr; // attrsym_t* E_samehead; // attrsym_t* E_sametail; // attrsym_t* E_weight; // attrsym_t* E_minlen; // attrsym_t* E_fontcolor; // attrsym_t* E_fontname; // attrsym_t* E_fontsize; // attrsym_t* E_headclip; // attrsym_t* E_headlabel; // attrsym_t* E_label; // attrsym_t* E_label_float; // attrsym_t* E_labelfontcolor; // attrsym_t* E_labelfontname; // attrsym_t* E_labelfontsize; // attrsym_t* E_tailclip; // attrsym_t* E_taillabel; // attrsym_t* E_xlabel; // // attrsym_t* N_height; // attrsym_t* N_width; // attrsym_t* N_shape; // attrsym_t* N_style; // attrsym_t* N_fontsize; // attrsym_t* N_fontname; // attrsym_t* N_fontcolor; // attrsym_t* N_label; // attrsym_t* N_xlabel; // attrsym_t* N_showboxes; // attrsym_t* N_ordering; // attrsym_t* N_sides; // attrsym_t* N_peripheries; // attrsym_t* N_skew; // attrsym_t* N_orientation; // attrsym_t* N_distortion; // attrsym_t* N_fixed; // attrsym_t* N_nojustify; // attrsym_t* N_group; // // attrsym_t* G_ordering; // int State; // } attr_state_t;plantuml-1.2018.13+ds/src/h/clust_t.java000066400000000000000000000043261340005343600176260ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 3lissut0g2m7y25k8erhz18z7 public interface clust_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "Dtlink_t link", "char* name", "Agraph_t* clp", "}", "clust_t"); } // typedef struct { // Dtlink_t link; // char* name; // Agraph_t* clp; // } clust_t;plantuml-1.2018.13+ds/src/h/color_type_t.java000066400000000000000000000044431340005343600206530ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 4mmho2n6bv9tphi419uxzrpes public interface color_type_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef enum", "{", "HSVA_DOUBLE, RGBA_BYTE, RGBA_WORD, CMYK_BYTE, RGBA_DOUBLE, COLOR_STRING, COLOR_INDEX", "}", "color_type_t"); } // typedef enum { HSVA_DOUBLE, RGBA_BYTE, RGBA_WORD, CMYK_BYTE, // RGBA_DOUBLE, COLOR_STRING, COLOR_INDEX } color_type_t;plantuml-1.2018.13+ds/src/h/colorseg_t.java000066400000000000000000000045141340005343600203100ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 38z6pew8kytg1kjpmiov8etuh public interface colorseg_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "char* color", "float t", "boolean hasFraction", "}", "colorseg_t"); } // typedef struct { // char* color; /* segment color */ // float t; /* segment size >= 0 */ // boolean hasFraction; /* true if color explicitly specifies its fraction */ // } colorseg_t;plantuml-1.2018.13+ds/src/h/colorsegs_t.java000066400000000000000000000046131340005343600204730ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 84j0pyfjr7xbsnzkzlwsc5tin public interface colorsegs_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "int numc", "char* base", "colorseg_t* segs", "}", "colorsegs_t"); } // typedef struct { // int numc; /* number of used segments in segs; may include segs with t == 0 */ // char* base; /* storage of color names */ // colorseg_t* segs; /* array of segments; real segments always followed by a sentinel */ // } colorsegs_t;plantuml-1.2018.13+ds/src/h/compile_stack_elt_t.java000066400000000000000000000047571340005343600221650ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 4l4tfavjmu8v5sgzzud7q5c6n public interface compile_stack_elt_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "pattern_offset_t begalt_offset", "pattern_offset_t fixup_alt_jump", "pattern_offset_t inner_group_offset", "pattern_offset_t laststart_offset", "regnum_t regnum", "}", "compile_stack_elt_t"); } // typedef struct // { // pattern_offset_t begalt_offset; // pattern_offset_t fixup_alt_jump; // pattern_offset_t inner_group_offset; // pattern_offset_t laststart_offset; // regnum_t regnum; // } compile_stack_elt_t;plantuml-1.2018.13+ds/src/h/compile_stack_type.java000066400000000000000000000045241340005343600220270ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 6mc1jtf0ah6aikjxfamdk90i public interface compile_stack_type extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "compile_stack_elt_t *stack", "unsigned size", "unsigned avail", "}", "compile_stack_type"); } // typedef struct // { // compile_stack_elt_t *stack; // unsigned size; // unsigned avail; /* Offset of next open position. */ // } compile_stack_type;plantuml-1.2018.13+ds/src/h/degitem.java000066400000000000000000000043711340005343600175670ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 a0671ts08zydaqdyqkjudgjhm public interface degitem extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "Dtlink_t link", "int deg", "Agnode_t *np", "}", "degitem"); } // typedef struct { // Dtlink_t link; // int deg; // Agnode_t *np; /* linked list of nodes of same degree */ // } degitem;plantuml-1.2018.13+ds/src/h/dndata.java000066400000000000000000000046111340005343600174010ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 a4zm7bj4ibv3mswu1844wdstr public interface dndata extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "int deg", "int wdeg", "node_t *dn", "double disp[2]", "}", "dndata"); } // typedef struct { // int deg; /* degree of node */ // int wdeg; /* weighted degree of node */ // node_t *dn; /* If derived node is not a cluster, */ // /* dn points real node. */ // double disp[2]; /* incremental displacement */ // } dndata;plantuml-1.2018.13+ds/src/h/drawfunc_t.java000066400000000000000000000041741340005343600203060ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 c0knfy0z2w7qhmdudke2ar4xz public interface drawfunc_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef void (*drawfunc_t)(xdot_op*, int)"); } // typedef void (*drawfunc_t)(xdot_op*, int);plantuml-1.2018.13+ds/src/h/edata.java000066400000000000000000000042511340005343600172240ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 aa8lv40j7f2q31yuuqyzqncnl public interface edata extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "int order", "Agedge_t* next", "}", "edata"); } // typedef struct { // int order; // Agedge_t* next; // } edata;plantuml-1.2018.13+ds/src/h/edgelistitem.java000066400000000000000000000043361340005343600206310ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 2pomqgw3z041x7wlav4wa7554 public interface edgelistitem extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct edgelistitem", "{", "Dtlink_t link", "Agedge_t *edge", "}", "edgelistitem"); } // typedef struct edgelistitem { // Dtlink_t link; // Agedge_t *edge; // } edgelistitem;plantuml-1.2018.13+ds/src/h/ellipse_t.java000066400000000000000000000060051340005343600201250ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 7sm9vcfcserrygyo079543gdf public interface ellipse_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "double cx, cy", "double a, b", "double theta, cosTheta, sinTheta", "double eta1, eta2", "double x1, y1, x2, y2", "double xF1, yF1, xF2, yF2", "double xLeft", "double yUp", "double width, height", "double f, e2, g, g2", "}", "ellipse_t"); } // typedef struct { // double cx, cy; /* center */ // double a, b; /* semi-major and -minor axes */ // // /* Orientation of the major axis with respect to the x axis. */ // double theta, cosTheta, sinTheta; // // /* Start and end angles of the arc. */ // double eta1, eta2; // // /* Position of the start and end points. */ // double x1, y1, x2, y2; // // /* Position of the foci. */ // double xF1, yF1, xF2, yF2; // // /* x of the leftmost point of the arc. */ // double xLeft; // // /* y of the highest point of the arc. */ // double yUp; // // /* Horizontal width and vertical height of the arc. */ // double width, height; // // double f, e2, g, g2; // } ellipse_t;plantuml-1.2018.13+ds/src/h/emit_state_t.java000066400000000000000000000046671340005343600206420ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 6f8ug3prsw7z33swixem3j76r public interface emit_state_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef enum", "{", "EMIT_GDRAW, EMIT_CDRAW, EMIT_TDRAW, EMIT_HDRAW, EMIT_GLABEL, EMIT_CLABEL, EMIT_TLABEL, EMIT_HLABEL, EMIT_NDRAW, EMIT_EDRAW, EMIT_NLABEL, EMIT_ELABEL,", "}", "emit_state_t"); } // typedef enum { // EMIT_GDRAW, EMIT_CDRAW, EMIT_TDRAW, EMIT_HDRAW, // EMIT_GLABEL, EMIT_CLABEL, EMIT_TLABEL, EMIT_HLABEL, // EMIT_NDRAW, EMIT_EDRAW, EMIT_NLABEL, EMIT_ELABEL, // } emit_state_t;plantuml-1.2018.13+ds/src/h/epair_t.java000066400000000000000000000042411340005343600175700ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 47wrxm3dq9ggw4h17ykphv1ck public interface epair_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "int d", "Agedge_t* e", "}", "epair_t"); } // typedef struct { // int d; // Agedge_t* e; // } epair_t;plantuml-1.2018.13+ds/src/h/epsf_t.java000066400000000000000000000042721340005343600174310ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 69jjtteuvsovhvkrfbvx2021c public interface epsf_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct epsf_s", "{", "int macro_id", "point offset", "}", "epsf_t"); } // typedef struct epsf_s { // int macro_id; // point offset; // } epsf_t;plantuml-1.2018.13+ds/src/h/erec.java000066400000000000000000000043071340005343600170660ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 1zoua45sppb09q1mpfhzlvhus public interface erec extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "edge_t *e", "double alpha", "double dist2", "}", "erec"); } // typedef struct { // edge_t *e; // double alpha; // double dist2; // } erec;plantuml-1.2018.13+ds/src/h/estack.java000066400000000000000000000042441340005343600174220ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 9fnin5thtg37gur12wihsuz4j public interface estack extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "Agedge_t *top", "int sz", "}", "estack"); } // typedef struct { // Agedge_t *top; // int sz; // } estack;plantuml-1.2018.13+ds/src/h/exdot_op.java000066400000000000000000000043231340005343600177670ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 5dtjk4eaksfp1h28795tk7u7h public interface exdot_op extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "xdot_op op", "boxf bb", "textspan_t* span", "}", "exdot_op"); } // typedef struct { // xdot_op op; // boxf bb; // textspan_t* span; // } exdot_op;plantuml-1.2018.13+ds/src/h/fontname_kind.java000066400000000000000000000042551340005343600207660ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 b9cjioxrhs04ztwegqflwrjk9 public interface fontname_kind extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef enum", "{", "NATIVEFONTS,PSFONTS,SVGFONTS", "}", "fontname_kind"); } // typedef enum {NATIVEFONTS,PSFONTS,SVGFONTS} fontname_kind;plantuml-1.2018.13+ds/src/h/gvplugin_api_t.java000066400000000000000000000043341340005343600211570ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 epw5dncvmltf7yue85r8t00a7 public interface gvplugin_api_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "api_t api", "gvplugin_installed_t *types", "}", "gvplugin_api_t"); } // typedef struct { // api_t api; // gvplugin_installed_t *types; // } gvplugin_api_t;plantuml-1.2018.13+ds/src/h/gvplugin_library_t.java000066400000000000000000000044601340005343600220520ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 elhfawlitxj3187hf4lyyku80 public interface gvplugin_library_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "char *packagename", "gvplugin_api_t *apis", "}", "gvplugin_library_t"); } // typedef struct { // char *packagename; /* used when this plugin is builtin and has // no pathname */ // gvplugin_api_t *apis; // } gvplugin_library_t;plantuml-1.2018.13+ds/src/h/htmllabel_t.java000066400000000000000000000041661340005343600204420ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 gzde2tumx5vupv2vjpzbv299 public interface htmllabel_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct htmllabel_t htmllabel_t"); } // typedef struct htmllabel_t htmllabel_t;plantuml-1.2018.13+ds/src/h/imagescale_t.java000066400000000000000000000050631340005343600205650ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 89sw2fm15jrbgce4w1skvyxcw public interface imagescale_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef enum", "{", "IMAGESCALE_FALSE,", "IMAGESCALE_TRUE,", "IMAGESCALE_WIDTH,", "IMAGESCALE_HEIGHT,", "IMAGESCALE_BOTH", "}", "imagescale_t"); } // typedef enum { // IMAGESCALE_FALSE, /* no image scaling */ // IMAGESCALE_TRUE, /* scale image to fit but keep aspect ratio */ // IMAGESCALE_WIDTH, /* scale image width to fit, keep height fixed */ // IMAGESCALE_HEIGHT, /* scale image height to fit, keep width fixed */ // IMAGESCALE_BOTH /* scale image to fit without regard for aspect ratio */ // } imagescale_t;plantuml-1.2018.13+ds/src/h/imagetype_t.java000066400000000000000000000045531340005343600204620ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 323qopt4v37hk4tf587zjqima public interface imagetype_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef enum", "{", "FT_NULL, FT_BMP, FT_GIF, FT_PNG, FT_JPEG, FT_PDF, FT_PS, FT_EPS, FT_SVG, FT_XML, FT_RIFF, FT_WEBP, FT_ICO, FT_TIFF", "}", "imagetype_t"); } // typedef enum { FT_NULL, // FT_BMP, FT_GIF, FT_PNG, FT_JPEG, // FT_PDF, FT_PS, FT_EPS, FT_SVG, FT_XML, // FT_RIFF, FT_WEBP, FT_ICO, FT_TIFF // } imagetype_t;plantuml-1.2018.13+ds/src/h/intitem.java000066400000000000000000000042651340005343600176240ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 7b66x6dd9gr7x0hzm479cbpjg public interface intitem extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "int id", "Dtlink_t link", "}", "intitem"); } // typedef struct { // int id; // Dtlink_t link; // } intitem;plantuml-1.2018.13+ds/src/h/item.java000066400000000000000000000044001340005343600171000ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 6pciw9nctk1zwl2yxkga3xn64 public interface item extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "Dtlink_t link", "void *p[2]", "node_t *t", "node_t *h", "}", "item"); } // typedef struct { // Dtlink_t link; /* cdt data */ // void *p[2]; /* key */ // node_t *t; // node_t *h; // } item;plantuml-1.2018.13+ds/src/h/knowntype_t.java000066400000000000000000000044031340005343600205260ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 3x7rb5nh45r9eb6pmyo1jg63w public interface knowntype_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "char *template", "int size", "int type", "char *stringtype", "}", "knowntype_t"); } // typedef struct { // char *template; // int size; // int type; // char *stringtype; // } knowntype_t;plantuml-1.2018.13+ds/src/h/label_type.java000066400000000000000000000042341340005343600202670ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 anrmbfb1beni5tl0v3mgwb9j0 public interface label_type extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef enum", "{", "LABEL_PLAIN, LABEL_HTML", "}", "label_type"); } // typedef enum { LABEL_PLAIN, LABEL_HTML } label_type;plantuml-1.2018.13+ds/src/h/layerWidthInfo_t.java000066400000000000000000000050211340005343600214150ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 3a7yg8rwvl5zylbzoufm1r2ak public interface layerWidthInfo_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct layerWidthInfo_t", "{", "int layerNumber", "nodeGroup_t **nodeGroupsInLayer", "int *removed", "int nNodeGroupsInLayer", "int nDummyNodes", "double width", "double height", "}", "layerWidthInfo_t"); } // typedef struct layerWidthInfo_t { // int layerNumber; // nodeGroup_t **nodeGroupsInLayer; // int *removed; /* is the node group removed? */ // int nNodeGroupsInLayer; // int nDummyNodes; // double width; // double height; // } layerWidthInfo_t;plantuml-1.2018.13+ds/src/h/layout_info.java000066400000000000000000000046521340005343600205030ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 5mkovfn67mfcvlnamhjqfmd15 public interface layout_info extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "graph_t* rootg", "attrsym_t *G_coord", "attrsym_t *G_width", "attrsym_t *G_height", "int gid", "pack_info pack", "}", "layout_info"); } // typedef struct { // graph_t* rootg; /* logical root; graph passed in to fdp_layout */ // attrsym_t *G_coord; // attrsym_t *G_width; // attrsym_t *G_height; // int gid; // pack_info pack; // } layout_info;plantuml-1.2018.13+ds/src/h/layout_t.java000066400000000000000000000051711340005343600200100ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 6njlcutz3q6rco547vwgggk5l public interface layout_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct layout_t", "{", "double quantum", "double scale", "double ratio", "double dpi", "pointf margin", "pointf page", "pointf size", "boolean filled", "boolean landscape", "boolean centered", "ratio_t ratio_kind", "void* xdots", "char* id", "}", "layout_t"); } // typedef struct layout_t { // double quantum; // double scale; // double ratio; /* set only if ratio_kind == R_VALUE */ // double dpi; // pointf margin; // pointf page; // pointf size; // boolean filled; // boolean landscape; // boolean centered; // ratio_t ratio_kind; // void* xdots; // char* id; // } layout_t;plantuml-1.2018.13+ds/src/h/layout_type.java000066400000000000000000000042071340005343600205250ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 6g73ng9kl31nlub97di73mpi3 public interface layout_type extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef enum", "{", "LAYOUT_DOT,", "}", "layout_type"); } // typedef enum { LAYOUT_DOT, } layout_type;plantuml-1.2018.13+ds/src/h/lexstate_t.java000066400000000000000000000055371340005343600203320ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 8p2u7sziyialmpuyrxsg8ptw6 public interface lexstate_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "char* ptr", "int tok", "agxbuf* xb", "agxbuf lb", "char warn", "char error", "char inCell", "char mode", "char *currtok", "char *prevtok", "int currtoklen", "int prevtoklen", "}", "lexstate_t"); } // typedef struct { // // // // char* ptr; /* input source */ // int tok; /* token type */ // agxbuf* xb; /* buffer to gather T_string data */ // agxbuf lb; /* buffer for translating lexical data */ // char warn; /* set if warning given */ // char error; /* set if error given */ // char inCell; /* set if in TD to allow T_string */ // char mode; /* for handling artificial .. */ // char *currtok; /* for error reporting */ // char *prevtok; /* for error reporting */ // int currtoklen; // int prevtoklen; // } lexstate_t;plantuml-1.2018.13+ds/src/h/list_t.java000066400000000000000000000043041340005343600174430ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the Eclipse Public License. * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 67szzzwvgx8wjittlg7atd5zm public interface list_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct list_s", "{", "item *first", "item *last", "}", "list_t"); } // typedef struct list_s { /* maintain head and tail ptrs for fast append */ // item *first; // item *last; // } list_t;plantuml-1.2018.13+ds/src/h/lt_symlist_t.java000066400000000000000000000043101340005343600206700ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 309opqtj1406u6ign73nfq4m4 public interface lt_symlist_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "const char *name", "void* address", "}", "lt_symlist_t"); } // typedef struct { // const char *name; // void* address; // } lt_symlist_t;plantuml-1.2018.13+ds/src/h/ltriangle_t.java000066400000000000000000000042661340005343600204600ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 3566t0d7zo0xk2bqt6gkpxwbo public interface ltriangle_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct dpd_triangle", "{", "Ppoint_t *v[3]", "}", "ltriangle_t"); } // typedef struct dpd_triangle { // Ppoint_t *v[3]; // } ltriangle_t;plantuml-1.2018.13+ds/src/h/lvertex_2_t.java000066400000000000000000000042561340005343600204100ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 89tzmfb64xv1whqvoh9qplgib public interface lvertex_2_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct lvertex_2_t", "{", "double x, y", "}", "lvertex_2_t"); } // typedef struct lvertex_2_t { // double x, y; // } lvertex_2_t;plantuml-1.2018.13+ds/src/h/map_shape_t.java000066400000000000000000000042761340005343600204350ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 demuj81ppuddcmcukr5ibr2ow public interface map_shape_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef enum", "{", "MAP_RECTANGLE, MAP_CIRCLE, MAP_POLYGON,", "}", "map_shape_t"); } // typedef enum {MAP_RECTANGLE, MAP_CIRCLE, MAP_POLYGON, } map_shape_t;plantuml-1.2018.13+ds/src/h/maze.java000066400000000000000000000046251340005343600171070ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 etmr8p3tgfovcabhg7h432rr7 public interface maze extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "int ncells, ngcells", "cell* cells", "cell* gcells", "sgraph* sg", "Dt_t* hchans", "Dt_t* vchans", "}", "maze"); } // typedef struct { // int ncells, ngcells; // cell* cells; /* cells not corresponding to graph nodes */ // cell* gcells; /* cells corresponding to graph nodes */ // sgraph* sg; // Dt_t* hchans; // Dt_t* vchans; // } maze;plantuml-1.2018.13+ds/src/h/monchain_t.java000066400000000000000000000045041340005343600202660ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 54inajo7osrhht39i3f0jv3yq public interface monchain_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "int vnum", "int next", "int prev", "int marked", "}", "monchain_t"); } // typedef struct { // int vnum; // int next; /* Circularly linked list */ // int prev; /* describing the monotone */ // int marked; /* polygon */ // } monchain_t;plantuml-1.2018.13+ds/src/h/mpair.java000066400000000000000000000042741340005343600172630ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 7ew589ru405xxz59tz7c44626 public interface mpair extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "Dtlink_t link", "point id", "int v", "}", "mpair"); } // typedef struct { // Dtlink_t link; // point id; // int v; // } mpair;plantuml-1.2018.13+ds/src/h/mytime_t.java000066400000000000000000000041251340005343600177750ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.tms; //2 eevewge4moog8cb48ratfyry public interface mytime_t extends tms { public static List DEFINITION = Arrays.asList( "typedef struct tms mytime_t"); } // typedef struct tms mytime_t;plantuml-1.2018.13+ds/src/h/ndata.java000066400000000000000000000042141340005343600172340ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 agft9d3rpslafvegya5hlggdj public interface ndata extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "Agnode_t *dnode", "}", "ndata"); } // typedef struct { // Agnode_t *dnode; // } ndata;plantuml-1.2018.13+ds/src/h/nodeGroup_t.java000066400000000000000000000044121340005343600204320ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 7osdhdc58wglwftiwr8ad9ocj public interface nodeGroup_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct nodeGroup_t", "{", "node_t **nodes", "int nNodes", "double width, height", "}", "nodeGroup_t"); } // typedef struct nodeGroup_t { // node_t **nodes; // int nNodes; // double width, height; // } nodeGroup_t;plantuml-1.2018.13+ds/src/h/nodelist_t.java000066400000000000000000000043601340005343600203130ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 cvnwgrhim9meq1d0au3lunrpz public interface nodelist_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "nodelistitem_t *first", "nodelistitem_t *last", "int sz", "}", "nodelist_t"); } // typedef struct { // nodelistitem_t *first; // nodelistitem_t *last; // int sz; // } nodelist_t;plantuml-1.2018.13+ds/src/h/nodelistitem.java000066400000000000000000000043551340005343600206530ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 9tgul5z9izqfjpthq6opcm8cx public interface nodelistitem extends __ptr__ { public static List DEFINITION = Arrays.asList( "struct nodelistitem", "{", "node_t *curr", "nodelistitem_t *next", "nodelistitem_t *prev", "}"); } // struct nodelistitem { // node_t *curr; // nodelistitem_t *next; // nodelistitem_t *prev; // };plantuml-1.2018.13+ds/src/h/nodelistitem_t.java000066400000000000000000000041511340005343600211700ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; //2 bafagz7d505sofeisu9sq7ssj public interface nodelistitem_t extends nodelistitem { public static List DEFINITION = Arrays.asList( "typedef struct nodelistitem nodelistitem_t"); } // typedef struct nodelistitem nodelistitem_t;plantuml-1.2018.13+ds/src/h/nodesizefn_t.java000066400000000000000000000042201340005343600206310ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 40pzqs0lu99zr390eymloav3n public interface nodesizefn_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef void (*nodesizefn_t) (Agnode_t *, boolean)"); } // typedef void (*nodesizefn_t) (Agnode_t *, boolean);plantuml-1.2018.13+ds/src/h/nsitem_t.java000066400000000000000000000042641340005343600177740ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 9b6xyzk04h9hcfqxkrertg16r public interface nsitem_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "Dtlink_t link", "Agnode_t *np", "}", "nsitem_t"); } // typedef struct { // Dtlink_t link; // Agnode_t *np; // } nsitem_t;plantuml-1.2018.13+ds/src/h/obj_state_s.java000066400000000000000000000123431340005343600204430ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 7rfvc65ygzocig64xmd4vm8m8 public interface obj_state_s extends __ptr__ { public static List DEFINITION = Arrays.asList( "struct obj_state_s", "{", "obj_state_t *parent", "obj_type type", "union", "{", "graph_t *g", "graph_t *sg", "node_t *n", "edge_t *e", "}", "u", "emit_state_t emit_state", "gvcolor_t pencolor, fillcolor, stopcolor", "int gradient_angle", "float gradient_frac", "pen_type pen", "fill_type fill", "double penwidth", "char **rawstyle", "double z, tail_z, head_z", "char *label", "char *xlabel", "char *taillabel", "char *headlabel", "char *url", "char *id", "char *labelurl", "char *tailurl", "char *headurl", "char *tooltip", "char *labeltooltip", "char *tailtooltip", "char *headtooltip", "char *target", "char *labeltarget", "char *tailtarget", "char *headtarget", "int explicit_tooltip:1", "int explicit_tailtooltip:1", "int explicit_headtooltip:1", "int explicit_labeltooltip:1", "int explicit_tailtarget:1", "int explicit_headtarget:1", "int explicit_edgetarget:1", "int explicit_tailurl:1", "int explicit_headurl:1", "map_shape_t url_map_shape", "int url_map_n", "pointf *url_map_p", "int url_bsplinemap_poly_n", "int *url_bsplinemap_n", "pointf *url_bsplinemap_p", "int tailendurl_map_n", "pointf *tailendurl_map_p", "int headendurl_map_n", "pointf *headendurl_map_p", "}"); } // struct obj_state_s { // obj_state_t *parent; // // obj_type type; // union { // graph_t *g; // graph_t *sg; // node_t *n; // edge_t *e; // } u; // // emit_state_t emit_state; // // gvcolor_t pencolor, fillcolor, stopcolor; // int gradient_angle; // float gradient_frac; // pen_type pen; // fill_type fill; // double penwidth; // char **rawstyle; // // double z, tail_z, head_z; /* z depths for 2.5D renderers such as vrml */ // // /* fully substituted text strings */ // char *label; // char *xlabel; // char *taillabel; // char *headlabel; // // char *url; /* if GVRENDER_DOES_MAPS */ // char *id; // char *labelurl; // char *tailurl; // char *headurl; // // char *tooltip; /* if GVRENDER_DOES_TOOLTIPS */ // char *labeltooltip; // char *tailtooltip; // char *headtooltip; // // char *target; /* if GVRENDER_DOES_TARGETS */ // char *labeltarget; // char *tailtarget; // char *headtarget; // // int explicit_tooltip:1; // int explicit_tailtooltip:1; // int explicit_headtooltip:1; // int explicit_labeltooltip:1; // int explicit_tailtarget:1; // int explicit_headtarget:1; // int explicit_edgetarget:1; // int explicit_tailurl:1; // int explicit_headurl:1; // // /* primary mapped region - node shape, edge labels */ // map_shape_t url_map_shape; // int url_map_n; /* number of points for url map if GVRENDER_DOES_MAPS */ // pointf *url_map_p; // // /* additonal mapped regions for edges */ // int url_bsplinemap_poly_n; /* number of polygons in url bspline map // if GVRENDER_DOES_MAPS && GVRENDER_DOES_MAP_BSPLINES */ // int *url_bsplinemap_n; /* array of url_bsplinemap_poly_n ints // of number of points in each polygon */ // pointf *url_bsplinemap_p; /* all the polygon points */ // // int tailendurl_map_n; /* tail end intersection with node */ // pointf *tailendurl_map_p; // // int headendurl_map_n; /* head end intersection with node */ // pointf *headendurl_map_p; // };plantuml-1.2018.13+ds/src/h/obj_state_t.java000066400000000000000000000041341340005343600204430ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; //2 ol13mjn4n7xeyqspov33hno8 public interface obj_state_t extends obj_state_s { public static List DEFINITION = Arrays.asList( "typedef struct obj_state_s obj_state_t"); } // typedef struct obj_state_s obj_state_t;plantuml-1.2018.13+ds/src/h/obj_type.java000066400000000000000000000043421340005343600177620ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 4karyr6plzrqsfs5wpstvmzdx public interface obj_type extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef enum", "{", "ROOTGRAPH_OBJTYPE, CLUSTER_OBJTYPE, NODE_OBJTYPE, EDGE_OBJTYPE", "}", "obj_type"); } // typedef enum {ROOTGRAPH_OBJTYPE, CLUSTER_OBJTYPE, NODE_OBJTYPE, EDGE_OBJTYPE} obj_type;plantuml-1.2018.13+ds/src/h/objlist.java000066400000000000000000000043021340005343600176110ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 bap0murffzh9iwgtluqxcuzxl public interface objlist extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "int cnt", "int sz", "Ppoly_t **obs", "}", "objlist"); } // typedef struct { // int cnt; // int sz; // Ppoly_t **obs; // } objlist;plantuml-1.2018.13+ds/src/h/opts_t.java000066400000000000000000000045621340005343600174630ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 8jr1ed153znr4z4552bl1bfkj public interface opts_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "GVC_t *gvc", "char *infname", "char *outfname", "FILE *inf", "FILE *outf", "char *lay", "char *fmt", "int force", "}", "opts_t"); } // typedef struct { // GVC_t *gvc; // char *infname; // char *outfname; // FILE *inf; // FILE *outf; // char *lay; // char *fmt; // int force; // } opts_t;plantuml-1.2018.13+ds/src/h/p2e_t.java000066400000000000000000000042651340005343600171640ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 1im40ams3kh5v6dlvxd8o76ql public interface p2e_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct p2e_t", "{", "Ppoint_t *pp", "Pedge_t *ep", "}", "p2e_t"); } // typedef struct p2e_t { // Ppoint_t *pp; // Pedge_t *ep; // } p2e_t;plantuml-1.2018.13+ds/src/h/pack_mode.java000066400000000000000000000043231340005343600200700ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 1ptr5q16rzf9tt2rxbfqjxump public interface pack_mode extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef enum", "{", "l_undef, l_clust, l_node, l_graph, l_array, l_aspect", "}", "pack_mode"); } // typedef enum { l_undef, l_clust, l_node, l_graph, l_array, l_aspect } pack_mode;plantuml-1.2018.13+ds/src/h/pair.java000066400000000000000000000042421340005343600171010ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 ddwipekygokokhhjsvpkehl11 public interface pair extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "Dtlink_t link", "point id", "}", "pair"); } // typedef struct { // Dtlink_t link; // point id; // } pair;plantuml-1.2018.13+ds/src/h/pair2.java000066400000000000000000000042011340005343600171560ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 dy5r1sdgz0max2193u4q02fxa public interface pair2 extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "pair t1, t2", "}", "pair2"); } // typedef struct { // pair t1, t2; // } pair2;plantuml-1.2018.13+ds/src/h/paird.java000066400000000000000000000042101340005343600172400ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 einfe3q62jgv9xhayk3bntd2n public interface paird extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "double p1, p2", "}", "paird"); } // typedef struct { // double p1, p2; // } paird;plantuml-1.2018.13+ds/src/h/parms_t.java000066400000000000000000000065111340005343600176140ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 9cd2h3321diwjh8ip8pl0j7no public interface parms_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "int useGrid", "int useNew", "long seed", "int numIters", "int maxIters", "int unscaled", "double C", "double Tfact", "double K", "double T0", "int smode", "double Cell", "double Cell2", "double K2", "double Wd", "double Ht", "double Wd2", "double Ht2", "int pass1", "int loopcnt", "}", "parms_t"); } // typedef struct { // int useGrid; /* use grid for speed up */ // int useNew; /* encode x-K into attractive force */ // long seed; /* seed for position RNG */ // int numIters; /* actual iterations in layout */ // int maxIters; /* max iterations in layout */ // int unscaled; /* % of iterations used in pass 1 */ // double C; /* Repulsion factor in xLayout */ // double Tfact; /* scale temp from default expression */ // double K; /* spring constant; ideal distance */ // double T0; /* initial temperature */ // int smode; /* seed mode */ // double Cell; /* grid cell size */ // double Cell2; /* Cell*Cell */ // double K2; /* K*K */ // double Wd; /* half-width of boundary */ // double Ht; /* half-height of boundary */ // double Wd2; /* Wd*Wd */ // double Ht2; /* Ht*Ht */ // int pass1; /* iterations used in pass 1 */ // int loopcnt; /* actual iterations in this pass */ // } parms_t;plantuml-1.2018.13+ds/src/h/pathpoint.java000066400000000000000000000045751340005343600201650ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 a5i7wzlk8jfe8fjde2lmrcxmi public interface pathpoint extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "double x", "double y", "double lengthsofar", "char type", "double dir", "double lout", "int bevel", "double dir2", "}", "pathpoint"); } // typedef struct { // double x; // double y; // double lengthsofar; // char type; // double dir; // double lout; // int bevel; // double dir2; // } pathpoint;plantuml-1.2018.13+ds/src/h/pen_type.java000066400000000000000000000042761340005343600200000ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 1soyedn2kokhqrl0ppmbkgno9 public interface pen_type extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef enum", "{", "PEN_NONE, PEN_DASHED, PEN_DOTTED, PEN_SOLID", "}", "pen_type"); } // typedef enum { PEN_NONE, PEN_DASHED, PEN_DOTTED, PEN_SOLID } pen_type;plantuml-1.2018.13+ds/src/h/pending_cb_t.java000066400000000000000000000046141340005343600205640ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 7egb0316v9vsn8jyhhkr2gszq public interface pending_cb_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "Dtlink_t link", "unsigned long key", "Agraph_t *g", "Agobj_t *obj", "symlist_t *symlist", "}", "pending_cb_t"); } // typedef struct { // Dtlink_t link; // unsigned long key; /* universal key for main or sub-object */ // Agraph_t *g; // Agobj_t *obj; // symlist_t *symlist; /* attributes involved */ // } pending_cb_t;plantuml-1.2018.13+ds/src/h/pendingset_t.java000066400000000000000000000044161340005343600206340ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 3vwa5jq346b29ho1uecj2lpz7 public interface pendingset_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "Agrec_t h", "struct", "{", "Dict_t *g, *n, *e", "}", "ins, mod, del", "}", "pendingset_t"); } // typedef struct { // Agrec_t h; // struct { // Dict_t *g, *n, *e; // } ins, mod, del; // } pendingset_t;plantuml-1.2018.13+ds/src/h/pf.java000066400000000000000000000041501340005343600165510ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 9wkvh85air3altazyul27m0gc public interface pf extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef void (*pf) (char *, void *)"); } // typedef void (*pf) (char *, void *);plantuml-1.2018.13+ds/src/h/pitem.java000066400000000000000000000044561340005343600172730ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 1mvg2nc9o3ce4978cy5j457yj public interface pitem extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "Dtlink_t link", "union", "{", "Dt_t *rp", "htmlcell_t *cp", "}", "u", "unsigned char ruled", "}", "pitem"); } // typedef struct { // Dtlink_t link; // union { // Dt_t *rp; // htmlcell_t *cp; // } u; // unsigned char ruled; // } pitem;plantuml-1.2018.13+ds/src/h/poly_desc_t.java000066400000000000000000000044151340005343600204540ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 6mt9ui9xo6b1joat1z7c0klmi public interface poly_desc_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "pointf (*size_gen) (pointf)", "void (*vertex_gen) (pointf*, pointf*)", "}", "poly_desc_t"); } // typedef struct { // pointf (*size_gen) (pointf); // void (*vertex_gen) (pointf*, pointf*); // } poly_desc_t;plantuml-1.2018.13+ds/src/h/posinfo_t.java000066400000000000000000000052441340005343600201510ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 dce4b7kx8f1rue2zogxekzxww public interface posinfo_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "Agnode_t* n", "double theta", "double minRadius", "double maxRadius", "double diameter", "double scale", "int childCount", "}", "posinfo_t"); } // typedef struct { // Agnode_t* n; // double theta; /* angle of node */ // double minRadius; /* minimum radius for child circle */ // double maxRadius; /* maximum radius of child blocks */ // double diameter; /* length of arc needed for child blocks */ // double scale; /* scale factor to increase minRadius to parents' children don't overlap */ // int childCount; /* no. of child blocks attached at n */ // } posinfo_t;plantuml-1.2018.13+ds/src/h/posstate.java000066400000000000000000000052451340005343600200140ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 92zaxjl5ni7v139jf56a43ebk public interface posstate extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "double radius", "double subtreeR", "double nodeAngle", "double firstAngle", "double lastAngle", "block_t *cp", "node_t *neighbor", "}", "posstate"); } // typedef struct { // double radius; /* Basic radius of block */ // double subtreeR; /* Max of subtree radii */ // double nodeAngle; /* Angle allocated to each node in block */ // double firstAngle; /* Smallest child angle when block has 1 node */ // double lastAngle; /* Largest child angle when block has 1 node */ // block_t *cp; /* Children of block */ // node_t *neighbor; /* Node connected to parent block, if any */ // } posstate;plantuml-1.2018.13+ds/src/h/print_op.java000066400000000000000000000042631340005343600200030ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 8175ey66kudr10vwd06s8mqz public interface print_op extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef void (*print_op)(xdot_op * op, pf print, void *info, int more)"); } // typedef void (*print_op)(xdot_op * op, pf print, void *info, int more);plantuml-1.2018.13+ds/src/h/putstrfn.java000066400000000000000000000042221340005343600200310ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 9trwr3s9t77smt1kilyj442wh public interface putstrfn extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef int (*putstrfn) (void *chan, const char *str)"); } // typedef int (*putstrfn) (void *chan, const char *str);plantuml-1.2018.13+ds/src/h/qnode_t.java000066400000000000000000000046041340005343600176010ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 27lijxqu2p29w0d5l19be0n3m public interface qnode_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "int nodetype", "int segnum", "pointf yval", "int trnum", "int parent", "int left, right", "}", "qnode_t"); } // typedef struct { // int nodetype; /* Y-node or S-node */ // int segnum; // pointf yval; // int trnum; // int parent; /* doubly linked DAG */ // int left, right; /* children */ // } qnode_t;plantuml-1.2018.13+ds/src/h/qsort_cmpf.java000066400000000000000000000042261340005343600203250ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 760ti35q5jpka8zpo262spvnl public interface qsort_cmpf extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef int (*qsort_cmpf) (const void *, const void *)"); } // typedef int (*qsort_cmpf) (const void *, const void *);plantuml-1.2018.13+ds/src/h/radfunc_t.java000066400000000000000000000042131340005343600201110ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 10r1g6lk6ojy6x6ppt148q1o2 public interface radfunc_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef double (*radfunc_t)(double,double,double)"); } // typedef double (*radfunc_t)(double,double,double);plantuml-1.2018.13+ds/src/h/rank_t.java000066400000000000000000000053761340005343600174350ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 3cl38y4ai8c9r6d23izdf6jgn public interface rank_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct rank_t", "{", "int n", "node_t **v", "int an", "node_t **av", "double ht1, ht2", "double pht1, pht2", "boolean candidate", "boolean valid", "int cache_nc", "adjmatrix_t *flat", "}", "rank_t"); } // typedef struct rank_t { // int n; /* number of nodes in this rank */ // node_t **v; /* ordered list of nodes in rank */ // int an; /* globally allocated number of nodes */ // node_t **av; /* allocated list of nodes in rank */ // double ht1, ht2; /* height below/above centerline */ // double pht1, pht2; /* as above, but only primitive nodes */ // boolean candidate; /* for transpose () */ // boolean valid; // int cache_nc; /* caches number of crossings */ // adjmatrix_t *flat; // } rank_t;plantuml-1.2018.13+ds/src/h/ratio_t.java000066400000000000000000000043441340005343600176120ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 6n9jcxa02dyqa57pkcrd73otm public interface ratio_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef enum", "{", "R_NONE = 0, R_VALUE, R_FILL, R_COMPRESS, R_AUTO, R_EXPAND", "}", "ratio_t"); } // typedef enum { R_NONE = // 0, R_VALUE, R_FILL, R_COMPRESS, R_AUTO, R_EXPAND } ratio_t;plantuml-1.2018.13+ds/src/h/shape_kind.java000066400000000000000000000043131340005343600202520ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 br7wf04petqrkv3jy73x2hnfl public interface shape_kind extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef enum", "{", "SH_UNSET, SH_POLY, SH_RECORD, SH_POINT, SH_EPSF", "}", "shape_kind"); } // typedef enum { SH_UNSET, SH_POLY, SH_RECORD, SH_POINT, SH_EPSF} shape_kind;plantuml-1.2018.13+ds/src/h/stack.java000066400000000000000000000042271340005343600172560ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 7clbkey2x67pv7myg32sbtaev public interface stack extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "int top", "int* vals", "}", "stack"); } // typedef struct { // int top; // int* vals; // } stack;plantuml-1.2018.13+ds/src/h/stk_t.java000066400000000000000000000045741340005343600173020ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 5hcf1ml5onpp69gd7ny7c1jpv public interface stk_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "blk_t *fstblk", "blk_t *curblk", "Agnode_t **curp", "void (*actionfn) (Agnode_t *, void *)", "int (*markfn) (Agnode_t *, int)", "}", "stk_t"); } // typedef struct { // blk_t *fstblk; // blk_t *curblk; // Agnode_t **curp; // void (*actionfn) (Agnode_t *, void *); // int (*markfn) (Agnode_t *, int); // } stk_t;plantuml-1.2018.13+ds/src/h/stream_t.java000066400000000000000000000043011340005343600177600ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 6nmxfljmpic0z165aeccgy3io public interface stream_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "char* s", "char* buf", "FILE* fp", "}", "stream_t"); } // typedef struct { // char* s; // char* buf; // FILE* fp; // } stream_t;plantuml-1.2018.13+ds/src/h/stroke_t.java000066400000000000000000000046711340005343600200060ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 8ck3otqwsudjpgfogblgza1gb public interface stroke_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct stroke_t", "{", "int nvertices", "int flags", "pointf *vertices", "}", "stroke_t"); } // typedef struct stroke_t { /* information about a single stroke */ // /* we would have called it a path if that term wasn't already used */ // int nvertices; /* number of points in the stroke */ // int flags; /* stroke style flags */ // pointf *vertices; /* array of vertex points */ // } stroke_t;plantuml-1.2018.13+ds/src/h/symlist_t.java000066400000000000000000000043371340005343600202020ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 14amtv3porwybjn6et6rnys71 public interface symlist_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct symlist_s", "{", "Agsym_t *sym", "struct symlist_s *link", "}", "symlist_t"); } // typedef struct symlist_s { // Agsym_t *sym; // struct symlist_s *link; // } symlist_t;plantuml-1.2018.13+ds/src/h/tedge_t.java000066400000000000000000000045171340005343600175660ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 etqt95dxzhlewy48djz53vdvy public interface tedge_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct tedge_t", "{", "pointnlink_t *pnl0p", "pointnlink_t *pnl1p", "struct triangle_t *ltp", "struct triangle_t *rtp", "}", "tedge_t"); } // typedef struct tedge_t { // pointnlink_t *pnl0p; // pointnlink_t *pnl1p; // struct triangle_t *ltp; // struct triangle_t *rtp; // } tedge_t;plantuml-1.2018.13+ds/src/h/trap_t.java000066400000000000000000000047411340005343600174430ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 98x8jrsxyu5va90pidn9bybc0 public interface trap_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "int lseg, rseg", "pointf hi, lo", "int u0, u1", "int d0, d1", "int sink", "int usave, uside", "int state", "}", "trap_t"); } // typedef struct { // int lseg, rseg; /* two adjoining segments */ // pointf hi, lo; /* max/min y-values */ // int u0, u1; // int d0, d1; // int sink; /* pointer to corresponding in Q */ // int usave, uside; /* I forgot what this means */ // int state; // } trap_t;plantuml-1.2018.13+ds/src/h/usershape_s.java000066400000000000000000000053441340005343600204730ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 etvnzxzle0w43gjkxm4pvnhj8 public interface usershape_s extends __ptr__ { public static List DEFINITION = Arrays.asList( "struct usershape_s", "{", "Dtlink_t link", "const char *name", "int macro_id", "boolean must_inline", "boolean nocache", "FILE *f", "imagetype_t type", "char *stringtype", "int x, y, w, h, dpi", "void *data", "size_t datasize", "void (*datafree)(usershape_t *us)", "}"); } // struct usershape_s { // Dtlink_t link; // const char *name; // int macro_id; // boolean must_inline; // boolean nocache; // FILE *f; // imagetype_t type; // char *stringtype; // int x, y, w, h, dpi; // void *data; /* data loaded by a renderer */ // size_t datasize; /* size of data (if mmap'ed) */ // void (*datafree)(usershape_t *us); /* renderer's function for freeing data */ // };plantuml-1.2018.13+ds/src/h/usershape_t.java000066400000000000000000000041351340005343600204710ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; //2 chz6xkjhrs9pyfn4o58fuw87o public interface usershape_t extends usershape_s { public static List DEFINITION = Arrays.asList( "typedef struct usershape_s usershape_t"); } // typedef struct usershape_s usershape_t;plantuml-1.2018.13+ds/src/h/val_t.java000066400000000000000000000046421340005343600172570ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the Eclipse Public License. * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 ay78pm8zwkesyc85l5d5hpf1p public interface val_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef union s", "{", "Agnode_t *n", "Agraph_t *subg", "Agedge_t *e", "Agsym_t *asym", "char *name", "struct item_s *list", "}", "val_t"); } // typedef union s { /* possible items in generic list */ // Agnode_t *n; // Agraph_t *subg; // Agedge_t *e; // Agsym_t *asym; /* bound attribute */ // char *name; /* unbound attribute */ // struct item_s *list; /* list-of-lists (for edgestmt) */ // } val_t;plantuml-1.2018.13+ds/src/h/vararr_t.java000066400000000000000000000043061340005343600177670ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 oghwi8868wglf1fone49o4mk public interface vararr_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "pathpoint* pts", "int cnt", "int sz", "}", "vararr_t"); } // typedef struct { // pathpoint* pts; // int cnt; // int sz; // } vararr_t;plantuml-1.2018.13+ds/src/h/vconfig_s.java000066400000000000000000000046231340005343600201260ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 7spuyiz5ytbh1otla4fyecyrn public interface vconfig_s extends __ptr__ { public static List DEFINITION = Arrays.asList( "struct vconfig_s", "{", "int Npoly", "int N", "Ppoint_t *P", "int *start", "int *next", "int *prev", "array2 vis", "}"); } // struct vconfig_s { // int Npoly; // int N; /* number of points in walk of barriers */ // Ppoint_t *P; /* barrier points */ // int *start; // int *next; // int *prev; // // /* this is computed from the above */ // array2 vis; // };plantuml-1.2018.13+ds/src/h/vconfig_t.java000066400000000000000000000041211340005343600201200ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; //2 6gxwgxurv7pycllk13f8dpux6 public interface vconfig_t extends vconfig_s { public static List DEFINITION = Arrays.asList( "typedef struct vconfig_s vconfig_t"); } // typedef struct vconfig_s vconfig_t;plantuml-1.2018.13+ds/src/h/vertex.java000066400000000000000000000043451340005343600174670ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 91jsneefoo0k8vh8cfacj8oxy public interface vertex extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "int color", "int topsort_order", "Dt_t* adj_list", "}", "vertex"); } // typedef struct { // int color; // int topsort_order; // Dt_t* adj_list; /* adj_list */ // } vertex;plantuml-1.2018.13+ds/src/h/vertexchain_t.java000066400000000000000000000045271340005343600210170ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 8jbxzxhbdy0flrmgb5ulugq1w public interface vertexchain_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "pointf pt", "int vnext[4]", "int vpos[4]", "int nextfree", "}", "vertexchain_t"); } // typedef struct { // pointf pt; // int vnext[4]; /* next vertices for the 4 chains */ // int vpos[4]; /* position of v in the 4 chains */ // int nextfree; // } vertexchain_t;plantuml-1.2018.13+ds/src/h/walkfn_t.java000066400000000000000000000042071340005343600177540ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 uetkvys3lmc07q98hxrctlr6 public interface walkfn_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef int (*walkfn_t) (Dt_t *, void *, void *)"); } // typedef int (*walkfn_t) (Dt_t *, void *, void *);plantuml-1.2018.13+ds/src/h/xdot.java000066400000000000000000000045331340005343600171270ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 38aioi9ikzxlifhp4ycl5a12m public interface xdot extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "int cnt", "int sz", "xdot_op* ops", "freefunc_t freefunc", "int flags", "}", "xdot"); } // typedef struct { // int cnt; /* no. of xdot ops */ // int sz; /* sizeof structure containing xdot_op as first field */ // xdot_op* ops; // freefunc_t freefunc; // int flags; // } xdot;plantuml-1.2018.13+ds/src/h/xdot_align.java000066400000000000000000000042601340005343600202760ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 e7x0o7gr081vjwke671rdirk2 public interface xdot_align extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef enum", "{", "xd_left, xd_center, xd_right", "}", "xdot_align"); } // typedef enum { // xd_left, xd_center, xd_right // } xdot_align;plantuml-1.2018.13+ds/src/h/xdot_color.java000066400000000000000000000045321340005343600203240ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 6y1cws31xuq9r3y52qnszd7f6 public interface xdot_color extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "xdot_grad_type type", "union", "{", "char* clr", "xdot_linear_grad ling", "xdot_radial_grad ring", "}", "u", "}", "xdot_color"); } // typedef struct { // xdot_grad_type type; // union { // char* clr; // xdot_linear_grad ling; // xdot_radial_grad ring; // } u; // } xdot_color;plantuml-1.2018.13+ds/src/h/xdot_color_stop.java000066400000000000000000000043021340005343600213640ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 xzo69vancovfvk7lnaol0jpc public interface xdot_color_stop extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "float frac", "char* color", "}", "xdot_color_stop"); } // typedef struct { // float frac; // char* color; // } xdot_color_stop;plantuml-1.2018.13+ds/src/h/xdot_font.java000066400000000000000000000042611340005343600201530ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 4bxcepuedme9et1adr2g9a20o public interface xdot_font extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "double size", "char* name", "}", "xdot_font"); } // typedef struct { // double size; // char* name; // } xdot_font;plantuml-1.2018.13+ds/src/h/xdot_grad_type.java000066400000000000000000000043241340005343600211630ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 6c63rmtqc9y84xocq4ll0zatp public interface xdot_grad_type extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef enum", "{", "xd_none, xd_linear, xd_radial", "}", "xdot_grad_type"); } // typedef enum { // xd_none, // xd_linear, // xd_radial // } xdot_grad_type;plantuml-1.2018.13+ds/src/h/xdot_image.java000066400000000000000000000042671340005343600202750ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 zuln9hnjvuwwk4g106x6hmhn public interface xdot_image extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "xdot_rect pos", "char* name", "}", "xdot_image"); } // typedef struct { // xdot_rect pos; // char* name; // } xdot_image;plantuml-1.2018.13+ds/src/h/xdot_kind.java000066400000000000000000000053051340005343600201320ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 4a4izg5kkwsn1z1946vyklb3b public interface xdot_kind extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef enum", "{", "xd_filled_ellipse, xd_unfilled_ellipse, xd_filled_polygon, xd_unfilled_polygon, xd_filled_bezier, xd_unfilled_bezier, xd_polyline, xd_text, xd_fill_color, xd_pen_color, xd_font, xd_style, xd_image, xd_grad_fill_color, xd_grad_pen_color, xd_fontchar", "}", "xdot_kind"); } // typedef enum { // xd_filled_ellipse, xd_unfilled_ellipse, // xd_filled_polygon, xd_unfilled_polygon, // xd_filled_bezier, xd_unfilled_bezier, // xd_polyline, xd_text, // xd_fill_color, xd_pen_color, xd_font, xd_style, xd_image, // xd_grad_fill_color, xd_grad_pen_color, // xd_fontchar // } xdot_kind;plantuml-1.2018.13+ds/src/h/xdot_linear_grad.java000066400000000000000000000044541340005343600214600ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 8xbeerie9940dlui93o9uduhv public interface xdot_linear_grad extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "double x0, y0", "double x1, y1", "int n_stops", "xdot_color_stop* stops", "}", "xdot_linear_grad"); } // typedef struct { // double x0, y0; // double x1, y1; // int n_stops; // xdot_color_stop* stops; // } xdot_linear_grad;plantuml-1.2018.13+ds/src/h/xdot_op.java000066400000000000000000000041101340005343600176140ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; //2 8x0twnxu1fhm6q5e871fteso9 public interface xdot_op extends _xdot_op { public static List DEFINITION = Arrays.asList( "typedef struct _xdot_op xdot_op"); } // typedef struct _xdot_op xdot_op;plantuml-1.2018.13+ds/src/h/xdot_point.java000066400000000000000000000042311340005343600203330ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 6kldzrjqd360f2b5vpn1elj2t public interface xdot_point extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "double x, y, z", "}", "xdot_point"); } // typedef struct { // double x, y, z; // } xdot_point;plantuml-1.2018.13+ds/src/h/xdot_polyline.java000066400000000000000000000042771340005343600210470ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 8p27dcmllwwifbm6k530v1zf5 public interface xdot_polyline extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "int cnt", "xdot_point* pts", "}", "xdot_polyline"); } // typedef struct { // int cnt; // xdot_point* pts; // } xdot_polyline;plantuml-1.2018.13+ds/src/h/xdot_radial_grad.java000066400000000000000000000044741340005343600214440ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 73pwh5ex8hy6zad5cqdh3dl8j public interface xdot_radial_grad extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "double x0, y0, r0", "double x1, y1, r1", "int n_stops", "xdot_color_stop* stops", "}", "xdot_radial_grad"); } // typedef struct { // double x0, y0, r0; // double x1, y1, r1; // int n_stops; // xdot_color_stop* stops; // } xdot_radial_grad;plantuml-1.2018.13+ds/src/h/xdot_rect.java000066400000000000000000000042341340005343600201420ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 dytdxtdizn050yrh7uobj1fkt public interface xdot_rect extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "double x, y, w, h", "}", "xdot_rect"); } // typedef struct { // double x, y, w, h; // } xdot_rect;plantuml-1.2018.13+ds/src/h/xdot_state_t.java000066400000000000000000000054411340005343600206510ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 dhiu7hb5hm946g0tfbnpowdu5 public interface xdot_state_t extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "attrsym_t *g_draw", "attrsym_t *g_l_draw", "attrsym_t *n_draw", "attrsym_t *n_l_draw", "attrsym_t *e_draw", "attrsym_t *h_draw", "attrsym_t *t_draw", "attrsym_t *e_l_draw", "attrsym_t *hl_draw", "attrsym_t *tl_draw", "unsigned char buf[(EMIT_HLABEL+1)][BUFSIZ]", "unsigned short version", "char* version_s", "}", "xdot_state_t"); } // typedef struct { // attrsym_t *g_draw; // attrsym_t *g_l_draw; // attrsym_t *n_draw; // attrsym_t *n_l_draw; // attrsym_t *e_draw; // attrsym_t *h_draw; // attrsym_t *t_draw; // attrsym_t *e_l_draw; // attrsym_t *hl_draw; // attrsym_t *tl_draw; // unsigned char buf[(EMIT_HLABEL+1)][BUFSIZ]; // unsigned short version; // char* version_s; // } xdot_state_t;plantuml-1.2018.13+ds/src/h/xdot_stats.java000066400000000000000000000053121340005343600203410ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 ckvi0csmdepbsh2fme77kpwds public interface xdot_stats extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "int cnt", "int n_ellipse", "int n_polygon", "int n_polygon_pts", "int n_polyline", "int n_polyline_pts", "int n_bezier", "int n_bezier_pts", "int n_text", "int n_font", "int n_style", "int n_color", "int n_image", "int n_gradcolor", "int n_fontchar", "}", "xdot_stats"); } // typedef struct { // int cnt; /* no. of xdot ops */ // int n_ellipse; // int n_polygon; // int n_polygon_pts; // int n_polyline; // int n_polyline_pts; // int n_bezier; // int n_bezier_pts; // int n_text; // int n_font; // int n_style; // int n_color; // int n_image; // int n_gradcolor; // int n_fontchar; // } xdot_stats;plantuml-1.2018.13+ds/src/h/xdot_text.java000066400000000000000000000043731340005343600201750ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 1r6csyayxjv7abyjh9drchhp1 public interface xdot_text extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "double x, y", "xdot_align align", "double width", "char* text", "}", "xdot_text"); } // typedef struct { // double x, y; // xdot_align align; // double width; // char* text; // } xdot_text;plantuml-1.2018.13+ds/src/h/xop_kind.java000066400000000000000000000047721340005343600177710ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 8ucfcdlx92zlvpzsawjzbwj2l public interface xop_kind extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef enum", "{", "xop_ellipse, xop_polygon, xop_bezier, xop_polyline, xop_text, xop_fill_color, xop_pen_color, xop_font, xop_style, xop_image, xop_grad_color, xop_fontchar", "}", "xop_kind"); } // typedef enum { // xop_ellipse, // xop_polygon, // xop_bezier, // xop_polyline, xop_text, // xop_fill_color, xop_pen_color, xop_font, xop_style, xop_image, // xop_grad_color, // xop_fontchar // } xop_kind;plantuml-1.2018.13+ds/src/h/xparams.java000066400000000000000000000043751340005343600176300ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of Smetana. * Smetana is a partial translation of Graphviz/Dot sources from C to Java. * * (C) Copyright 2009-2017, Arnaud Roques * * This translation is distributed under the same Licence as the original C program: * ************************************************************************* * Copyright (c) 2011 AT&T Intellectual Property * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: See CVS logs. Details at http://www.graphviz.org/ ************************************************************************* * * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0] * * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. * * You may obtain a copy of the License at * * http://www.eclipse.org/legal/epl-v10.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package h; import java.util.Arrays; import java.util.List; import smetana.core.__ptr__; //2 3tsqzkcxjfsnllr7i7uuj30uu public interface xparams extends __ptr__ { public static List DEFINITION = Arrays.asList( "typedef struct", "{", "int numIters", "double T0", "double K", "double C", "int loopcnt", "}", "xparams"); } // typedef struct { // int numIters; // double T0; // double K; // double C; // int loopcnt; // } xparams;plantuml-1.2018.13+ds/src/jcckit/000077500000000000000000000000001340005343600163215ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/jcckit/GraphicsPlotCanvas.java000066400000000000000000000161371340005343600227270ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.image.BufferedImage; import jcckit.graphic.GraphicalElement; import jcckit.graphic.Renderer; import jcckit.plot.Plot; import jcckit.plot.PlotCanvas; import jcckit.renderer.Graphics2DRenderer; import jcckit.renderer.Transformation; import jcckit.util.ConfigParameters; import jcckit.util.Factory; /** * Class which handles plotting into a Graphics context based on the * {@link jcckit.renderer.GraphicsRenderer}. This class is not a subclass of * java.awt.Component. The actual AWT component presenting the plot * is an innerclass. Its instance wrapped by GraphicsPlotCanvas can * be obtained with {@link #getGraphicsCanvas}. *

* The plot is painted by using double-buffering and pre-rendered view of the * coordinate system. That is, the coordinate system is drawn into an off-screen * image. It will be redrawn only if the size of the embedding AWT component is * changed. * * @author Franz-Josef Elmer */ public class GraphicsPlotCanvas extends PlotCanvas { /** Key of a configuration parameter. */ public static final String BACKGROUND_KEY = "background"; public static final String FOREGROUND_KEY = "foreground"; public static final String DOUBLE_BUFFERING_KEY = "doubleBuffering"; /** * Class which does the actual painting. Needs the Component into * which the plot is painted for some resources like size, background color, * etc. * * @author Franz-Josef Elmer */ private final BufferedImage img3; private final Graphics2D g3; private Transformation _transformation; private String _renderer = "jcckit.renderer.GraphicsRenderer"; private GraphicalElement _marker; /** * Creates an instance from the specified configuration parameters.

* * * * * * * * * * * * * * * * * * * * * * *
Key & Default ValueTypeMandatoryDescription
background = default background color of the wrapped * AWT componentColornoBackground color of the wrapped AWT component.
foreground = default foreground color of the wrapped * AWT componentColornoForeground color of the wrapped AWT component.
doubleBuffering = truebooleannoIf true the plot will be painted by using * double-buffering and pre-rendered view of the coordinate system. *
* In addition the configuration parameters of the * * constructor of the superclass {@link jcckit.plot.PlotCanvas} apply. */ public GraphicsPlotCanvas(ConfigParameters config, BufferedImage img3) { super(config); this.img3 = img3; setRenderer("jcckit.renderer.Graphics2DRenderer"); g3 = img3.createGraphics(); g3.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); // _doubleBuffering = config.getBoolean(DOUBLE_BUFFERING_KEY, true); background = config.getColor(BACKGROUND_KEY, Color.WHITE); foreground = config.getColor(FOREGROUND_KEY, Color.BLACK); } private final Color background; private final Color foreground; /** * Paints the plot. If {@link GraphicsPlotCanvas#_doubleBuffering} is set * double-buffering and pre-rendered view of the coordinate system is used. */ public void paint() { Dimension size = new Dimension(img3.getWidth(), img3.getHeight()); g3.setColor(background); g3.fillRect(0, 0, size.width + 1, size.height + 1); init(size); _transformation.apply(g3); Plot plot = getPlot(); drawCoordinateSystem(size, plot); drawPlot(plot); if (_marker != null) { _marker.renderWith(createRenderer()); } } private void drawPlot(Plot plot) { prepare(); Renderer renderer = createRenderer(); GraphicalElement[] curves = plot.getCurves(); for (int i = 0; i < curves.length; i++) { curves[i].renderWith(renderer); } GraphicalElement annotation = plot.getAnnotation(); if (annotation != null) { annotation.renderWith(renderer); } if (plot.isLegendVisible()) { plot.getLegend().renderWith(renderer); } } private void init(Dimension size) { calculateTransformation(size); } private void drawCoordinateSystem(Dimension size, Plot plot) { g3.setColor(foreground); plot.getCoordinateSystem().renderWith(createRenderer()); } /** * Prepare graphics context before drawing the pre-rendered view of the * coordinate system. Does nothing but will be used in subclasses. */ protected void prepare() { } /** * Calculate the transformation form device-independent coordinates into * device-dependent coordinates according to the specified canvas size. */ protected void calculateTransformation(Dimension size) { _transformation = new Transformation(size.width, size.height, getPaper(), getHorizontalAnchor(), getVerticalAnchor()); } /** * Creates an appropriated {@link Renderer} for the specified * Graphics context. */ protected Renderer createRenderer() { return ((Graphics2DRenderer) Factory.create(_renderer)).init(g3); // return ((GraphicsRenderer) Factory.create(_renderer)).init(g, null, // _transformation); } /** * Sets the renderer used to render the plot. The default value is * {@link GraphicsRenderer}. * * @param className * Fully qualified name of the renderer class. */ public void setRenderer(String className) { _renderer = className; } // /** // * Maps the cursor position onto a point in device-independent // coordinates. // * // * @param x // * X-coordinate of the cursor. // * @param y // * Y-coordinate of the cursor. // */ // public GraphPoint mapCursorPosition(int x, int y) { // return _transformation.transformBack(x, y); // } /** * Defines a graphical marker which will be drawn on top of the plot. To * remove the marker call this method with argument null. * * @param marker * Marker element. Can be null. */ public void setMarker(GraphicalElement marker) { _marker = marker; } } plantuml-1.2018.13+ds/src/jcckit/data/000077500000000000000000000000001340005343600172325ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/jcckit/data/DataContainer.java000066400000000000000000000156761340005343600226300ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.data; import java.text.MessageFormat; import java.util.Vector; /** * Abstract superclass of all data containers. A data container holds an * ordered list of {@link DataElement DataElements} of the same type. *

* Data elements can be added, inserted, removed, or replaced. * Such an action leads to a {@link DataEvent} which will be delivered to * all {@link DataListener DataListeners} observing this * DataContainer. If this data container also implements * {@link DataEvent} (as {@link DataCurve} does) also the listeners * registrated at the data container containg this container will be notified. * As a consequence a DataListener must only be registered at the * {@link DataPlot} instance and it will automatically also received events * caused by manipulating one of its DataCurves. *

* Concrete subclasses have to implement {@link #isValid} which * checks whether the added or inserted DataElement is of the right * type. This is an application of the Template Method Design Pattern. * * @author Franz-Josef Elmer */ public abstract class DataContainer { private final static String TEMPLATE = "Invalid operation: {0}, Element: {1}, Container: {2}"; final static String ADD = "add", REPLACE = "replace", INSERT = "insert"; private final Vector _listeners = new Vector(); private final Vector _container = new Vector(); /** Adds a {@link DataListener}. Does nothing if already added. */ public void addDataListener(DataListener listener) { if (!_listeners.contains(listener)) { _listeners.addElement(listener); } } /** Removes a {@link DataListener}. Does nothing if already removed. */ public void removeDataListener(DataListener listener) { _listeners.removeElement(listener); } private void notifyListeners(DataEvent event) { for (int i = 0, n = _listeners.size(); i < n; i++) { ((DataListener) _listeners.elementAt(i)).dataChanged(event); } // Notifies also parent container if (this instanceof DataElement) { DataContainer container = ((DataElement) this).getContainer(); if (container != null) { container.notifyListeners(event); } } } /** Returns the number of elements of this container. */ public int getNumberOfElements() { return _container.size(); } /** Returns the element for the specified index. */ public DataElement getElement(int index) { return (DataElement) _container.elementAt(index); } /** * Returns the index of the specified element. * @param element Element to be looked for. * @return -1 if not found. */ public int getIndexOf(DataElement element) { return _container.indexOf(element); } /** * Adds a {@link DataElement}. After the element has been successfully * added all {@link DataListener DataListeners} will be informed. * @param element DataElement to be added. * @throws IllegalArgumentException if element is not of the correct * type which will be checked by the method {@link #isValid}. */ public void addElement(DataElement element) { if (isValid(element)) { _container.addElement(element); element.setContainer(this); notifyListeners(DataEvent.createAddEvent(this)); } else { throwException(ADD, element); } } /** * Inserts a {@link DataElement} at the specified index. * After the element has been successfully inserted * all {@link DataListener DataListeners} will be informed. * @param index Index at which element will be inserted. * All elements with an index >= index will be shifted. * @param element DataElement to be added. * @throws IllegalArgumentException if element is not of the correct * type which will be checked by the method {@link #isValid}. */ public void insertElementAt(int index, DataElement element) { if (isValid(element)) { _container.insertElementAt(element, index); element.setContainer(this); notifyListeners(DataEvent.createInsertEvent(this, index)); } else { throwException(INSERT, element); } } /** * Removes a {@link DataElement} at the specified index. * After the element has been successfully removed * all {@link DataListener DataListeners} will be informed. * @param index Index of the element which will be removed. * All elements with an index > index will be shifted. */ public void removeElementAt(int index) { DataElement element = (DataElement) _container.elementAt(index); element.setContainer(null); _container.removeElementAt(index); notifyListeners(DataEvent.createRemoveEvent(this, index, element)); } /** * Replaces the {@link DataElement} at the specified index. * After the element has been successfully replaced * all {@link DataListener DataListeners} will be informed. * @param index Index of the element which will be replaced by * element. * @param element The new DataElement. * @throws IllegalArgumentException if element is not of the correct * type which will be checked by the method {@link #isValid}. */ public void replaceElementAt(int index, DataElement element) { if (isValid(element)) { DataElement oldElement = (DataElement) _container.elementAt(index); oldElement.setContainer(null); _container.setElementAt(element, index); element.setContainer(this); notifyListeners(DataEvent.createReplaceEvent(this, index, oldElement)); } else { throwException(REPLACE, element); } } private void throwException(String operation, DataElement element) { throw new IllegalArgumentException(MessageFormat.format(TEMPLATE, new Object[] {operation, element, this.getClass().getName()})); } /** * Returns true if the specified {@link DataElement} has the * correct type. Concrete subclasses have to implement this method. * @param element DataElement to be checked. */ protected abstract boolean isValid(DataElement element); } plantuml-1.2018.13+ds/src/jcckit/data/DataCurve.java000066400000000000000000000056741340005343600217670ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.data; import jcckit.util.ConfigParameters; /** * A curve is a {@link DataContainer} of {@link DataPoint DataPoints}. * * @author Franz-Josef Elmer */ public class DataCurve extends DataContainer implements DataElement { /** Config parameter key. */ public static final String X_KEY = "x", Y_KEY = "y", TITLE_KEY = "title"; private final String _title; private DataContainer _container; /** Creates an empty instance with the specified title. */ public DataCurve(String title) { _title = title; } /** * Creates an instance from the specified config parameters. * * * * * * * * * * *
Key & Default ValueTypeMandatoryDescription
title = empty stringStringnoCurve title.
xdouble[]yesx-coordinates of the curve points.
ydouble[]yesy-coordinates of the curve points.
*/ public DataCurve(ConfigParameters config) { this(config.get(TITLE_KEY, "")); double[] xPoints = config.getDoubleArray(X_KEY); double[] yPoints = config.getDoubleArray(Y_KEY); int n = Math.min(xPoints.length, yPoints.length); for (int i = 0; i < n; i++) { addElement(new DataPoint(xPoints[i], yPoints[i])); } } /** * Returns the {@link DataPlot} containing this curve. */ public DataContainer getContainer() { return _container; } /** * Sets the {@link DataPlot} where this is a curve of. */ public void setContainer(DataContainer container) { _container = container; } /** Returns the title of this curve. */ public String getTitle() { return _title; } /** * Returns true if element is an instance of * {@link DataPoint}. */ protected boolean isValid(DataElement element) { return element instanceof DataPoint; } } plantuml-1.2018.13+ds/src/jcckit/data/DataElement.java000066400000000000000000000027601340005343600222650ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.data; /** * Interface for all kinds of data elements. * * @author Franz-Josef Elmer */ public interface DataElement { /** * Returns the container containing this element. * @return null if this element is not an element of a container. */ public DataContainer getContainer(); /** * Sets the container which should contain this element. * This method should not used outside {@link DataContainer}.. * @param container Container which should contains this element. Cann be * null if this element does not belong to a container. */ public void setContainer(DataContainer container); } plantuml-1.2018.13+ds/src/jcckit/data/DataEvent.java000066400000000000000000000110601340005343600217460ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.data; /** * Event to be sent to a {@link DataListener}. * * @author Franz-Josef Elmer */ public class DataEvent { private final DataContainer _container; private final DataEventType _type; private final int _index; private final DataElement _deletedElement; /** * Creates an instance for the specified parameters. * @param container The container which has been changed. * @param type Type of change. * @param index Index of the element which has been added, inserted, * replaced, or removed. * @param deletedElement Element which has been replaced or removed. */ private DataEvent(DataContainer container, DataEventType type, int index, DataElement deletedElement) { _container = container; _type = type; _index = index; _deletedElement = deletedElement; } /** * Creates an event of type {@link DataEventType#ELEMENT_ADDED} for the * specified container. * @param container Container where an element has been added. * @return ELEMENT_ADDED event. */ public static final DataEvent createAddEvent(DataContainer container) { return new DataEvent(container, DataEventType.ELEMENT_ADDED, container.getNumberOfElements() - 1, null); } /** * Creates an event of type {@link DataEventType#ELEMENT_INSERTED} for the * specified container. * @param container Container where an element has been inserted. * @param index Index at which an element has been inserted. * @return ELEMENT_INSERTED event. */ public static final DataEvent createInsertEvent(DataContainer container, int index) { return new DataEvent(container, DataEventType.ELEMENT_INSERTED, index, null); } /** * Creates an event of type {@link DataEventType#ELEMENT_REPLACED} for the * specified container. * @param container Container where an element has been replaced. * @param index Index of the replaced element. * @param replacedElement The previous element at index. * @return ELEMENT_REPLACED event. */ public static final DataEvent createReplaceEvent(DataContainer container, int index, DataElement replacedElement) { return new DataEvent(container, DataEventType.ELEMENT_REPLACED, index, replacedElement); } /** * Creates an event of type {@link DataEventType#ELEMENT_REMOVED} for the * specified container. * @param container Container where an element has been removed. * @param index Index of the removed element. * @param removedElement The previous element at index. * @return ELEMENT_REMOVED event. */ public static final DataEvent createRemoveEvent(DataContainer container, int index, DataElement removedElement) { return new DataEvent(container, DataEventType.ELEMENT_REMOVED, index, removedElement); } /** Returns the container. */ public DataContainer getContainer() { return _container; } /** * Returns the event type. Will be one of the constants * {@link DataEventType#ELEMENT_ADDED}, * {@link DataEventType#ELEMENT_INSERTED}, * {@link DataEventType#ELEMENT_REMOVED}, or * {@link DataEventType#ELEMENT_REPLACED}. */ public DataEventType getType() { return _type; } /** Returns the index. */ public int getIndex() { return _index; } /** * Returns the deleted element. * @return null if either an element has been added or inserted. */ public DataElement getDeletedElement() { return _deletedElement; } } plantuml-1.2018.13+ds/src/jcckit/data/DataEventType.java000066400000000000000000000025401340005343600226130ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.data; /** * Type of a {@link DataEvent}. Implements the typesafe enumeration pattern. * * @author Franz-Josef Elmer */ public class DataEventType { private DataEventType() {} /** Event type. */ public static final DataEventType ELEMENT_ADDED = new DataEventType(), ELEMENT_INSERTED = new DataEventType(), ELEMENT_REPLACED = new DataEventType(), ELEMENT_REMOVED = new DataEventType(); } plantuml-1.2018.13+ds/src/jcckit/data/DataListener.java000066400000000000000000000022721340005343600224570ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.data; /** * An interface all observers of {@link DataEvent DataEvents} * have to implement. * * @author Franz-Josef Elmer */ public interface DataListener { /** * Sends the specified data event to this object. * @param event Data event informing where and what happened. */ public void dataChanged(DataEvent event); } plantuml-1.2018.13+ds/src/jcckit/data/DataPlot.java000066400000000000000000000050511340005343600216060ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.data; import java.util.StringTokenizer; import jcckit.util.ConfigParameters; /** * A plot is a {@link DataContainer} of {@link DataCurve DataCurves}. * * @author Franz-Josef Elmer */ public class DataPlot extends DataContainer { /** Config parameter key. */ public static final String CURVES_KEY = "curves", DATA_KEY = "data"; /** Creates an empty instance. */ public DataPlot() {} /** * Creates an instance from the specified config parameters. * * * * * *
Key & Default ValueTypeMandatoryDescription
curvesString[]yesList of keys denoting data curves. Each key refers to * config parameters used in the * * constructor of {@link DataCurve}.
*/ public DataPlot(ConfigParameters config) { StringTokenizer tokenizer = new StringTokenizer(config.get(CURVES_KEY)); while (tokenizer.hasMoreTokens()) { addElement(new DataCurve(config.getNode(tokenizer.nextToken()))); } } /** * Convenient method to create a DataPlot based on the specified * config parameters. It is a short-cut of * new DataPlot(config.getNode("data")). */ public static DataPlot create(ConfigParameters config) { return new DataPlot(config.getNode(DATA_KEY)); } /** * Returns true if element is an instance of * {@link DataCurve}. */ protected boolean isValid(DataElement element) { return element instanceof DataCurve; } } plantuml-1.2018.13+ds/src/jcckit/data/DataPoint.java000066400000000000000000000024321340005343600217610ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.data; import jcckit.util.Point; /** * Immutable two-dimensional point in data coordinates. * * @author Franz-Josef Elmer */ public class DataPoint extends Point implements DataElement { public DataPoint(double x, double y) { super(x, y); } /** Returns always null. */ public DataContainer getContainer() { return null; } /** Does nothing. */ public void setContainer(DataContainer container) {} } plantuml-1.2018.13+ds/src/jcckit/graphic/000077500000000000000000000000001340005343600177365ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/jcckit/graphic/Anchor.java000066400000000000000000000111241340005343600220120ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; import jcckit.util.ConfigParameters; import jcckit.util.FactoryException; /** * Anchor of a graphical element. There exist only the three * instances {@link #LEFT_BOTTOM}, {@link #CENTER}, and * {@link #RIGHT_TOP}. *

* The anchor factor can be used in a position formular. Its value * for the three instances reads: *

*

* * * * * *
InstanceFactor
LEFT_BOTTOM0
CENTER1
RIGHT_TOP2
*
* * @author Franz-Josef Elmer */ public class Anchor { /** Anchor constant. */ public static final Anchor LEFT_BOTTOM = new Anchor(0), CENTER = new Anchor(1), RIGHT_TOP = new Anchor(2); private static final String LEFT_VALUE = "left", RIGHT_VALUE = "right", CENTER_VALUE = "center", TOP_VALUE = "top", BOTTOM_VALUE = "bottom"; /** * Returns form the specified configuration parameters the * horizontal anchor defined by the specified key or the * specified default value. * @param config Configuration parameters. * @param key The key of the anchor. null is not allowed. * @param defaultValue The default value. * @return one of the three instances of Anchor. * @throws FactoryException if the value of key is * neither left, center, * nor right. * Note, that {@link FactoryException#getClassName()} * returns the invalid value. */ public static Anchor getHorizontalAnchor(ConfigParameters config, String key, Anchor defaultValue) { Anchor result = defaultValue; String anchor = config.get(key, null); if (anchor != null) { if (anchor.equals(LEFT_VALUE)) { result = Anchor.LEFT_BOTTOM; } else if (anchor.equals(CENTER_VALUE)) { result = Anchor.CENTER; } else if (anchor.equals(RIGHT_VALUE)) { result = Anchor.RIGHT_TOP; } else { throw new FactoryException(config, key, "Invalid horizontal anchor."); } } return result; } /** * Returns form the specified configuration parameters the * vertical anchor defined by the specified key or the * specified default value. * @param config Configuration parameters. * @param key The key of the anchor. null is not allowed. * @param defaultValue The default value. * @return one of the three instances of Anchor. * @throws FactoryException if the value of key is * neither top, center, * nor bottom. * Note, that {@link FactoryException#getClassName()} * returns the invalid value. */ public static Anchor getVerticalAnchor(ConfigParameters config, String key, Anchor defaultValue) { Anchor result = defaultValue; String anchor = config.get(key, null); if (anchor != null) { if (anchor.equals(BOTTOM_VALUE)) { result = Anchor.LEFT_BOTTOM; } else if (anchor.equals(CENTER_VALUE)) { result = Anchor.CENTER; } else if (anchor.equals(TOP_VALUE)) { result = Anchor.RIGHT_TOP; } else { throw new FactoryException(config, key, "Invalid vertcal anchor."); } } return result; } private final int _factor; private Anchor(int factor) { _factor = factor; } /** Returns the factor. */ public int getFactor() { return _factor; } } plantuml-1.2018.13+ds/src/jcckit/graphic/BasicGraphicAttributes.java000066400000000000000000000175341340005343600252010ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; import java.awt.Color; import jcckit.util.ConfigParameters; /** * The basic attributes of any {@link BasicGraphicalElement}. This is an * extension of {@link ShapeAttributes} implementing {@link TextAttributes}. * * @author Franz-Josef Elmer */ public class BasicGraphicAttributes extends ShapeAttributes implements TextAttributes { /** Configuration parameter key. */ public static final String TEXT_COLOR_KEY = "textColor", FONT_NAME_KEY = "fontName", FONT_STYLE_KEY = "fontStyle", FONT_SIZE_KEY = "fontSize", HORIZONTAL_ANCHOR_KEY = "horizontalAnchor", VERTICAL_ANCHOR_KEY = "verticalAnchor", ORIENTATION_ANGLE_KEY = "orientationAngle"; private final Color _textColor; private final String _fontName; private final FontStyle _fontStyle; private final double _fontSize; private final double _orientationAngle; private final Anchor _horizontalAnchor; private final Anchor _verticalAnchor; /** * Creates a new instance based on the specified configuration * parameters. * * * * * * * * * * * * * * * * * * *
Key & Default ValueTypeMandatoryDescription
textColor = default foreground color of the * rendererColornoThe text color.
fontName = default font name of the * rendererStringnoThe name of the text font. The standard Java font name * "Serif", "SansSerif", and "Monospaced" can be used. * Other font names depend on the actual {@link Renderer} * rendering the corresponding {@link BasicGraphicalElement}. *
fontStyle = normalString * noThe font style. Possible values are: *
  • normal
  • bold
  • italic *
  • bold italic
*
fontSize = default font size of the * rendererdoublenoThe font size in units of the device-independent * coordinates.
orientationAngle = 0doublenoThe orientation angle of the text (in degree). * Zero means normal orientation whereas a positive value means * a rotation in counter-clockweise direction.
horizontalAnchor = leftString * noAnchor for horizontal text position. Possible values are * left, center, and right.
verticalAnchor = centerString * noAnchor for vertical text position. Possible values are * top, center, and bottom.
* Additional configuration parameters are explained in the * {@link ShapeAttributes#ShapeAttributes constructor} * of the superclass {@link ShapeAttributes}. */ public BasicGraphicAttributes(ConfigParameters config) { super(config); _textColor = config.getColor(TEXT_COLOR_KEY, null); _fontName = config.get(FONT_NAME_KEY, null); _fontStyle = FontStyle.getFontStyle(config, FONT_STYLE_KEY, FontStyle.NORMAL); _fontSize = config.getDouble(FONT_SIZE_KEY, 0); _orientationAngle = config.getDouble(ORIENTATION_ANGLE_KEY, 0); _horizontalAnchor = Anchor.getHorizontalAnchor(config, HORIZONTAL_ANCHOR_KEY, Anchor.LEFT_BOTTOM); _verticalAnchor = Anchor.getVerticalAnchor(config, VERTICAL_ANCHOR_KEY, Anchor.CENTER); } /** * Creates a new instance. * @param fillColor The fill color. May be null. * @param lineColor The line color. May be null. * @param lineThickness Thickness of the line. * Negative numbers will be trimmed to zero. * @param linePattern Line pattern. May be null. * @param textColor The text color. May be null. * @param fontName The font name. May be null. * @param fontStyle The font style. May be null. * @param fontSize The font size in units of the device-independent * coordinates. May be null. * @param orientationAngle Orientation angle of the text. * @param horizontalAnchor Horizontal text anchor. * @param verticalAnchor Vertical text anchor. */ public BasicGraphicAttributes(Color fillColor, Color lineColor, double lineThickness, double[] linePattern, Color textColor, String fontName, FontStyle fontStyle, double fontSize, double orientationAngle, Anchor horizontalAnchor, Anchor verticalAnchor) { super(fillColor, lineColor, lineThickness, linePattern); _textColor = textColor; _fontName = fontName; _fontStyle = fontStyle; _fontSize = fontSize; _orientationAngle = orientationAngle; _horizontalAnchor = horizontalAnchor; _verticalAnchor = verticalAnchor; } /** * Returns the text color. * @return null means default color of the renderer. */ public Color getTextColor() { return _textColor; } /** * Returns the font name. * @return null means default font name of the renderer. */ public String getFontName() { return _fontName; } /** * Returns the font style. * @return null means default font style of the renderer. */ public FontStyle getFontStyle() { return _fontStyle; } /** * Returns the font size in units of the device-independent coordinates. */ public double getFontSize() { return _fontSize; } /** * Returns the orientation angle in degree. Zero means * normal text orientation. Any positive angle means a * counter-clockwise rotation of the text. */ public double getOrientationAngle() { return _orientationAngle; } /** * Returns the anchor for horizontal position of the text. * Note, that the anchor is related to the text before * it is rotated by the orientation angle. * @return one of the three instances of Anchor. */ public Anchor getHorizontalAnchor() { return _horizontalAnchor; } /** * Returns the anchor for vertical position of the text. * Note, that the anchor is related to the text before * it is rotated by the orientation angle. * @return one of the three instances of Anchor. */ public Anchor getVerticalAnchor() { return _verticalAnchor; } } plantuml-1.2018.13+ds/src/jcckit/graphic/BasicGraphicalElement.java000066400000000000000000000037551340005343600247610ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; /** * Abstract superclass of all basic {@link GraphicalElement * GraphicalElements}. Concrete subclasses have to implement * the method {@link GraphicalElement#renderWith}. * * @author Franz-Josef Elmer */ public abstract class BasicGraphicalElement implements GraphicalElement { private final GraphicAttributes _attributes; /** * Creates an instance with the specified drawing attributes. * Note, that a {@link Renderer} should use default attributes * in the case no attributes are defined. * @param attributes Drawing attributes or null if undefined. */ public BasicGraphicalElement(GraphicAttributes attributes) { _attributes = attributes; } /** * Returns the drawing attributes. * @return null if undefined. */ public GraphicAttributes getGraphicAttributes() { return _attributes; } /** * Returns whether this basic graphical element has a closed shape * or not. By default always true. Subclasses may override * this behaviour. * @return true if the shape is closed. */ public boolean isClosed() { return true; } } plantuml-1.2018.13+ds/src/jcckit/graphic/ClippingRectangle.java000066400000000000000000000045401340005343600241760ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; /** * Immutable class of a rectangular clipping area. * * @author Franz-Josef Elmer */ public class ClippingRectangle implements ClippingShape { private final double _minX, _minY, _maxX, _maxY; /** * Creates an instance for the specified coordinates of * two opposite corner points. */ public ClippingRectangle(double x1, double y1, double x2, double y2) { _minX = Math.min(x1, x2); _minY = Math.min(y1, y2); _maxX = Math.max(x1, x2); _maxY = Math.max(y1, y2); } /** * Returns true if the specified point is inside this * rectangle. */ public boolean isInside(GraphPoint point) { double x = point.getX(); double y = point.getY(); return _minX <= x && x <= _maxX && _minY <= y && y <= _maxY; } /** Returns the minimum x value. */ public double getMinX() { return _minX; } /** Returns the maximum x value. */ public double getMaxX() { return _maxX; } /** Returns the minimum y value. */ public double getMinY() { return _minY; } /** Returns the maximum y value. */ public double getMaxY() { return _maxY; } /** Returns this instance. */ public ClippingRectangle getBoundingBox() { return this; } /** Returns a {@link Rectangle}. */ public BasicGraphicalElement getGraphicalElement() { return new Rectangle(new GraphPoint(0.5 * (_minX + _maxX), 0.5 * (_minY + _maxY)), _maxX - _minX, _maxY - _minY, null); } } plantuml-1.2018.13+ds/src/jcckit/graphic/ClippingShape.java000066400000000000000000000032121340005343600233250ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; /** * Defining a clipping shape applied to all {@link GraphicalElement * GraphicalElements} of a {@link GraphicalComposite}. * * @author Franz-Josef Elmer */ public interface ClippingShape { /** * Returns true if the specified point is inside this * clipping shape. */ public boolean isInside(GraphPoint point); /** * Returns the bounding box of this clipping shape. * This method will be used by renderers who supports only * rectangular clipping shapes. */ public ClippingRectangle getBoundingBox(); /** * Returns a basic graphical element (such as {@link Rectangle} * or {@link Polygon}) which may be used by renderers to * define the clipping shape for the output device. */ public BasicGraphicalElement getGraphicalElement(); } plantuml-1.2018.13+ds/src/jcckit/graphic/FillAttributes.java000066400000000000000000000022101340005343600235310ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; import java.awt.Color; /** * Interface for fill attributes. * * @author Franz-Josef Elmer */ public interface FillAttributes extends GraphicAttributes { /** * Returns the fill color. * @return null means no filling. */ public Color getFillColor(); } plantuml-1.2018.13+ds/src/jcckit/graphic/FontStyle.java000066400000000000000000000061031340005343600225300ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; import java.util.Hashtable; import jcckit.util.ConfigParameters; import jcckit.util.FactoryException; /** * Font style constants. * This class is based on the typesafe enumeration pattern. * * @author Franz-Josef Elmer */ public class FontStyle { private static final Hashtable REPOSITORY = new Hashtable(); static final String NORMAL_TXT = "normal", BOLD_TXT = "bold", ITALIC_TXT = "italic", BOLD_ITALIC_TXT = "bold italic"; /** Font style constant. */ public static final FontStyle NORMAL = new FontStyle(NORMAL_TXT), BOLD = new FontStyle(BOLD_TXT), ITALIC = new FontStyle(ITALIC_TXT), BOLD_ITALIC = new FontStyle(BOLD_ITALIC_TXT); private final String _description; /** Non-public constructor to control the number of instances. */ private FontStyle(String description) { _description = description; REPOSITORY.put(description, this); } /** * Returns from the specified configuration parameters the font style * defined by the specified key or the specified default value. * @param config Configuration parameters. * @param key The key of the font style. * @param defaultValue The default value. * @return one of the four instances of FontStyle. * @throws FactoryException if the value of the key-value pair denoted * by key is neither normal, bold, * italic, nor bold italic, * Note, that {@link FactoryException#getClassName()} * returns the invalid value. */ public static FontStyle getFontStyle(ConfigParameters config, String key, FontStyle defaultValue) { FontStyle result = defaultValue; String value = config.get(key, null); if (value != null) { result = (FontStyle) REPOSITORY.get(value); if (result == null) { throw new FactoryException(config, key, "Invalid font style."); } } return result; } /** Returns a human readable description for pretty printing. */ public String toString() { return _description; } } plantuml-1.2018.13+ds/src/jcckit/graphic/GraphPoint.java000066400000000000000000000026411340005343600226570ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; import jcckit.util.Point; /** * Immutable class of a two-dimensional point in the device-independent * coordinate system. * * @author Franz-Josef Elmer */ public class GraphPoint extends Point { /** * Creates an instance for the specified vector. * If vector is null or not long enough the * default value 0 will be used instead. */ public GraphPoint(double[] vector) { super(vector); } /** Creates an instance for the specified coordinates. */ public GraphPoint(double x, double y) { super(x, y); } } plantuml-1.2018.13+ds/src/jcckit/graphic/GraphicAttributes.java000066400000000000000000000026231340005343600242300ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; /** * Marker interface for all types of graphic attributes * of a {@link BasicGraphicalElement}. Graphic attributes are only * hints for {@link Renderer Renderers} how to render a * BasicGraphicalElement. Whether they are used and how * they are interpreted depends on the concrete Renderer. *

* This is only a marker interface. There are several subinterfaces * specifying various attributes grouped by the type of element to * be rendered. * * @author Franz-Josef Elmer */ public interface GraphicAttributes { } plantuml-1.2018.13+ds/src/jcckit/graphic/GraphicalComposite.java000066400000000000000000000067601340005343600243670ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; import java.util.Vector; /** * Container for {@link GraphicalElement GraphicalElements}. * * @author Franz-Josef Elmer */ public class GraphicalComposite implements GraphicalElement { private final Vector _elements = new Vector(); private final ClippingShape _clippingShape; /** * Creates an instance with the specified clipping shape. * @param clippingShape Clipping shape or null if no clipping. */ public GraphicalComposite(ClippingShape clippingShape) { _clippingShape = clippingShape; } /** * Returns the clipping shape. * @return null if no clipping should be applied. */ public ClippingShape getClippingShape() { return _clippingShape; } /** * Adds the specified element at the end of the list of elements. * @param element Element to be added. null is not allowed. * @throws NullPointerException if element == null */ public void addElement(GraphicalElement element) { if (element == null) { throwNullPointerException(); } else { _elements.addElement(element); } } /** Remove all elements. */ public void removeAllElements() { _elements.removeAllElements(); } /** * Replaces the specified element at the specified index of * the list of elements. * @param element New element. null is not allowed. * @throws NullPointerException if element == null */ public void replaceElementAt(int index, GraphicalElement element) { if (element == null) { throwNullPointerException(); } else { _elements.setElementAt(element, index); } } private void throwNullPointerException() { throw new NullPointerException( "A null as an GraphicalElement is not allowed"); } /** * Renders all {@link GraphicalElement GraphicalElements} in the sequence * they have been added. * @param renderer Renderer which implements all renderer interfaces * necessary to render the child elements. * @throws IllegalArgumentException if renderer is not * an instance of GraphicalCompositeRenderer. */ public void renderWith(Renderer renderer) { if (renderer instanceof GraphicalCompositeRenderer) { GraphicalCompositeRenderer r = (GraphicalCompositeRenderer) renderer; r.startRendering(this); for (int i = 0, n = _elements.size(); i < n; i++) { ((GraphicalElement) _elements.elementAt(i)).renderWith(r); } r.finishRendering(this); } else { throw new IllegalArgumentException(renderer + " does not implements GraphicalCompositeRenderer."); } } } plantuml-1.2018.13+ds/src/jcckit/graphic/GraphicalCompositeRenderer.java000066400000000000000000000030721340005343600260470ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; /** * Interface of all {@link Renderer Renderers} who render a * {@link GraphicalComposite}. Note, that a * GraphicalCompositeRenderer does not * render the element of a GraphicalComposite * * @author Franz-Josef Elmer */ public interface GraphicalCompositeRenderer extends Renderer { /** * Starts rendering of the specified composite before its * elements are rendererd. Implementations of this method * usually obtain the {@link ClippingShape} from * composite. */ public void startRendering(GraphicalComposite composite); /** Finishes rendering of the specified composite. */ public void finishRendering(GraphicalComposite composite); } plantuml-1.2018.13+ds/src/jcckit/graphic/GraphicalElement.java000066400000000000000000000033201340005343600240030ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; /** * Interface all graphical elements have to implement. * Together with the marker interface {@link Renderer} it * realizes the Anticyclic Visitor Pattern, a variant of the * GoF Visitor Pattern. This allows not only to extend JCCKit with * new renderers but also with new types of GraphicalElements * without touching existing code. * * @author Franz-Josef Elmer */ public interface GraphicalElement { /** * Renders this element according to the type of renderer. * Concrete GraphicalElements who are not instances of * {@link GraphicalComposite} dynamically cast renderer. * If it does not implement the type of renderer specific for * the concrete GraphicalElement it should throw an * IllegalArgumentException. */ public abstract void renderWith(Renderer renderer); } plantuml-1.2018.13+ds/src/jcckit/graphic/LineAttributes.java000066400000000000000000000033411340005343600235400ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; import java.awt.Color; /** * Interface for line attributes. * * @author Franz-Josef Elmer */ public interface LineAttributes extends GraphicAttributes { /** * Returns the line color. * @return null means default color of the renderer. */ public Color getLineColor(); /** * Returns the line tickness. 0 means that the line thickness is * chosen as thin as possible. * Implementations have to guarantee that the returned value is * never negative. */ public double getLineThickness(); /** * Returns the line pattern. This is a sequence of length where the * pen is down or up. The first element is the length where the * pen is down. The next element is the length where the pen is up. * The pattern is cyclically repeated. * @return null means solid line. */ public double[] getLinePattern(); } plantuml-1.2018.13+ds/src/jcckit/graphic/Oval.java000066400000000000000000000036031340005343600215040ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; /** * An oval (i.e. an ellipse). * * @author Franz-Josef Elmer */ public class Oval extends Rectangle { /** * Creates a new instance. * @param center The position of the center of this element. * @param width The width. * @param height The height. * @param attributes Drawing attributes. Can be null. */ public Oval(GraphPoint center, double width, double height, GraphicAttributes attributes) { super(center, width, height, attributes); } /** * Renders this oval with the specified {@link Renderer}. * @param renderer An instance of {@link OvalRenderer}. * @throws IllegalArgumentException if renderer is not * an instance of OvalRenderer. */ public void renderWith(Renderer renderer) { if (renderer instanceof OvalRenderer) { ((OvalRenderer) renderer).render(this); } else { throw new IllegalArgumentException(renderer + " does not implements OvalRenderer."); } } } plantuml-1.2018.13+ds/src/jcckit/graphic/OvalRenderer.java000066400000000000000000000021371340005343600231740ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; /** * Interface of all {@link Renderer Renderers} who render a * {@link Oval}. * * @author Franz-Josef Elmer */ public interface OvalRenderer extends Renderer { /** Renders the specified oval. */ public void render(Oval oval); } plantuml-1.2018.13+ds/src/jcckit/graphic/Polygon.java000066400000000000000000000051641340005343600222360ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; import java.util.Vector; /** * A polygon or polyline. * * @author Franz-Josef Elmer */ public class Polygon extends BasicGraphicalElement { private final Vector _points = new Vector(); private final boolean _closed; /** * Creates an instance of the specified graphic attributes. * @param closed true if this polygon is closed. */ public Polygon(GraphicAttributes attributes, boolean closed) { super(attributes); _closed = closed; } /** Returns true if this polygon is closed. */ public boolean isClosed() { return _closed; } /** Returns the number points. */ public int getNumberOfPoints() { return _points.size(); } /** Returns the point for the specified index. */ public GraphPoint getPoint(int index) { return (GraphPoint) _points.elementAt(index); } /** Adds a new point to the end of the list of points. */ public void addPoint(GraphPoint point) { _points.addElement(point); } /** Removes all points. */ public void removeAllPoints() { _points.removeAllElements(); } /** Replaces the point at the specified index by a new one. */ public void replacePointAt(int index, GraphPoint point) { _points.setElementAt(point, index); } /** * Renders this line with the specified {@link Renderer}. * @param renderer An instance of {@link PolygonRenderer}. * @throws IllegalArgumentException if renderer is not * an instance of PolygonRenderer. */ public void renderWith(Renderer renderer) { if (renderer instanceof PolygonRenderer) { ((PolygonRenderer) renderer).render(this); } else { throw new IllegalArgumentException(renderer + " does not implements PolygonRenderer."); } } } plantuml-1.2018.13+ds/src/jcckit/graphic/PolygonRenderer.java000066400000000000000000000022151340005343600237170ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; /** * Interface of all {@link Renderer Renderers} who render an * instance of {@link Polygon}. * * @author Franz-Josef Elmer */ public interface PolygonRenderer extends Renderer { /** Renders the specified Polygon instance. */ public void render(Polygon polygon); } plantuml-1.2018.13+ds/src/jcckit/graphic/Rectangle.java000066400000000000000000000045361340005343600225150ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; /** * A rectangle. * * @author Franz-Josef Elmer */ public class Rectangle extends BasicGraphicalElement { private final GraphPoint _center; private final double _width; private final double _height; /** * Creates a new instance. * @param center The position of the center of this element. * @param width The width. * @param height The height. * @param attributes Drawing attributes. Can be null. */ public Rectangle(GraphPoint center, double width, double height, GraphicAttributes attributes) { super(attributes); _center = center; _width = width; _height = height; } /** Returns the center of this element. */ public GraphPoint getCenter() { return _center; } /** Returns the width of this element. */ public double getWidth() { return _width; } /** Returns the height of this element. */ public double getHeight() { return _height; } /** * Renders this rectangle with the specified {@link Renderer}. * @param renderer An instance of {@link RectangleRenderer}. * @throws IllegalArgumentException if renderer is not * an instance of RectangleRenderer. */ public void renderWith(Renderer renderer) { if (renderer instanceof RectangleRenderer) { ((RectangleRenderer) renderer).render(this); } else { throw new IllegalArgumentException(renderer + " does not implements RectangleRenderer."); } } } plantuml-1.2018.13+ds/src/jcckit/graphic/RectangleRenderer.java000066400000000000000000000021701340005343600241740ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; /** * Interface of all {@link Renderer Renderers} who render a * {@link Rectangle}. * * @author Franz-Josef Elmer */ public interface RectangleRenderer extends Renderer { /** Renders the specified rectangle. */ public void render(Rectangle rectangle); } plantuml-1.2018.13+ds/src/jcckit/graphic/Renderer.java000066400000000000000000000020351340005343600223470ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; /** * Marker interface. Each subclass is an interface for a specific * type of {@link GraphicalElement}. * * @author Franz-Josef Elmer */ public interface Renderer {} plantuml-1.2018.13+ds/src/jcckit/graphic/ShapeAttributes.java000066400000000000000000000073651340005343600237230ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; import java.awt.Color; import jcckit.util.ConfigParameters; /** * Basic attributes for shapes. * * @author Franz-Josef Elmer */ public class ShapeAttributes implements LineAttributes, FillAttributes { /** Configuration parameter key. */ public static final String FILL_COLOR_KEY = "fillColor", LINE_COLOR_KEY = "lineColor", LINE_THICKNESS_KEY = "lineThickness", LINE_PATTERN_KEY = "linePattern"; private final Color _fillColor; private final Color _lineColor; private final double _lineThickness; private final double[] _linePattern; /** * Creates a new instance based on the specified configuration * parameters. * * * * * * * * * * * * * *
Key & Default ValueTypeMandatoryDescription
fillColor = no fillingColornoThe fill color of the shape.
lineColor = no lineColornoThe color of a line, a polygon, or the border of a shape.
lineThickness = 0doublenoThe thickness of a line. A thickness of zero means that * the renderer will draw the thinest line possible.
linePattern = solid linedouble[]noA sequence of lengths where the pen is alternatively * down or up. For example, 0.1 0.1 will lead to a dashed * line whereas 0.02 0.02 is the pattern of a dotted * line and 0.02 0.02 0.1 0.02 of a dashed-dotted * line.
*/ public ShapeAttributes(ConfigParameters config) { this(config.getColor(FILL_COLOR_KEY, null), config.getColor(LINE_COLOR_KEY, null), config.getDouble(LINE_THICKNESS_KEY, 0), config.getDoubleArray(LINE_PATTERN_KEY, null)); } /** * Creates a new instance. * @param fillColor The fill color. May be null. * @param lineColor The line color. May be null. * @param lineThickness Thickness of the line. * Negative numbers will be trimmed to zero. * @param linePattern Line pattern. May be null. */ public ShapeAttributes(Color fillColor, Color lineColor, double lineThickness, double[] linePattern) { _fillColor = fillColor; _lineColor = lineColor; _lineThickness = Math.max(0, lineThickness); _linePattern = linePattern; } public Color getFillColor() { return _fillColor; } public Color getLineColor() { return _lineColor; } public double getLineThickness() { return _lineThickness; } public double[] getLinePattern() { return _linePattern; } } plantuml-1.2018.13+ds/src/jcckit/graphic/Text.java000066400000000000000000000041231340005343600215250ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; /** * A single line of text. * * @author Franz-Josef Elmer */ public class Text extends BasicGraphicalElement { private final GraphPoint _position; private final String _text; /** * Creates an instance with the specified parameters. * @param position Position of the text. * @param text Text. * @param attributes Drawing attributes. Can be null. */ public Text(GraphPoint position, String text, GraphicAttributes attributes) { super(attributes); _position = position; _text = text; } /** Returns the position. */ public GraphPoint getPosition() { return _position; } /** Returns the text string. */ public String getText() { return _text; } /** * Renders this line with the specified {@link Renderer}. * @param renderer An instance of {@link TextRenderer}. * @throws IllegalArgumentException if renderer is not * an instance of TextRenderer. */ public void renderWith(Renderer renderer) { if (renderer instanceof TextRenderer) { ((TextRenderer) renderer).render(this); } else { throw new IllegalArgumentException(renderer + " does not implements TextRenderer."); } } } plantuml-1.2018.13+ds/src/jcckit/graphic/TextAttributes.java000066400000000000000000000045071340005343600236020ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; import java.awt.Color; /** * Interface for text attributes. * * @author Franz-Josef Elmer */ public interface TextAttributes extends GraphicAttributes { /** * Returns the text color. * @return null means default color of the renderer. */ public Color getTextColor(); /** * Returns the font name. * @return null means default font name of the renderer. */ public String getFontName(); /** * Returns the font style. * @return null means default font style of the renderer. */ public FontStyle getFontStyle(); /** * Returns the font size in units of the device-independent coordinates. */ public double getFontSize(); /** * Returns the orientation angle in degree. Zero means * normal text orientation. Any positive angle means a * counter-clockwise rotation of the text. */ public double getOrientationAngle(); /** * Returns the anchor for horizontal position of the text. * Note, that the anchor is related to the text before * it is rotated by the orientation angle. * @return one of the three instances of Anchor. */ public Anchor getHorizontalAnchor(); /** * Returns the anchor for vertical position of the text. * Note, that the anchor is related to the text before * it is rotated by the orientation angle. * @return one of the three instances of Anchor. */ public Anchor getVerticalAnchor(); } plantuml-1.2018.13+ds/src/jcckit/graphic/TextRenderer.java000066400000000000000000000021761340005343600232220ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.graphic; /** * Interface of all {@link Renderer Renderers} who render an * instance of {@link Text}. * * @author Franz-Josef Elmer */ public interface TextRenderer extends Renderer { /** Renders the specified Text instance. */ public void render(Text text); } plantuml-1.2018.13+ds/src/jcckit/plot/000077500000000000000000000000001340005343600172775ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/jcckit/plot/AbstractSymbolFactory.java000066400000000000000000000116731340005343600244330ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import jcckit.graphic.GraphPoint; import jcckit.graphic.GraphicAttributes; import jcckit.graphic.GraphicalElement; import jcckit.util.ConfigParameters; import jcckit.util.Factory; /** * Abstract superclass of all {@link SymbolFactory SymbolFactories}. * Subclasses have to implement {@link #createPlainSymbol createPlainSymbol()}. * * @author Franz-Josef Elmer */ public abstract class AbstractSymbolFactory implements SymbolFactory { /** Size of all symbols. */ protected final double _size; /** Attributes of all symbols. */ protected final GraphicAttributes _attributes; /** * Creates an instance from the specified configuration parameters. * * * * * * * * * *
Key & Default ValueTypeMandatoryDescription
size = 0.01doublenoSize of the symbol in device-independent units.
attributesConfigParametersnoConfiguration parameters for the attributes of the symbol. * className has to be a class which is an instance of * {@link GraphicAttributes}.
*/ public AbstractSymbolFactory(ConfigParameters config) { _size = config.getDouble(SIZE_KEY, DEFAULT_SIZE); _attributes = (GraphicAttributes) Factory.createOrGet( config.getNode(ATTRIBUTES_KEY), null); } /** * Creates a symbol. * Evaluate hintFromPreviousPoint if it is a {@link AttributesHint}. * Calls {@link #createSymbol(GraphPoint, GraphicAttributes, Hint, Hint)}. * @param point Symbol position. * @param hintFromPreviousPoint Hint from the previous point. * @param hintFromPreviousCurve Hint from the previous curve. */ public Symbol createSymbol(GraphPoint point, Hint hintFromPreviousPoint, Hint hintFromPreviousCurve) { GraphicAttributes attributes = _attributes; Hint hintForNextPoint = hintFromPreviousPoint; if (hintFromPreviousPoint instanceof AttributesHint) { attributes = ((AttributesHint) hintFromPreviousPoint).getAttributes(); hintForNextPoint = ((AttributesHint) hintFromPreviousPoint).getNextHint(); } return createSymbol(point, attributes, hintForNextPoint, hintFromPreviousCurve); } /** * Creates a symbol. * Uses {@link #createPlainSymbol createPlainSymbol()}. * @param point Symbol position. * @param attributes Symbol attributes. * @param hintForNextPoint Hint for the next point. Will be delivered * unchanged in the return Symbol object. * @param hintFromPreviousCurve Hint from the previous curve. * Will be delivered unchanged in the return Symbol object. * Subclasses may override this behavior. */ protected Symbol createSymbol(GraphPoint point, GraphicAttributes attributes, Hint hintForNextPoint, Hint hintFromPreviousCurve) { return new Symbol(createPlainSymbol(point, _size, attributes), hintForNextPoint, hintFromPreviousCurve); } /** * Creates a symbol for the legend at the specified position. * Uses {@link #createPlainSymbol createPlainSymbol()} * @param centerPosition Center position of the symbol. * @param size The size of the symbol. Will be ignored because the value * given in the constructor will be used. */ public GraphicalElement createLegendSymbol(GraphPoint centerPosition, double size) { return createPlainSymbol(centerPosition, _size, _attributes); } /** * Creates the graphical element of the plain symbol. * @param centerPosition Center position of the symbol. * @param size The size of the symbol. * @param attributes The attributes of the symbol. */ protected abstract GraphicalElement createPlainSymbol( GraphPoint centerPosition, double size, GraphicAttributes attributes); } plantuml-1.2018.13+ds/src/jcckit/plot/AttributesHint.java000066400000000000000000000027141340005343600231170ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import jcckit.graphic.GraphicAttributes; /** * A {@link Hint} which wraps a {@link GraphicAttributes} instance. * In addition the method {@link #getNextHint()} creates a new instance * with different attributes derivated from the wrapped attributes. * * @author Franz-Josef Elmer */ public interface AttributesHint extends Hint { /** * Returns the hint for the next {@link Symbol} of a {@link Curve}. * The new hint has a different {@link GraphicAttributes}. */ public AttributesHint getNextHint(); /** Returns the attributes value. */ public GraphicAttributes getAttributes(); } plantuml-1.2018.13+ds/src/jcckit/plot/AxisParameters.java000066400000000000000000000526021340005343600230770ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import java.util.Properties; import jcckit.graphic.BasicGraphicAttributes; import jcckit.graphic.GraphPoint; import jcckit.graphic.LineAttributes; import jcckit.graphic.ShapeAttributes; import jcckit.graphic.TextAttributes; import jcckit.util.ConfigData; import jcckit.util.ConfigParameters; import jcckit.util.ConfigParametersBasedConfigData; import jcckit.util.Factory; import jcckit.util.Format; import jcckit.util.PropertiesBasedConfigData; import jcckit.util.TicLabelFormat; import jcckit.util.Util; /** * Helper class with various parameters defining an axis. * This helper class is used by {@link CartesianCoordinateSystem} * to set up a coordinate systems. *

* This class holds more than a dozen parameters. There are two factory * methods creating instances for x- and y-axis based on * {@link ConfigParameters}. They differ in their default parameters for * those axes. *

* Note, that there is a direct access of these parameters without getters * and setters but only for classes in the package jcckit.plot. * * @author Franz-Josef Elmer */ public class AxisParameters { /** Configuration parameter key. */ public static final String LOG_SCALE_KEY = "logScale", MINIMUM_KEY = "minimum", MAXIMUM_KEY = "maximum", AXIS_LENGTH_KEY = "axisLength", AXIS_ATTRIBUTES_KEY = "axisAttributes", AXIS_LABEL_KEY = "axisLabel", AXIS_LABEL_POSITION_KEY = "axisLabelPosition", AXIS_LABEL_ATTRIBUTES_KEY = "axisLabelAttributes", AUTOMATIC_TIC_CALCULATION_KEY = "automaticTicCalculation", MINIMUM_TIC_KEY = "minimumTic", MAXIMUM_TIC_KEY = "maximumTic", NUMBER_OF_TICS_KEY = "numberOfTics", TIC_LENGTH_KEY = "ticLength", TIC_ATTRIBUTES_KEY = "ticAttributes", TIC_LABEL_FORMAT_KEY = "ticLabelFormat", TIC_LABEL_POSITION_KEY = "ticLabelPosition", TIC_LABEL_ATTRIBUTES_KEY = "ticLabelAttributes", GRID_KEY = "grid", GRID_ATTRIBUTES_KEY = "gridAttributes"; private static final double LN10 = Math.log(10); /** If true the scale is logarithmic otherwise linear. */ boolean logScale; /** Minimum data value represented by the axis. */ double minimum; /** Maximum data value represented by the axis. */ double maximum; /** Length of the axis in device-independent graphical units. */ double axisLength; /** * Line attributes of the axis. * Can be null which means default attributes. */ LineAttributes axisAttributes; boolean automaticTicCalculation; double minimumTic; double maximumTic; int numberOfTics; /** * Length of the tics in device-independent graphical units. * If 0 no tics and tics label will be drawn. */ double ticLength; /** * Attributes of the tics. * Can be null which means default attributes. */ LineAttributes ticAttributes; /** Tic label formatter. */ TicLabelFormat ticLabelFormat; /** Position of the tic label relative to the tic. */ GraphPoint ticLabelPosition; /** Text attributes of the tic labels. */ TextAttributes ticLabelAttributes; /** If true grid lines are drawn. */ boolean grid; /** * Attributes of the grid lines. * Can be null which means default attributes. */ LineAttributes gridAttributes; /** Axis label. */ String axisLabel; /** Position of the axis label relative to the center of the axis. */ GraphPoint axisLabelPosition; /** Text attributes of the axis label. */ TextAttributes axisLabelAttributes; /** * Calculate the tics based on minimumTic, maximumTic, * and numberOfTics. If automaticTicCalculation == true * appropriated values for these fields are calculated. */ double[] calculateTics() { if (automaticTicCalculation) { calculateTicsParameters(); } double[] result = new double[numberOfTics]; if (numberOfTics > 0) { double b = Util.log(minimumTic, logScale); double a = Util.log(maximumTic, logScale); a = numberOfTics > 1 ? (a - b) / (numberOfTics - 1) : 0; for (int i = 0; i < result.length; i++) { result[i] = Util.exp(a * i + b, logScale); } result[0] = adjust(minimum, result[0]); result[numberOfTics - 1] = adjust(maximum, result[numberOfTics - 1]); } return result; } private void calculateTicsParameters() { double min = Math.min(minimum, maximum); double max = Math.max(minimum, maximum); if (logScale) { int minExponent = (int) (199.9999 + Math.log(min) / LN10) - 199; int maxExponent = (int) (200.0001 + Math.log(max) / LN10) - 200; minimumTic = Math.exp(LN10 * minExponent); maximumTic = Math.exp(LN10 * maxExponent); numberOfTics = maxExponent - minExponent + 1; } else { int baseExponent = (int) (199.69 + Math.log(max - min) / LN10) - 200; double base = 0.2 * Math.exp(LN10 * baseExponent); do { base *= 5; int minInt = (int) (999999.999999 + min / base) - 999999; int maxInt = (int) (1000000.000001 + max / base) - 1000000; minimumTic = minInt * base; maximumTic = maxInt * base; numberOfTics = maxInt - minInt + 1; } while (numberOfTics > 11); } } /** * Returns adjustingValue if value is very close * to adjustingValue. Otherwise value is returned. */ private static double adjust(double adjustingValue, double value) { return value != 0 && Math.abs(adjustingValue / value - 1) < 1e-11 ? adjustingValue : value; } /** * Returns a Properties object with those default parameters * which are common for x- and y-axis. */ private static Properties createDefaultAxisProperties() { Properties p = new Properties(); p.put(LOG_SCALE_KEY, "false"); p.put(MINIMUM_KEY, "0"); p.put(MAXIMUM_KEY, "1"); p.put(AXIS_LENGTH_KEY, "0.8"); p.put(AXIS_ATTRIBUTES_KEY + '/' + Factory.CLASS_NAME_KEY, ShapeAttributes.class.getName()); p.put(AXIS_LABEL_KEY, "x"); p.put(AXIS_LABEL_POSITION_KEY, "0 -0.05"); p.put(AXIS_LABEL_ATTRIBUTES_KEY + '/' + Factory.CLASS_NAME_KEY, BasicGraphicAttributes.class.getName()); p.put(AXIS_LABEL_ATTRIBUTES_KEY + '/' + BasicGraphicAttributes.HORIZONTAL_ANCHOR_KEY, "center"); p.put(AUTOMATIC_TIC_CALCULATION_KEY, "true"); p.put(TIC_LENGTH_KEY, "0.01"); p.put(TIC_ATTRIBUTES_KEY + '/' + Factory.CLASS_NAME_KEY, ShapeAttributes.class.getName()); p.put(TIC_LABEL_POSITION_KEY, "0 -0.01"); p.put(TIC_LABEL_FORMAT_KEY, "%1.1f"); p.put(TIC_LABEL_ATTRIBUTES_KEY + '/' + Factory.CLASS_NAME_KEY, BasicGraphicAttributes.class.getName()); p.put(TIC_LABEL_ATTRIBUTES_KEY + '/' + BasicGraphicAttributes.HORIZONTAL_ANCHOR_KEY, "center"); p.put(TIC_LABEL_ATTRIBUTES_KEY + '/' + BasicGraphicAttributes.VERTICAL_ANCHOR_KEY, "top"); p.put(GRID_KEY, "false"); p.put(GRID_ATTRIBUTES_KEY + '/' + Factory.CLASS_NAME_KEY, ShapeAttributes.class.getName()); return p; } /** * Returns a Properties object of the default parameters for * an x-axis. */ private static Properties createDefaultXAxisProperties() { Properties p = createDefaultAxisProperties(); p.put(AXIS_LABEL_KEY, "x"); p.put(AXIS_LABEL_POSITION_KEY, "0 -0.05"); p.put(AXIS_LABEL_ATTRIBUTES_KEY + '/' + BasicGraphicAttributes.VERTICAL_ANCHOR_KEY, "top"); p.put(TIC_LABEL_POSITION_KEY, "0 -0.01"); p.put(TIC_LABEL_ATTRIBUTES_KEY + '/' + BasicGraphicAttributes.HORIZONTAL_ANCHOR_KEY, "center"); p.put(TIC_LABEL_ATTRIBUTES_KEY + '/' + BasicGraphicAttributes.VERTICAL_ANCHOR_KEY, "top"); return p; } /** * Creates an x axis based on the specified configuration parameters. * All numbers (lengths, fontsizes, linethicknesses, etc.) are in * device-independent units. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Key & Default ValueTypeMandatoryDescription
automaticTicCalculation = truebooleannoHas to be true if the tics should be calculated * automatically.
axisAttributes = default values of * {@link ShapeAttributes}ConfigParametersnoAttributes of the axis box.
axisLabel = xStringnoAxis label.
axisLabelAttributes = default values of * {@link BasicGraphicAttributes} with a text anchor CENTER * TOP.ConfigParametersnoText attributes of axis label.
axisLabelPosition = 0 -0.05double[]noPosition of the anchor of the axis * label relative to the center of the x-axis line.
axisLength = 0.8doublenoLength of the x-axis.
grid = falsebooleannoIf true grid lines will be drawn through the axis * tics.
gridAttributes = default values of * {@link ShapeAttributes}ConfigParametersnoAttributes of the grid lines.
logScale = falsebooleannoIf true the axis will be logarithmic. Otherwise * the axis is linear.
maximum = 1doublenoThe corresponding data value of one end of the axis.
maximumTic = result from automatic calculationdoublenoThe corresponding data value of the tic nearest the maximum end * of the axis.
minimum = 0doublenoThe corresponding data value of one end of the axis.
minimumTic = result from automatic calculationdoublenoThe corresponding data value of the tic nearest the minimum end * of the axis.
numberOfTics = result from automatic calculationintnoNumber of tics. The tics between the minimum and maximum tic * are spaced equidistantly.
ticAttributes = default values of * {@link ShapeAttributes}ConfigParametersnoAttributes of the tics.
ticLabelAttributes = default values of * {@link BasicGraphicAttributes} with a text anchor CENTER * TOP.ConfigParametersnoText attributes of tic labels.
ticLabelFormat = %1.1fString or ConfigParametersnoDefines rendering of the tic label. By default a * printf-like format string is given (see {@link Format}). * Note, that an empty string means that tic labels are dropped. *

* For non-numerical rendering an implementation of a * {@link TicLabelFormat} can be specified (e.g. * {@link TicLabelMap}). Note, that a configuration sub tree with * a className key-value pair overwrites any string * definition.

ticLabelPosition = 0 -0.01double[]noPosition of the anchor of the tic label relative to the * tic position on the axis.
ticLength = 0.01doublenoLength of the tics. Negative/positive values mean tics * inside/outside the box.
*/ public static AxisParameters createXAxis(ConfigParameters config) { return createAxis(config, createDefaultXAxisProperties()); } /** * Returns a Properties object of the default parameters for * an x-axis. */ private static Properties createDefaultYAxisProperties() { Properties p = createDefaultAxisProperties(); p.put(AXIS_LENGTH_KEY, "0.45"); p.put(AXIS_LABEL_KEY, "y"); p.put(AXIS_LABEL_POSITION_KEY, "-0.1 0"); p.put(AXIS_LABEL_ATTRIBUTES_KEY + '/' + BasicGraphicAttributes.VERTICAL_ANCHOR_KEY, "bottom"); p.put(AXIS_LABEL_ATTRIBUTES_KEY + '/' + BasicGraphicAttributes.ORIENTATION_ANGLE_KEY, "90"); p.put(TIC_LABEL_POSITION_KEY, "-0.01 0"); p.put(TIC_LABEL_ATTRIBUTES_KEY + '/' + BasicGraphicAttributes.HORIZONTAL_ANCHOR_KEY, "right"); p.put(TIC_LABEL_ATTRIBUTES_KEY + '/' + BasicGraphicAttributes.VERTICAL_ANCHOR_KEY, "center"); return p; } /** * Creates an y axis based on the specified configuration parameters. * All numbers (lengths, fontsizes, linethicknesses, etc.) are in * device-independent units. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Key & Default ValueTypeMandatoryDescription
automaticTicCalculation = truebooleannoHas to be true if the tics should be calculated * automatically.
axisAttributes = default values of * {@link ShapeAttributes}ConfigParametersnoAttributes of the axis box.
axisLabel = yStringnoAxis label.
axisLabelAttributes = default values of * {@link BasicGraphicAttributes} with a text anchor CENTER * BOTTOM and the text rotated by 90 degree.ConfigParametersnoText attributes of axis label.
axisLabelPosition = -0.1 0double[]noPosition of the anchor of the axis * label relative to the center of the y-axis line.
axisLength = 0.45doublenoLength of the y-axis.
grid = falsebooleannoIf true grid lines will be drawn through the axis * tics.
gridAttributes = default values of * {@link ShapeAttributes}ConfigParametersnoAttributes of the grid lines.
logScale = falsebooleannoIf true the axis will be logarithmic. Otherwise * the axis is linear.
maximum = 1doublenoThe corresponding data value of one end of the axis.
maximumTic = result from automatic calculationdoublenoThe corresponding data value of the tic nearest the maximum end * of the axis.
minimum = 0doublenoThe corresponding data value of one end of the axis.
minimumTic = result from automatic calculationdoublenoThe corresponding data value of the tic nearest the minimum end * of the axis.
numberOfTics = result from automatic calculationintnoNumber of tics. The tics between the minimum and maximum tic * are spaced equidistantly.
ticAttributes = default values of * {@link ShapeAttributes}ConfigParametersnoAttributes of the tics.
ticLabelAttributes = default values of * {@link BasicGraphicAttributes} with a text anchor RIGHT CENTER. * ConfigParametersnoText attributes of tic labels.
ticLabelFormat = %1.1fStringnoDefines rendering of the tic label. By default a * printf-like format string is given (see {@link Format}). * Note, that an empty string means that tic labels are dropped. *

* For non-numerical rendering an implementation of a * {@link TicLabelFormat} can be specified (e.g. * {@link TicLabelMap}). Note, that a configuration sub tree with * a className key-value pair overwrites any string * definition.

ticLabelPosition = -0.01 0double[]noPosition of the anchor of the tic label relative to the * tic position on the axis.
ticLength = 0.01doublenoLength of the tics. Negative/positive values mean tics * inside/outside the box.
*/ public static AxisParameters createYAxis(ConfigParameters config) { return createAxis(config, createDefaultYAxisProperties()); } private static AxisParameters createAxis(ConfigParameters config, Properties p) { ConfigData cd = new PropertiesBasedConfigData(p); ConfigParameters c = new ConfigParameters(cd); cd = new ConfigParametersBasedConfigData(config, c); c = new ConfigParameters(cd); AxisParameters a = new AxisParameters(); a.logScale = c.getBoolean(LOG_SCALE_KEY); a.minimum = c.getDouble(MINIMUM_KEY); a.maximum = c.getDouble(MAXIMUM_KEY); a.axisLength = c.getDouble(AXIS_LENGTH_KEY); a.axisAttributes = (LineAttributes) Factory.create(c.getNode(AXIS_ATTRIBUTES_KEY)); a.axisLabel = c.get(AXIS_LABEL_KEY); a.axisLabelPosition = new GraphPoint(c.getDoubleArray(AXIS_LABEL_POSITION_KEY)); a.axisLabelAttributes = (TextAttributes) Factory.create( c.getNode(AXIS_LABEL_ATTRIBUTES_KEY)); a.ticLength = c.getDouble(TIC_LENGTH_KEY); a.automaticTicCalculation = c.getBoolean(AUTOMATIC_TIC_CALCULATION_KEY); if (!a.automaticTicCalculation) { a.calculateTicsParameters(); // calculate default parameters a.minimumTic = c.getDouble(MINIMUM_TIC_KEY, a.minimumTic); a.maximumTic = c.getDouble(MAXIMUM_TIC_KEY, a.maximumTic); a.numberOfTics = c.getInt(NUMBER_OF_TICS_KEY, a.numberOfTics); } a.ticAttributes = (LineAttributes) Factory.create(c.getNode(TIC_ATTRIBUTES_KEY)); a.ticLabelFormat = createTicLabelFormat(c); a.ticLabelPosition = new GraphPoint(c.getDoubleArray(TIC_LABEL_POSITION_KEY)); a.ticLabelAttributes = (TextAttributes) Factory.create( c.getNode(TIC_LABEL_ATTRIBUTES_KEY)); a.grid = c.getBoolean(GRID_KEY); a.gridAttributes = (LineAttributes) Factory.create(c.getNode(GRID_ATTRIBUTES_KEY)); return a; } private static TicLabelFormat createTicLabelFormat(ConfigParameters c) { TicLabelFormat result = Format.create(c, TIC_LABEL_FORMAT_KEY); ConfigParameters node = c.getNode(TIC_LABEL_FORMAT_KEY); if (node.get(Factory.CLASS_NAME_KEY, null) != null) { result = (TicLabelFormat) Factory.create(node); } return result; } } plantuml-1.2018.13+ds/src/jcckit/plot/BarFactory.java000066400000000000000000000123341340005343600222010ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import jcckit.graphic.ClippingShape; import jcckit.graphic.GraphPoint; import jcckit.graphic.GraphicAttributes; import jcckit.graphic.GraphicalElement; import jcckit.graphic.Rectangle; import jcckit.util.ConfigParameters; /** * A factory of bars. The bars are {@link Rectangle Rectangles}. * Depending on the configuration parameters the bars can be * horizontal or vertical. Bars of several curves can be side by side or * stacked. The bar length is determined by the x or y value of the * curve point in device-independent coordinates. If the value is negative * the bar goes into the negative direction. For stacked bars the values * should always be positive. *

* When used inside a {@link SimpleCurve} soft clipping should always be * switched off (see * {@link SimpleCurve#SimpleCurve(ConfigParameters, int, int, ClippingShape, Legend)}). * * @author Franz-Josef Elmer */ public class BarFactory extends AbstractSymbolFactory { /** Configuration parameter key. */ public static final String STACKED_KEY = "stacked", HORIZONTAL_BARS_KEY = "horizontalBars"; private final boolean _stacked; private final boolean _horizontalBars; /** * Creates an instance from the specified configuration parameters. * * * * * * * * * *
Key & Default ValueTypeMandatoryDescription
horizontalBars = falsebooleannoIf true horizontal bars will be drawn. Otherwise * vertical bars are drawn.
stacked = falsebooleannoIf true the bars of several curves will be * stacked.
* In addition the configuration parameters of the * * constructor of the superclass {@link AbstractSymbolFactory} apply. */ public BarFactory(ConfigParameters config) { super(config); _horizontalBars = config.getBoolean(HORIZONTAL_BARS_KEY, false); _stacked = config.getBoolean(STACKED_KEY, false); } /** * Creates a bar at the specified point. * If hintFromPreviousCurve * is not an instance of {@link PositionHint} the values of * origin and position will be (0,0). * @param hintFromPreviousCurve Hint from previous curve. Will be used * to calculate symbol shape and hint for the next curve. */ protected Symbol createSymbol(GraphPoint point, GraphicAttributes attributes, Hint hintForNextPoint, Hint hintFromPreviousCurve) { GraphPoint origin = new GraphPoint(null); GraphPoint position = origin; if (hintFromPreviousCurve instanceof PositionHint) { origin = ((PositionHint) hintFromPreviousCurve).getOrigin(); position = ((PositionHint) hintFromPreviousCurve).getPosition(); } double px = position.getX(); double py = position.getY(); double x = point.getX() - origin.getX(); double y = point.getY() - origin.getY(); if (_horizontalBars) { y = _size; position = new GraphPoint(px + 0.5 * x, point.getY() + py); px += _stacked ? x : 0; py += _stacked ? 0 : _size; } else { x = _size; position = new GraphPoint(point.getX() + px, py + 0.5 * y); px += _stacked ? 0 : _size; py += _stacked ? y : 0; } Hint hintForNextCurve = new PositionHint(origin, new GraphPoint(px, py)); return new Symbol(new Rectangle(position, Math.abs(x), Math.abs(y), attributes), hintForNextPoint, hintForNextCurve); } /** * Creates a symbol for the legend at the specified position. * @param centerPosition Center position of the symbol. * @param size The size of the symbol. */ public GraphicalElement createLegendSymbol(GraphPoint centerPosition, double size) { return new Rectangle(centerPosition, size, size, _attributes); } /** * Returns null because this method isn't needed but has to be * implemented. */ protected GraphicalElement createPlainSymbol( GraphPoint centerPosition, double size, GraphicAttributes attributes) { return null; } } plantuml-1.2018.13+ds/src/jcckit/plot/CartesianCoordinateSystem.java000066400000000000000000000210001340005343600252610ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import jcckit.data.DataPoint; import jcckit.graphic.ClippingRectangle; import jcckit.graphic.ClippingShape; import jcckit.graphic.GraphPoint; import jcckit.graphic.GraphicAttributes; import jcckit.graphic.GraphicalComposite; import jcckit.graphic.GraphicalElement; import jcckit.graphic.LineAttributes; import jcckit.graphic.Polygon; import jcckit.graphic.Text; import jcckit.transformation.CartesianTransformation; import jcckit.transformation.Transformation; import jcckit.util.ConfigParameters; /** * A Cartesian coordinate system. One or both axes can be logarithmic. * * @author Franz-Josef Elmer */ public class CartesianCoordinateSystem implements CoordinateSystem { /** Configuration parameter key. */ public static final String ORIGIN_KEY = "origin", X_AXIS_KEY = "xAxis", Y_AXIS_KEY = "yAxis"; private final CartesianTransformation _transformation; private final GraphicalComposite _view; private final ClippingRectangle _clippingRectangle; /** * Creates an instance from the specified configuration parameters. * * * * * * * * * * * * *
Key & Default ValueTypeMandatoryDescription
origin = 0.15, 0.1double[]noPosition (in device-independent coordinates) of the lower-left * corner of the axis box.
xAxisConfigParametersnoParameters defining the x-axis. For definitions and default * values see {@link AxisParameters#createXAxis * AxisParameters.createXAxis()}.
yAxisConfigParametersnoParameters defining the y-axis. For definitions and default * values see {@link AxisParameters#createYAxis * AxisParameters.createYAxis()}.
*/ public CartesianCoordinateSystem(ConfigParameters config) { this(new GraphPoint(config.getDoubleArray(ORIGIN_KEY, new double[] {0.15, 0.1})), AxisParameters.createXAxis(config.getNode(X_AXIS_KEY)), AxisParameters.createYAxis(config.getNode(Y_AXIS_KEY))); } /** * Creates an instance for the specified origin and parameters * of both axes. * @param origin Position (in device-independent coordinates) of the * lower-left corner of the axis box. * @param xAxisParameters Parameters of the x-axis. * @param yAxisParameters Parameters of the y-axis. */ public CartesianCoordinateSystem(GraphPoint origin, AxisParameters xAxisParameters, AxisParameters yAxisParameters) { double x = origin.getX(); double y = origin.getY(); _transformation = new CartesianTransformation(xAxisParameters.logScale, yAxisParameters.logScale, new DataPoint(xAxisParameters.minimum, yAxisParameters.minimum), new GraphPoint(x, y), new DataPoint(xAxisParameters.maximum, yAxisParameters.maximum), new GraphPoint(x + xAxisParameters.axisLength, y + yAxisParameters.axisLength)); _clippingRectangle = new ClippingRectangle(x, y, x + xAxisParameters.axisLength, y + yAxisParameters.axisLength); _view = new GraphicalComposite(null); createView(origin, xAxisParameters, yAxisParameters); } /** Creates the graphical representation of this coordinate system. */ private void createView(GraphPoint origin, AxisParameters xAxisParameters, AxisParameters yAxisParameters) { double x0 = origin.getX(); double x1 = x0 + xAxisParameters.axisLength; double y0 = origin.getY(); double y1 = y0 + yAxisParameters.axisLength; GraphPoint lowerLeftCorner = new GraphPoint(x0, y0); GraphPoint upperLeftCorner = new GraphPoint(x0, y1); GraphPoint lowerRightCorner = new GraphPoint(x1, y0); GraphPoint upperRightCorner = new GraphPoint(x1, y1); LineAttributes xLineAttributes = xAxisParameters.axisAttributes; LineAttributes yLineAttributes = yAxisParameters.axisAttributes; createTicsAndGrid(true, y0, y1, xAxisParameters); createTicsAndGrid(false, x0, x1, yAxisParameters); addLine(lowerLeftCorner, lowerRightCorner, xLineAttributes); addLine(lowerLeftCorner, upperLeftCorner, yLineAttributes); addLine(upperLeftCorner, upperRightCorner, xLineAttributes); addLine(lowerRightCorner, upperRightCorner, yLineAttributes); createLabel(0.5 * (x0 + x1), y0, xAxisParameters); createLabel(x0, 0.5 * (y0 + y1), yAxisParameters); } private void createLabel(double x, double y, AxisParameters parameters) { if (parameters.axisLabel.length() > 0) { _view.addElement(new Text( new GraphPoint(x + parameters.axisLabelPosition.getX(), y + parameters.axisLabelPosition.getY()), parameters.axisLabel, parameters.axisLabelAttributes)); } } private void createTicsAndGrid(boolean isXAxis, double low, double high, AxisParameters parameters) { double[] tics = parameters.calculateTics(); int offIndex = isXAxis ? 1 : 0; double[] point = new double[2]; // helper array for (int i = 0; i < tics.length; i++) { point[1 - offIndex] = tics[i]; point[offIndex] = 1; GraphPoint gPoint1 = _transformation.transformToGraph(new DataPoint(point[0], point[1])); point[0] = gPoint1.getX(); point[1] = gPoint1.getY(); point[offIndex] = high; gPoint1 = new GraphPoint(point[0], point[1]); point[offIndex] += parameters.ticLength; addLine(gPoint1, new GraphPoint(point[0], point[1]), parameters.ticAttributes); point[offIndex] = low; GraphPoint gPoint2 = new GraphPoint(point[0], point[1]); if (parameters.grid) { addLine(gPoint1, gPoint2, parameters.gridAttributes); } point[offIndex] -= parameters.ticLength; addLine(gPoint2, new GraphPoint(point[0], point[1]), parameters.ticAttributes); if (parameters.ticLabelFormat != null) { point[offIndex] += parameters.ticLength; point[0] += parameters.ticLabelPosition.getX(); point[1] += parameters.ticLabelPosition.getY(); _view.addElement(new Text(new GraphPoint(point[0], point[1]), parameters.ticLabelFormat.form(tics[i]), parameters.ticLabelAttributes)); } } } private void addLine(GraphPoint point1, GraphPoint point2, GraphicAttributes attributes) { Polygon line = new Polygon(attributes, false); line.addPoint(point1); line.addPoint(point2); _view.addElement(line); } /** * Returns the graphical representation of the coordinate system. * In each call the same instance is returned. */ public GraphicalElement getView() { return _view; } /** * Returns the clipping rectangle of specified by the axis. * In each call the same instance is returned. */ public ClippingShape getClippingShape() { return _clippingRectangle; } /** * Returns the transformation of data coordinates into the device-independent * coordinates of the axis box. * In each call the same instance is returned. */ public Transformation getTransformation() { return _transformation; } } plantuml-1.2018.13+ds/src/jcckit/plot/CircleSymbolFactory.java000066400000000000000000000037571340005343600240750ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import jcckit.graphic.GraphPoint; import jcckit.graphic.GraphicAttributes; import jcckit.graphic.GraphicalElement; import jcckit.graphic.Oval; import jcckit.util.ConfigParameters; /** * A factory of circle symbols. * * @author Franz-Josef Elmer */ public class CircleSymbolFactory extends AbstractSymbolFactory { /** * Creates an instance from the specified configuration parameters. * For the configuration parameters see the * * constructor of the superclass {@link AbstractSymbolFactory}. */ public CircleSymbolFactory(ConfigParameters config) { super(config); } /** * Creates a circle. * @param centerPosition Position of the center of the circle. * @param size Diameter of the circle. * @param attributes Circle attributes. */ protected GraphicalElement createPlainSymbol(GraphPoint centerPosition, double size, GraphicAttributes attributes) { return new Oval(centerPosition, size, size, attributes); } } plantuml-1.2018.13+ds/src/jcckit/plot/CoordinateSystem.java000066400000000000000000000040501340005343600234350ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import jcckit.graphic.ClippingShape; import jcckit.graphic.GraphicalElement; import jcckit.transformation.Transformation; /** * Interface for all generators of coordinate systems. A * CoordinateSystem creates a * {@link jcckit.graphic.GraphicalComposite} which contains all the * {@link GraphicalElement GraphicalElements} defining axes, labels, grid, etc. * * @author Franz-Josef Elmer */ public interface CoordinateSystem { /** * Returns the graphical representation of a coordinate * system. Different invocations of this method may return * different coordinate systems, e.g., due to changes in the * transformation or clipping shapes. */ public GraphicalElement getView(); /** * Returns the clipping chape of {@link Curve Curves} drawn on top * of the coordinates system. Different invocations of * this method may return different clipping shapes. */ public ClippingShape getClippingShape(); /** * Returns the transformation between data coordinates and * device-independent graphcial coordinates. Different invocations * of this method may return different transformations. */ public Transformation getTransformation(); } plantuml-1.2018.13+ds/src/jcckit/plot/Curve.java000066400000000000000000000045531340005343600212350ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import jcckit.graphic.GraphPoint; import jcckit.graphic.GraphicalElement; /** * A curve is defined by a sequence of points in device-independent * coordinates. The points can be decorated by symbols and/or * connected by lines.{@link Hint Hints} are used to determine additional * properties of the symbol. This is especially important for * charts with bars. *

* In accordance with the Factory Method Pattern * the symbols are created by a {@link SymbolFactory}. * * @author Franz-Josef Elmer */ public interface Curve { /** * Returns the graphical representation of a curve. * Different invocations of this method might return * different instances. * This is especially true after adding, inserting, removing, or * repplacing a point of the curve. */ public GraphicalElement getView(); /** * Returns a symbol which can be used to create the legend for the curve. * For example, it should return a horizontal line with the symbol * in the middle if the curve is a line with points decorated by symbols. */ public GraphicalElement getLegendSymbol(); /** * Appends a new point to the curve. * @param point Position in device-independent coordinates. * @param hintFromPreviousCurve Hint which may be used to calculate * the corresponding {@link GraphicalElement}. * @return hint for next curve. */ public Hint addPoint(GraphPoint point, Hint hintFromPreviousCurve); /** Removes all points from the curve. */ public void removeAllPoints(); } plantuml-1.2018.13+ds/src/jcckit/plot/CurveFactory.java000066400000000000000000000031551340005343600225620ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import jcckit.graphic.ClippingShape; /** * Interface of a curve factory. A curve factory creates a new instance * of a {@link Curve}. * * @author Franz-Josef Elmer */ public interface CurveFactory { /** * Creates a new curve instance. * @param curveIndex The index of the curve in the {@link Plot} to which * it should belong. * @param numberOfCurves Number of curves. Will be needed to calculate the * y-coordinate of the legend symbol. * @param clippingShape Clipping shape applied to the curve. * @param legend The legend which will show the curve symbol. * @return an empty instance. */ public Curve create(int curveIndex, int numberOfCurves, ClippingShape clippingShape, Legend legend); } plantuml-1.2018.13+ds/src/jcckit/plot/ErrorBarFactory.java000066400000000000000000000133451340005343600232160ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import jcckit.graphic.GraphPoint; import jcckit.graphic.GraphicAttributes; import jcckit.graphic.GraphicalComposite; import jcckit.graphic.GraphicalElement; import jcckit.graphic.Rectangle; import jcckit.util.ConfigParameters; import jcckit.util.Factory; /** * Symbol factory for creating symbols with error bars. It wraps * a {@link SymbolFactory} for creating the symbol. The error bars * are {@link Rectangle Rectangles}. *

* Curves with error bars are based on two * {@link jcckit.data.DataCurve DataCurves}: *

  1. The plain curve. *
  2. An instance which stores the errors in x and y. * It is assumed that the errors are positive values defining * the error symmetrically around the curve points. *
*

* The ErrorBarFactory needs an instance of {@link PositionHint} * as initial {@link Hint} for the next curve. Its origin must be * the origin of the data coordinate system in device-independent coordinates. * The position of PositionHint must be undefined. * * @author Franz-Josef Elmer */ public class ErrorBarFactory implements SymbolFactory { /** Configuration parameter key. */ public static final String SYMBOL_FACTORY_KEY = "symbolFactory"; private final SymbolFactory _symbolFactory; private final GraphicAttributes _attributes; private final double _size; /** * Creates an instance from the specified configuration parameters. * * * * * * * * * * * * *
Key & Default ValueTypeMandatoryDescription
symbolFactory = nullConfigParametersnoDefinition of the wrapped {@link SymbolFactory} which generates * the curve symbol without bars. By default an empty * {@link GraphicalComposite} will be created.
size = 0doublenoWidth of the error bars.
attributes = nullConfigParametersnoDefinition of the {@link GraphicAttributes} of the error * bars.
*/ public ErrorBarFactory(ConfigParameters config) { _symbolFactory = (SymbolFactory) Factory.createOrGet( config.getNode(SYMBOL_FACTORY_KEY), null); _size = config.getDouble(SIZE_KEY, 0); _attributes = (GraphicAttributes) Factory.createOrGet( config.getNode(ATTRIBUTES_KEY), null); } /** * Creates the legend symbol. Calls the wrapped {@link SymbolFactory} * or returns an empty instance of {@link GraphicalComposite} if undefined. */ public GraphicalElement createLegendSymbol(GraphPoint centerPosition, double size) { return _symbolFactory == null ? new GraphicalComposite(null) : _symbolFactory.createLegendSymbol(centerPosition, size); } /** * Creates either the curve symbol or the error bars. Error bars are * created when hintFromPreviousCurve is an instance of * {@link PositionHint} and its position attribute is not null. * Otherwise the curve symbol is created. The position attributes stores * the curve point (in device-independent coordinates). The origin is * always as set in the initial PositionHint. The hint for * the next curve wrapped by the returned Symbol is always * a PositionHint. */ public Symbol createSymbol(GraphPoint point, Hint hintFromPreviousPoint, Hint hintFromPreviousCurve) { GraphPoint origin = new GraphPoint(null); GraphPoint position = null; if (hintFromPreviousCurve instanceof PositionHint) { origin = ((PositionHint) hintFromPreviousCurve).getOrigin(); position = ((PositionHint) hintFromPreviousCurve).getPosition(); } if (position == null) { if (_symbolFactory == null) { return new Symbol(new GraphicalComposite(null), hintFromPreviousPoint, new PositionHint(origin, point)); } else { return _symbolFactory.createSymbol(point, hintFromPreviousPoint, new PositionHint(origin, point)); } } else { double xError = point.getX() - origin.getX(); double yError = point.getY() - origin.getY(); GraphicalComposite errorBars = new GraphicalComposite(null); if (xError > 0) { errorBars.addElement(new Rectangle(position, 2 * xError, _size, _attributes)); } if (yError > 0) { errorBars.addElement(new Rectangle(position, _size, 2 * yError, _attributes)); } return new Symbol(errorBars, hintFromPreviousPoint, new PositionHint(origin, null)); } } } plantuml-1.2018.13+ds/src/jcckit/plot/Hint.java000066400000000000000000000024401340005343600210440ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; /** * Marker interface of all types of hints. Hints are used to calculate * {@link jcckit.graphic.GraphicalElement} representing a point in a {@link * Curve}. For example, in a chart with stacked * bars the data determines the height of a bar but the foot of * a bar is determined by the height of the bar below. Its value will be * stored in a {@link PositionHint}. * * @author Franz-Josef Elmer */ public interface Hint {} plantuml-1.2018.13+ds/src/jcckit/plot/Legend.java000066400000000000000000000256721340005343600213540ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import java.util.Properties; import jcckit.graphic.BasicGraphicAttributes; import jcckit.graphic.GraphPoint; import jcckit.graphic.GraphicAttributes; import jcckit.graphic.GraphicalComposite; import jcckit.graphic.GraphicalElement; import jcckit.graphic.Polygon; import jcckit.graphic.Rectangle; import jcckit.graphic.ShapeAttributes; import jcckit.graphic.Text; import jcckit.graphic.TextAttributes; import jcckit.util.ConfigData; import jcckit.util.ConfigParameters; import jcckit.util.ConfigParametersBasedConfigData; import jcckit.util.Factory; import jcckit.util.PropertiesBasedConfigData; /** * Helper class for creating the legend of a {@link Plot}. * * @author Franz-Josef Elmer */ public class Legend { /** Configuration parameter key. */ public static final String UPPER_RIGHT_CORNER_KEY = "upperRightCorner", BOX_WIDTH_KEY = "boxWidth", BOX_HEIGHT_KEY = "boxHeight", BOX_ATTRIBUTES_KEY = "boxAttributes", TITLE_KEY = "title", TITLE_DISTANCE_KEY = "titleDistance", TITLE_ATTRIBUTES_KEY = "titleAttributes", LEFT_DISTANCE_KEY = "leftDistance", BOTTOM_DISTANCE_KEY = "bottomDistance", TOP_DISTANCE_KEY = "topDistance", LINE_LENGTH_KEY = "lineLength", SYMBOL_SIZE_KEY = "symbolSize", CURVE_TITLE_DISTANCE_KEY = "curveTitleDistance", CURVE_TITLE_ATTRIBUTES_KEY = "curveTitleAttributes"; private final GraphicalComposite _box; private final TextAttributes _curveTitleAttributes; private final double _xSymbol; private final double _xText; private final double _yBase; private final double _yLastRow; private final double _length; private final double _size; /** * Creates an instance from the specified configuration parameters. * All numbers (lengths, fontsizes, linethicknesses, etc.) are in * device-independent units. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Key & Default ValueTypeMandatoryDescription
bottomDistance = 0.02doublenoDistance between the last row and the bottom of the legend box. *
boxAttributes = default values of * {@link ShapeAttributes} with a white fill color.ConfigParametersnoAttributes of the legend box.
boxHeight = 0.1doublenoHeight of the legend box.
boxWidth = 0.2doublenoWidth of the legend box.
curveTitleAttributes = default values of * {@link BasicGraphicAttributes}ConfigParametersnoText attributes of curve titles printed in the legend.
curveTitleDistance = 0.005doublenoHorizontal distance between the line part of the legend symbol * and the curve title.
leftDistance = 0.01doublenoHorizontal distance between the line part of the legend symbol * and the left border of the legend box.
lineLength = 0.035doublenoLength of the line part of the legend symbol.
symbolSize = 0.01doublenoSize of the symbol part of the legend symbol. Will be the * size argument of {@link SymbolFactory#createLegendSymbol * createLegendSymbol} in a {@link SymbolFactory}.
titleAttributes = default values of * {@link BasicGraphicAttributes} with a text anchor CENTER * TOP.ConfigParametersnoText attributes of the title of the legend box.
title = LegendStringnoTitle of the legend box.
titleDistance = 0.005doublenoDistance between the center of the upper line of the legend box * and the anchor of the legend title.
topDistance = 0.04doublenoDistance between the first row and the top of the legend box. *
upperRightCorner = 0.94, 0.54double[]noPosition of the upper-right corner of the legend box.
*/ public Legend(ConfigParameters config) { config = mergeWithDefaultConfig(config); GraphPoint corner = new GraphPoint(config.getDoubleArray(UPPER_RIGHT_CORNER_KEY, new double[] {0.94, 0.54})); double width = config.getDouble(BOX_WIDTH_KEY, 0.2); double height = config.getDouble(BOX_HEIGHT_KEY, 0.1); _curveTitleAttributes = (TextAttributes) Factory.create( config.getNode(CURVE_TITLE_ATTRIBUTES_KEY)); _xSymbol = corner.getX() - width + config.getDouble(LEFT_DISTANCE_KEY, 0.01); _yBase = corner.getY() - config.getDouble(TOP_DISTANCE_KEY, 0.04); _yLastRow = corner.getY() - height + config.getDouble(BOTTOM_DISTANCE_KEY, 0.02); _length = config.getDouble(LINE_LENGTH_KEY, 0.035); _size = config.getDouble(SYMBOL_SIZE_KEY, 0.01); _xText = _xSymbol + _length + config.getDouble(CURVE_TITLE_DISTANCE_KEY, 0.005); _box = new GraphicalComposite(null); double xCenter = corner.getX() - width / 2; _box.addElement(new Rectangle( new GraphPoint(xCenter, corner.getY() - height / 2), width, height, (GraphicAttributes) Factory.create( config.getNode(BOX_ATTRIBUTES_KEY)))); _box.addElement(new Text( new GraphPoint(xCenter, corner.getY() - config.getDouble(TITLE_DISTANCE_KEY, 0.005)), config.get(TITLE_KEY, "Legend"), (TextAttributes) Factory.create( config.getNode(TITLE_ATTRIBUTES_KEY)))); } private ConfigParameters mergeWithDefaultConfig(ConfigParameters config) { Properties p = new Properties(); p.put(BOX_ATTRIBUTES_KEY + '/' + Factory.CLASS_NAME_KEY, ShapeAttributes.class.getName()); p.put(BOX_ATTRIBUTES_KEY + '/' + ShapeAttributes.FILL_COLOR_KEY, "0xffffff"); p.put(BOX_ATTRIBUTES_KEY + '/' + ShapeAttributes.LINE_COLOR_KEY, "0"); p.put(TITLE_ATTRIBUTES_KEY + '/' + Factory.CLASS_NAME_KEY, BasicGraphicAttributes.class.getName()); p.put(TITLE_ATTRIBUTES_KEY + '/' + BasicGraphicAttributes.HORIZONTAL_ANCHOR_KEY, "center"); p.put(TITLE_ATTRIBUTES_KEY + '/' + BasicGraphicAttributes.VERTICAL_ANCHOR_KEY, "top"); p.put(CURVE_TITLE_ATTRIBUTES_KEY + '/' + Factory.CLASS_NAME_KEY, BasicGraphicAttributes.class.getName()); ConfigData cd = new PropertiesBasedConfigData(p); cd = new ConfigParametersBasedConfigData(config, new ConfigParameters(cd)); return new ConfigParameters(cd); } /** * Returns the legend box with title but without legend symbols and curve * titles. */ public GraphicalElement getBox() { return _box; } /** * Creates the symbol part of a legend symbol. * @param curveIndex Index of the curve. Will be needed to calculate the * y-coordinate of the symbol. * @param numberOfCurves Number of curves. Will be needed to calculate the * y-coordinate of the symbol. * @param factory Factory for the symbol part of the legend symbol. * Can be null. * @param withLine true if the line part of the legend symbol * should be created. * @param lineAttributes Attributes of the line part. */ public GraphicalElement createSymbol(int curveIndex, int numberOfCurves, SymbolFactory factory, boolean withLine, GraphicAttributes lineAttributes) { GraphicalComposite result = new GraphicalComposite(null); double y = calculateBaseLine(curveIndex, numberOfCurves); if (withLine) { Polygon line = new Polygon(lineAttributes, false); line.addPoint(new GraphPoint(_xSymbol, y)); line.addPoint(new GraphPoint(_xSymbol + _length, y)); result.addElement(line); } if (factory != null) { result.addElement(factory.createLegendSymbol( new GraphPoint(_xSymbol + _length / 2, y), _size)); } return result; } private double calculateBaseLine(int curveIndex, int numberOfCurves) { if (numberOfCurves > 1) { return _yBase + ((_yLastRow - _yBase) / (numberOfCurves - 1)) * curveIndex; } else { return 0.5 * (_yBase + _yLastRow); } } /** * Creates the title part of a legend symbol. * @param curveIndex Index of the curve. Will be needed to calculate the * y-coordinate of the title. * @param numberOfCurves Number of curves. Will be needed to calculate the * y-coordinate of the symbol. * @param title Title text. */ public GraphicalElement createCurveTitle(int curveIndex, int numberOfCurves, String title) { return new Text(new GraphPoint(_xText, calculateBaseLine(curveIndex, numberOfCurves)), title, _curveTitleAttributes); } } plantuml-1.2018.13+ds/src/jcckit/plot/Plot.java000066400000000000000000000340571340005343600210710ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import java.util.Vector; import jcckit.data.DataCurve; import jcckit.data.DataEvent; import jcckit.data.DataListener; import jcckit.data.DataPlot; import jcckit.data.DataPoint; import jcckit.graphic.ClippingShape; import jcckit.graphic.GraphPoint; import jcckit.graphic.GraphicalComposite; import jcckit.graphic.GraphicalElement; import jcckit.transformation.Transformation; import jcckit.util.ConfigParameters; import jcckit.util.Factory; /** * A plot is determined by a {@link CoordinateSystem}, {@link Curve Curves}, * an optional annotation layer and an optional {@link Legend}. When rendered * these components are draw in this order. *

* Registrated {@link PlotListener PlotListeners} will be informed * when the plot changes. *

* A {@link DataPlot} can be connected with a Plot instance. * This is done with the method {@link #connect connect()} which registrates * this Plot instance as * a {@link DataListener} at the connected DataPlot. * After an received {@link DataEvent DataEvents} has been handled * the registrated PlotListeners will receive a * {@link PlotEvent} of the type {@link PlotEventType#DATA_PLOT_CHANGED}. * * @author Franz-Josef Elmer */ public class Plot implements DataListener { /** Configuration parameter key. */ public static final String COORDINATE_SYSTEM_KEY = "coordinateSystem", CURVE_FACTORY_KEY = "curveFactory", LEGEND_VISIBLE_KEY = "legendVisible", LEGEND_KEY = "legend", INITIAL_HINT_FOR_NEXT_CURVE_KEY = "initialHintForNextCurve"; private final Vector _plotListeners = new Vector(); private DataPlot _dataPlot; private final CurveFactory _curveFactory; private final Vector _curves = new Vector(); private final Vector _nextCurveHints = new Vector(); private final Hint _initialHintForNextCurve; private final Legend _legend; private final boolean _legendVisibility; private GraphicalElement _coordinateSystemView; private ClippingShape _clippingShape; private Transformation _transformation; private GraphicalElement _annotation; private GraphicalComposite _legendView = new GraphicalComposite(null); /** * Creates an instance from the specified configuration parameters. * * * * * * * * * * * * * * * * * * *
Key & Default ValueTypeMandatoryDescription
coordinateSystem = {@link CartesianCoordinateSystem}ConfigParametersnoDefinition of the {@link CoordinateSystem}.
curveFactory = {@link SimpleCurveFactory}ConfigParametersnoDefinition of the {@link CurveFactory}.
initialHintForNextCurve = nullConfigParametersnoDefinition of the initial {@link Hint} which is needed by some * {@link SymbolFactory SymbolFactories} like {@link BarFactory}. *
legend = default values of {@link Legend}ConfigParametersnoConfiguration parameters of a {@link Legend}.
legendVisible = truebooleannoIf true the {@link Legend} will be created.
*/ public Plot(ConfigParameters config) { CoordinateSystem coordinateSystem = (CoordinateSystem) Factory.create( config.getNode(COORDINATE_SYSTEM_KEY), CartesianCoordinateSystem.class.getName()); setCoordinateSystem(coordinateSystem); _curveFactory = (CurveFactory) Factory.create( config.getNode(CURVE_FACTORY_KEY), SimpleCurveFactory.class.getName()); _initialHintForNextCurve = (Hint) Factory.createOrGet( config.getNode(INITIAL_HINT_FOR_NEXT_CURVE_KEY), null); _legend = new Legend(config.getNode(LEGEND_KEY)); _legendVisibility = config.getBoolean(LEGEND_VISIBLE_KEY, true); } /** * Sets the coordinate system. All curves will be regenerated and a * {@link PlotEvent} of type {@link PlotEventType#COODINATE_SYSTEM_CHANGED} * will be fired. * * @param coordinateSystem New coordinate system. */ public void setCoordinateSystem(CoordinateSystem coordinateSystem) { _coordinateSystemView = coordinateSystem.getView(); _clippingShape = coordinateSystem.getClippingShape(); _transformation = coordinateSystem.getTransformation(); if (_dataPlot != null) { generateCurves(_dataPlot); } notifyListeners( new PlotEvent(this, PlotEventType.COODINATE_SYSTEM_CHANGED, null)); } /** * Adds the specified {@link PlotListener}. Does nothing if * already added. */ public void addPlotListener(PlotListener listener) { if (!_plotListeners.contains(listener)) { _plotListeners.addElement(listener); } } /** * Removes the specfied {@link PlotListener}. Does nothing if * already removed. */ public void removePlotListener(PlotListener listener) { _plotListeners.removeElement(listener); } /** * Sends all registrated {@link PlotListener PlotListeners} * the specified event. */ protected void notifyListeners(PlotEvent event) { for (int i = 0, n = _plotListeners.size(); i < n; i++) { ((PlotListener) _plotListeners.elementAt(i)).plotChanged(event); } } /** * Connect the specified {@link DataPlot} with this instance. *

* If this Plot instance is already connected with a * DataPlot the connection will be released and a * {@link PlotEvent} of the type {@link PlotEventType#DATA_PLOT_DISCONNECTED} * will be sent to all registrated {@link PlotListener PlotListeners}. *

* It registers itself at dataPlot and * all its {@link DataCurve DataCurves}. *

* Finally all curves will be generated and a PlotEvent * of the type {@link PlotEventType#DATA_PLOT_CONNECTED} will be transmitted. * @param dataPlot Data to be connected with this plot instance. * Can be null in order to disconnect this instance from * any DataPlot. */ public void connect(DataPlot dataPlot) { if (_dataPlot != null) { _dataPlot.removeDataListener(this); notifyListeners(new PlotEvent(this, PlotEventType.DATA_PLOT_DISCONNECTED, _dataPlot)); } _dataPlot = dataPlot; if (_dataPlot != null) { _dataPlot.addDataListener(this); generateCurves(_dataPlot); notifyListeners(new PlotEvent(this, PlotEventType.DATA_PLOT_CONNECTED, _dataPlot)); } } /** * Transforms a point from device-independent coordinates into * data coordinates. * @param point Point in device-independent coordinates. * @return transform point. */ public DataPoint transform(GraphPoint point) { return _transformation.transformToData(point); } /** * Creates a graphical representation of the complete plot. * @return GraphicalComposite containing the views of the * coordinate system, the curves, and optionally the legend (in this order). */ public GraphicalComposite getCompletePlot() { GraphicalComposite result = new GraphicalComposite(null); result.addElement(_coordinateSystemView); GraphicalElement[] curves = getCurves(); for (int i = 0; i < curves.length; i++) { result.addElement(curves[i]); } if (_annotation != null) { result.addElement(_annotation); } if (_legendVisibility) { result.addElement(getLegend()); } return result; } /** Returns the view of the coordinate system. */ public GraphicalElement getCoordinateSystem() { return _coordinateSystemView; } /** Returns the graphical representations of all curves. */ public GraphicalElement[] getCurves() { synchronized (_curves) { GraphicalElement[] curves = new GraphicalElement[_curves.size()]; for (int i = 0; i < curves.length; i++) { curves[i] = ((Curve) _curves.elementAt(i)).getView(); } return curves; } } /** * Returns the annotation layer. * @return null if no annotation layer. */ public GraphicalElement getAnnotation() { return _annotation; } /** * Sets the annotation layer. * @param annotation Any kind of graphics which will be drawn on the * top of the curves but may be covered by the legend. * Can be null. */ public void setAnnotation(GraphicalElement annotation) { _annotation = annotation; } /** Returns true if the legend is visible. */ public boolean isLegendVisible() { return _legendVisibility; } /** Returns the graphical representations of the legend. */ public GraphicalElement getLegend() { return _legendView; } /** * Handles the received {@link DataEvent} and notifies * {@link PlotListener PlotListeners} by an event of the type * {@link PlotEventType#DATA_CURVE_CHANGED} or * {@link PlotEventType#DATA_PLOT_CHANGED}. The following table shows what * this method does: * * * * * * * *
Source of eventAll hints for the next curve are null?ActionType of sent {@link PlotEvent}
{@link DataCurve}YesRecreate changed curve. * DATA_CURVE_CHANGED
{@link DataCurve}NoRecreate changed curve * and all curves with large curve index. * DATA_PLOT_CHANGED
{@link DataPlot}-Recreate all curves * and {@link Legend} view. * DATA_PLOT_CHANGED
*/ public void dataChanged(DataEvent event) { Integer index = new Integer(0); PlotEventType type = PlotEventType.DATA_PLOT_CHANGED; synchronized (_curves) { int numberOfCurves = _curves.size(); if (event.getContainer() instanceof DataCurve && numberOfCurves == _dataPlot.getNumberOfElements()) { DataCurve curve = (DataCurve) event.getContainer(); index = new Integer(curve.getContainer().getIndexOf(curve)); type = PlotEventType.DATA_CURVE_CHANGED; fillCurve(index.intValue(), curve); if (index.intValue() < numberOfCurves - 1) { Vector curveHints = (Vector) _nextCurveHints.elementAt(index.intValue()); for (int i = 0, n = curveHints.size(); i < n; i++) { if (curveHints.elementAt(i) != null) { type = PlotEventType.DATA_PLOT_CHANGED; for (int j = index.intValue()+1; j < numberOfCurves; j++) { fillCurve(j, (DataCurve) _dataPlot.getElement(j)); } break; } } } } else { generateCurves(_dataPlot); } } notifyListeners(new PlotEvent(Plot.this, type, index)); } /** * Generates all curves based on the specified data. * In addition the legend view is created. */ private void generateCurves(DataPlot dataPlot) { synchronized (_curves) { _legendView = new GraphicalComposite(null); _legendView.addElement(_legend.getBox()); _curves.setSize(0); _nextCurveHints.setSize(0); for (int i = 0, n = dataPlot.getNumberOfElements(); i < n; i++) { Curve curve = _curveFactory.create(i, n, _clippingShape, _legend); _curves.addElement(curve); _nextCurveHints.addElement(new Vector()); DataCurve dataCurve = (DataCurve) dataPlot.getElement(i); _legendView.addElement(curve.getLegendSymbol()); _legendView.addElement( _legend.createCurveTitle(i, n, dataCurve.getTitle())); fillCurve(i, dataCurve); } } } private void fillCurve(int curveIndex, DataCurve dataCurve) { Vector curveHints = (Vector) _nextCurveHints.elementAt(curveIndex); Curve curve = (Curve) _curves.elementAt(curveIndex); curve.removeAllPoints(); for (int i = 0, n = dataCurve.getNumberOfElements(); i < n; i++) { setHintForNextCurve(curveHints, i, curve.addPoint(_transformation.transformToGraph( (DataPoint) dataCurve.getElement(i)), getHintForNextCurve(curveIndex - 1, i))); } } private Hint getHintForNextCurve(int curveIndex, int pointIndex) { Hint result = _initialHintForNextCurve; if (curveIndex >= 0) { Vector curveHints = (Vector) _nextCurveHints.elementAt(curveIndex); result = pointIndex < curveHints.size() ? (Hint) curveHints.elementAt(pointIndex) : getHintForNextCurve(curveIndex - 1, pointIndex); } return result; } private void setHintForNextCurve(Vector curveHints, int pointIndex, Hint hint) { while (curveHints.size() <= pointIndex) { curveHints.addElement(_initialHintForNextCurve); } curveHints.setElementAt(hint, pointIndex); } } plantuml-1.2018.13+ds/src/jcckit/plot/PlotCanvas.java000066400000000000000000000105611340005343600222170ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import jcckit.data.DataPlot; import jcckit.graphic.Anchor; import jcckit.graphic.ClippingRectangle; import jcckit.util.ConfigParameters; /** * An abstract canvas containg a single {@link Plot}. The canvas is specified * by a {@link ClippingRectangle}, called paper. A horizontal and * vertical {@link Anchor} determine the position of the paper on the actual * device. * * @author Franz-Josef Elmer */ public class PlotCanvas implements PlotListener { /** Configuration parameter key. */ public static final String PAPER_KEY = "paper", HORIZONTAL_ANCHOR_KEY = "horizontalAnchor", VERTICAL_ANCHOR_KEY = "verticalAnchor", PLOT_KEY = "plot"; private final ClippingRectangle _paper; private final Anchor _horizontalAnchor; private final Anchor _verticalAnchor; private final Plot _plot; /** * Creates an instance from the specified configuration parameters. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Key & Default ValueTypeMandatoryDescription
horizontalAnchor = centerStringnoHorizontal position of the paper relative to the device border. * Possible values are left, center, and * right.
paper = 0, 0, 1, 0.6double[]noRectangle defining the paper. The first two values determine the x- * and y- coordinates (in device-independent units) of the lower-left * corner. The last two values determine the upper-right corner.
plot = default values of {@link Plot}ConfigParametersnoDefinition of the {@link Plot}.
verticalAnchor = centerStringnoVertical position of the paper relative to the device border. * Possible values are top, center, and * bottom.
*

* Note, that this instance registers itself at the wrapped {@link Plot} * instance. */ public PlotCanvas(ConfigParameters config) { double[] paper = config.getDoubleArray(PAPER_KEY, new double[] { 0, 0, 1, 0.6 }); _paper = new ClippingRectangle(paper[0], paper[1], paper[2], paper[3]); _horizontalAnchor = Anchor.getHorizontalAnchor(config, HORIZONTAL_ANCHOR_KEY, Anchor.CENTER); _verticalAnchor = Anchor.getVerticalAnchor(config, VERTICAL_ANCHOR_KEY, Anchor.CENTER); _plot = new Plot(config.getNode(PLOT_KEY)); _plot.addPlotListener(this); } /** Returns the paper definition. */ public ClippingRectangle getPaper() { return _paper; } /** Returns the horizontal anchor. */ public Anchor getHorizontalAnchor() { return _horizontalAnchor; } /** Returns the vertical anchor. */ public Anchor getVerticalAnchor() { return _verticalAnchor; } /** Returns the plot. */ public Plot getPlot() { return _plot; } /** * Connects the wrapped {@link Plot} instance with the specified * {@link DataPlot}. * * @param dataPlot * Data to be connected with this plot canvas. Can be * null in order to disconnect this instance from a * DataPlot. */ public void connect(DataPlot dataPlot) { _plot.connect(dataPlot); } /** * Handles the spcified event. Here nothing is done. But subclass may * override this method. */ public void plotChanged(PlotEvent event) { } } plantuml-1.2018.13+ds/src/jcckit/plot/PlotEvent.java000066400000000000000000000064151340005343600220700ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; /** * A plot event signales some changes of a {@link Plot}. * It has three attributes: *

  • source: Indicates the Plot instance responsible * for this event. *
  • type: The type of event. *
  • message: The message object. Its meaning depends on the * type of event: * * * * * * * * *
    TypeMeaning of the message object
    {@link PlotEventType#DATA_PLOT_CONNECTED}, * {@link PlotEventType#DATA_PLOT_DISCONNECTED}The {@link jcckit.data.DataPlot} (dis)connected with the * {@link Plot} instance specified by the source.
    {@link PlotEventType#DATA_PLOT_CHANGED}An Integer indicating the lowest index of * those curves which have been changed.
    {@link PlotEventType#DATA_CURVE_CHANGED}An Integer indicating the index of the curve * which has been changed.
    *
* * * @author Franz-Josef Elmer */ public class PlotEvent { private final Plot _source; private final PlotEventType _type; private final Object _message; /** * Creates a new event for the specified source, type, and message. * @param source Plot causing this event. * @param type Type of the event. Possible values are * {@link PlotEventType#DATA_PLOT_CHANGED}, * {@link PlotEventType#DATA_CURVE_CHANGED}, * {@link PlotEventType#DATA_PLOT_CONNECTED}, and * {@link PlotEventType#DATA_PLOT_DISCONNECTED}. * @param message Message object. Can be null */ public PlotEvent(Plot source, PlotEventType type, Object message) { _source = source; _type = type; _message = message; } /** Returns the source of this event. */ public Plot getSource() { return _source; } /** * Returns the event type. * @return either {@link PlotEventType#DATA_PLOT_CHANGED}, * {@link PlotEventType#DATA_CURVE_CHANGED}, * {@link PlotEventType#DATA_PLOT_CONNECTED}, or * {@link PlotEventType#DATA_PLOT_DISCONNECTED}. */ public PlotEventType getType() { return _type; } /** Returns the message object. */ public Object getMessage() { return _message; } } plantuml-1.2018.13+ds/src/jcckit/plot/PlotEventType.java000066400000000000000000000027101340005343600227240ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; /** * Types of {@link PlotEvent PlotEvents}. Using the typesafe enumeration * pattern. * * @author Franz-Josef Elmer */ public class PlotEventType { /** Event type. */ public static final PlotEventType DATA_PLOT_CONNECTED = new PlotEventType(), DATA_PLOT_DISCONNECTED = new PlotEventType(), COODINATE_SYSTEM_CHANGED = new PlotEventType(), DATA_CURVE_CHANGED = new PlotEventType(), DATA_PLOT_CHANGED = new PlotEventType(); private PlotEventType() {} } plantuml-1.2018.13+ds/src/jcckit/plot/PlotListener.java000066400000000000000000000021061340005343600225650ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; /** * Listener for changes of plots, diagrams, and charts. * * @author Franz-Josef Elmer */ public interface PlotListener { /** Receives the specified plot event.*/ public void plotChanged(PlotEvent event); } plantuml-1.2018.13+ds/src/jcckit/plot/PositionHint.java000066400000000000000000000050161340005343600225730ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import jcckit.graphic.GraphPoint; import jcckit.util.ConfigParameters; /** * An immutable {@link Hint} capsulating two {@link GraphPoint GraphPoints}. * * @author Franz-Josef Elmer */ public class PositionHint implements Hint { /** Configuration parameter key. */ public static final String POSITION_KEY = "position", ORIGIN_KEY = "origin"; private final GraphPoint _position; private final GraphPoint _origin; /** * Creates an instance from the specified configuration parameters. * * * * * * * * * *
Key & Default ValueTypeMandatoryDescription
position = nulldouble[]noDefinition of position.
origin = position or (0,0) if position * undefineddouble[]noDefinition of origin.
*/ public PositionHint(ConfigParameters config) { double[] point = config.getDoubleArray(POSITION_KEY, null); _position = point == null ? null : new GraphPoint(point); _origin = new GraphPoint(config.getDoubleArray(ORIGIN_KEY, point)); } /** * Creates an instance based on two points. * @param origin The origin. * @param position The position. */ public PositionHint(GraphPoint origin, GraphPoint position) { _origin = origin; _position = position; } /** Returns the position. */ public GraphPoint getPosition() { return _position; } /** Returns the origin. */ public GraphPoint getOrigin() { return _origin; } } plantuml-1.2018.13+ds/src/jcckit/plot/ShapeAttributesHint.java000066400000000000000000000130011340005343600240670ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import java.awt.Color; import jcckit.graphic.GraphicAttributes; import jcckit.graphic.ShapeAttributes; import jcckit.util.ConfigParameters; /** * An {@link AttributesHint} which wraps {@link ShapeAttributes}. * Each call of {@link #getNextHint()} returns a new instance of * ShapeAttributes where fill color, line color and/or * line thickness has been increased by a constant amount. * * @author Franz-Josef Elmer */ public class ShapeAttributesHint implements AttributesHint, Cloneable { /** Configuration parameter key. */ public static final String INITIAL_ATTRIBUTES_KEY = "initialAttributes", FILL_COLOR_HSB_INCREMENT_KEY = "fillColorHSBIncrement", LINE_COLOR_HSB_INCREMENT_KEY = "lineColorHSBIncrement", LINE_THICKNESS_INCREMENT_KEY = "lineThicknessIncrement"; private static float[] extractHSB(Color color) { return color == null ? null : Color.RGBtoHSB(color.getRed(), color.getGreen(), color.getBlue(), null); } private static Color createColor(float[] colorHSB) { return colorHSB == null ? null : Color.getHSBColor(colorHSB[0], colorHSB[1], colorHSB[2]); } private static float[] incrementColor(float[] colorHSB, double[] increments) { float[] result = null; if (colorHSB != null) { result = (float[]) colorHSB.clone(); for (int i = 0; i < 3; i++) { result[i] += increments[i]; } } return result; } private float[] _fillColorHSB; private float[] _lineColorHSB; private double _lineThickness; private double[] _linePattern; private double[] _fillColorHSBIncrement; private double[] _lineColorHSBIncrement; private double _lineThicknessIncrement; /** * Creates an instance from the specified configuration parameters. * * * * * * * * * * * * * * * *
Key & Default ValueTypeMandatoryDescription
initialAttributes = default values of * {@link ShapeAttributes}ConfigParametersnoInitial values of shape attributes. Note, that default * fill and line colors are undefined (they depend on the * Renderer). In this case color increments have no effects. *
fillColorHSBIncrement = 0 0 0double[]noHue, saturation, and brightness increments of the fill color. *
lineColorHSBIncrement = 0 0 0double[]noHue, saturation, and brightness increments of the line color. *
lineThicknessIncrement = 0doublenoLine thickness increment.
*/ public ShapeAttributesHint(ConfigParameters config) { ShapeAttributes attributes = new ShapeAttributes(config.getNode(INITIAL_ATTRIBUTES_KEY)); _fillColorHSB = extractHSB(attributes.getFillColor()); _lineColorHSB = extractHSB(attributes.getLineColor()); _lineThickness = attributes.getLineThickness(); _linePattern = attributes.getLinePattern(); _fillColorHSBIncrement = config.getDoubleArray(FILL_COLOR_HSB_INCREMENT_KEY, new double[3]); _lineColorHSBIncrement = config.getDoubleArray(LINE_COLOR_HSB_INCREMENT_KEY, new double[3]); _lineThicknessIncrement = config.getDouble(LINE_THICKNESS_INCREMENT_KEY, 0); } /** * Creates a new ShapeAttributesHint where all attributes has been * incremented. */ public AttributesHint getNextHint() { ShapeAttributesHint nextHint = null; try { nextHint = (ShapeAttributesHint) clone(); } catch (CloneNotSupportedException e) {} nextHint._fillColorHSB = incrementColor(_fillColorHSB, _fillColorHSBIncrement); nextHint._lineColorHSB = incrementColor(_lineColorHSB, _lineColorHSBIncrement); nextHint._lineThickness = Math.max(0, _lineThickness + _lineThicknessIncrement); return nextHint; } /** Returns the wrapped {@link ShapeAttributes} instance. */ public GraphicAttributes getAttributes() { return new ShapeAttributes(createColor(_fillColorHSB), createColor(_lineColorHSB), _lineThickness, _linePattern); } } plantuml-1.2018.13+ds/src/jcckit/plot/SimpleCurve.java000066400000000000000000000171611340005343600224060ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import java.awt.Color; import jcckit.graphic.ClippingShape; import jcckit.graphic.GraphPoint; import jcckit.graphic.GraphicalComposite; import jcckit.graphic.GraphicalElement; import jcckit.graphic.LineAttributes; import jcckit.graphic.Polygon; import jcckit.graphic.ShapeAttributes; import jcckit.util.ConfigParameters; import jcckit.util.Factory; /** * A simple curve is the basic implementation of the {@link Curve} interface. * * @author Franz-Josef Elmer */ public class SimpleCurve implements Curve { /** Configuration parameter key. */ public static final String SYMBOL_FACTORY_KEY = "symbolFactory", WITH_LINE_KEY = "withLine", SOFT_CLIPPING_KEY = "softClipping", LINE_ATTRIBUTES_KEY = "lineAttributes", INITIAL_HINT_FOR_NEXT_POINT_KEY = "initialHintForNextPoint"; private final ClippingShape _clippingShape; private final SymbolFactory _symbolFactory; private final GraphicalComposite _symbols; private final GraphicalComposite _completeCurve; private final GraphicalElement _legendSymbol; private final Hint _initialHintForNextPoint; private final Polygon _curve; private final boolean _softClipping; private Hint _hintForNextPoint; /** * Creates a new curve. The parameter config contains: * * * * * * * * * * * * * * * * * * *
Key & Default ValueTypeMandatoryDescription
initialHintForNextPoint = nullConfigParametersnoDefinition of an initial {@link Hint} for the first curve point. *
lineAttributes = a {@link ShapeAttributes} * instances with default values and line colors based on * the formula Color.getHSBColor(curveIndex/6,1,0.8)ConfigParametersnoConfiguration parameters of an instances of * {@link jcckit.graphic.GraphicAttributes} for the * {@link Polygon Polygons} connecting curve points.
symbolFactory = nullConfigParametersnoConfiguration parameters defining an instances of * {@link SymbolFactory} for the {@link Symbol Symbols} * decorating curve points.
softClipping = truebooleannoIf true no explicit clipping takes * place but the symbol is not drawn if the corresponding curve * point is outside the axis box.
* If false the symbol is * drawn in any case but it may be clipped by the axis box. * Soft-clipping should be set to false if the * symbols are not located around the curve point (like for bars). *
withLine = truebooleannoIf true curve points are connected by a * {@link jcckit.graphic.Polygon}.
* @param config Configuration parameters described above. * @param curveIndex Index of this curve in the collection of curves * defining a {@link Plot}. * @param numberOfCurves Number of curves in this collection. * @param clippingShape Clipping shape. Can be null. * @param legend Legend. Will be used to calculate the legend symbol. * @throws IllegalArgumentException if symbolFactory == null and * withLine == false. * */ public SimpleCurve(ConfigParameters config, int curveIndex, int numberOfCurves, ClippingShape clippingShape, Legend legend) { _symbolFactory = (SymbolFactory) Factory.createOrGet( config.getNode(SYMBOL_FACTORY_KEY), null); boolean withLine = config.getBoolean(WITH_LINE_KEY, true); LineAttributes lineAttributes = (LineAttributes) Factory.createOrGet( config.getNode(LINE_ATTRIBUTES_KEY), new ShapeAttributes(null, Color.getHSBColor((curveIndex % 6) / 6f, 1f, 0.8f), 0, null)); if (_symbolFactory != null || withLine) { _clippingShape = clippingShape; _completeCurve = new GraphicalComposite(null); if (withLine) { GraphicalComposite container = new GraphicalComposite(clippingShape); _curve = new Polygon(lineAttributes, false); container.addElement(_curve); _completeCurve.addElement(container); } else { _curve = null; } _softClipping = config.getBoolean(SOFT_CLIPPING_KEY, true); if (_symbolFactory != null) { _symbols = new GraphicalComposite(_softClipping ? null : clippingShape); _completeCurve.addElement(_symbols); } else { _symbols = null; } } else { throw new IllegalArgumentException( "Either a SymbolFactory must exist or withLines == true."); } _hintForNextPoint = _initialHintForNextPoint = (Hint) Factory.createOrGet( config.getNode(INITIAL_HINT_FOR_NEXT_POINT_KEY), null); _legendSymbol = legend.createSymbol(curveIndex, numberOfCurves, _symbolFactory, withLine, lineAttributes); } /** * Returns the graphical representation of a curve. * @return always the same instance. */ public GraphicalElement getView() { return _completeCurve; } /** Returns the legend symbol. */ public GraphicalElement getLegendSymbol() { return _legendSymbol; } /** Appends a new point to the curve if inside the clipping shape. */ public Hint addPoint(GraphPoint point, Hint hintFromPreviousCurve) { if (_curve != null) { _curve.addPoint(point); } Hint hintForNextCurve = hintFromPreviousCurve; if (_symbolFactory != null) { Symbol symbol = _symbolFactory.createSymbol(point, _hintForNextPoint, hintFromPreviousCurve); if (_clippingShape == null || !_softClipping || _clippingShape.isInside(point)) { _symbols.addElement(symbol.getSymbol()); } _hintForNextPoint = symbol.getHintForNextPoint(); hintForNextCurve = symbol.getHintForNextCurve(); } return hintForNextCurve; } public void removeAllPoints() { if (_curve != null) { _curve.removeAllPoints(); } if (_symbols != null) { _symbols.removeAllElements(); } _hintForNextPoint = _initialHintForNextPoint; } } plantuml-1.2018.13+ds/src/jcckit/plot/SimpleCurveFactory.java000066400000000000000000000062601340005343600237340ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import java.util.Properties; import java.util.StringTokenizer; import jcckit.graphic.ClippingShape; import jcckit.util.ConfigParameters; import jcckit.util.PropertiesBasedConfigData; /** * Factory for {@link SimpleCurve SimpleCurves}. * * @author Franz-Josef Elmer */ public class SimpleCurveFactory implements CurveFactory { /** Configuration parameter key. */ public static final String DEFINITIONS_KEY = "definitions"; private ConfigParameters[] _configs = new ConfigParameters[] {new ConfigParameters(new PropertiesBasedConfigData(new Properties()))}; /** * Creates an instance from the specified configuration parameter. * * * * * * *
Key & Default ValueTypeMandatoryDescription
definitions = one empty ConfigParameters * instanceString[]noKeys of subtrees defining {@link ConfigParameters} * used by the {@link SimpleCurve#SimpleCurve constructor} of * {@link SimpleCurve}.
*/ public SimpleCurveFactory(ConfigParameters config) { String value = config.get(DEFINITIONS_KEY, null); if (value != null) { StringTokenizer tokenizer = new StringTokenizer(value); _configs = new ConfigParameters[tokenizer.countTokens()]; for (int i = 0; i < _configs.length; i++) { _configs[i] = config.getNode(tokenizer.nextToken()); } } } /** * Creates an instance of {@link SimpleCurve}. * @param curveIndex Index of the curve. Will be used to select the * {@link ConfigParameters} object and the line attributes. * In addition it will be used to calculate the y-coordinate * of the legend symbol. * @param numberOfCurves Number of curves. Will be needed to calculate * the y-coordinate of the legend symbol. * @param clippingShape The clipping shape. * @param legend The legend. Will be needed to create the legend symbol. */ public Curve create(int curveIndex, int numberOfCurves, ClippingShape clippingShape, Legend legend) { return new SimpleCurve(_configs[curveIndex % _configs.length], curveIndex, numberOfCurves, clippingShape, legend); } } plantuml-1.2018.13+ds/src/jcckit/plot/SquareSymbolFactory.java000066400000000000000000000040151340005343600241200ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import jcckit.graphic.GraphPoint; import jcckit.graphic.GraphicAttributes; import jcckit.graphic.GraphicalElement; import jcckit.graphic.Rectangle; import jcckit.util.ConfigParameters; /** * A factory of square symbols. * * @author Franz-Josef Elmer */ public class SquareSymbolFactory extends AbstractSymbolFactory { /** * Creates an instance from the specified configuration parameters. * For the configuration parameters see the * * constructor of the superclass {@link AbstractSymbolFactory}. */ public SquareSymbolFactory(ConfigParameters config) { super(config); } /** * Creates a {@link Rectangle}. * @param centerPosition Position of the center of the rectangle. * @param size Diameter of the rectangle. * @param attributes Rectangle attributes. */ protected GraphicalElement createPlainSymbol(GraphPoint centerPosition, double size, GraphicAttributes attributes) { return new Rectangle(centerPosition, size, size, attributes); } } plantuml-1.2018.13+ds/src/jcckit/plot/Symbol.java000066400000000000000000000034411340005343600214110ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import jcckit.graphic.GraphicalElement; /** * Immutable class holding the graphical represention of the symbol and * two {@link Hint Hints}. * * @author Franz-Josef Elmer */ public class Symbol { private final GraphicalElement _symbol; private final Hint _hintForNextPoint; private final Hint _hintForNextCurve; /** Creates an instance for the specified symbol and hints. */ public Symbol(GraphicalElement symbol, Hint hintForNextPoint, Hint hintForNextCurve) { _symbol = symbol; _hintForNextPoint = hintForNextPoint; _hintForNextCurve = hintForNextCurve; } /** Returns the graphical symbol. */ public GraphicalElement getSymbol() { return _symbol; } /** Returns the hint for the next point. */ public Hint getHintForNextPoint() { return _hintForNextPoint; } /** Returns the hint for the next curve. */ public Hint getHintForNextCurve() { return _hintForNextCurve; } } plantuml-1.2018.13+ds/src/jcckit/plot/SymbolFactory.java000066400000000000000000000054001340005343600227360ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import jcckit.graphic.GraphPoint; import jcckit.graphic.GraphicalElement; /** * Interface of a symbol factory. A symbol is a {@link GraphicalElement} * or {@link jcckit.graphic.GraphicalComposite}. A symbol factory creates * the same type of symbols. In general, they have all the same size. * But they are distinguished from each other by their positions. * In addition they may also differ in other properties which will * be determined by {@link Hint Hints}. * * @author Franz-Josef Elmer */ public interface SymbolFactory { /** Common configuration parameter key need by implementing classes. */ public static final String SIZE_KEY = "size", ATTRIBUTES_KEY = "attributes"; /** Default size of a symbol = 0.01. */ public static final double DEFAULT_SIZE = 0.01; /** * Creates a symbol for the specified point taking into account * the specified hints. * @param point The position of the symbol. In general it is a transformation * of a corresponding {@link jcckit.data.DataPoint} into a * {@link GraphPoint}. * @param hintFromPreviousPoint Hint from the previous point of the same * {@link Curve} or null. * @param hintFromPreviousCurve Hint from the previous * {@link Curve} or null. */ public Symbol createSymbol(GraphPoint point, Hint hintFromPreviousPoint, Hint hintFromPreviousCurve); /** * Creates a symbol for the legend at the specified position. * @param centerPosition Center position of the symbol. * @param size The size of the symbol. Will not be used if the symbol * of the curve points have all the same size. In this case * the symbol for the legend has the size of the curve symbols. */ public GraphicalElement createLegendSymbol(GraphPoint centerPosition, double size); } plantuml-1.2018.13+ds/src/jcckit/plot/TicLabelMap.java000066400000000000000000000113011340005343600222530ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.plot; import java.util.StringTokenizer; import jcckit.util.ConfigParameters; import jcckit.util.TicLabelFormat; /** * Map of number intervals onto a text label. The map is defined by a * map description string provided by configuration data. *

* The map description is a list * of conditions separated by ';'. The conditions are tested from left to * right until a condition is fulfilled for the tic value. If no condition * is fullfilled a '?' will be returned. *

* A condition description has one of the following forms: *

<label>
*
<number>=<label>
*
<number1>:<number2>=<label>
*

* The first type of condition is always fulfilled. It will return * <label>. This is a kind of else condtion * which is put at the end of the condition list. *

* The second form maps a particular number onto a label. In order to be * equal with the sepcified number the tic value should not deviate more * than 1 ppm (part per millions) from <number>. *

* The third form maps an interval onto a label. The condition reads *

* <number1> <= tic label < <number2> *

* Examples: *


 * 1=monday;2=tuesday;3=wednesday;4=thursday;5=friday;6=saturday;7=sunday 
 * 0.5:1.5=I; 1.5:2.5 = II; 2.5:3.5 = III; the rest 
 * 
* * @author Franz-Josef Elmer */ public class TicLabelMap implements TicLabelFormat { public static final String MAP_KEY = "map"; private static class MapItem { private double _min = Double.MIN_VALUE; private double _max = Double.MAX_VALUE; private final String label; public MapItem(String item) { int index = item.indexOf('='); if (index < 0) { label = item; } else { label = item.substring(index + 1).trim(); item = item.substring(0, index).trim(); index = item.indexOf(':'); if (index < 0) { _min = new Double(item).doubleValue(); _max = _min == 0 ? Double.MIN_VALUE : _min * 1.000001d; _min = _min * 0.999999d; if (_min > _max) { double z = _min; _min = _max; _max = z; } } else { _min = new Double(item.substring(0, index)).doubleValue(); _max = new Double(item.substring(index + 1)).doubleValue(); } } } public boolean isInside(double value) { return value >= _min && value < _max; } } private final MapItem[] _map; /** * Creates an instance from the specified configuration parameters. * * * * * * *
Key & Default ValueTypeMandatoryDescription
mapStringyesMap description as explained above.
*/ public TicLabelMap(ConfigParameters config) { StringTokenizer tokenizer = new StringTokenizer(config.get(MAP_KEY), ";"); _map = new MapItem[tokenizer.countTokens()]; for (int i = 0; i < _map.length; i++) { String item = tokenizer.nextToken(); try { _map[i] = new MapItem(item.trim()); } catch (NumberFormatException e) { throw new NumberFormatException("Item '" + item + "' of " + config.getFullKey(MAP_KEY) + " has an invalid number."); } } } /** * Maps the specified tic value onto a text label in accordance * with the map description. */ public String form(double ticValue) { String result = "?"; for (int i = 0; i < _map.length; i++) { if (_map[i].isInside(ticValue)) { result = _map[i].label; break; } } return result; } } plantuml-1.2018.13+ds/src/jcckit/renderer/000077500000000000000000000000001340005343600201275ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/jcckit/renderer/Graphics2DRenderer.java000066400000000000000000000251411340005343600244120ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.renderer; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Ellipse2D; import java.awt.geom.GeneralPath; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import jcckit.graphic.BasicGraphicalElement; import jcckit.graphic.ClippingRectangle; import jcckit.graphic.ClippingShape; import jcckit.graphic.FillAttributes; import jcckit.graphic.FontStyle; import jcckit.graphic.GraphPoint; import jcckit.graphic.GraphicAttributes; import jcckit.graphic.GraphicalComposite; import jcckit.graphic.GraphicalCompositeRenderer; import jcckit.graphic.LineAttributes; import jcckit.graphic.Oval; import jcckit.graphic.OvalRenderer; import jcckit.graphic.Polygon; import jcckit.graphic.PolygonRenderer; import jcckit.graphic.Rectangle; import jcckit.graphic.RectangleRenderer; import jcckit.graphic.Text; import jcckit.graphic.TextAttributes; import jcckit.graphic.TextRenderer; /** * Renderer who draws the {@link jcckit.graphic.GraphicalElement * GraphicalElements} into a java.awt.Graphics2D context. *

* The default color for lines and texts is determined by the current color of * the Graphics2D context when a new instance of * Graphics2DRenderer is created. *

* The default font is SansSerif-12. * * @author Franz-Josef Elmer */ public class Graphics2DRenderer implements GraphicalCompositeRenderer, PolygonRenderer, OvalRenderer, TextRenderer, RectangleRenderer { private static final int FS = 1; private static final String DEFAULT_FONT_NAME = "SansSerif"; private static final FontStyle DEFAULT_FONT_STYLE = FontStyle.NORMAL; private static final int DEFAULT_FONT_SIZE = 12; private Color _defaultColor; private Graphics2D _graphics; /** * Initializes this instance. During renderering the current transformation * will be leaved unchanged. But the current Clip may be cleared. * * @param graphics * Graphics2D context into which the * {@link BasicGraphicalElement BaiscGraphicalElements} are * painted. * @return this instance. */ public Graphics2DRenderer init(Graphics2D graphics) { _graphics = graphics; _defaultColor = graphics.getColor(); // the foreground color return this; } /** * Starts rendering of the specified composite. Does nothing except if * composite has a {@link ClippingShape}. In this case the Clip * of the Graphics2D context becomes the clipping rectangle * determined by the bounding box of the ClippingShape. */ public void startRendering(GraphicalComposite composite) { ClippingShape shape = composite.getClippingShape(); if (shape != null) { ClippingRectangle rect = shape.getBoundingBox(); _graphics.clip(new Rectangle2D.Double(rect.getMinX(), rect.getMinY(), rect.getMaxX() - rect.getMinX(), rect .getMaxY() - rect.getMinY())); } } /** * Finishes rendering of the specified composite. Does nothing except if * composite has a {@link ClippingShape}. In this case the Clip * of the Graphics2D context will be cleared. */ public void finishRendering(GraphicalComposite composite) { _graphics.setClip(null); } /** Paints the specified polygon into the Graphics2D context. */ public void render(Polygon polygon) { int numberOfPoints = polygon.getNumberOfPoints(); if (numberOfPoints > 0) { Color currentColor = _graphics.getColor(); GeneralPath p = new GeneralPath(GeneralPath.WIND_EVEN_ODD, numberOfPoints); p.moveTo((float) polygon.getPoint(0).getX(), (float) polygon.getPoint(0).getY()); for (int i = 1; i < numberOfPoints; i++) { p.lineTo((float) polygon.getPoint(i).getX(), (float) polygon.getPoint(i).getY()); } if (polygon.isClosed()) { p.closePath(); } drawShape(p, polygon, currentColor); } } /** * Paints the specified rectangle into the current Graphics * context. */ public void render(Rectangle rectangle) { Color currentColor = _graphics.getColor(); GraphPoint center = rectangle.getCenter(); double width = rectangle.getWidth(); double height = rectangle.getHeight(); Rectangle2D rect = new Rectangle2D.Double(center.getX() - 0.5 * width, center.getY() - 0.5 * height, width, height); drawShape(rect, rectangle, currentColor); } /** * Paints the specified oval into the current Graphics context. */ public void render(Oval oval) { Color currentColor = _graphics.getColor(); GraphPoint center = oval.getCenter(); double width = oval.getWidth(); double height = oval.getHeight(); Ellipse2D ellipse = new Ellipse2D.Double(center.getX() - 0.5 * width, center.getY() - 0.5 * height, width, height); drawShape(ellipse, oval, currentColor); } private void drawShape(Shape shape, BasicGraphicalElement element, Color backupColor) { GraphicAttributes attributes = element.getGraphicAttributes(); Color fillColor = null; if (element.isClosed() && attributes instanceof FillAttributes) { fillColor = ((FillAttributes) attributes).getFillColor(); } if (fillColor != null) { _graphics.setColor(fillColor); _graphics.fill(shape); } Color lineColor = _defaultColor; if (attributes instanceof LineAttributes) { LineAttributes la = (LineAttributes) attributes; BasicStroke stroke = new BasicStroke((float) la.getLineThickness()); double[] linePattern = la.getLinePattern(); if (linePattern != null) { float[] dash = new float[linePattern.length]; for (int i = 0; i < dash.length; i++) { dash[i] = (float) la.getLinePattern()[i]; } stroke = new BasicStroke(stroke.getLineWidth(), BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 10f, dash, 0f); } _graphics.setStroke(stroke); if (la.getLineColor() != null || fillColor != null) { lineColor = la.getLineColor(); } } if (lineColor != null) { _graphics.setColor(lineColor); _graphics.draw(shape); } _graphics.setColor(backupColor); } /** * Paints the specified text into the current Graphics context. *

* If the font size is zero the default font size will be used. *

* If the orientation angle is unequal zero the text will first be painted * into an off-screen image and rotated. Finally, it will be drawn into the * current Graphics context. Note, that only integer multiples of * 90 degree rotation are performed. Other orientation angles will be * adjusted to the nearest integer multiple of 90 degree. */ public void render(Text text) { final GraphicAttributes ga = text.getGraphicAttributes(); if (ga instanceof TextAttributes) { final TextAttributes ta = (TextAttributes) ga; final Color currentColor = _graphics.getColor(); Color fontColor = ta.getTextColor(); if (fontColor == null) { fontColor = _defaultColor; } _graphics.setColor(fontColor); final double scale = _graphics.getTransform().getScaleX(); final String str = text.getText(); AffineTransform before = _graphics.getTransform(); _graphics.setTransform(new AffineTransform()); double fs = ta.getFontSize(); fs = fs == 0 ? 1 : fs * scale / DEFAULT_FONT_SIZE; Font font = createFont(ta, 0); AffineTransform fontTransform = new AffineTransform(); fontTransform.scale(fs, fs); fontTransform.rotate(-ta.getOrientationAngle() * Math.PI / 180); font = font.deriveFont(fontTransform); _graphics.setFont(font); Rectangle2D bounds = _graphics.getFontMetrics().getStringBounds(str, _graphics); fontTransform.rotate(-ta.getOrientationAngle() * Math.PI / 180); final double yy = bounds.getHeight() + bounds.getY(); Point2D.Double pos = new Point2D.Double(text.getPosition().getX(), text.getPosition().getY()); before.transform(pos, pos); double x = 0; double y = 0; if (ta.getOrientationAngle() == 0) { x = -0.5 * ta.getHorizontalAnchor().getFactor() * bounds.getWidth(); y = 0.5 * ta.getVerticalAnchor().getFactor() * bounds.getHeight() - yy; x = pos.x + x; y = pos.y + y; } else { x = 0.5 * ta.getVerticalAnchor().getFactor() * bounds.getHeight(); y = 0.5 * ta.getHorizontalAnchor().getFactor() * bounds.getWidth(); // System.err.println("yy="+y+" dx="+x+" dy="+y); // x = 0; // y = 0; x = pos.x + x; y = pos.y + y; } // if (ta.getOrientationAngle() == 0) { //// System.err.println("x0=" + x); //// System.err.println("y0=" + y); // } else { // System.err.println("bounds=" + bounds + " y=" + bounds.getY() + " h=" + bounds.getHeight() + " vert=" // + ta.getVerticalAnchor().getFactor()+" horz="+ta.getHorizontalAnchor().getFactor()); // System.err.println("x1=" + x); // System.err.println("y1=" + y); // } _graphics.drawString(str, (float) x, (float) y); // _graphics.fillRect((int)x, (int)y, 5, 5); _graphics.setTransform(before); _graphics.setColor(currentColor); } } /** * Creates a font instance based on the specified text attributes and font * size. * * @param attributes * Text attributes (font name and style). * @param size * Font size in pixel. If 0 {@link #DEFAULT_FONT_SIZE} will be * used. * @return new font instance. */ static Font createFont(TextAttributes attributes, int size) { String fontName = attributes.getFontName(); if (fontName == null) { fontName = DEFAULT_FONT_NAME; } FontStyle fontStyle = attributes.getFontStyle(); if (fontStyle == null) { fontStyle = DEFAULT_FONT_STYLE; } int style = Font.PLAIN; if (fontStyle == FontStyle.BOLD) { style = Font.BOLD; } else if (fontStyle == FontStyle.ITALIC) { style = Font.ITALIC; } else if (fontStyle == FontStyle.BOLD_ITALIC) { style = Font.BOLD + Font.ITALIC; } if (size == 0) { size = DEFAULT_FONT_SIZE; } return new Font(fontName, style, size); } } plantuml-1.2018.13+ds/src/jcckit/renderer/Transformation.java000066400000000000000000000073221340005343600240040ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.renderer; import java.awt.Graphics2D; import jcckit.graphic.Anchor; import jcckit.graphic.ClippingRectangle; import jcckit.graphic.GraphPoint; /** * Transformation between device-independent coordinates * and standard Java coordinates. The aspect-ratio will * be the same. The position in the canvas is determined by a * {@link jcckit.graphic.Rectangle Rectangle} defining a (virtual) * paper which is placed in the canvas according to an anchor point. * Depending on the aspect ratio of the canvas the paper width or * height occupies the canvas width or height. * * @author Franz-Josef Elmer */ public class Transformation { private final double _scale, _x0, _y0; public String toString() { return "_scale=" + _scale + " _x0=" + _x0 + " _y0=" + _y0; } /** * Creates an instance for the specified canvas size, paper size, * and anchor points of the paper. * @param width Width of the canvas. * @param height Height of the canvas. * @param paper Rectangle defining the paper in device-independent * coordinates. * @param horizontalAnchor Horizontal anchor of the paper in the canvas. * @param verticalAnchor Vertical anchor of the paper in the canvas. */ public Transformation(int width, int height, ClippingRectangle paper, Anchor horizontalAnchor, Anchor verticalAnchor) { double pWidth = paper.getMaxX() - paper.getMinX(); double pHeight = paper.getMaxY() - paper.getMinY(); _scale = Math.min(width / pWidth, height / pHeight); _x0 = 0.5 * horizontalAnchor.getFactor() * (width - _scale * pWidth) - _scale * paper.getMinX(); _y0 = 0.5 * verticalAnchor.getFactor() * (_scale * pHeight - height) + height + _scale * + paper.getMinY(); } /** Transforms the device-independent x coordinate into Java coordinates. */ public int transformX(double x) { return trim(_scale * x + _x0); } /** Transforms the device-independent y coordinate into Java coordinates. */ public int transformY(double y) { return trim(_y0 - _scale * y); } /** Transforms the device-independent width into Java width. */ public int transformWidth(double width) { return trim(_scale * width + 0.5); } /** Transforms the device-independent height into Java height. */ public int transformHeight(double height) { return trim(_scale * height + 0.5); } private static int trim(double number) { return number > Short.MAX_VALUE ? Short.MAX_VALUE : (number < Short.MIN_VALUE ? Short.MIN_VALUE : (int) number); } /** * Transforms a point in Java coordinates back into device-independent * coordinates. */ public GraphPoint transformBack(int x, int y) { return new GraphPoint((x - _x0) / _scale, (_y0 - y) / _scale); } public void apply(Graphics2D g) { g.translate(_x0, _y0); g.scale(_scale, -_scale); } } plantuml-1.2018.13+ds/src/jcckit/transformation/000077500000000000000000000000001340005343600213675ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/jcckit/transformation/CartesianTransformation.java000066400000000000000000000075621340005343600271040ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.transformation; import jcckit.data.DataPoint; import jcckit.graphic.GraphPoint; import jcckit.util.Util; /** * Two-dimensional Cartesian transformation. The two independent * transformations for the x-axis and the y-axis can be logarithmic * from data coordinates to device-independent coordinates in order to * realize diagrams with logarithmic scales. * * @author Franz-Josef Elmer */ public class CartesianTransformation implements Transformation { private final boolean _xLogScale; private final double _xOffset; private final double _xScale; private final boolean _yLogScale; private final double _yOffset; private final double _yScale; /** * Creates an instance from the specified reference points. * Note, that the reference points must differ in x and y coordinates * otherwise a transformation would not be possible. * @param xLogScale true if logarithmic x axis. * @param yLogScale true if logarithmic y axis. * @param dataPoint1 First reference point in data coordinates. * @param graphPoint1 First reference point in device-independent * coordinates. * @param dataPoint2 Second reference point in data coordinates. * @param graphPoint2 Second reference point in device-independent * coordinates. * @throws IllegalArgumentException if transformation in at least * one of both directions is not possible. */ public CartesianTransformation(boolean xLogScale, boolean yLogScale, DataPoint dataPoint1, GraphPoint graphPoint1, DataPoint dataPoint2, GraphPoint graphPoint2) { _xLogScale = xLogScale; double d1 = Util.log(dataPoint1.getX(), xLogScale); double dd = Util.log(dataPoint2.getX(), xLogScale) - d1; check(dd, "data", "x", d1); _xScale = (graphPoint2.getX() - graphPoint1.getX()) / dd; check(_xScale, "graphical", "x", graphPoint1.getX()); _xOffset = graphPoint1.getX() - d1 * _xScale; _yLogScale = yLogScale; d1 = Util.log(dataPoint1.getY(), yLogScale); dd = Util.log(dataPoint2.getY(), yLogScale) - d1; check(dd, "data", "y", d1); _yScale = (graphPoint2.getY() - graphPoint1.getY()) / dd; check(_yScale, "graphical", "y", graphPoint1.getY()); _yOffset = graphPoint1.getY() - d1 * _yScale; } private void check(double valueToCheck, String type, String axis, double value) { if (valueToCheck == 0) { throw new IllegalArgumentException("The " + type + " reference points in " + axis + " must be different; both are " + value); } } public GraphPoint transformToGraph(DataPoint point) { return new GraphPoint( _xOffset + Util.log(point.getX(), _xLogScale) * _xScale, _yOffset + Util.log(point.getY(), _yLogScale) * _yScale); } public DataPoint transformToData(GraphPoint point) { return new DataPoint( Util.exp((point.getX() - _xOffset) / _xScale, _xLogScale), Util.exp((point.getY() - _yOffset) / _yScale, _yLogScale)); } } plantuml-1.2018.13+ds/src/jcckit/transformation/Transformation.java000066400000000000000000000031421340005343600252400ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.transformation; import jcckit.data.DataPoint; import jcckit.graphic.GraphPoint; /** * Interface for transformations between data coordinates * and device-independent coordinates. * * @author Franz-Josef Elmer */ public interface Transformation { /** * Transforms a {@link DataPoint} into a {@link GraphPoint}. * @param point A point in data coordinates. * @return point tranformed into device-independent coordinates.. */ public GraphPoint transformToGraph(DataPoint point); /** * Transforms a {@link GraphPoint} into a {@link DataPoint}. * @param point A point in device-independent coordinates.. * @return point tranformed into data coordinates. */ public DataPoint transformToData(GraphPoint point); } plantuml-1.2018.13+ds/src/jcckit/util/000077500000000000000000000000001340005343600172765ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/jcckit/util/AppletBasedConfigData.java000066400000000000000000000032231340005343600242450ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.util; import java.applet.Applet; /** * Implementation of {@link FlatConfigData} based on * java.applet.Applet. * * @author Franz-Josef Elmer */ public class AppletBasedConfigData extends FlatConfigData { private final Applet _applet; /** * Creates an instance based on the specified applet. * The path is undefined. */ public AppletBasedConfigData(Applet applet) { this(applet, null); } /** Creates an instance based on the specified properties and path. */ private AppletBasedConfigData(Applet applet, String path) { super(path); _applet = applet; } protected String getValue(String fullKey) { return _applet.getParameter(fullKey); } protected ConfigData createConfigData(String path) { return new AppletBasedConfigData(_applet, path); } } plantuml-1.2018.13+ds/src/jcckit/util/ConfigData.java000066400000000000000000000041001340005343600221330ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.util; /** * Interface for hierarchically managed key-value pairs. The key is * always a string which contains any kind of printable character except * '/', '=', ':', and whitespace characters like ' ' and '\t'. * The value is either a string or a ConfigData object. *

* This interface will be used by {@link ConfigParameters} in accordance * with the Strategy design pattern. * * @author Franz-Josef Elmer */ public interface ConfigData { /** * Returns the full key. * @param key A (relative) key. null is not allowed. * @return the full key including path. */ public String getFullKey(String key); /** * Returns the value associated with this key. * @param key The relative key. null is not allowed. * @return the associated value. Will be null if no value exists * for key. */ public String get(String key); /** * Returns the ConfigData object associated with this key. * @param key The relative key. null is not allowed. * @return the associated value. Will never return null. * Instead an empty ConfigData is returned. */ public ConfigData getNode(String key); } plantuml-1.2018.13+ds/src/jcckit/util/ConfigParameters.java000066400000000000000000000301511340005343600233720ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.util; import java.awt.Color; import java.util.StringTokenizer; import net.sourceforge.plantuml.graphic.HtmlColorSet; import net.sourceforge.plantuml.graphic.HtmlColorSetSimple; import net.sourceforge.plantuml.graphic.IHtmlColorSet; import net.sourceforge.plantuml.ugraphic.ColorMapperIdentity; /** * Read-only class for hierarchically organized key-value pairs. * The key is always a string. The following value types are * supported: *

  • String *
  • boolean *
  • int *
  • double *
  • double[] *
  • Color *
  • ConfigParameters *
*

* In accordance with the Strategy design pattern the retrieval of * a key-value pair is delegated to an instance of * {@link ConfigData}. * * @author Franz-Josef Elmer */ public class ConfigParameters { private final ConfigData _configData; /** Creates an instance from the specified ConfigData object. */ public ConfigParameters(ConfigData configData) { _configData = configData; } /** * Returns the full key. * @return the path concatenated with key. * @see ConfigData#getFullKey */ public String getFullKey(String key) { return _configData.getFullKey(key); } /** * Returns the string value associated with the specified key. * @param key The (relative) key. null is not allowed. * @return the corresponding value. Will always be not null. * @throws IllegalArgumentException if no value exists for key. * The exception message is the full key. */ public String get(String key) { String result = _configData.get(key); if (result == null) { throw new IllegalArgumentException(getFullKey(key)); } return result; } /** * Returns the string value associated with the specified key or * defaultValue if undefined. * @param key The (relative) key. null is not allowed. * @param defaultValue The default value. Can be null. * @return the corresponding value or defaultValue. */ public String get(String key, String defaultValue) { String result = _configData.get(key); if (result == null) { result = defaultValue; } return result; } /** * Returns the boolean associated with the specified key. * @param key The (relative) key. null is not allowed. * @return true if the value is "true" otherwise false. * @throws IllegalArgumentException if no value exists for key. * The exception message is the full key. * @throws NumberFormatException if the value is neither "true" nor "false". */ public boolean getBoolean(String key) { return parseBoolean(get(key), key); } /** * Returns the boolean associated with the specified key. * @param key The (relative) key. null is not allowed. * @param defaultValue The default value. Can be null. * @return true if the value is "true" otherwise false. * @throws NumberFormatException if the value is neither "true" nor "false". */ public boolean getBoolean(String key, boolean defaultValue) { String value = _configData.get(key); return value == null ? defaultValue : parseBoolean(value, key); } private boolean parseBoolean(String value, String key) { if (value.equals("true")) { return true; } else if (value.equals("false")) { return false; } else { throw createNumberFormatException("boolean", value, key); } } private NumberFormatException createNumberFormatException(String text, String value, String key) { return new NumberFormatException("Not a " + text + ": " + getFullKey(key) + " = " + value); } /** * Returns the integer associated with the specified key. * The value can be either *

  • a decimal number (starting with a non-zero digit), *
  • a hexadecimal number (starting with 0x), or *
  • an octal number (starting with zero). *
* @param key The (relative) key. null is not allowed. * @return the integer value. * @throws IllegalArgumentException if no value exists for key. * The exception message is the full key. * @throws NumberFormatException if the value is not a number. * The exception message contains the full key and the invalid value. */ public int getInt(String key) { return parseInt(get(key), key); } /** * Returns the integer associated with the specified key or * defaultValue if no key-value pair exists for the specified key. * The value can be either *
  • a decimal number (starting with a non-zero digit), *
  • a hexadecimal number (starting with 0x), or *
  • an octal number (starting with zero). *
* @param key The (relative) key. null is not allowed. * @param defaultValue The default value. Can be null. * @return the integer value. * @throws NumberFormatException if the value exists but is not a number. * The exception message contains the full key and the invalid value. */ public int getInt(String key, int defaultValue) { String value = _configData.get(key); return value == null ? defaultValue : parseInt(value, key); } private int parseInt(String value, String key) { try { return Integer.decode(value).intValue(); } catch (NumberFormatException e) { throw createNumberFormatException("number", value, key); } } /** * Returns the double associated with the specified key. * @param key The (relative) key. null is not allowed. * @return the double value. * @throws IllegalArgumentException if no value exists for key. * The exception message is the full key. * @throws NumberFormatException if the value is not a valid number. * The exception message contains the full key and the invalid value. */ public double getDouble(String key) { return parseDouble(get(key), key); } /** * Returns the double associated with the specified key or * defaultValue if no key-value pair exists for the specified key. * @param key The (relative) key. null is not allowed. * @param defaultValue The default value. Can be null. * @return the double value. * @throws NumberFormatException if the value exists but is not a valid * number. * The exception message contains the full key and the invalid value. */ public double getDouble(String key, double defaultValue) { String value = _configData.get(key); return value == null ? defaultValue : parseDouble(value, key); } private double parseDouble(String value, String key) { try { return new Double(value).doubleValue(); } catch (NumberFormatException e) { throw createNumberFormatException("number", value, key); } } /** * Returns the array of doubles associated with the specified key. * The numbers are separated by whitespaces. * @param key The (relative) key. null is not allowed. * @return the array of double values. * @throws IllegalArgumentException if no value exists for key. * The exception message is the full key. * @throws NumberFormatException if the value exists but is not a * sequence of number. The exception message contains * the full key and the invalid value. */ public double[] getDoubleArray(String key) { return parseDoubleArray(get(key), key); } /** * Returns the array of doubles associated with the specified key * or defaultValue if no key-value pair exists for * the specified key. The numbers are separated by whitespaces. * @param key The (relative) key. null is not allowed. * @param defaultValue The default value. Can be null. * @return the array of double values. * @throws NumberFormatException if the value exists but is not a * sequence of number. The exception message contains * the full key and the invalid value. */ public double[] getDoubleArray(String key, double[] defaultValue) { String value = _configData.get(key); return value == null ? defaultValue : parseDoubleArray(value, key); } private double[] parseDoubleArray(String value, String key) { try { StringTokenizer tokenizer = new StringTokenizer(value); double[] result = new double[tokenizer.countTokens()]; for (int i = 0; i < result.length; i++) { result[i] = new Double(tokenizer.nextToken()).doubleValue(); } return result; } catch (NumberFormatException e) { throw createNumberFormatException("sequence of numbers", value, key); } } /** * Returns the color associated with the specified key. * The color is coded as *
  • a decimal number (starting with a non-zero digit), *
  • a hexadecimal number (starting with 0x), or *
  • an octal number (starting with zero). *
* @param key The (relative) key. null is not allowed. * @return the color. * @throws NumberFormatException if the value exists but is not a number. * The exception message contains the full key and the invalid value. */ public Color getColor(String key) { return parseColor(get(key), key); } /** * Returns the color associated with the specified key or the specified * default value if no key-value pair exists for the specified key. * The color is coded as *
  • a decimal number (starting with a non-zero digit), *
  • a hexadecimal number (starting with 0x), or *
  • an octal number (starting with zero). *
* @param key The (relative) key. null is not allowed. * @param defaultValue The default value. Can be null. * @return the color or null if the value is an empty string. * @throws NumberFormatException if the value exists but is not a number. * The exception message contains the full key and the invalid value. */ public Color getColor(String key, Color defaultValue) { String value = _configData.get(key); return value == null ? defaultValue : parseColor(value, key); } private Color parseColor(String value, String key) { try { return value.length() == 0 ? null : decodeInternal(value); } catch (NumberFormatException e) { throw createNumberFormatException("number", value, key); } } static private IHtmlColorSet colors = new HtmlColorSetSimple(); private Color decodeInternal(String value) { if (colors.getColorIfValid(value)!=null) { return new ColorMapperIdentity().getMappedColor(colors.getColorIfValid(value)); } return Color.decode(value); } /** * Returns the child node associated with the specified key. * This method returns in any case a non-null result. * @param key The (relative) key. null is not allowed. * @return the corresponding child node which may be empty. */ public ConfigParameters getNode(String key) { return new ConfigParameters(_configData.getNode(key)); } } plantuml-1.2018.13+ds/src/jcckit/util/ConfigParametersBasedConfigData.java000066400000000000000000000052451340005343600262570ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.util; /** * An implementation of {@link ConfigData} based on two instances of * {@link ConfigParameters}. The second one serves as a set of * default parameters. It will be used if the first one has not the requested * key-value pair. * * @author Franz-Josef Elmer */ public class ConfigParametersBasedConfigData implements ConfigData { private ConfigParameters _config; private ConfigParameters _defaultConfig; /** * Creates an instance. * @param config A set of key-value pairs. * @param defaultConfig The default set of key-value pairs. */ public ConfigParametersBasedConfigData(ConfigParameters config, ConfigParameters defaultConfig) { _config = config; _defaultConfig = defaultConfig; } /** * Returns the full key. * @param key A (relative) key. null is not allowed. * @return the full key including path. */ public String getFullKey(String key) { return _config.getFullKey(key); } /** * Returns the value associated with this key. * @param key The relative key. null is not allowed. * @return the associated value. Will be null if no value exists * for key. */ public String get(String key) { String value = _config.get(key, null); return value == null ? _defaultConfig.get(key, null) : value; } /** * Returns the ConfigData object associated with this key. * @param key The relative key. null is not allowed. * @return the associated value. Will never return null. * Instead an empty ConfigData is returned. */ public ConfigData getNode(String key) { return new ConfigParametersBasedConfigData(_config.getNode(key), _defaultConfig.getNode(key)); } } plantuml-1.2018.13+ds/src/jcckit/util/Factory.java000066400000000000000000000114431340005343600215530ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.util; import java.lang.reflect.Constructor; /** * General purpose factory method based on {@link ConfigParameters} * and Java's Reflection API. * * @author Franz-Josef Elmer */ public class Factory { /** The constant defining the key className. */ public static final String CLASS_NAME_KEY = "className"; /** No public constructor necessary. */ private Factory() {} /** * Creates an instance of the specified class. * @param className Fully-qualified name of a class with a default * constructor. * @return a new instance. * @throws IllegalArgumentException if the instance could be created. */ public static Object create(String className) { try { return Class.forName(className).newInstance(); } catch (Throwable t) { throw new IllegalArgumentException("Could not create an instance of " + className + " because of " + t); } } /** * Creates an object based on the specified configuration * parameters. The class of the object is determined by the * parameter with the key {@link #CLASS_NAME_KEY}. * The constructor with a single argument of the type * ConfigParameter is invoked with the argument * configParameters. If such a constructor * does not exists the default constructor is invoked. If * neither of these constructors exist a {@link FactoryException} * is thrown. * @param configParameters Configuration parameters. * @return the newly created object. * @throws IllegalArgumentException if key className is missing. * @throws FactoryException wrapping any kind of exception or error occured. */ public static Object create(ConfigParameters configParameters) { String className = configParameters.get(CLASS_NAME_KEY); return createObject(configParameters, className); } /** * Creates an object based on the specified configuration * parameters and default class name. If the * parameter with the key {@link #CLASS_NAME_KEY} is missed in * configParameters defaultClassName is used. * Otherwise it works as {@link #create(jcckit.util.ConfigParameters)}. * @param configParameters Configuration parameters. * @param defaultClassName Default class name. * @return the newly created object. * @throws FactoryException wrapping any kind of exception or error occured. */ public static Object create(ConfigParameters configParameters, String defaultClassName) { String className = configParameters.get(CLASS_NAME_KEY, defaultClassName); return createObject(configParameters, className); } /** * Creates an object based on the specified configuration * parameters or returns the default object. This method behaves * as {@link #create(jcckit.util.ConfigParameters)}, except that is does * not throw an IllegalArgumentException if key className * is missing. Instead defaultObject is returned. */ public static Object createOrGet(ConfigParameters configParameters, Object defaultObject) { String className = configParameters.get(CLASS_NAME_KEY, null); return className == null ? defaultObject : createObject(configParameters, className); } private static Object createObject(ConfigParameters configParameters, String className) { try { Class c = Class.forName(className); Object result = null; Constructor constructor = null; try { constructor = c.getConstructor(new Class[] {ConfigParameters.class}); result = constructor.newInstance(new Object[] {configParameters}); } catch (NoSuchMethodException e) { result = c.newInstance(); } return result; } catch (Throwable t) { throw new FactoryException(configParameters, CLASS_NAME_KEY, t); } } } plantuml-1.2018.13+ds/src/jcckit/util/FactoryException.java000066400000000000000000000053171340005343600234350ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.util; import java.lang.reflect.InvocationTargetException; /** * Exception thrown in the case of an error during creation of a new * object by {@link Factory#create}. * * @author Franz-Josef Elmer */ public class FactoryException extends RuntimeException { private final String _fullKey; private final String _className; private final Object _reason; /** * Creates a new instance based on the specified configuration parameters * and reason object. *

* If reason is an instance of InvocationTargetException * it will be replaced by the wrapped Throwable. * @param configParameters Configuration parameters from which the * className will be extracted (if it exists, otherwise * null will be taken). * @param reason The reason causing this exception. Most often an * an exception. */ public FactoryException(ConfigParameters configParameters, String key, Object reason) { _fullKey = configParameters.getFullKey(key); _className = configParameters.get(key, null); if (reason instanceof InvocationTargetException) { reason = ((InvocationTargetException) reason).getTargetException(); } _reason = reason; } /** Returns the full class name key. */ public String getFullKey() { return _fullKey; } /** Returns the fully qualified class name. */ public String getClassName() { return _className; } /** Returns the reason object causing this exception. */ public Object getReason() { return _reason; } /** * Renders this instance as follows: jcckit.util.FactoryException: * full key = class name: reason. */ public String toString() { return getClass().getName() + ": " + _fullKey + " = " + _className + ": " + _reason; } } plantuml-1.2018.13+ds/src/jcckit/util/FlatConfigData.java000066400000000000000000000156761340005343600227660ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.util; /** * An implementation of ConfigData based on a flat * representation of the hierachically organized key-value pairs. * Concrete subclasses must implement the methods * {@link #getValue} and {@link #createConfigData} in accordance * with the Template Method pattern and Factory Method pattern, * respectively. *

* In a flat representation of hierachically organized key-value * pairs all key-value pairs are stored in a single Hashtable. * Its key is the full key of the configuration data (i.e. the key * including its path). *

* Example (using the notation for a .properties file): *

 *  title = example
 *  symbolAttributes/className = jcckit.graphic.BasicDrawingAttributes
 *  symbolAttributes/fillColor = 0xcaffee
 *  symbolAttributes/lineColor = 0xff0000
 *  
* The following table shows the result of some method calls at a * FlatConfigData instance prepared with * this example: *

*

* * * * *
Method callResult
get("title")example
getNode("symbolAttributes").get("fillColor") * 0xcaffee
*
*

* In addition FlatConfigData implements inheritance * of key-value pairs. * Basically a node in the tree of key-value pairs * may extend another node in the tree. * The extended node inherit all key-value pairs from the extending * one including the key-value pairs of all descendants. * The value of a inherited key-value pair may be overridden. * Also new key-value pairs may be placed in the inherited node or * anywhere in the subtree. * Note, that the extending node has to be a node which is not a * descendant of the extended node (otherwise a circulary chain * of references occurs). As a consequence not more than 20 inheritance * levels are allowed. *

* The implementation of this kind of inheritance in a flat hashtable * is done by an additional key-value pair of the form *

 *    extending-node/ = extended-node/
 *  
* Example: *
 *  A/a/priority = high
 *  A/a/alpha/hello = universe
 *  A/a/alpha/answer = 42
 *  A/b/1/ = A/a/
 *  A/b/1/alpha/hello = world
 *  A/b/1/alpha/question = 6 * 7
 *  
* The following table shows the result of various method calls * applied at the node A/b/1/ of a FlatConfigData * instance prepared with this example: *

*

* * * * * * *
Method callResultComment
get("priority")highinherited
getNode("alpha").get("hello") * worldoverridden
getNode("alpha").get("question") * 6 * 7added
getNode("alpha").get("answer") * 42inherited
*
* * @author Franz-Josef Elmer */ public abstract class FlatConfigData implements ConfigData { private final String _path; /** Creates a new instance for the specified path. */ public FlatConfigData(String path) { _path = path; } /** * Returns the full key. * @param key A (relative) key. null is not allowed. * @return the path concatenated with key or key * if the path is undefined. */ public String getFullKey(String key) { return _path == null ? key : _path + key; } /** * Returns the value associated with this key. * @param key The relative key. null is not allowed. * @return the associated value. Will be null if no value exists * for key. */ public String get(String key) { return get(_path, key, 0); } /** * Obtains a value in accordance with hierarchy (path) and * inheritance (recursive calls of this routine). */ private String get(String path, String key, int numberOfLevels) { String result = null; if (numberOfLevels < 20) { String fullKey = path == null ? key : path + key; result = getValue(fullKey); if (result == null) { // posAfterDelim is the index in path just after '/' int posAfterDelim = path == null ? -1 : path.length(); String replacement; while (posAfterDelim > 0) { // look for a sub-tree replacement = getValue(path.substring(0, posAfterDelim)); if (replacement != null) { // sub-tree found, add last part of the original path result = get(replacement + path.substring(posAfterDelim), key, numberOfLevels + 1); // break whether result is null or not. break; } // remove last element from the path posAfterDelim = path.lastIndexOf('/', posAfterDelim - 2) + 1; } } } return result; } /** * Returns the ConfigData object associated with this key. * @param key The relative key. * @return the associated value. Will never return null. * Instead an empty ConfigData is returned. */ public ConfigData getNode(String key) { String path = (_path == null ? key : _path + key) + '/'; return createConfigData(path); } /** * Returns the value for the specified full key from the flat * representation of the hierarchically organized key-value pairs. * @param fullKey The full key including path. null is not allowed. * @return the value or null if not found. */ protected abstract String getValue(String fullKey); /** * Returns the FlatConfigData object for the specified full path. * In general path will be used in the constructor with * path argument. * @param path The full path. * @return a new instance in any case. */ protected abstract ConfigData createConfigData(String path); } plantuml-1.2018.13+ds/src/jcckit/util/Format.java000066400000000000000000000162511340005343600213760ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.util; import java.util.Vector; /** * A helper class for formatting numbers according to * a printf-like format string. Each instance of * this class is initialized by a format string for a * single number. * * @author Franz-Josef Elmer */ public class Format implements TicLabelFormat { /** * Creates a new instance based of specified key-value pair of the * specified configuration parameters. * @param config Config parameters. * @param key The key of the key-value pair in config containing * the format string. * @return null if undefined key-value pair or format string * is an empty string. * @throws FactoryException if the format string is invalid. */ public static Format create(ConfigParameters config, String key) { Format result = null; String format = config.get(key, null); if (format != null && format.length() > 0) { try { result = new Format(format); } catch (Exception e) { throw new FactoryException(config, key, e); } } return result; } private final FormatElement[] _formatElements; private final Vector _staticParts; /** * Creates an instance for the specified format string. * The format string is an alternation of some static texts and * format elements. * A format element has to start with '%' and it must end with * one of the following format descriptors: * * * * * * * * * * * * * *
ddecimal integer
ooctal integer
xhex integer
ffloating point number with a fixed decimal point
e, Efloating point number in logarithmic format
g, Gfloating point number rendered either in fixed-decimal * format of logarithmic format depending on the size of * the mantissa.
* The characters between '%' and the decriptor are optional. * They can be grouped into *
  • modifier
    * it is *
    • '-' if the formated result should be flushed left *
    • '+' if the sign should be always appear *
    • '0' if the leading space should be filled with zeros *
    *
  • width
    * a decimal number given the minimum number of characters * of the result *
  • precision *
* A plain '%' is coded as '%%'. * @param formatString The format string. * @exception IllegalArgumentException if invalid format string. */ public Format(String formatString) { _staticParts = new Vector(); Vector formatElements = new Vector(); StringBuffer part = new StringBuffer(); boolean insideFormatElement = false; boolean atPercentSymbol = false; for (int i = 0, n = formatString.length(); i < n; i++) { char c = formatString.charAt(i); if (insideFormatElement) { part.append(c); if (FormatElement.DESCRIPTORS.indexOf(c) >= 0) { formatElements.addElement(new String(part)); part.setLength(0); insideFormatElement = false; } } else if (atPercentSymbol) { atPercentSymbol = false; if (c != '%') { _staticParts.addElement(new String(part)); part.setLength(0); insideFormatElement = true; } part.append(c); if (FormatElement.DESCRIPTORS.indexOf(c) >= 0) { formatElements.addElement(new String(part)); part.setLength(0); insideFormatElement = false; } } else { if (c == '%') { atPercentSymbol = true; } else { part.append(c); } } } if (insideFormatElement) { formatElements.addElement(new String(part)); } else { _staticParts.addElement(new String(part)); } _formatElements = new FormatElement[formatElements.size()]; for (int i = 0; i < _formatElements.length; i++) { _formatElements[i] = new FormatElement((String) formatElements.elementAt(i)); } } /** * Format a number. * If there are no format elements the numbers will be ignored. * If there are more than one format elements the * additional format elements will be ignored and only the static parts * are taken. * @param number Number to be formated. * @return Formated number. */ public String form(long number) { StringBuffer result = new StringBuffer(); result.append(_staticParts.elementAt(0)); if (_formatElements.length > 0) { _formatElements[0].form(result, number); } return appendRest(result); } /** * Format a number. * If there are no format elements the numbers will be ignored. * If there are more than one format elements the * additional format elements will be ignored and only the static parts * are taken. * @param number Number to be formated. * @return Formated number. */ public String form(double number) { StringBuffer result = new StringBuffer(); result.append(_staticParts.elementAt(0)); if (_formatElements.length > 0) { _formatElements[0].form(result, number); } return appendRest(result); } private String appendRest(StringBuffer buffer) { for (int i = 1, n = _staticParts.size(); i < n; i++) { buffer.append(_staticParts.elementAt(i)); } return new String(buffer); } /** * Format an array of double numbers. * If there are less format elements than numbers the additional numbers * will be ignored. If there are less numbers than format elements the * additional format elements will be ignored and only the static parts * are taken. * @param numbers Numbers to be formated. * @return Formated numbers. */ public String form(double[] numbers) { StringBuffer result = new StringBuffer(); for (int i = 0, n = _staticParts.size(); i < n; i++) { result.append(_staticParts.elementAt(i)); if (i < _formatElements.length && i < numbers.length) { _formatElements[i].form(result, numbers[i]); } } return new String(result); } } plantuml-1.2018.13+ds/src/jcckit/util/FormatElement.java000066400000000000000000000172611340005343600227120ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.util; /** * * * @author Franz-Josef Elmer */ class FormatElement { /** All descriptor characters. */ static final String DESCRIPTORS = "doxfeEgG"; private static final String INT_DESCRIPTORS = "dox"; private static final int INT_DESCRIPTOR = 0; private static final int FLOAT_DESCRIPTOR = 1; /** * Calculate the integer power of a floating point number. * @param n Exponent. * @param x Number. * @return x^n. */ private static final double power(double x, int n) { return n < 0 ? 1.0 / power2(x, -n) : power2(x, n); } /** Calculate x^n recursively assuming n > 0. */ private static final double power2(double x, int n) { switch (n) { case 0: return 1; case 1: return x; default: double p = power2(x, n / 2); return p * p * power2(x, n % 2); } } private final char _descriptor; private final int _descriptorType; private final double _tenToPrecision; private boolean _decimalPoint; private boolean _flushLeft; private boolean _leadingZeros; private boolean _alwaysSign; private int _width; private int _precision; /** Creates an instance for the specified format string. */ FormatElement(String formatString) { int len = formatString.length() - 1; _descriptor = formatString.charAt(len); if (DESCRIPTORS.indexOf(_descriptor) < 0) { throw new IllegalArgumentException("Format element '" + formatString + "' does not ends with one of the following characters: " + DESCRIPTORS); } _descriptorType = INT_DESCRIPTORS.indexOf(_descriptor) >= 0 ? INT_DESCRIPTOR : FLOAT_DESCRIPTOR; if (formatString.length() > 1) { switch (formatString.charAt(0)) { case '-': _flushLeft = true; formatString = formatString.substring(1); break; case '0': _leadingZeros = true; formatString = formatString.substring(1); break; case '+': _alwaysSign = true; formatString = formatString.substring(1); break; } len = formatString.length() - 1; int index = formatString.indexOf('.'); _decimalPoint = index >= 0; int last = _decimalPoint ? index : len; if (last > 0) { _width = Integer.parseInt(formatString.substring(0, last)); } if (_decimalPoint) { index++; if (index < len) { _precision = Integer.parseInt(formatString.substring(index, len)); } } } _tenToPrecision = power(10, _precision); } /** * Format a number in accordance of the format string * given at the initialisation of this instance. * @param buffer Buffer to which the formated output will be appended. * @param number Number to be formated. */ public void form(StringBuffer buffer, long number) { if (_descriptorType == FLOAT_DESCRIPTOR) { form(buffer, (double) number); } else { // Format absolut value in the right base buffer.append(form(number < 0, Long.toString(Math.abs(number), _descriptor == 'o' ? 8 : (_descriptor == 'x' ? 16 : 10)), "")); } } /** * Format a number in accordance of the format string * given at the initialisation of this instance. * @param buffer Buffer to which the formated output will be appended. * @param number Number to be formated. */ public void form(StringBuffer buffer, double number) { if (_descriptorType == INT_DESCRIPTOR) { form(buffer, (long) Math.floor(number + 0.5)); } else if (_descriptor == 'f') { buffer.append(formF(number)); } else if (_descriptor == 'e' || _descriptor == 'E') { buffer.append(formE(number)); } else if (_descriptor == 'g' || _descriptor == 'G') { String formF = formF(number); String formE = formE(number); buffer.append(formF.length() > formE.length() ? formE : formF); } } private String form(boolean negativeValue, String intPart, String fracPart) { int len = intPart.length() + fracPart.length(); // Buffer holding the result StringBuffer result = new StringBuffer(); int count = 0; // add sign if necessary if (_alwaysSign || negativeValue) { result.append(negativeValue ? '-' : '+'); count++; } // add zeros if necessary if (_leadingZeros) { for (int i = count + len; i < _width; i++) { result.append('0'); count++; } } // add number result.append(intPart).append(fracPart); count += len; // add spaces if necessary if (_flushLeft) { for (; count < _width; count++) { result.append(' '); } } else { for (; count < _width; count++) { result.insert(0, ' '); } } return new String(result); } /** Format floating point number with exponent. */ private String formE(double number) { // format absolute mantisse int exponent = 0; String zeros = "00000000000000000000000".substring(0, _precision + 1); if (number != 0) { exponent = (int) Math.floor(Math.log(Math.abs(number)) / Math.log(10)); double mantisse = Math.floor(Math.abs(number * power(10.0, _precision - exponent)) + 0.5); if (mantisse >= 10 * _tenToPrecision) { exponent++; mantisse = Math.floor(Math.abs(number * power(10.0, _precision - exponent)) + 0.5); } zeros = Long.toString((long) mantisse); } // make fractional part StringBuffer fracPart = new StringBuffer(); if (_decimalPoint) { fracPart.append('.').append(zeros.substring(1)); } // make exponent fracPart.append(Character.isLowerCase(_descriptor) ? 'e': 'E') .append(exponent < 0 ? '-' : '+'); exponent = Math.abs(exponent); for (int i = 0, n = fracPart.length(); i < 3; i++) { fracPart.insert(n, Character.forDigit(exponent % 10, 10)); exponent /= 10; } return form(number < 0, zeros.substring(0, 1), new String(fracPart)); } /** Format floating point number. */ private String formF(double number) { // Format absolut value double multiplier = number < 0 ? - _tenToPrecision : _tenToPrecision; String digits = Long.toString((long) Math.floor(number * multiplier + 0.5)); String intPart = digits; StringBuffer fracPart = new StringBuffer(); if (_decimalPoint) { int len = digits.length() - _precision; fracPart.append('.').append(digits.substring(Math.max(0, len))); if (len > 0) { intPart = digits.substring(0, len); } else { intPart = "0"; for (; len < 0; len++) { fracPart.insert(1, '0'); } } } return form(number < 0, intPart, new String(fracPart)); } } plantuml-1.2018.13+ds/src/jcckit/util/Point.java000066400000000000000000000035271340005343600212410ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.util; /** * Immutable class of a two-dimensional point with floating point * coordinates. * * @author Franz-Josef Elmer */ public class Point { private final double _x; private final double _y; /** * Creates an instance for the specified vector. The value of the * first/second element of vector denotes the x/y value. * If vector is null or not long enough 0 will be used * as default values. */ public Point(double[] vector) { double x = 0; double y = 0; if (vector != null && vector.length > 0) { x = vector[0]; if (vector.length > 1) { y = vector[1]; } } _x = x; _y = y; } /** Creates an instance for the specified coordinates. */ public Point(double x, double y) { _x = x; _y = y; } /** Returns the x-coordinate of the point. */ public double getX() { return _x; } /** Returns the y-coordinate of the point. */ public double getY() { return _y; } } plantuml-1.2018.13+ds/src/jcckit/util/PropertiesBasedConfigData.java000066400000000000000000000054331340005343600251610ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.util; import java.io.FileInputStream; import java.io.IOException; import java.util.Properties; /** * Implementation of {@link FlatConfigData} based on * java.util.Properties. * * @author Franz-Josef Elmer */ public class PropertiesBasedConfigData extends FlatConfigData { private final Properties _properties; /** * Creates an instance from the specified .properties file. * @param fileName File name of the .properties file relative * to the working directory or absolute. * @throws IOException if the .properties does not exist or could * not be read. */ public PropertiesBasedConfigData(String fileName) throws IOException { super(null); _properties = new Properties(); _properties.load(new FileInputStream(fileName)); } /** * Creates an instance based on the specified properties. * The path is undefined. */ public PropertiesBasedConfigData(Properties properties) { this(properties, null); } /** Creates an instance based on the specified properties and path. */ private PropertiesBasedConfigData(Properties properties, String path) { super(path); _properties = properties; } /** * Returns the value for the specified full key. The call will be delegated * to the wrapped java.util.properties object. * @param fullKey The full key including path. null is not allowed. * @return the value or null if not found. */ protected String getValue(String fullKey) { return _properties.getProperty(fullKey); } /** * Returns a new instance of PropertiesBasedConfigData * for the specified full path. The wrapped java.util.Properties * will be the same as of this instance. * @param path The full path. * @return a new instance. */ protected ConfigData createConfigData(String path) { return new PropertiesBasedConfigData(_properties, path); } } plantuml-1.2018.13+ds/src/jcckit/util/TicLabelFormat.java000066400000000000000000000022751340005343600227770ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.util; /** * Format interface for tic labels. Maps a numerical tic value onto a string. * * @author Franz-Josef Elmer */ public interface TicLabelFormat { /** * Forms the specified tic value to a string. Note, the numerical * ticValue may be mapped onto a non-numerical one. */ public String form(double ticValue); } plantuml-1.2018.13+ds/src/jcckit/util/Util.java000066400000000000000000000031021340005343600210520ustar00rootroot00000000000000/* * Copyright 2003-2004, Franz-Josef Elmer, All rights reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details * (http://www.gnu.org/copyleft/lesser.html). * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package jcckit.util; /** * Collection of static utility methods. * * @author Franz-Josef Elmer */ public class Util { /** Private constructor to prevent instanciation of this class. */ private Util() {} /** * Returns the natural logarithm of the specified number if * logScale is true. * @return x if logScale == false. */ public static double log(double x, boolean logScale) { return logScale ? Math.log(x) : x; } /** * Returns the exponential function of the specified number if * logScale is true. * @return x if logScale == false. */ public static double exp(double x, boolean logScale) { return logScale ? Math.exp(x) : x; } } plantuml-1.2018.13+ds/src/net/000077500000000000000000000000001340005343600156405ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/net/sourceforge/000077500000000000000000000000001340005343600201635ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/000077500000000000000000000000001340005343600220175ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/AFile.java000066400000000000000000000030461340005343600236450ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.File; import java.io.IOException; import java.io.InputStream; public interface AFile { public InputStream open() throws IOException; public boolean isOk(); public AParentFolder getParentFile(); public String getAbsolutePath(); public File getUnderlyingFile(); } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/AFileRegular.java000066400000000000000000000043031340005343600251640ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; public class AFileRegular implements AFile { private final File file; @Override public String toString() { return "AFileRegular::" + file; } public AFileRegular(File file) { this.file = file; } public InputStream open() throws IOException { return new FileInputStream(file); } public boolean isOk() { return file.exists() && file.isDirectory() == false; } @Override public int hashCode() { return file.hashCode(); } @Override public boolean equals(Object obj) { if (obj instanceof AFileRegular == false) { return false; } return this.file.equals(((AFileRegular) obj).file); } public AParentFolder getParentFile() { return new AParentFolderRegular(file.getParentFile()); } public String getAbsolutePath() { return file.getAbsolutePath(); } public File getUnderlyingFile() { return file; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/AFileZipEntry.java000066400000000000000000000061221340005343600253500ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; public class AFileZipEntry implements AFile { private final File zipFile; private final String entry; public AFileZipEntry(File file, String entry) { this.zipFile = file; this.entry = entry; } @Override public String toString() { return "AFileZipEntry::" + zipFile + " " + entry; } public InputStream open() throws IOException { final ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFile)); ZipEntry ze = zis.getNextEntry(); while (ze != null) { final String fileName = ze.getName(); if (ze.isDirectory()) { } else if (fileName.trim().equalsIgnoreCase(entry.trim())) { return zis; } ze = zis.getNextEntry(); } zis.closeEntry(); zis.close(); throw new IOException(); } public boolean isOk() { if (zipFile.exists() && zipFile.isDirectory() == false) { InputStream is = null; try { is = open(); return true; } catch (IOException e) { // e.printStackTrace(); } finally { try { if (is != null) { is.close(); } } catch (IOException e1) { e1.printStackTrace(); } } } return false; } @Override public int hashCode() { return zipFile.hashCode() + entry.hashCode(); } @Override public boolean equals(Object obj) { if (obj instanceof AFileZipEntry == false) { return false; } final AFileZipEntry other = (AFileZipEntry) obj; return this.zipFile.equals(other.zipFile) && this.entry.equals(other.entry); } public AParentFolder getParentFile() { return new AParentFolderZip(zipFile, entry); } public String getAbsolutePath() { return zipFile.getAbsolutePath() + "~" + entry; } public File getUnderlyingFile() { return zipFile; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/AParentFolder.java000066400000000000000000000026051340005343600253530ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.IOException; public interface AParentFolder { public AFile getAFile(String nameOrPath) throws IOException; } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/AParentFolderRegular.java000066400000000000000000000042071340005343600266750ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.File; import java.io.IOException; public class AParentFolderRegular implements AParentFolder { private final File dir; public AParentFolderRegular(File dir) { this.dir = dir; Log.info("Creating AParentFolderRegular " + dir); } @Override public String toString() { return "AParentFolderRegular::" + (dir == null ? "NULL" : dir.getAbsolutePath()); } public AFile getAFile(String nameOrPath) throws IOException { final File filecurrent; Log.info("AParentFolderRegular::looking for " + nameOrPath); Log.info("AParentFolderRegular::dir = " + dir); if (dir == null) { filecurrent = new File(nameOrPath); } else { filecurrent = new File(dir.getAbsoluteFile(), nameOrPath); } Log.info("AParentFolderRegular::Filecurrent " + filecurrent); if (filecurrent.exists()) { return new AFileRegular(filecurrent.getCanonicalFile()); } return null; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/AParentFolderZip.java000066400000000000000000000041241340005343600260340ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.File; import java.io.IOException; public class AParentFolderZip implements AParentFolder { private final File zipFile; private final String parent; @Override public String toString() { return "AParentFolderZip::" + zipFile + " " + parent; } public AParentFolderZip(File zipFile, String entry) { this.zipFile = zipFile; final int idx = entry.lastIndexOf('/'); if (idx == -1) { parent = ""; } else { parent = entry.substring(0, idx + 1); } } public AFile getAFile(String nameOrPath) throws IOException { return new AFileZipEntry(zipFile, merge(parent + nameOrPath)); } String merge(String full) { // full = full.replaceFirst("\\.", "Z"); while (true) { int len = full.length(); full = full.replaceFirst("[^/]+/\\.\\./", ""); if (full.length() == len) { return full; } } } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/AbstractPSystem.java000066400000000000000000000106571340005343600257630ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.IOException; import java.io.OutputStream; import net.sourceforge.plantuml.command.BlocLines; import net.sourceforge.plantuml.command.Command; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.ProtectedCommand; import net.sourceforge.plantuml.core.Diagram; import net.sourceforge.plantuml.core.ImageData; import net.sourceforge.plantuml.core.UmlSource; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.cucadiagram.DisplayPositionned; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.VerticalAlignment; import net.sourceforge.plantuml.stats.StatsUtilsIncrement; import net.sourceforge.plantuml.version.License; import net.sourceforge.plantuml.version.Version; public abstract class AbstractPSystem implements Diagram { private UmlSource source; private Scale scale; private String getVersion() { final StringBuilder toAppend = new StringBuilder(); toAppend.append("PlantUML version "); toAppend.append(Version.versionString()); toAppend.append("(" + Version.compileTimeString() + ")\n"); toAppend.append("(" + License.getCurrent() + " source distribution)\n"); for (String name : OptionPrint.interestingProperties()) { toAppend.append(name); toAppend.append(BackSlash.CHAR_NEWLINE); } return toAppend.toString(); } final public String getMetadata() { if (source == null) { return getVersion(); } return source.getPlainString() + BackSlash.NEWLINE + getVersion(); } final public UmlSource getSource() { return source; } final public long seed() { if (source == null) { return 42; } return getSource().seed(); } final public void setSource(UmlSource source) { this.source = source; } public int getNbImages() { return 1; } public DisplayPositionned getTitle() { if (source == null) { return DisplayPositionned.single(Display.empty(), HorizontalAlignment.CENTER, VerticalAlignment.TOP); } return DisplayPositionned.single(source.getTitle(), HorizontalAlignment.CENTER, VerticalAlignment.TOP); } public String getWarningOrError() { return null; } public String checkFinalError() { return null; } public void makeDiagramReady() { } public boolean isOk() { return true; } public CommandExecutionResult executeCommand(Command cmd, BlocLines lines) { cmd = new ProtectedCommand(cmd); return cmd.execute(this, lines); } public boolean hasUrl() { return false; } final public ImageData exportDiagram(OutputStream os, int index, FileFormatOption fileFormatOption) throws IOException { final long now = System.currentTimeMillis(); try { return exportDiagramNow(os, index, fileFormatOption, seed()); } finally { if (OptionFlags.getInstance().isEnableStats()) { StatsUtilsIncrement.onceMoreGenerate(System.currentTimeMillis() - now, getClass(), fileFormatOption.getFileFormat()); } } } final public void setScale(Scale scale) { this.scale = scale; } final public Scale getScale() { return scale; } protected abstract ImageData exportDiagramNow(OutputStream os, int index, FileFormatOption fileFormatOption, long seed) throws IOException; } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/AlignmentParam.java000066400000000000000000000036121340005343600255630ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import net.sourceforge.plantuml.graphic.HorizontalAlignment; public enum AlignmentParam { arrowMessageAlignment(HorizontalAlignment.LEFT), sequenceMessageAlignment(HorizontalAlignment.LEFT), sequenceMessageTextAlignment(HorizontalAlignment.LEFT), sequenceReferenceAlignment(HorizontalAlignment.CENTER), packageTitleAlignment(HorizontalAlignment.CENTER), noteTextAlignment(HorizontalAlignment.LEFT); private final HorizontalAlignment defaultValue; private AlignmentParam(HorizontalAlignment defaultValue) { this.defaultValue = defaultValue; } public final HorizontalAlignment getDefaultValue() { return defaultValue; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/AnimatedGifEncoder.java000066400000000000000000001027221340005343600263360ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.awt.image.DataBufferByte; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; /** * Class AnimatedGifEncoder - Encodes a GIF file consisting of one or more * frames. * *
 *  Example:
 *     AnimatedGifEncoder e = new AnimatedGifEncoder();
 *     e.start(outputFileName);
 *     e.setDelay(1000);   // 1 frame per sec
 *     e.addFrame(image1);
 *     e.addFrame(image2);
 *     e.finish();
 * 
* * No copyright asserted on the source code of this class. May be used for any * purpose, however, refer to the Unisys LZW patent for restrictions on use of * the associated LZWEncoder class. Please forward any corrections to * kweiner@fmsware.com. * * @author Kevin Weiner, FM Software * @version 1.03 November 2003 * */ public class AnimatedGifEncoder { protected int width; // image size protected int height; protected Color transparent = null; // transparent color if given protected int transIndex; // transparent index in color table protected int repeat = -1; // no repeat protected int delay = 0; // frame delay (hundredths) protected boolean started = false; // ready to output frames protected OutputStream out; protected BufferedImage image; // current frame protected byte[] pixels; // BGR byte array from frame protected byte[] indexedPixels; // converted frame indexed to palette protected int colorDepth; // number of bit planes protected byte[] colorTab; // RGB palette protected boolean[] usedEntry = new boolean[256]; // active palette // entries protected int palSize = 7; // color table size (bits-1) protected int dispose = -1; // disposal code (-1 = use default) protected boolean closeStream = false; // close stream when finished protected boolean firstFrame = true; protected boolean sizeSet = false; // if false, get size from first frame protected int sample = 10; // default sample interval for quantizer /** * Sets the delay time between each frame, or changes it for subsequent * frames (applies to last frame added). * * @param ms * int delay time in milliseconds */ public void setDelay(int ms) { delay = Math.round(ms / 10.0f); } /** * Sets the GIF frame disposal code for the last added frame and any * subsequent frames. Default is 0 if no transparent color has been set, * otherwise 2. * * @param code * int disposal code. */ public void setDispose(int code) { if (code >= 0) { dispose = code; } } /** * Sets the number of times the set of GIF frames should be played. Default * is 1; 0 means play indefinitely. Must be invoked before the first image * is added. * * @param iter * int number of iterations. */ public void setRepeat(int iter) { if (iter >= 0) { repeat = iter; } } /** * Sets the transparent color for the last added frame and any subsequent * frames. Since all colors are subject to modification in the quantization * process, the color in the final palette for each frame closest to the * given color becomes the transparent color for that frame. May be set to * null to indicate no transparent color. * * @param c * Color to be treated as transparent on display. */ public void setTransparent(Color c) { transparent = c; } /** * Adds next GIF frame. The frame is not written immediately, but is * actually deferred until the next frame is received so that timing data * can be inserted. Invoking finish() flushes all frames. If * setSize was not invoked, the size of the first image is * used for all subsequent frames. * * @param im * BufferedImage containing frame to write. * @return true if successful. */ public boolean addFrame(BufferedImage im) { if ((im == null) || !started) { return false; } boolean ok = true; try { if (!sizeSet) { // use first frame's size setSize(im.getWidth(), im.getHeight()); } image = im; getImagePixels(); // convert to correct format if necessary analyzePixels(); // build color table & map pixels if (firstFrame) { writeLSD(); // logical screen descriptior writePalette(); // global color table if (repeat >= 0) { // use NS app extension to indicate reps writeNetscapeExt(); } } writeGraphicCtrlExt(); // write graphic control extension writeImageDesc(); // image descriptor if (!firstFrame) { writePalette(); // local color table } writePixels(); // encode and write pixel data firstFrame = false; } catch (IOException e) { ok = false; } return ok; } /** * Flushes any pending data and closes output file. If writing to an * OutputStream, the stream is not closed. */ public boolean finish() { if (!started) return false; boolean ok = true; started = false; try { out.write(0x3b); // gif trailer out.flush(); if (closeStream) { out.close(); } } catch (IOException e) { ok = false; } // reset for subsequent use transIndex = 0; out = null; image = null; pixels = null; indexedPixels = null; colorTab = null; closeStream = false; firstFrame = true; return ok; } /** * Sets frame rate in frames per second. Equivalent to * setDelay(1000/fps). * * @param fps * float frame rate (frames per second) */ public void setFrameRate(float fps) { if (fps != 0f) { delay = Math.round(100f / fps); } } /** * Sets quality of color quantization (conversion of images to the maximum * 256 colors allowed by the GIF specification). Lower values (minimum = 1) * produce better colors, but slow processing significantly. 10 is the * default, and produces good color mapping at reasonable speeds. Values * greater than 20 do not yield significant improvements in speed. * * @param quality * int greater than 0. */ public void setQuality(int quality) { if (quality < 1) quality = 1; sample = quality; } /** * Sets the GIF frame size. The default size is the size of the first frame * added if this method is not invoked. * * @param w * int frame width. * @param h * int frame width. */ public void setSize(int w, int h) { if (started && !firstFrame) return; width = w; height = h; if (width < 1) width = 320; if (height < 1) height = 240; sizeSet = true; } /** * Initiates GIF file creation on the given stream. The stream is not closed * automatically. * * @param os * OutputStream on which GIF images are written. * @return false if initial write failed. */ public boolean start(OutputStream os) { if (os == null) return false; boolean ok = true; closeStream = false; out = os; try { writeString("GIF89a"); // header } catch (IOException e) { ok = false; } return started = ok; } /** * Initiates writing of a GIF file with the specified name. * * @param file * String containing output file name. * @return false if open or initial write failed. */ public boolean start(String file) { boolean ok = true; try { out = new BufferedOutputStream(new FileOutputStream(file)); ok = start(out); closeStream = true; } catch (IOException e) { ok = false; } return started = ok; } /** * Analyzes image colors and creates color map. */ protected void analyzePixels() { int len = pixels.length; int nPix = len / 3; indexedPixels = new byte[nPix]; NeuQuant nq = new NeuQuant(pixels, len, sample); // initialize quantizer colorTab = nq.process(); // create reduced palette // convert map from BGR to RGB for (int i = 0; i < colorTab.length; i += 3) { byte temp = colorTab[i]; colorTab[i] = colorTab[i + 2]; colorTab[i + 2] = temp; usedEntry[i / 3] = false; } // map image pixels to new palette int k = 0; for (int i = 0; i < nPix; i++) { int index = nq.map(pixels[k++] & 0xff, pixels[k++] & 0xff, pixels[k++] & 0xff); usedEntry[index] = true; indexedPixels[i] = (byte) index; } pixels = null; colorDepth = 8; palSize = 7; // get closest match to transparent color if specified if (transparent != null) { transIndex = findClosest(transparent); } } /** * Returns index of palette color closest to c * */ protected int findClosest(Color c) { if (colorTab == null) return -1; int r = c.getRed(); int g = c.getGreen(); int b = c.getBlue(); int minpos = 0; int dmin = 256 * 256 * 256; int len = colorTab.length; for (int i = 0; i < len;) { int dr = r - (colorTab[i++] & 0xff); int dg = g - (colorTab[i++] & 0xff); int db = b - (colorTab[i] & 0xff); int d = dr * dr + dg * dg + db * db; int index = i / 3; if (usedEntry[index] && (d < dmin)) { dmin = d; minpos = index; } i++; } return minpos; } /** * Extracts image pixels into byte array "pixels" */ protected void getImagePixels() { int w = image.getWidth(); int h = image.getHeight(); int type = image.getType(); if ((w != width) || (h != height) || (type != BufferedImage.TYPE_3BYTE_BGR)) { // create new image with right size/format BufferedImage temp = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR); Graphics2D g = temp.createGraphics(); g.drawImage(image, 0, 0, null); image = temp; } pixels = ((DataBufferByte) image.getRaster().getDataBuffer()).getData(); } /** * Writes Graphic Control Extension */ protected void writeGraphicCtrlExt() throws IOException { out.write(0x21); // extension introducer out.write(0xf9); // GCE label out.write(4); // data block size int transp, disp; if (transparent == null) { transp = 0; disp = 0; // dispose = no action } else { transp = 1; disp = 2; // force clear if using transparent color } if (dispose >= 0) { disp = dispose & 7; // user override } disp <<= 2; // packed fields out.write(0 | // 1:3 reserved disp | // 4:6 disposal 0 | // 7 user input - 0 = none transp); // 8 transparency flag writeShort(delay); // delay x 1/100 sec out.write(transIndex); // transparent color index out.write(0); // block terminator } /** * Writes Image Descriptor */ protected void writeImageDesc() throws IOException { out.write(0x2c); // image separator writeShort(0); // image position x,y = 0,0 writeShort(0); writeShort(width); // image size writeShort(height); // packed fields if (firstFrame) { // no LCT - GCT is used for first (or only) frame out.write(0); } else { // specify normal LCT out.write(0x80 | // 1 local color table 1=yes 0 | // 2 interlace - 0=no 0 | // 3 sorted - 0=no 0 | // 4-5 reserved palSize); // 6-8 size of color table } } /** * Writes Logical Screen Descriptor */ protected void writeLSD() throws IOException { // logical screen size writeShort(width); writeShort(height); // packed fields out.write((0x80 | // 1 : global color table flag = 1 (gct used) 0x70 | // 2-4 : color resolution = 7 0x00 | // 5 : gct sort flag = 0 palSize)); // 6-8 : gct size out.write(0); // background color index out.write(0); // pixel aspect ratio - assume 1:1 } /** * Writes Netscape application extension to define repeat count. */ protected void writeNetscapeExt() throws IOException { out.write(0x21); // extension introducer out.write(0xff); // app extension label out.write(11); // block size writeString("NETSCAPE" + "2.0"); // app id + auth code out.write(3); // sub-block size out.write(1); // loop sub-block id writeShort(repeat); // loop count (extra iterations, 0=repeat forever) out.write(0); // block terminator } /** * Writes color table */ protected void writePalette() throws IOException { out.write(colorTab, 0, colorTab.length); int n = (3 * 256) - colorTab.length; for (int i = 0; i < n; i++) { out.write(0); } } /** * Encodes and writes pixel data */ protected void writePixels() throws IOException { LZWEncoder encoder = new LZWEncoder(width, height, indexedPixels, colorDepth); encoder.encode(out); } /** * Write 16-bit value to output stream, LSB first */ protected void writeShort(int value) throws IOException { out.write(value & 0xff); out.write((value >> 8) & 0xff); } /** * Writes string to output stream */ protected void writeString(String s) throws IOException { for (int i = 0; i < s.length(); i++) { out.write((byte) s.charAt(i)); } } } /* * NeuQuant Neural-Net Quantization Algorithm * ------------------------------------------ * * Copyright (c) 1994 Anthony Dekker * * NEUQUANT Neural-Net quantization algorithm by Anthony Dekker, 1994. See * "Kohonen neural networks for optimal colour quantization" in "Network: * Computation in Neural Systems" Vol. 5 (1994) pp 351-367. for a discussion of * the algorithm. * * Any party obtaining a copy of these files from the author, directly or * indirectly, is granted, free of charge, a full and unrestricted irrevocable, * world-wide, paid up, royalty-free, nonexclusive right and license to deal in * this software and documentation files (the "Software"), including without * limitation the rights to use, copy, modify, merge, publish, distribute, * sublicense, and/or sell copies of the Software, and to permit persons who * receive copies from any such party to do so, with the only requirement being * that this copyright notice remain intact. */ // Ported to Java 12/00 K Weiner class NeuQuant { protected static final int netsize = 256; /* number of colours used */ /* four primes near 500 - assume no image has a length so large */ /* that it is divisible by all four primes */ protected static final int prime1 = 499; protected static final int prime2 = 491; protected static final int prime3 = 487; protected static final int prime4 = 503; protected static final int minpicturebytes = (3 * prime4); /* minimum size for input image */ /* * Program Skeleton ---------------- [select samplefac in range 1..30] [read * image from input file] pic = (unsigned char*) malloc(3*width*height); * initnet(pic,3*width*height,samplefac); learn(); unbiasnet(); [write * output image header, using writecolourmap(f)] inxbuild(); write output * image using inxsearch(b,g,r) */ /* * Network Definitions ------------------- */ protected static final int maxnetpos = (netsize - 1); protected static final int netbiasshift = 4; /* bias for colour values */ protected static final int ncycles = 100; /* no. of learning cycles */ /* defs for freq and bias */ protected static final int intbiasshift = 16; /* bias for fractions */ protected static final int intbias = (((int) 1) << intbiasshift); protected static final int gammashift = 10; /* gamma = 1024 */ protected static final int gamma = (((int) 1) << gammashift); protected static final int betashift = 10; protected static final int beta = (intbias >> betashift); /* beta = 1/1024 */ protected static final int betagamma = (intbias << (gammashift - betashift)); /* defs for decreasing radius factor */ protected static final int initrad = (netsize >> 3); /* * for 256 cols, * radius starts */ protected static final int radiusbiasshift = 6; /* at 32.0 biased by 6 bits */ protected static final int radiusbias = (((int) 1) << radiusbiasshift); protected static final int initradius = (initrad * radiusbias); /* * and * decreases * by a */ protected static final int radiusdec = 30; /* factor of 1/30 each cycle */ /* defs for decreasing alpha factor */ protected static final int alphabiasshift = 10; /* alpha starts at 1.0 */ protected static final int initalpha = (((int) 1) << alphabiasshift); protected int alphadec; /* biased by 10 bits */ /* radbias and alpharadbias used for radpower calculation */ protected static final int radbiasshift = 8; protected static final int radbias = (((int) 1) << radbiasshift); protected static final int alpharadbshift = (alphabiasshift + radbiasshift); protected static final int alpharadbias = (((int) 1) << alpharadbshift); /* * Types and Global Variables -------------------------- */ protected byte[] thepicture; /* the input image itself */ protected int lengthcount; /* lengthcount = H*W*3 */ protected int samplefac; /* sampling factor 1..30 */ // typedef int pixel[4]; /* BGRc */ protected int[][] network; /* the network itself - [netsize][4] */ protected int[] netindex = new int[256]; /* for network lookup - really 256 */ protected int[] bias = new int[netsize]; /* bias and freq arrays for learning */ protected int[] freq = new int[netsize]; protected int[] radpower = new int[initrad]; /* radpower for precomputation */ /* * Initialise network in range (0,0,0) to (255,255,255) and set parameters * ----------------------------------------------------------------------- */ public NeuQuant(byte[] thepic, int len, int sample) { int i; int[] p; thepicture = thepic; lengthcount = len; samplefac = sample; network = new int[netsize][]; for (i = 0; i < netsize; i++) { network[i] = new int[4]; p = network[i]; p[0] = p[1] = p[2] = (i << (netbiasshift + 8)) / netsize; freq[i] = intbias / netsize; /* 1/netsize */ bias[i] = 0; } } public byte[] colorMap() { byte[] map = new byte[3 * netsize]; int[] index = new int[netsize]; for (int i = 0; i < netsize; i++) index[network[i][3]] = i; int k = 0; for (int i = 0; i < netsize; i++) { int j = index[i]; map[k++] = (byte) (network[j][0]); map[k++] = (byte) (network[j][1]); map[k++] = (byte) (network[j][2]); } return map; } /* * Insertion sort of network and building of netindex[0..255] (to do after * unbias) * ------------------------------------------------------------------------------- */ public void inxbuild() { int i, j, smallpos, smallval; int[] p; int[] q; int previouscol, startpos; previouscol = 0; startpos = 0; for (i = 0; i < netsize; i++) { p = network[i]; smallpos = i; smallval = p[1]; /* index on g */ /* find smallest in i..netsize-1 */ for (j = i + 1; j < netsize; j++) { q = network[j]; if (q[1] < smallval) { /* index on g */ smallpos = j; smallval = q[1]; /* index on g */ } } q = network[smallpos]; /* swap p (i) and q (smallpos) entries */ if (i != smallpos) { j = q[0]; q[0] = p[0]; p[0] = j; j = q[1]; q[1] = p[1]; p[1] = j; j = q[2]; q[2] = p[2]; p[2] = j; j = q[3]; q[3] = p[3]; p[3] = j; } /* smallval entry is now in position i */ if (smallval != previouscol) { netindex[previouscol] = (startpos + i) >> 1; for (j = previouscol + 1; j < smallval; j++) netindex[j] = i; previouscol = smallval; startpos = i; } } netindex[previouscol] = (startpos + maxnetpos) >> 1; for (j = previouscol + 1; j < 256; j++) netindex[j] = maxnetpos; /* really 256 */ } /* * Main Learning Loop ------------------ */ public void learn() { int i, j, b, g, r; int radius, rad, alpha, step, delta, samplepixels; byte[] p; int pix, lim; if (lengthcount < minpicturebytes) samplefac = 1; alphadec = 30 + ((samplefac - 1) / 3); p = thepicture; pix = 0; lim = lengthcount; samplepixels = lengthcount / (3 * samplefac); delta = samplepixels / ncycles; alpha = initalpha; radius = initradius; rad = radius >> radiusbiasshift; if (rad <= 1) rad = 0; for (i = 0; i < rad; i++) radpower[i] = alpha * (((rad * rad - i * i) * radbias) / (rad * rad)); // fprintf(stderr,"beginning 1D learning: initial radius=%d\n", rad); if (lengthcount < minpicturebytes) step = 3; else if ((lengthcount % prime1) != 0) step = 3 * prime1; else { if ((lengthcount % prime2) != 0) step = 3 * prime2; else { if ((lengthcount % prime3) != 0) step = 3 * prime3; else step = 3 * prime4; } } i = 0; while (i < samplepixels) { b = (p[pix + 0] & 0xff) << netbiasshift; g = (p[pix + 1] & 0xff) << netbiasshift; r = (p[pix + 2] & 0xff) << netbiasshift; j = contest(b, g, r); altersingle(alpha, j, b, g, r); if (rad != 0) alterneigh(rad, j, b, g, r); /* alter neighbours */ pix += step; if (pix >= lim) pix -= lengthcount; i++; if (delta == 0) delta = 1; if (i % delta == 0) { alpha -= alpha / alphadec; radius -= radius / radiusdec; rad = radius >> radiusbiasshift; if (rad <= 1) rad = 0; for (j = 0; j < rad; j++) radpower[j] = alpha * (((rad * rad - j * j) * radbias) / (rad * rad)); } } // fprintf(stderr,"finished 1D learning: final alpha=%f // !\n",((float)alpha)/initalpha); } /* * Search for BGR values 0..255 (after net is unbiased) and return colour * index * ---------------------------------------------------------------------------- */ public int map(int b, int g, int r) { int i, j, dist, a, bestd; int[] p; int best; bestd = 1000; /* biggest possible dist is 256*3 */ best = -1; i = netindex[g]; /* index on g */ j = i - 1; /* start at netindex[g] and work outwards */ while ((i < netsize) || (j >= 0)) { if (i < netsize) { p = network[i]; dist = p[1] - g; /* inx key */ if (dist >= bestd) i = netsize; /* stop iter */ else { i++; if (dist < 0) dist = -dist; a = p[0] - b; if (a < 0) a = -a; dist += a; if (dist < bestd) { a = p[2] - r; if (a < 0) a = -a; dist += a; if (dist < bestd) { bestd = dist; best = p[3]; } } } } if (j >= 0) { p = network[j]; dist = g - p[1]; /* inx key - reverse dif */ if (dist >= bestd) j = -1; /* stop iter */ else { j--; if (dist < 0) dist = -dist; a = p[0] - b; if (a < 0) a = -a; dist += a; if (dist < bestd) { a = p[2] - r; if (a < 0) a = -a; dist += a; if (dist < bestd) { bestd = dist; best = p[3]; } } } } } return (best); } public byte[] process() { learn(); unbiasnet(); inxbuild(); return colorMap(); } /* * Unbias network to give byte values 0..255 and record position i to * prepare for sort * ----------------------------------------------------------------------------------- */ public void unbiasnet() { int i, j; for (i = 0; i < netsize; i++) { network[i][0] >>= netbiasshift; network[i][1] >>= netbiasshift; network[i][2] >>= netbiasshift; network[i][3] = i; /* record colour no */ } } /* * Move adjacent neurons by precomputed alpha*(1-((i-j)^2/[r]^2)) in * radpower[|i-j|] * --------------------------------------------------------------------------------- */ protected void alterneigh(int rad, int i, int b, int g, int r) { int j, k, lo, hi, a, m; int[] p; lo = i - rad; if (lo < -1) lo = -1; hi = i + rad; if (hi > netsize) hi = netsize; j = i + 1; k = i - 1; m = 1; while ((j < hi) || (k > lo)) { a = radpower[m++]; if (j < hi) { p = network[j++]; try { p[0] -= (a * (p[0] - b)) / alpharadbias; p[1] -= (a * (p[1] - g)) / alpharadbias; p[2] -= (a * (p[2] - r)) / alpharadbias; } catch (Exception e) { } // prevents 1.3 miscompilation } if (k > lo) { p = network[k--]; try { p[0] -= (a * (p[0] - b)) / alpharadbias; p[1] -= (a * (p[1] - g)) / alpharadbias; p[2] -= (a * (p[2] - r)) / alpharadbias; } catch (Exception e) { } } } } /* * Move neuron i towards biased (b,g,r) by factor alpha * ---------------------------------------------------- */ protected void altersingle(int alpha, int i, int b, int g, int r) { /* alter hit neuron */ int[] n = network[i]; n[0] -= (alpha * (n[0] - b)) / initalpha; n[1] -= (alpha * (n[1] - g)) / initalpha; n[2] -= (alpha * (n[2] - r)) / initalpha; } /* * Search for biased BGR values ---------------------------- */ protected int contest(int b, int g, int r) { /* finds closest neuron (min dist) and updates freq */ /* finds best neuron (min dist-bias) and returns position */ /* * for frequently chosen neurons, freq[i] is high and bias[i] is * negative */ /* bias[i] = gamma*((1/netsize)-freq[i]) */ int i, dist, a, biasdist, betafreq; int bestpos, bestbiaspos, bestd, bestbiasd; int[] n; bestd = ~(((int) 1) << 31); bestbiasd = bestd; bestpos = -1; bestbiaspos = bestpos; for (i = 0; i < netsize; i++) { n = network[i]; dist = n[0] - b; if (dist < 0) dist = -dist; a = n[1] - g; if (a < 0) a = -a; dist += a; a = n[2] - r; if (a < 0) a = -a; dist += a; if (dist < bestd) { bestd = dist; bestpos = i; } biasdist = dist - ((bias[i]) >> (intbiasshift - netbiasshift)); if (biasdist < bestbiasd) { bestbiasd = biasdist; bestbiaspos = i; } betafreq = (freq[i] >> betashift); freq[i] -= betafreq; bias[i] += (betafreq << gammashift); } freq[bestpos] += beta; bias[bestpos] -= betagamma; return (bestbiaspos); } } // ============================================================================== // Adapted from Jef Poskanzer's Java port by way of J. M. G. Elliott. // K Weiner 12/00 class LZWEncoder { private static final int EOF = -1; private int imgW, imgH; private byte[] pixAry; private int initCodeSize; private int remaining; private int curPixel; // GIFCOMPR.C - GIF Image compression routines // // Lempel-Ziv compression based on 'compress'. GIF modifications by // David Rowley (mgardi@watdcsu.waterloo.edu) // General DEFINEs static final int BITS = 12; static final int HSIZE = 5003; // 80% occupancy // GIF Image compression - modified 'compress' // // Based on: compress.c - File compression ala IEEE Computer, June 1984. // // By Authors: Spencer W. Thomas (decvax!harpo!utah-cs!utah-gr!thomas) // Jim McKie (decvax!mcvax!jim) // Steve Davies (decvax!vax135!petsd!peora!srd) // Ken Turkowski (decvax!decwrl!turtlevax!ken) // James A. Woods (decvax!ihnp4!ames!jaw) // Joe Orost (decvax!vax135!petsd!joe) int n_bits; // number of bits/code int maxbits = BITS; // user settable max # bits/code int maxcode; // maximum code, given n_bits int maxmaxcode = 1 << BITS; // should NEVER generate this code int[] htab = new int[HSIZE]; int[] codetab = new int[HSIZE]; int hsize = HSIZE; // for dynamic table sizing int free_ent = 0; // first unused entry // block compression parameters -- after all codes are used up, // and compression rate changes, start over. boolean clear_flg = false; // Algorithm: use open addressing double hashing (no chaining) on the // prefix code / next character combination. We do a variant of Knuth's // algorithm D (vol. 3, sec. 6.4) along with G. Knott's relatively-prime // secondary probe. Here, the modular division first probe is gives way // to a faster exclusive-or manipulation. Also do block compression with // an adaptive reset, whereby the code table is cleared when the compression // ratio decreases, but after the table fills. The variable-length output // codes are re-sized at this point, and a special CLEAR code is generated // for the decompressor. Late addition: construct the table according to // file size for noticeable speed improvement on small files. Please direct // questions about this implementation to ames!jaw. int g_init_bits; int ClearCode; int EOFCode; // output // // Output the given code. // Inputs: // code: A n_bits-bit integer. If == -1, then EOF. This assumes // that n_bits =< wordsize - 1. // Outputs: // Outputs code to the file. // Assumptions: // Chars are 8 bits long. // Algorithm: // Maintain a BITS character long buffer (so that 8 codes will // fit in it exactly). Use the VAX insv instruction to insert each // code in turn. When the buffer fills up empty it and start over. int cur_accum = 0; int cur_bits = 0; int masks[] = { 0x0000, 0x0001, 0x0003, 0x0007, 0x000F, 0x001F, 0x003F, 0x007F, 0x00FF, 0x01FF, 0x03FF, 0x07FF, 0x0FFF, 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF }; // Number of characters so far in this 'packet' int a_count; // Define the storage for the packet accumulator byte[] accum = new byte[256]; // ---------------------------------------------------------------------------- LZWEncoder(int width, int height, byte[] pixels, int color_depth) { imgW = width; imgH = height; pixAry = pixels; initCodeSize = Math.max(2, color_depth); } // Add a character to the end of the current packet, and if it is 254 // characters, flush the packet to disk. void char_out(byte c, OutputStream outs) throws IOException { accum[a_count++] = c; if (a_count >= 254) flush_char(outs); } // Clear out the hash table // table clear for block compress void cl_block(OutputStream outs) throws IOException { cl_hash(hsize); free_ent = ClearCode + 2; clear_flg = true; output(ClearCode, outs); } // reset code table void cl_hash(int hsize) { for (int i = 0; i < hsize; ++i) htab[i] = -1; } void compress(int init_bits, OutputStream outs) throws IOException { int fcode; int i /* = 0 */; int c; int ent; int disp; int hsize_reg; int hshift; // Set up the globals: g_init_bits - initial number of bits g_init_bits = init_bits; // Set up the necessary values clear_flg = false; n_bits = g_init_bits; maxcode = MAXCODE(n_bits); ClearCode = 1 << (init_bits - 1); EOFCode = ClearCode + 1; free_ent = ClearCode + 2; a_count = 0; // clear packet ent = nextPixel(); hshift = 0; for (fcode = hsize; fcode < 65536; fcode *= 2) ++hshift; hshift = 8 - hshift; // set hash code range bound hsize_reg = hsize; cl_hash(hsize_reg); // clear hash table output(ClearCode, outs); outer_loop: while ((c = nextPixel()) != EOF) { fcode = (c << maxbits) + ent; i = (c << hshift) ^ ent; // xor hashing if (htab[i] == fcode) { ent = codetab[i]; continue; } else if (htab[i] >= 0) // non-empty slot { disp = hsize_reg - i; // secondary hash (after G. Knott) if (i == 0) disp = 1; do { if ((i -= disp) < 0) i += hsize_reg; if (htab[i] == fcode) { ent = codetab[i]; continue outer_loop; } } while (htab[i] >= 0); } output(ent, outs); ent = c; if (free_ent < maxmaxcode) { codetab[i] = free_ent++; // code -> hashtable htab[i] = fcode; } else cl_block(outs); } // Put out the final code. output(ent, outs); output(EOFCode, outs); } // ---------------------------------------------------------------------------- void encode(OutputStream os) throws IOException { os.write(initCodeSize); // write "initial code size" byte remaining = imgW * imgH; // reset navigation variables curPixel = 0; compress(initCodeSize + 1, os); // compress and write the pixel data os.write(0); // write block terminator } // Flush the packet to disk, and reset the accumulator void flush_char(OutputStream outs) throws IOException { if (a_count > 0) { outs.write(a_count); outs.write(accum, 0, a_count); a_count = 0; } } final int MAXCODE(int n_bits) { return (1 << n_bits) - 1; } // ---------------------------------------------------------------------------- // Return the next pixel from the image // ---------------------------------------------------------------------------- private int nextPixel() { if (remaining == 0) return EOF; --remaining; byte pix = pixAry[curPixel++]; return pix & 0xff; } void output(int code, OutputStream outs) throws IOException { cur_accum &= masks[cur_bits]; if (cur_bits > 0) cur_accum |= (code << cur_bits); else cur_accum = code; cur_bits += n_bits; while (cur_bits >= 8) { char_out((byte) (cur_accum & 0xff), outs); cur_accum >>= 8; cur_bits -= 8; } // If the next entry is going to be too big for the code size, // then increase it, if possible. if (free_ent > maxcode || clear_flg) { if (clear_flg) { maxcode = MAXCODE(n_bits = g_init_bits); clear_flg = false; } else { ++n_bits; if (n_bits == maxbits) maxcode = maxmaxcode; else maxcode = MAXCODE(n_bits); } } if (code == EOFCode) { // At EOF, write the rest of the buffer. while (cur_bits > 0) { char_out((byte) (cur_accum & 0xff), outs); cur_accum >>= 8; cur_bits -= 8; } flush_char(outs); } } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/Annotated.java000066400000000000000000000032751340005343600246060ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.cucadiagram.DisplayPositionned; import net.sourceforge.plantuml.cucadiagram.DisplaySection; public interface Annotated { public DisplayPositionned getTitle(); public DisplayPositionned getCaption(); public DisplayPositionned getLegend(); public DisplaySection getHeader(); public DisplaySection getFooter(); public Display getMainFrame(); } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/AnnotatedWorker.java000066400000000000000000000156431340005343600260020ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.awt.geom.Dimension2D; import java.awt.geom.Rectangle2D; import net.sourceforge.plantuml.activitydiagram3.ftile.EntityImageLegend; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.cucadiagram.DisplayPositionned; import net.sourceforge.plantuml.cucadiagram.DisplaySection; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.HtmlColorUtils; import net.sourceforge.plantuml.graphic.InnerStrategy; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.SymbolContext; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.TextBlockUtils; import net.sourceforge.plantuml.graphic.USymbol; import net.sourceforge.plantuml.svek.DecorateEntityImage; import net.sourceforge.plantuml.svek.TextBlockBackcolored; import net.sourceforge.plantuml.ugraphic.MinMax; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class AnnotatedWorker { private final Annotated annotated; private final ISkinParam skinParam; private final StringBounder stringBounder; public AnnotatedWorker(Annotated annotated, ISkinParam skinParam, StringBounder stringBounder) { this.annotated = annotated; this.skinParam = skinParam; this.stringBounder = stringBounder; } public TextBlockBackcolored addAdd(TextBlock result) { result = addTitle(result); result = addFrame(result); result = addLegend(result); result = addCaption(result); result = addHeaderAndFooter(result); return (TextBlockBackcolored) result; } public TextBlock addFrame(final TextBlock original) { final Display mainFrame = annotated.getMainFrame(); if (mainFrame == null) { return original; } final double x1 = 5; final double x2 = 7; final double y1 = 10; final double y2 = 10; final SymbolContext symbolContext = new SymbolContext(getSkinParam().getBackgroundColor(), HtmlColorUtils.BLACK) .withShadow(getSkinParam().shadowing(null)); final TextBlock title = mainFrame.create(new FontConfiguration(getSkinParam(), FontParam.CAPTION, null), HorizontalAlignment.CENTER, getSkinParam()); final Dimension2D dimTitle = title.calculateDimension(stringBounder); final Dimension2D dimOriginal = original.calculateDimension(stringBounder); final double width = x1 + Math.max(dimOriginal.getWidth(), dimTitle.getWidth()) + x2; final double height = dimTitle.getHeight() + y1 + dimOriginal.getHeight() + y2; final TextBlock result = USymbol.FRAME.asBig(title, HorizontalAlignment.LEFT, TextBlockUtils.empty(0, 0), width, height, symbolContext); return new TextBlockBackcolored() { public void drawU(UGraphic ug) { result.drawU(ug); original.drawU(ug.apply(new UTranslate(x1, y1 + dimTitle.getHeight()))); } public MinMax getMinMax(StringBounder stringBounder) { return TextBlockUtils.getMinMax(result, stringBounder); } public Rectangle2D getInnerPosition(String member, StringBounder stringBounder, InnerStrategy strategy) { return result.getInnerPosition(member, stringBounder, strategy); } public Dimension2D calculateDimension(StringBounder stringBounder) { return result.calculateDimension(stringBounder); } public HtmlColor getBackcolor() { return symbolContext.getBackColor(); } }; } private TextBlock addLegend(TextBlock original) { final DisplayPositionned legend = annotated.getLegend(); if (legend.isNull()) { return original; } final TextBlock text = EntityImageLegend.create(legend.getDisplay(), getSkinParam()); return DecorateEntityImage.add(original, text, legend.getHorizontalAlignment(), legend.getVerticalAlignment()); } private ISkinParam getSkinParam() { return skinParam; } private TextBlock addCaption(TextBlock original) { final DisplayPositionned caption = annotated.getCaption(); if (caption.isNull()) { return original; } final TextBlock text = getCaption(); return DecorateEntityImage.addBottom(original, text, HorizontalAlignment.CENTER); } public TextBlock getCaption() { final DisplayPositionned caption = annotated.getCaption(); if (caption.isNull()) { return TextBlockUtils.empty(0, 0); } return caption.getDisplay().create(new FontConfiguration(getSkinParam(), FontParam.CAPTION, null), HorizontalAlignment.CENTER, getSkinParam()); } private TextBlock addTitle(TextBlock original) { final DisplayPositionned title = annotated.getTitle(); if (title.isNull()) { return original; } ISkinParam skinParam = getSkinParam(); final FontConfiguration fontConfiguration = new FontConfiguration(skinParam, FontParam.TITLE, null); final TextBlock block = TextBlockUtils.title(fontConfiguration, title.getDisplay(), skinParam); return DecorateEntityImage.addTop(original, block, HorizontalAlignment.CENTER); } private TextBlock addHeaderAndFooter(TextBlock original) { final DisplaySection footer = annotated.getFooter(); final DisplaySection header = annotated.getHeader(); if (footer.isNull() && header.isNull()) { return original; } TextBlock textFooter = null; if (footer.isNull() == false) { textFooter = footer.createRibbon(new FontConfiguration(getSkinParam(), FontParam.FOOTER, null), getSkinParam()); } TextBlock textHeader = null; if (header.isNull() == false) { textHeader = header.createRibbon(new FontConfiguration(getSkinParam(), FontParam.HEADER, null), getSkinParam()); } return DecorateEntityImage.addTopAndBottom(original, textHeader, header.getHorizontalAlignment(), textFooter, footer.getHorizontalAlignment()); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/BackSlash.java000066400000000000000000000077131340005343600245250ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; public class BackSlash { private static final char PRIVATE_BLOCK = '\uE000'; public static final String BS_BS_N = "\\n"; public static final String NEWLINE = "\n"; public static final char CHAR_NEWLINE = '\n'; public static char hiddenNewLine() { return PRIVATE_BLOCK + BackSlash.CHAR_NEWLINE; } public static String convertHiddenNewLine(String s) { s = s.replaceAll("(? splitHiddenNewLine(String s) { return Arrays.asList(s.split("" + hiddenNewLine())); } public static String manageNewLine(String string) { return string.replace(hiddenNewLine(), BackSlash.CHAR_NEWLINE); } public static List getWithNewlines(CharSequence s) { if (s == null) { return null; } final List result = new ArrayList(); final StringBuilder current = new StringBuilder(); for (int i = 0; i < s.length(); i++) { final char c = s.charAt(i); if (c == '\\' && i < s.length() - 1) { final char c2 = s.charAt(i + 1); i++; if (c2 == 'n') { result.add(current.toString()); current.setLength(0); } else if (c2 == 't') { current.append('\t'); } else if (c2 == '\\') { current.append(c2); } } else { current.append(c); } } result.add(current.toString()); return Collections.unmodifiableList(result); } public static String translateBackSlashes(CharSequence s) { if (s == null) { return null; } // final String tmps = s.toString(); // if (tmps.indexOf('\\') == -1) { // return tmps; // } final StringBuilder result = new StringBuilder(); for (int i = 0; i < s.length(); i++) { final char c = s.charAt(i); if (c == '\\' && i < s.length() - 1 && isEnglishLetterOfBackSlash(s.charAt(i + 1))) { result.append('\\'); result.append(translateChar(s.charAt(i + 1))); i++; } else { result.append(c); } } return result.toString(); } private static boolean isEnglishLetterOfBackSlash(char c) { return c == 'n'; // return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'); } public static String untranslateBackSlashes(CharSequence s) { if (s == null) { return null; } final StringBuilder result = new StringBuilder(); for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if (c > PRIVATE_BLOCK && c < '\uE07F') { c = (char) (c - PRIVATE_BLOCK); } result.append(c); } return result.toString(); } private static char translateChar(char c) { if (c > 128) { throw new IllegalArgumentException(); } return (char) (PRIVATE_BLOCK + c); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/BaseFile.java000066400000000000000000000042141340005343600243350ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.File; public class BaseFile { private final String basename; private final File basedir; public BaseFile() { this.basedir = null; this.basename = null; } public BaseFile(File file) { this.basedir = file.getParentFile(); this.basename = extractBasename(file.getName()); } private static String extractBasename(String name) { final int idx = name.lastIndexOf('.'); if (idx == -1) { return name; } return name.substring(0, idx); } @Override public String toString() { if (basedir == null || basename == null) { return "(DEFAULT)"; } return basedir + " " + basename; } public String getBasename() { return basename; } public File getBasedir() { return basedir; } public File getTraceFile(String tail) { if (basedir == null || basename == null) { return new File(tail); } return new File(basedir, basename + "_" + tail); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/BasicEnsureVisible.java000066400000000000000000000042431340005343600264060ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public class BasicEnsureVisible implements EnsureVisible { private double minX = Double.MAX_VALUE; private double maxX = -Double.MAX_VALUE; private double minY = Double.MAX_VALUE; private double maxY = -Double.MAX_VALUE; public void ensureVisible(double x, double y) { if (x > maxX) { maxX = x; } if (x < minX) { minX = x; } if (y > maxY) { maxY = y; } if (y < minY) { minY = y; } } public boolean hasData() { return minX != Double.MAX_VALUE; } public String getCoords(double scale) { if (minX == Double.MAX_VALUE) { return "0,0,0,0"; } final int x1 = (int) (minX * scale); final int y1 = (int) (minY * scale); final int x2 = (int) (maxX * scale); final int y2 = (int) (maxY * scale); return "" + x1 + "," + y1 + "," + x2 + "," + y2; } public double getSurface() { if (minX == Double.MAX_VALUE) { return 0; } return (maxX - minX) * (maxY - minY); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/BlockUml.java000066400000000000000000000122401340005343600243710ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.IOException; import java.security.MessageDigest; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; import net.sourceforge.plantuml.code.AsciiEncoder; import net.sourceforge.plantuml.code.Transcoder; import net.sourceforge.plantuml.code.TranscoderUtil; import net.sourceforge.plantuml.command.regex.Matcher2; import net.sourceforge.plantuml.core.Diagram; import net.sourceforge.plantuml.preproc.Defines; import net.sourceforge.plantuml.utils.StartUtils; import net.sourceforge.plantuml.version.Version; public class BlockUml { private final List data; private Diagram system; private final Defines localDefines; BlockUml(String... strings) { this(convert(strings), Defines.createEmpty()); } public String getEncodedUrl() throws IOException { final Transcoder transcoder = TranscoderUtil.getDefaultTranscoder(); final String source = getDiagram().getSource().getPlainString(); final String encoded = transcoder.encode(source); return encoded; } public String getFlashData() { final StringBuilder sb = new StringBuilder(); for (CharSequence2 line : data) { sb.append(line); sb.append('\r'); sb.append(BackSlash.CHAR_NEWLINE); } return sb.toString(); } public static List convert(String... strings) { return convert(Arrays.asList(strings)); } public static List convert(List strings) { final List result = new ArrayList(); LineLocationImpl location = new LineLocationImpl("block", null); for (String s : strings) { location = location.oneLineRead(); result.add(new CharSequence2Impl(s, location)); } return result; } public BlockUml(List strings, Defines defines) { this.localDefines = defines; final CharSequence2 s0 = strings.get(0).trin(); if (StartUtils.startsWithSymbolAnd("start", s0) == false) { throw new IllegalArgumentException(); } this.data = new ArrayList(strings); } public String getFileOrDirname() { if (OptionFlags.getInstance().isWord()) { return null; } final Matcher2 m = StartUtils.patternFilename.matcher(StringUtils.trin(data.get(0).toString())); final boolean ok = m.find(); if (ok == false) { return null; } String result = m.group(1); final int x = result.indexOf(','); if (x != -1) { result = result.substring(0, x); } for (int i = 0; i < result.length(); i++) { final char c = result.charAt(i); if ("<>|".indexOf(c) != -1) { return null; } } if (result.startsWith("file://")) { result = result.substring("file://".length()); } result = result.replaceAll("\\.\\w\\w\\w$", ""); return result; } public Diagram getDiagram() { if (system == null) { system = new PSystemBuilder().createPSystem(data); } return system; } public final List getData() { return data; } private String internalEtag() { try { final AsciiEncoder coder = new AsciiEncoder(); final MessageDigest msgDigest = MessageDigest.getInstance("MD5"); for (CharSequence s : data) { msgDigest.update(s.toString().getBytes("UTF-8")); } final byte[] digest = msgDigest.digest(); return coder.encode(digest); } catch (Exception e) { e.printStackTrace(); return "NOETAG"; } } public String etag() { return Version.etag() + internalEtag(); } public long lastModified() { return (Version.compileTime() / 1000L / 60) * 1000L * 60 + Version.beta() * 1000L * 3600; } public boolean isStartDef(String name) { final String signature = "@startdef(id=" + name + ")"; return data.get(0).toString().equalsIgnoreCase(signature); } public List getDefinition(boolean withHeader) { if (withHeader) { return Collections.unmodifiableList(data); } return Collections.unmodifiableList(data.subList(1, data.size() - 1)); } public Defines getLocalDefines() { return localDefines; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/BlockUmlBuilder.java000066400000000000000000000113431340005343600257030ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.File; import java.io.IOException; import java.io.Reader; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; import net.sourceforge.plantuml.preproc.Defines; import net.sourceforge.plantuml.preproc.DefinesGet; import net.sourceforge.plantuml.preproc.FileWithSuffix; import net.sourceforge.plantuml.preproc.ImportedFiles; import net.sourceforge.plantuml.preproc.ReadLineNumbered; import net.sourceforge.plantuml.preproc.ReadLineReader; import net.sourceforge.plantuml.preproc.UncommentReadLine; import net.sourceforge.plantuml.preproc2.Preprocessor2; import net.sourceforge.plantuml.utils.StartUtils; public final class BlockUmlBuilder implements DefinitionsContainer { private final List blocks = new ArrayList(); private Set usedFiles = new HashSet(); private final UncommentReadLine reader2; private final Defines defines; public BlockUmlBuilder(List config, String charset, Defines defines, Reader reader, File newCurrentDir, String desc) throws IOException { ReadLineNumbered includer = null; this.defines = defines; try { reader2 = new UncommentReadLine(ReadLineReader.create(reader, desc)); includer = new Preprocessor2(config, reader2, charset, defines, this, ImportedFiles.createImportedFiles(new AParentFolderRegular(newCurrentDir))); init(includer); } finally { if (includer != null) { includer.close(); usedFiles = includer.getFilesUsed(); } } } public BlockUmlBuilder(List config, String charset, Defines defines, Reader reader) throws IOException { this(config, charset, defines, reader, null, null); } private void init(ReadLineNumbered includer) throws IOException { CharSequence2 s = null; List current2 = null; boolean paused = false; while ((s = includer.readLine()) != null) { if (StartUtils.isArobaseStartDiagram(s)) { current2 = new ArrayList(); paused = false; } if (StartUtils.isArobasePauseDiagram(s)) { paused = true; reader2.setPaused(true); } if (StartUtils.isExit(s)) { paused = true; reader2.setPaused(true); } if (current2 != null && paused == false) { current2.add(s); } else if (paused) { final CharSequence2 append = StartUtils.getPossibleAppend(s); if (append != null) { current2.add(append); } } if (StartUtils.isArobaseUnpauseDiagram(s)) { paused = false; reader2.setPaused(false); } if (StartUtils.isArobaseEndDiagram(s) && current2 != null) { if (paused) { current2.add(s); } blocks.add(new BlockUml(current2, defines.cloneMe())); current2 = null; reader2.setPaused(false); } } } // private Collection convert(List config, LineLocation location) { // final List result = new ArrayList(); // for (String s : config) { // result.add(new CharSequence2Impl(s, location)); // } // return result; // } public List getBlockUmls() { return Collections.unmodifiableList(blocks); } public final Set getIncludedFiles() { return Collections.unmodifiableSet(usedFiles); } public List getDefinition(String name) { for (BlockUml block : blocks) { if (block.isStartDef(name)) { this.defines.importFrom(block.getLocalDefines()); return block.getDefinition(false); } } return Collections.emptyList(); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/CMapData.java000066400000000000000000000053551340005343600243040ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Set; public class CMapData { private final StringBuilder stringBuilder = new StringBuilder(); public String asString(String nameId) { return "\n" + stringBuilder.toString() + "\n"; } public boolean containsData() { return stringBuilder.length() > 0; } public void appendString(String s) { stringBuilder.append(s); } public void appendLong(long s) { stringBuilder.append(s); } private void appendUrl(int seq, Url url, double scale) { appendString("\"\""); appendString(BackSlash.NEWLINE); } public static CMapData cmapString(Set allUrlEncountered, double scale) { final CMapData cmapdata = new CMapData(); final List all = new ArrayList(allUrlEncountered); Collections.sort(all, Url.SURFACE_COMPARATOR); int seq = 1; for (Url u : all) { if (u.hasData() == false) { continue; } cmapdata.appendUrl(seq, u, scale); seq++; } return cmapdata; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/CharSequence2.java000066400000000000000000000032551340005343600253170ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public interface CharSequence2 extends CharSequence { public int length(); public char charAt(int index); public CharSequence2 subSequence(int start, int end); public String toString2(); public LineLocation getLocation(); public CharSequence2 trin(); public boolean startsWith(String string); public String getPreprocessorError(); public CharSequence2 withErrorPreprocessor(String preprocessorError); } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/CharSequence2Impl.java000066400000000000000000000074461340005343600261470ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public class CharSequence2Impl implements CharSequence2 { private final CharSequence s; private final LineLocation location; private String preprocessorError; public CharSequence2Impl(CharSequence s, LineLocation location) { this(s, location, null); } public CharSequence2Impl(CharSequence s, LineLocation location, String preprocessorError) { if (s == null) { throw new IllegalArgumentException(); } this.s = s; this.location = location; this.preprocessorError = preprocessorError; } // public static CharSequence2 errorPreprocessor(CharSequence s, String preprocessorError) { // return new CharSequence2Impl("FOO4242", null, preprocessorError); // } public CharSequence2 withErrorPreprocessor(String preprocessorError) { return new CharSequence2Impl(s, location, preprocessorError); } public int length() { return s.length(); } public char charAt(int index) { return s.charAt(index); } public CharSequence2 subSequence(int start, int end) { return new CharSequence2Impl(s.subSequence(start, end), location, preprocessorError); } public CharSequence toCharSequence() { return s; } @Override public String toString() { return s.toString(); } public String toString2() { return s.toString(); } public LineLocation getLocation() { return location; } public CharSequence2 trin() { return new CharSequence2Impl(StringUtils.trin(s.toString()), location, preprocessorError); } public boolean startsWith(String start) { return s.toString().startsWith(start); } public String getPreprocessorError() { return preprocessorError; } public CharSequence2 removeInnerComment() { final String string = s.toString(); final String trim = string.replace('\t', ' ').trim(); if (trim.startsWith("/'")) { final int idx = string.indexOf("'/"); if (idx != -1) { return new CharSequence2Impl(removeSpecialInnerComment(s.subSequence(idx + 2, s.length())), location, preprocessorError); } } if (trim.endsWith("'/")) { final int idx = string.lastIndexOf("/'"); if (idx != -1) { return new CharSequence2Impl(removeSpecialInnerComment(s.subSequence(0, idx)), location, preprocessorError); } } if (trim.contains("/'''") && trim.contains("'''/")) { return new CharSequence2Impl(removeSpecialInnerComment(s), location, preprocessorError); } return this; } private CharSequence removeSpecialInnerComment(CharSequence cs) { final String s = cs.toString(); if (s.contains("/'''") && s.contains("'''/")) { return s.replaceAll("/'''[-\\w]*'''/", ""); } return cs; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/ClipboardLoop.java000066400000000000000000000075331340005343600254230ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import javax.imageio.ImageIO; import net.sourceforge.plantuml.core.DiagramDescription; public class ClipboardLoop { public static void runLoop() throws IOException, InterruptedException { final ClipboardLoop clipboardLoop = new ClipboardLoop(); while (true) { final String text = clipboardLoop.getClipboardText(); if (clipboardLoop.isTextOk(text)) { clipboardLoop.runText(text); } Thread.sleep(10000L); } } public static void runOnce() throws IOException, InterruptedException { final ClipboardLoop clipboardLoop = new ClipboardLoop(); final String text = clipboardLoop.getClipboardText(); if (clipboardLoop.isTextOk(text)) { clipboardLoop.runText(text); } else { clipboardLoop.setClipboardImage(new BufferedImage(10, 10, BufferedImage.TYPE_INT_ARGB)); } } private boolean isTextOk(String text) { if (text == null) { return false; } return text.startsWith("@start"); } private void runText(String text) throws IOException, InterruptedException { Log.info("Getting some text from clipboard"); final SourceStringReader source = new SourceStringReader(text); final ByteArrayOutputStream baos = new ByteArrayOutputStream(); final DiagramDescription desc = source.outputImage(baos); if (desc == null) { Log.info("No image generated"); } else { Log.info("Image ok " + desc.getDescription()); final byte[] data = baos.toByteArray(); baos.close(); final ByteArrayInputStream bais = new ByteArrayInputStream(data); final BufferedImage image = ImageIO.read(bais); setClipboardImage(image); bais.close(); Log.info("Image copied in clipboard"); } } private String getClipboardText() { final Transferable t = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null); try { if (t != null && t.isDataFlavorSupported(DataFlavor.stringFlavor)) { final String text = (String) t.getTransferData(DataFlavor.stringFlavor); return text; } } catch (UnsupportedFlavorException e) { Log.error(e.toString()); } catch (IOException e) { Log.error(e.toString()); } return null; } private void setClipboardImage(BufferedImage image) { final Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); clipboard.setContents(new ImageSelection(image), null); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/ColorParam.java000066400000000000000000000216521340005343600247270ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.HtmlColorUtils; import net.sourceforge.plantuml.graphic.color.ColorType; public enum ColorParam { background(HtmlColorUtils.WHITE, true, ColorType.BACK), hyperlink(HtmlColorUtils.BLUE), activityDiamondBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), activityDiamondBorder(HtmlColorUtils.MY_RED, ColorType.LINE), activityBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), activityBorder(HtmlColorUtils.MY_RED, ColorType.LINE), activityStart(HtmlColorUtils.BLACK), activityEnd(HtmlColorUtils.BLACK), activityBar(HtmlColorUtils.BLACK), swimlaneBorder(HtmlColorUtils.BLACK), usecaseBorder(HtmlColorUtils.MY_RED, ColorType.LINE), usecaseBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), objectBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), objectBorder(HtmlColorUtils.MY_RED, ColorType.LINE), classHeaderBackground(null, true, ColorType.BACK), classBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), classBorder(HtmlColorUtils.MY_RED, ColorType.LINE), stereotypeCBackground(HtmlColorUtils.COL_ADD1B2), stereotypeNBackground(HtmlColorUtils.COL_E3664A), stereotypeABackground(HtmlColorUtils.COL_A9DCDF), stereotypeIBackground(HtmlColorUtils.COL_B4A7E5), stereotypeEBackground(HtmlColorUtils.COL_EB937F), stereotypeCBorder(null), stereotypeNBorder(null), stereotypeABorder(null), stereotypeIBorder(null), stereotypeEBorder(null), packageBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), packageBorder(HtmlColorUtils.BLACK, ColorType.LINE), partitionBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), partitionBorder(HtmlColorUtils.BLACK, ColorType.LINE), componentBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), componentBorder(HtmlColorUtils.MY_RED, ColorType.LINE), interfaceBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), interfaceBorder(HtmlColorUtils.MY_RED, ColorType.LINE), arrow(HtmlColorUtils.MY_RED, ColorType.ARROW), stateBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), stateBorder(HtmlColorUtils.MY_RED, ColorType.LINE), stateStart(HtmlColorUtils.BLACK), stateEnd(HtmlColorUtils.BLACK), noteBackground(HtmlColorUtils.COL_FBFB77, true, ColorType.BACK), noteBorder(HtmlColorUtils.MY_RED, ColorType.LINE), legendBackground(HtmlColorUtils.COL_DDDDDD, true, ColorType.BACK), legendBorder(HtmlColorUtils.BLACK, ColorType.LINE), titleBackground(null, true, ColorType.BACK), titleBorder(null, ColorType.LINE), diagramBorder(null, ColorType.LINE), actorBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), actorBorder(HtmlColorUtils.MY_RED, ColorType.LINE), participantBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), participantBorder(HtmlColorUtils.MY_RED, ColorType.LINE), sequenceGroupBorder(HtmlColorUtils.BLACK, ColorType.LINE), sequenceGroupBackground(HtmlColorUtils.COL_EEEEEE, true, ColorType.BACK), sequenceGroupBodyBackground(HtmlColorUtils.RED, true, ColorType.BACK), sequenceReferenceBorder(HtmlColorUtils.BLACK, ColorType.LINE), sequenceReferenceHeaderBackground(HtmlColorUtils.COL_EEEEEE, true, ColorType.BACK), sequenceReferenceBackground(HtmlColorUtils.WHITE, true, ColorType.BACK), sequenceDividerBackground(HtmlColorUtils.COL_EEEEEE, true, ColorType.BACK), sequenceDividerBorder(HtmlColorUtils.BLACK, ColorType.LINE), sequenceLifeLineBackground(HtmlColorUtils.WHITE, true, ColorType.BACK), sequenceLifeLineBorder(HtmlColorUtils.MY_RED, ColorType.LINE), sequenceNewpageSeparator(HtmlColorUtils.BLACK, ColorType.LINE), sequenceBoxBorder(HtmlColorUtils.MY_RED, ColorType.LINE), sequenceBoxBackground(HtmlColorUtils.COL_DDDDDD, true, ColorType.BACK), artifactBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), artifactBorder(HtmlColorUtils.BLACK, ColorType.LINE), cloudBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), cloudBorder(HtmlColorUtils.BLACK, ColorType.LINE), queueBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), queueBorder(HtmlColorUtils.MY_RED, ColorType.LINE), stackBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), stackBorder(HtmlColorUtils.MY_RED, ColorType.LINE), databaseBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), databaseBorder(HtmlColorUtils.BLACK, ColorType.LINE), folderBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), folderBorder(HtmlColorUtils.BLACK, ColorType.LINE), fileBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), fileBorder(HtmlColorUtils.BLACK, ColorType.LINE), frameBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), frameBorder(HtmlColorUtils.BLACK, ColorType.LINE), nodeBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), nodeBorder(HtmlColorUtils.BLACK, ColorType.LINE), rectangleBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), rectangleBorder(HtmlColorUtils.BLACK, ColorType.LINE), cardBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), cardBorder(HtmlColorUtils.BLACK, ColorType.LINE), agentBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), agentBorder(HtmlColorUtils.MY_RED, ColorType.LINE), storageBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), storageBorder(HtmlColorUtils.BLACK, ColorType.LINE), boundaryBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), boundaryBorder(HtmlColorUtils.MY_RED, ColorType.LINE), collectionsBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), collectionsBorder(HtmlColorUtils.MY_RED, ColorType.LINE), controlBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), controlBorder(HtmlColorUtils.MY_RED, ColorType.LINE), entityBackground(HtmlColorUtils.MY_YELLOW, true, ColorType.BACK), entityBorder(HtmlColorUtils.MY_RED, ColorType.LINE), iconPrivate(HtmlColorUtils.COL_C82930), iconPrivateBackground(HtmlColorUtils.COL_F24D5C), iconPackage(HtmlColorUtils.COL_1963A0), iconPackageBackground(HtmlColorUtils.COL_4177AF), iconProtected(HtmlColorUtils.COL_B38D22), iconProtectedBackground(HtmlColorUtils.COL_FFFF44), iconPublic(HtmlColorUtils.COL_038048), iconPublicBackground(HtmlColorUtils.COL_84BE84), iconIEMandatory(HtmlColorUtils.BLACK), arrowLollipop(HtmlColorUtils.WHITE), machineBackground(HtmlColorUtils.WHITE), machineBorder(HtmlColorUtils.BLACK, ColorType.LINE), requirementBackground(HtmlColorUtils.WHITE), requirementBorder(HtmlColorUtils.BLACK, ColorType.LINE), designedBackground(HtmlColorUtils.WHITE), designedBorder(HtmlColorUtils.BLACK, ColorType.LINE), domainBackground(HtmlColorUtils.WHITE), domainBorder(HtmlColorUtils.BLACK, ColorType.LINE), lexicalBackground(HtmlColorUtils.WHITE), lexicalBorder(HtmlColorUtils.BLACK, ColorType.LINE), biddableBackground(HtmlColorUtils.WHITE), biddableBorder(HtmlColorUtils.BLACK, ColorType.LINE); private final boolean isBackground; private final HtmlColor defaultValue; private final ColorType colorType; private ColorParam(HtmlColor defaultValue, ColorType colorType) { this(defaultValue, false, colorType); } private ColorParam(HtmlColor defaultValue) { this(defaultValue, false, null); } private ColorParam() { this(null, false, null); } private ColorParam(boolean isBackground) { this(null, isBackground, null); } private ColorParam(HtmlColor defaultValue, boolean isBackground, ColorType colorType) { this.isBackground = isBackground; this.defaultValue = defaultValue; this.colorType = colorType; if (colorType == ColorType.BACK && isBackground == false) { System.err.println(this); throw new IllegalStateException(); } } protected boolean isBackground() { return isBackground; } public final HtmlColor getDefaultValue() { return defaultValue; } public ColorType getColorType() { return colorType; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/CornerParam.java000066400000000000000000000031471340005343600251000ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public enum CornerParam { DEFAULT, diagramBorder, titleBorder, rectangle, component, card, agent; public String getRoundKey() { if (this == DEFAULT) { return "roundcorner"; } return name() + "roundcorner"; } public String getDiagonalKey() { if (this == DEFAULT) { return "diagonalcorner"; } return name() + "diagonalcorner"; } }plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/CounterOutputStream.java000066400000000000000000000041601340005343600266770ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.IOException; import java.io.OutputStream; public class CounterOutputStream extends OutputStream { private int length; private final OutputStream os; public CounterOutputStream(OutputStream os) { this.os = os; } /** * Writes to nowhere */ @Override public void write(int b) throws IOException { os.write(b); length++; } /** * Overridden for performance reason */ @Override public void write(byte b[]) throws IOException { os.write(b); length += b.length; } /** * Overridden for performance reason */ @Override public void write(byte b[], int off, int len) throws IOException { os.write(b, off, len); length += len; } public int getLength() { return length; } @Override public void flush() throws IOException { os.flush(); } @Override public void close() throws IOException { os.close(); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/DefinitionsContainer.java000066400000000000000000000026141340005343600270030ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.util.List; public interface DefinitionsContainer { public List getDefinition(String name); } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/Dimension2DDouble.java000066400000000000000000000077361340005343600261450ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.utils.MathUtils; public class Dimension2DDouble extends Dimension2D { final private double width; final private double height; public Dimension2DDouble(double width, double height) { if (Double.isNaN(width) || Double.isNaN(height)) { throw new IllegalArgumentException(); } this.width = width; this.height = height; } @Override public String toString() { return "[" + width + "," + height + "]"; } @Override public double getHeight() { return height; } @Override public double getWidth() { return width; } @Override public void setSize(double width, double height) { throw new UnsupportedOperationException(); } public static Dimension2D delta(Dimension2D dim, double delta) { return delta(dim, delta, delta); } public Dimension2DDouble withWidth(double newWidth) { return new Dimension2DDouble(newWidth, height); } public static Dimension2D delta(Dimension2D dim, double deltaWidth, double deltaHeight) { if (deltaHeight == 0 && deltaWidth == 0) { return dim; } return new Dimension2DDouble(dim.getWidth() + deltaWidth, dim.getHeight() + deltaHeight); } public static Dimension2D mergeTB(Dimension2D top, Dimension2D bottom) { final double width = Math.max(top.getWidth(), bottom.getWidth()); final double height = top.getHeight() + bottom.getHeight(); return new Dimension2DDouble(width, height); } public static Dimension2D mergeTB(Dimension2D a, Dimension2D b, Dimension2D c) { final double width = MathUtils.max(a.getWidth(), b.getWidth(), c.getWidth()); final double height = a.getHeight() + b.getHeight() + c.getHeight(); return new Dimension2DDouble(width, height); } public static Dimension2D mergeLR(Dimension2D left, Dimension2D right) { final double height = Math.max(left.getHeight(), right.getHeight()); final double width = left.getWidth() + right.getWidth(); return new Dimension2DDouble(width, height); } public static Dimension2D mergeLayoutT12B3(Dimension2D top1, Dimension2D top2, Dimension2D bottom) { final double width = MathUtils.max(top1.getWidth(), top2.getWidth(), bottom.getWidth()); final double height = top1.getHeight() + top2.getHeight() + bottom.getHeight(); return new Dimension2DDouble(width, height); } public static Dimension2D max(Dimension2D dim1, Dimension2D dim2) { return atLeast(dim1, dim2.getWidth(), dim2.getHeight()); } public static Dimension2D atLeast(Dimension2D dim, double minWidth, double minHeight) { double h = dim.getHeight(); double w = dim.getWidth(); if (w > minWidth && h > minHeight) { return dim; } if (h < minHeight) { h = minHeight; } if (w < minWidth) { w = minWidth; } return new Dimension2DDouble(w, h); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/DirWatcher.java000066400000000000000000000100351340005343600247150ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.File; import java.io.IOException; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Set; import java.util.TreeMap; import java.util.concurrent.Callable; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import net.sourceforge.plantuml.preproc.FileWithSuffix; public class DirWatcher { private final File dir; private final Option option; private final String pattern; private final Map modifieds = new ConcurrentHashMap(); private final ExecutorService executorService; public DirWatcher(File dir, Option option, String pattern) { this.dir = dir; this.option = option; this.pattern = pattern; final int nb = Option.defaultNbThreads(); this.executorService = Executors.newFixedThreadPool(nb); } public Map>> buildCreatedFiles() throws IOException { final Map>> result = new TreeMap>>(); if (dir.listFiles() != null) { for (final File f : dir.listFiles()) { if (!f.isFile()) { continue; } if (!fileToProcess(f.getName())) { continue; } final FileWatcher watcher = modifieds.get(f); if (watcher == null || watcher.hasChanged()) { final SourceFileReader sourceFileReader = new SourceFileReader(option.getDefaultDefines(f), f, option.getOutputDir(), option.getConfig(), option.getCharset(), option.getFileFormatOption()); modifieds.put(f, new FileWatcher(Collections.singleton(f))); final Future> value = executorService .submit(new Callable>() { public List call() { try { final List generatedImages = sourceFileReader .getGeneratedImages(); final Set files = FileWithSuffix.convert(sourceFileReader .getIncludedFiles()); files.add(f); modifieds.put(f, new FileWatcher(files)); return Collections.unmodifiableList(generatedImages); } catch (Exception e) { e.printStackTrace(); return Collections.emptyList(); } } }); result.put(f, value); } } } return Collections.unmodifiableMap(result); } private boolean fileToProcess(String name) { return name.matches(pattern); } public final File getDir() { return dir; } public void cancel() { executorService.shutdownNow(); } public void waitEnd() throws InterruptedException { executorService.shutdown(); executorService.awaitTermination(Long.MAX_VALUE, TimeUnit.MILLISECONDS); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/Direction.java000066400000000000000000000054461340005343600246130ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.awt.geom.Point2D; public enum Direction { RIGHT, LEFT, DOWN, UP; public Direction getInv() { if (this == RIGHT) { return LEFT; } if (this == LEFT) { return RIGHT; } if (this == DOWN) { return UP; } if (this == UP) { return DOWN; } throw new IllegalStateException(); } public String getShortCode() { return name().substring(0, 1); } public static Direction fromChar(char c) { if (c == '<') { return Direction.LEFT; } if (c == '>') { return Direction.RIGHT; } if (c == '^') { return Direction.UP; } return Direction.DOWN; } public Direction clockwise() { if (this == RIGHT) { return DOWN; } if (this == LEFT) { return UP; } if (this == DOWN) { return LEFT; } if (this == UP) { return RIGHT; } throw new IllegalStateException(); } public static Direction leftOrRight(Point2D p1, Point2D p2) { if (p1.getX() < p2.getX()) { return Direction.LEFT; } if (p1.getX() > p2.getX()) { return Direction.RIGHT; } throw new IllegalArgumentException(); } public static Direction fromVector(Point2D p1, Point2D p2) { final double x1 = p1.getX(); final double y1 = p1.getY(); final double x2 = p2.getX(); final double y2 = p2.getY(); if (x1 == x2 && y1 == y2) { return null; } if (x1 == x2) { if (y2 > y1) { return Direction.DOWN; } return Direction.UP; } if (y1 == y2) { if (x2 > x1) { return Direction.RIGHT; } return Direction.LEFT; } throw new IllegalArgumentException("Not a H or V line!"); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/EmbededDiagram.java000066400000000000000000000033721340005343600255010ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import net.sourceforge.plantuml.cucadiagram.Display; public class EmbededDiagram implements CharSequence { private final Display system; public EmbededDiagram(Display system) { this.system = system; } public int length() { return toString().length(); } public char charAt(int index) { return toString().charAt(index); } public CharSequence subSequence(int start, int end) { return toString().subSequence(start, end); } public final Display getLines() { return system; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/EmptyImageBuilder.java000066400000000000000000000062171340005343600262400ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.awt.Color; import java.awt.Graphics2D; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import net.sourceforge.plantuml.cucadiagram.dot.GraphvizUtils; import net.sourceforge.plantuml.ugraphic.ColorMapperIdentity; import net.sourceforge.plantuml.ugraphic.UAntiAliasing; import net.sourceforge.plantuml.ugraphic.g2d.UGraphicG2d; public class EmptyImageBuilder { private final BufferedImage im; private final Graphics2D g2d; public EmptyImageBuilder(double width, double height, Color background) { this((int) width, (int) height, background); } public EmptyImageBuilder(int width, int height, Color background) { if (width > GraphvizUtils.getenvImageLimit()) { Log.info("Width too large " + width + ". You should set PLANTUML_LIMIT_SIZE"); width = GraphvizUtils.getenvImageLimit(); } if (height > GraphvizUtils.getenvImageLimit()) { Log.info("Height too large " + height + ". You should set PLANTUML_LIMIT_SIZE"); height = GraphvizUtils.getenvImageLimit(); } Log.info("Creating image " + width + "x" + height); im = new BufferedImage(width, height, background == null ? BufferedImage.TYPE_INT_ARGB : BufferedImage.TYPE_INT_RGB); g2d = im.createGraphics(); UAntiAliasing.ANTI_ALIASING_ON.apply(g2d); if (background != null) { g2d.setColor(background); g2d.fillRect(0, 0, width, height); } } public EmptyImageBuilder(int width, int height, Color background, double dpiFactor) { this(width * dpiFactor, height * dpiFactor, background); if (dpiFactor != 1.0) { g2d.setTransform(AffineTransform.getScaleInstance(dpiFactor, dpiFactor)); } } public BufferedImage getBufferedImage() { return im; } public Graphics2D getGraphics2D() { return g2d; } public UGraphicG2d getUGraphicG2d() { final UGraphicG2d result = new UGraphicG2d(new ColorMapperIdentity(), g2d, 1.0); result.setBufferedImage(im); return result; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/EnsureVisible.java000066400000000000000000000025331340005343600254440ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public interface EnsureVisible { public void ensureVisible(double x, double y); } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/ErrorUml.java000066400000000000000000000054321340005343600244350ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import net.sourceforge.plantuml.suggest.SuggestEngineResult; import net.sourceforge.plantuml.suggest.SuggestEngineStatus; public class ErrorUml { private final String error; private final ErrorUmlType type; private SuggestEngineResult suggest; private final LineLocation lineLocation; public ErrorUml(ErrorUmlType type, String error, LineLocation lineLocation) { if (error == null || type == null) { throw new IllegalArgumentException(); } this.error = error; this.type = type; this.lineLocation = lineLocation; } @Override public boolean equals(Object obj) { final ErrorUml this2 = (ErrorUml) obj; return this.type == this2.type && this.getPosition() == this2.getPosition() && this.error.equals(this2.error); } @Override public int hashCode() { return error.hashCode() + type.hashCode() + getPosition() + (suggest == null ? 0 : suggest.hashCode()); } @Override public String toString() { return type.toString() + " " + getPosition() + " " + error + " " + suggest; } public final String getError() { return error; } public final ErrorUmlType getType() { return type; } public final int getPosition() { return lineLocation.getPosition(); } public final LineLocation getLineLocation() { return lineLocation; } public final SuggestEngineResult getSuggest() { return suggest; } public final boolean hasSuggest() { return suggest != null && suggest.getStatus() == SuggestEngineStatus.ONE_SUGGESTION; } public void setSuggest(SuggestEngineResult suggest) { this.suggest = suggest; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/ErrorUmlType.java000066400000000000000000000025021340005343600252720ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public enum ErrorUmlType { SYNTAX_ERROR, EXECUTION_ERROR } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/FileFormat.java000066400000000000000000000140521340005343600247140ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics2D; import java.awt.geom.Dimension2D; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.io.File; import net.sourceforge.plantuml.braille.BrailleCharFactory; import net.sourceforge.plantuml.braille.UGraphicBraille; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UFont; /** * Format for output files generated by PlantUML. * * @author Arnaud Roques * */ public enum FileFormat { PNG, SVG, EPS, EPS_TEXT, ATXT, UTXT, XMI_STANDARD, XMI_STAR, XMI_ARGO, SCXML, PDF, MJPEG, ANIMATED_GIF, HTML, HTML5, VDX, LATEX, LATEX_NO_PREAMBLE, BASE64, BRAILLE_PNG, PREPROC; /** * Returns the file format to be used for that format. * * @return a string starting by a point. */ public String getFileSuffix() { if (name().startsWith("XMI")) { return ".xmi"; } if (this == MJPEG) { return ".avi"; } if (this == LATEX_NO_PREAMBLE) { return ".latex"; } if (this == ANIMATED_GIF) { return ".gif"; } if (this == BRAILLE_PNG) { return ".braille.png"; } if (this == EPS_TEXT) { return EPS.getFileSuffix(); } return "." + StringUtils.goLowerCase(name()); } final static private BufferedImage imDummy = new BufferedImage(800, 100, BufferedImage.TYPE_INT_RGB); final static private Graphics2D gg = imDummy.createGraphics(); public StringBounder getDefaultStringBounder(TikzFontDistortion tikzFontDistortion) { if (this == LATEX || this == LATEX_NO_PREAMBLE) { return getTikzStringBounder(tikzFontDistortion); } if (this == BRAILLE_PNG) { return getBrailleStringBounder(); } return getNormalStringBounder(); } private StringBounder getNormalStringBounder() { return new StringBounder() { @Override public String toString() { return "FileFormat::getNormalStringBounder"; } public Dimension2D calculateDimension(UFont font, String text) { return getJavaDimension(font, text); } }; } private Dimension2DDouble getJavaDimension(UFont font, String text) { final Font javaFont = font.getFont(); final FontMetrics fm = gg.getFontMetrics(javaFont); final Rectangle2D rect = fm.getStringBounds(text, gg); return new Dimension2DDouble(rect.getWidth(), rect.getHeight()); } private StringBounder getBrailleStringBounder() { return new StringBounder() { @Override public String toString() { return "FileFormat::getBrailleStringBounder"; } public Dimension2D calculateDimension(UFont font, String text) { final int nb = BrailleCharFactory.build(text).size(); final double quanta = UGraphicBraille.QUANTA; final double height = 5 * quanta; final double width = 3 * nb * quanta + 1; return new Dimension2DDouble(width, height); } }; } private StringBounder getTikzStringBounder(final TikzFontDistortion tikzFontDistortion) { return new StringBounder() { @Override public String toString() { return "FileFormat::getTikzStringBounder"; } public Dimension2D calculateDimension(UFont font, String text) { final Dimension2DDouble w1 = getJavaDimension(font.goTikz(-1), text); final Dimension2DDouble w2 = getJavaDimension(font.goTikz(0), text); final Dimension2DDouble w3 = getJavaDimension(font.goTikz(1), text); final double factor = (w3.getWidth() - w1.getWidth()) / w2.getWidth(); final double distortion = tikzFontDistortion.getDistortion(); final double magnify = tikzFontDistortion.getMagnify(); final double delta = (w2.getWidth() - w1.getWidth()) * factor * distortion; return w2.withWidth(Math.max(w1.getWidth(), magnify * w2.getWidth() - delta)); } }; } /** * Check if this file format is Encapsulated PostScript. * * @return true for EPS. */ public boolean isEps() { if (this == EPS) { return true; } if (this == EPS_TEXT) { return true; } return false; } public String changeName(String fileName, int cpt) { if (cpt == 0) { return changeName(fileName, getFileSuffix()); } return changeName(fileName, OptionFlags.getInstance().getFileSeparator() + String.format("%03d", cpt) + getFileSuffix()); } private File computeFilename(File pngFile, int i) { if (i == 0) { return pngFile; } final File dir = pngFile.getParentFile(); return new File(dir, computeFilenameInternal(pngFile.getName(), i)); } private String changeName(String fileName, String replacement) { String result = fileName.replaceAll("\\.\\w+$", replacement); if (result.equals(fileName)) { result = fileName + replacement; } return result; } private String computeFilenameInternal(String name, int i) { if (i == 0) { return name; } return name.replaceAll("\\" + getFileSuffix() + "$", OptionFlags.getInstance().getFileSeparator() + String.format("%03d", i) + getFileSuffix()); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/FileFormatOption.java000066400000000000000000000107301340005343600261040ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.awt.geom.AffineTransform; import java.io.Serializable; import net.sourceforge.plantuml.graphic.StringBounder; /** * A FileFormat with some parameters. * * * @author Arnaud Roques * */ public class FileFormatOption implements Serializable { private final FileFormat fileFormat; private final AffineTransform affineTransform; private boolean withMetadata; private final boolean useRedForError; private final String svgLinkTarget; private final String hoverColor; private final TikzFontDistortion tikzFontDistortion; public FileFormatOption(FileFormat fileFormat) { this(fileFormat, null, true, false, "_top", false, null, TikzFontDistortion.getDefault()); } public StringBounder getDefaultStringBounder() { return fileFormat.getDefaultStringBounder(tikzFontDistortion); } public String getSvgLinkTarget() { return svgLinkTarget; } public final boolean isWithMetadata() { return withMetadata; } public FileFormatOption(FileFormat fileFormat, boolean withMetadata) { this(fileFormat, null, false, false, "_top", false, null, TikzFontDistortion.getDefault()); } private FileFormatOption(FileFormat fileFormat, AffineTransform at, boolean withMetadata, boolean useRedForError, String svgLinkTarget, boolean debugsvek, String hoverColor, TikzFontDistortion tikzFontDistortion) { this.hoverColor = hoverColor; this.fileFormat = fileFormat; this.affineTransform = at; this.withMetadata = withMetadata; this.useRedForError = useRedForError; this.svgLinkTarget = svgLinkTarget; this.debugsvek = debugsvek; this.tikzFontDistortion = tikzFontDistortion; if (tikzFontDistortion == null) { throw new IllegalArgumentException(); } } public FileFormatOption withUseRedForError() { return new FileFormatOption(fileFormat, affineTransform, withMetadata, true, svgLinkTarget, debugsvek, hoverColor, tikzFontDistortion); } public FileFormatOption withTikzFontDistortion(TikzFontDistortion tikzFontDistortion) { return new FileFormatOption(fileFormat, affineTransform, withMetadata, true, svgLinkTarget, debugsvek, hoverColor, tikzFontDistortion); } public FileFormatOption withSvgLinkTarget(String svgLinkTarget) { return new FileFormatOption(fileFormat, affineTransform, withMetadata, useRedForError, svgLinkTarget, debugsvek, hoverColor, tikzFontDistortion); } public FileFormatOption withHoverColor(String hoverColor) { return new FileFormatOption(fileFormat, affineTransform, withMetadata, useRedForError, svgLinkTarget, debugsvek, hoverColor, tikzFontDistortion); } @Override public String toString() { return fileFormat.toString() + " " + affineTransform; } public final FileFormat getFileFormat() { return fileFormat; } public AffineTransform getAffineTransform() { return affineTransform; } public final boolean isUseRedForError() { return useRedForError; } private boolean debugsvek = false; public void setDebugSvek(boolean debugsvek) { this.debugsvek = debugsvek; } public boolean isDebugSvek() { return debugsvek; } public final String getHoverColor() { return hoverColor; } public void hideMetadata() { this.withMetadata = false; } public final TikzFontDistortion getTikzFontDistortion() { return tikzFontDistortion; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/FileGroup.java000066400000000000000000000112211340005343600245530ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.File; import java.util.ArrayList; import java.util.Collections; import java.util.List; import net.sourceforge.plantuml.command.regex.Matcher2; import net.sourceforge.plantuml.command.regex.MyPattern; import net.sourceforge.plantuml.command.regex.Pattern2; public class FileGroup { private final List result = new ArrayList(); private final String pattern; private final List excluded; private final Option option; private final static Pattern2 predirPath = MyPattern.cmpile("^([^*?]*[/\\\\])?(.*)$"); public FileGroup(String pattern, List excluded, Option option) { this.pattern = pattern; this.excluded = excluded; this.option = option; if (pattern.indexOf("*") == -1 && pattern.indexOf("?") == -1) { initNoStar(); } else if (pattern.indexOf("**") != -1) { recurse(); } else { initWithSimpleStar(); } Collections.sort(result); } private void recurse() { final Matcher2 m = predirPath.matcher(pattern); final boolean ok = m.find(); if (ok == false) { throw new IllegalArgumentException(); } final File parent; if (m.group(1) == null) { parent = new File("."); } else { parent = new File(m.group(1)); } initWithDoubleStar(parent); } private void initNoStar() { final File f = new File(pattern); if (f.isDirectory()) { addSimpleDirectory(f); } else if (f.isFile()) { addResultFile(f); } } private void addResultFile(final File f) { final String path = getNormalizedPath(f); for (String x : excluded) { if (path.matches(toRegexp(x))) { return; } } result.add(f); } private void addSimpleDirectory(File dir) { if (OptionFlags.getInstance().isWord()) { addSimpleDirectory(dir, "(?i)^.*_extr\\d+\\.txt$"); } else { addSimpleDirectory(dir, option.getPattern()); } } private void addSimpleDirectory(File dir, String pattern) { if (dir.isDirectory() == false) { throw new IllegalArgumentException("dir=" + dir); } for (File f : dir.listFiles()) { if (f.getName().matches(pattern)) { addResultFile(f); } } } private static String getNormalizedPath(File f) { return f.getPath().replace('\\', '/'); } private final static Pattern2 noStarInDirectory = MyPattern.cmpile("^(?:([^*?]*)[/\\\\])?([^/\\\\]*)$"); private void initWithSimpleStar() { assert pattern.indexOf("**") == -1; final Matcher2 m = noStarInDirectory.matcher(pattern); if (m.find()) { File dir = new File("."); if (m.group(1) != null) { final String dirPart = m.group(1); dir = new File(dirPart); } final String filesPart = m.group(2); addSimpleDirectory(dir, toRegexp(filesPart)); } else { recurse(); } } private void initWithDoubleStar(File currentDir) { for (File f : currentDir.listFiles()) { if (f.isDirectory()) { initWithDoubleStar(f); } else if (f.isFile()) { final String path = getNormalizedPath(f); if (path.matches(toRegexp(pattern))) { addResultFile(f); } } } } public List getFiles() { return Collections.unmodifiableList(result); } public static String toRegexp(String pattern) { pattern = pattern.replace("\\", "/"); pattern = pattern.replace(".", "\\."); pattern = pattern.replace("?", "[^/]"); pattern = pattern.replace("/**/", "(/|/.{0,}/)"); pattern = pattern.replace("**", ".{0,}"); pattern = pattern.replace("*", "[^/]{0,}"); pattern = "(?i)^(\\./)?" + pattern + "$"; return pattern; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/FileImageData.java000066400000000000000000000034701340005343600253020ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.File; import net.sourceforge.plantuml.core.ImageData; public class FileImageData { public static final int ERROR = 400; public static final int CRASH = 503; private final File file; private final ImageData imageData; public FileImageData(File file, ImageData imageData) { this.file = file; this.imageData = imageData; } public File getFile() { return file; } public ImageData getImageData() { return imageData; } public int getStatus() { if (imageData == null) { return 0; } return imageData.getStatus(); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/FileSystem.java000066400000000000000000000066121340005343600247530ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class FileSystem { private final static FileSystem singleton = new FileSystem(); private final ThreadLocal currentDir = new ThreadLocal(); private FileSystem() { reset(); } public static FileSystem getInstance() { return singleton; } public void setCurrentDir(File dir) { // if (dir == null) { // throw new IllegalArgumentException(); // } Log.info("Setting current dir: " + dir); this.currentDir.set(dir); } public File getCurrentDir() { return this.currentDir.get(); } public File getFile(String nameOrPath) throws IOException { final File dir = currentDir.get(); if (dir == null || isAbsolute(nameOrPath)) { return new File(nameOrPath).getCanonicalFile(); } final File filecurrent = new File(dir.getAbsoluteFile(), nameOrPath); if (filecurrent.exists()) { return filecurrent.getCanonicalFile(); } for (File d : getPath("plantuml.include.path", true)) { if (d.isDirectory()) { final File file = new File(d, nameOrPath); if (file.exists()) { return file.getCanonicalFile(); } } } for (File d : getPath("java.class.path", true)) { if (d.isDirectory()) { final File file = new File(d, nameOrPath); if (file.exists()) { return file.getCanonicalFile(); } } } return filecurrent; } public static List getPath(String prop, boolean onlyDir) { final List result = new ArrayList(); String paths = System.getProperty(prop); if (paths == null) { return result; } paths = StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(paths); final StringTokenizer st = new StringTokenizer(paths, System.getProperty("path.separator")); while (st.hasMoreTokens()) { final File f = new File(st.nextToken()); if (f.exists() && (onlyDir == false || f.isDirectory())) { result.add(f); } } return result; } private boolean isAbsolute(String nameOrPath) { final File f = new File(nameOrPath); return f.isAbsolute(); } public void reset() { setCurrentDir(new File(".")); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/FileUtils.java000066400000000000000000000127701340005343600245710ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.URL; import java.util.concurrent.atomic.AtomicInteger; import javax.swing.ImageIcon; // Used by the Eclipse Plugin, so do not change package location. public class FileUtils { private static AtomicInteger counter; public static void resetCounter() { counter = new AtomicInteger(0); } static public File createTempFile(String prefix, String suffix) throws IOException { if (suffix.startsWith(".") == false) { throw new IllegalArgumentException(); } if (prefix == null) { throw new IllegalArgumentException(); } final File f; if (counter == null) { f = File.createTempFile(prefix, suffix); } else { final String name = prefix + counter.addAndGet(1) + suffix; f = new File(name); } Log.info("Creating temporary file: " + f); f.deleteOnExit(); return f; } private static void copyInternal(final InputStream fis, final OutputStream fos) throws IOException { final byte[] buf = new byte[10240]; int len; while ((len = fis.read(buf)) > 0) { fos.write(buf, 0, len); } fos.close(); fis.close(); } static public void copyToFile(File src, File dest) throws IOException { if (dest.isDirectory()) { dest = new File(dest, src.getName()); } final InputStream fis = new BufferedInputStream(new FileInputStream(src)); final OutputStream fos = new BufferedOutputStream(new FileOutputStream(dest)); copyInternal(fis, fos); } static public void copyToStream(File src, OutputStream os) throws IOException { final InputStream fis = new BufferedInputStream(new FileInputStream(src)); final OutputStream fos = new BufferedOutputStream(os); copyInternal(fis, fos); } static public void copyToStream(InputStream is, OutputStream os) throws IOException { final InputStream fis = new BufferedInputStream(is); final OutputStream fos = new BufferedOutputStream(os); copyInternal(fis, fos); } static public void copyToFile(byte[] src, File dest) throws IOException { final OutputStream fos = new BufferedOutputStream(new FileOutputStream(dest)); fos.write(src); fos.close(); } static public String readSvg(File svgFile) throws IOException { final BufferedReader br = new BufferedReader(new FileReader(svgFile)); return readSvg(br, false, true); } static public String readSvg(InputStream is) throws IOException { final BufferedReader br = new BufferedReader(new InputStreamReader(is)); return readSvg(br, false, false); } static public String readFile(File svgFile) throws IOException { final BufferedReader br = new BufferedReader(new FileReader(svgFile)); return readSvg(br, true, true); } private static String readSvg(final BufferedReader br, boolean withNewline, boolean withClose) throws IOException { final StringBuilder sb = new StringBuilder(); String s; while ((s = br.readLine()) != null) { sb.append(s); if (withNewline) { sb.append("\n"); } } if (withClose) { br.close(); } return sb.toString(); } // public static BufferedImage ImageIO_read(File f) throws IOException { // return ImageIO.read(f); // } public static BufferedImage ImageIO_read(File f) { // https://www.experts-exchange.com/questions/26171948/Why-are-ImageIO-read-images-losing-their-transparency.html // https://stackoverflow.com/questions/18743790/can-java-load-images-with-transparency try { return readImage(new ImageIcon(f.getAbsolutePath())); } catch (Exception e) { return null; } } public static BufferedImage ImageIO_read(URL url) { try { return readImage(new ImageIcon(url)); } catch (Exception e) { return null; } } private static BufferedImage readImage(final ImageIcon imageIcon) { final Image tmpImage = imageIcon.getImage(); final BufferedImage image = new BufferedImage(imageIcon.getIconWidth(), imageIcon.getIconHeight(), BufferedImage.TYPE_INT_ARGB); image.getGraphics().drawImage(tmpImage, 0, 0, null); tmpImage.flush(); return image; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/FileWatcher.java000066400000000000000000000036751340005343600250720ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.File; import java.util.HashMap; import java.util.Map; import java.util.Set; public class FileWatcher { private final Map modified2 = new HashMap(); public FileWatcher(Set files) { if (files.size() == 0) { throw new IllegalArgumentException(); } for (File f : files) { modified2.put(f, f.lastModified()); } } @Override public String toString() { return modified2.toString(); } public boolean hasChanged() { for (Map.Entry ent : modified2.entrySet()) { final long nowModified = ent.getKey().lastModified(); if (ent.getValue().longValue() != nowModified) { return true; } } return false; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/FontParam.java000066400000000000000000000130711340005343600245530ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.awt.Font; import net.sourceforge.plantuml.graphic.FontConfiguration; interface FontParamConstant { String FAMILY = "SansSerif"; String COLOR = "black"; } public enum FontParam { TIMING(12, Font.PLAIN), // ACTIVITY(12, Font.PLAIN), // ACTIVITY_DIAMOND(11, Font.PLAIN), // // ACTIVITY_ARROW(11, Font.PLAIN), // // GENERIC_ARROW(13, Font.PLAIN), // ARROW(13, Font.PLAIN), // CIRCLED_CHARACTER(17, Font.BOLD, FontParamConstant.COLOR, "Monospaced"), // OBJECT_ATTRIBUTE(10, Font.PLAIN), // OBJECT(12, Font.PLAIN), // OBJECT_STEREOTYPE(12, Font.ITALIC), // CLASS_ATTRIBUTE(10, Font.PLAIN), // CLASS(12, Font.PLAIN), // CLASS_STEREOTYPE(12, Font.ITALIC), // COMPONENT(14, Font.PLAIN), // INTERFACE(14, Font.PLAIN), // INTERFACE_STEREOTYPE(14, Font.ITALIC), // COMPONENT_STEREOTYPE(14, Font.ITALIC), // NOTE(13, Font.PLAIN), // PACKAGE(14, Font.PLAIN), // PACKAGE_STEREOTYPE(14, Font.ITALIC), // ACTOR(14, Font.PLAIN), // ARTIFACT(14, Font.PLAIN), // CLOUD(14, Font.PLAIN), // FOLDER(14, Font.PLAIN), // FILE(14, Font.PLAIN), // FRAME(14, Font.PLAIN), // STORAGE(14, Font.PLAIN), // BOUNDARY(14, Font.PLAIN), // CONTROL(14, Font.PLAIN), // ENTITY(14, Font.PLAIN), // AGENT(14, Font.PLAIN), // RECTANGLE(14, Font.PLAIN), // CARD(14, Font.PLAIN), // NODE(14, Font.PLAIN), // DATABASE(14, Font.PLAIN), // QUEUE(14, Font.PLAIN), // STACK(14, Font.PLAIN), // // SEQUENCE_ARROW(13, Font.PLAIN), // SEQUENCE_BOX(13, Font.BOLD), // SEQUENCE_DIVIDER(13, Font.BOLD), // SEQUENCE_REFERENCE(13, Font.PLAIN), // SEQUENCE_DELAY(11, Font.PLAIN), // SEQUENCE_GROUP(11, Font.BOLD), // SEQUENCE_GROUP_HEADER(13, Font.BOLD), // PARTICIPANT(14, Font.PLAIN), // SEQUENCE_TITLE(14, Font.BOLD), // STATE(14, Font.PLAIN), // STATE_ATTRIBUTE(12, Font.PLAIN), // LEGEND(14, Font.PLAIN), // TITLE(18, Font.PLAIN), // CAPTION(14, Font.PLAIN), // SWIMLANE_TITLE(18, Font.PLAIN), // FOOTER(10, Font.PLAIN, "#888888", FontParamConstant.FAMILY), // HEADER(10, Font.PLAIN, "#888888", FontParamConstant.FAMILY), // USECASE(14, Font.PLAIN), // USECASE_STEREOTYPE(14, Font.ITALIC), // ARTIFACT_STEREOTYPE(14, Font.ITALIC), // CLOUD_STEREOTYPE(14, Font.ITALIC), // STORAGE_STEREOTYPE(14, Font.ITALIC), // BOUNDARY_STEREOTYPE(14, Font.ITALIC), // CONTROL_STEREOTYPE(14, Font.ITALIC), // ENTITY_STEREOTYPE(14, Font.ITALIC), // AGENT_STEREOTYPE(14, Font.ITALIC), // RECTANGLE_STEREOTYPE(14, Font.ITALIC), // CARD_STEREOTYPE(14, Font.ITALIC), // NODE_STEREOTYPE(14, Font.ITALIC), // FOLDER_STEREOTYPE(14, Font.ITALIC), // FILE_STEREOTYPE(14, Font.ITALIC), // FRAME_STEREOTYPE(14, Font.ITALIC), // DATABASE_STEREOTYPE(14, Font.ITALIC), // QUEUE_STEREOTYPE(14, Font.ITALIC), // STACK_STEREOTYPE(14, Font.ITALIC), // ACTOR_STEREOTYPE(14, Font.ITALIC), // SEQUENCE_STEREOTYPE(14, Font.ITALIC), // PARTITION(14, Font.PLAIN), DESIGNED_DOMAIN(12, Font.PLAIN), // DESIGNED_DOMAIN_STEREOTYPE(12, Font.ITALIC), // DOMAIN(12, Font.PLAIN), // DOMAIN_STEREOTYPE(12, Font.ITALIC), // MACHINE(12, Font.PLAIN), // MACHINE_STEREOTYPE(12, Font.ITALIC), // REQUIREMENT(12, Font.PLAIN), // REQUIREMENT_STEREOTYPE(12, Font.ITALIC); // private final int defaultSize; private final int fontStyle; private final String defaultColor; private final String defaultFamily; private FontParam(int defaultSize, int fontStyle, String defaultColor, String defaultFamily) { this.defaultSize = defaultSize; this.fontStyle = fontStyle; this.defaultColor = defaultColor; this.defaultFamily = defaultFamily; } private FontParam(int defaultSize, int fontStyle) { this(defaultSize, fontStyle, FontParamConstant.COLOR, FontParamConstant.FAMILY); } public final int getDefaultSize(ISkinParam skinParam) { if (this == ARROW && skinParam.getUmlDiagramType() == UmlDiagramType.ACTIVITY) { return 11; } if (this == CLASS_ATTRIBUTE) { return 11; } return defaultSize; } public final int getDefaultFontStyle(ISkinParam skinParam, boolean inPackageTitle) { if (this == STATE) { return fontStyle; } if (inPackageTitle || this == PACKAGE) { return Font.BOLD; } return fontStyle; } public final String getDefaultColor() { return defaultColor; } public String getDefaultFamily() { return defaultFamily; } public FontConfiguration getFontConfiguration(ISkinParam skinParam) { return new FontConfiguration(skinParam, this, null); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/GeneratedImage.java000066400000000000000000000027301340005343600255250ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.File; public interface GeneratedImage extends Comparable { public File getPngFile(); public String getDescription(); public int lineErrorRaw(); public int getStatus(); } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/GeneratedImageImpl.java000066400000000000000000000053471340005343600263560ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.File; import net.sourceforge.plantuml.core.Diagram; public class GeneratedImageImpl implements GeneratedImage { private final File pngFile; private final String description; private final BlockUml blockUml; private final int status; public final int getStatus() { return status; } public GeneratedImageImpl(File pngFile, String description, BlockUml blockUml, int status) { this.blockUml = blockUml; this.pngFile = pngFile; this.description = description; this.status = status; } public File getPngFile() { return pngFile; } public String getDescription() { return description; } public int lineErrorRaw() { final Diagram system = blockUml.getDiagram(); if (system instanceof PSystemError) { return ((PSystemError) system).getHigherErrorPosition2().getPosition(); } return -1; } @Override public String toString() { return pngFile.getAbsolutePath() + " " + description; } public int compareTo(GeneratedImage this2) { final int cmp = this.pngFile.compareTo(this2.getPngFile()); if (cmp != 0) { return cmp; } return this.description.compareTo(this2.getDescription()); } @Override public int hashCode() { return pngFile.hashCode() + description.hashCode(); } @Override public boolean equals(Object obj) { final GeneratedImageImpl this2 = (GeneratedImageImpl) obj; return this2.pngFile.equals(this.pngFile) && this2.description.equals(this.description); } public BlockUml getBlockUml() { return blockUml; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/Hideable.java000066400000000000000000000025011340005343600243550ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public interface Hideable { public boolean isHidden(); }plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/ISkinParam.java000066400000000000000000000111541340005343600246620ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import net.sourceforge.plantuml.cucadiagram.Rankdir; import net.sourceforge.plantuml.cucadiagram.Stereotype; import net.sourceforge.plantuml.cucadiagram.dot.DotSplines; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.SkinParameter; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.skin.ArrowDirection; import net.sourceforge.plantuml.svek.ConditionStyle; import net.sourceforge.plantuml.svek.PackageStyle; import net.sourceforge.plantuml.ugraphic.UFont; import net.sourceforge.plantuml.ugraphic.UStroke; public interface ISkinParam extends ISkinSimple { public static final int SWIMLANE_WIDTH_SAME = -1; public HtmlColor getHyperlinkColor(); public boolean useUnderlineForHyperlink(); public HtmlColor getBackgroundColor(); public HtmlColor getHtmlColor(ColorParam param, Stereotype stereotype, boolean clickable); public Colors getColors(ColorParam param, Stereotype stereotype); public HtmlColor getFontHtmlColor(Stereotype stereotype, FontParam... param); public UStroke getThickness(LineParam param, Stereotype stereotype); public UFont getFont(Stereotype stereotype, boolean inPackageTitle, FontParam... fontParam); public HorizontalAlignment getHorizontalAlignment(AlignmentParam param, ArrowDirection arrowDirection, boolean isReverseDefine); public HorizontalAlignment getDefaultTextAlignment(HorizontalAlignment defaultValue); public int getCircledCharacterRadius(); public char getCircledCharacter(Stereotype stereotype); public int classAttributeIconSize(); public DotSplines getDotSplines(); public String getDotExecutable(); public boolean shadowing(Stereotype stereotype); public boolean shadowingForNote(Stereotype stereotype); public boolean shadowing2(Stereotype stereotype, SkinParameter skinParameter); public PackageStyle getPackageStyle(); public boolean useUml2ForComponent(); public boolean stereotypePositionTop(); public boolean useSwimlanes(UmlDiagramType type); public double getNodesep(); public double getRanksep(); public double getRoundCorner(CornerParam param, Stereotype stereotype); public double getDiagonalCorner(CornerParam param, Stereotype stereotype); public LineBreakStrategy maxMessageSize(); public LineBreakStrategy wrapWidth(); public LineBreakStrategy swimlaneWrapTitleWidth(); public boolean strictUmlStyle(); public boolean forceSequenceParticipantUnderlined(); public ConditionStyle getConditionStyle(); public double minClassWidth(); public boolean sameClassWidth(); public Rankdir getRankdir(); public boolean useOctagonForActivity(Stereotype stereotype); public int groupInheritance(); public boolean useGuillemet(); public boolean handwritten(); public String getSvgLinkTarget(); public int getTabSize(); public int maxAsciiMessageLength(); public int colorArrowSeparationSpace(); public SplitParam getSplitParam(); public int swimlaneWidth(); public UmlDiagramType getUmlDiagramType(); public HtmlColor getHoverPathColor(); public TikzFontDistortion getTikzFontDistortion(); public double getPadding(PaddingParam param); public boolean useRankSame(); public boolean displayGenericWithOldFashion(); public boolean responseMessageBelowArrow(); public boolean svgDimensionStyle(); public boolean fixCircleLabelOverlapping(); }plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/ISkinSimple.java000066400000000000000000000033101340005343600250460ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import net.sourceforge.plantuml.graphic.IHtmlColorSet; import net.sourceforge.plantuml.ugraphic.ColorMapper; public interface ISkinSimple extends SpriteContainer { public String getValue(String key); public double getPadding(); public String getMonospacedFamily(); public int getTabSize(); public IHtmlColorSet getIHtmlColorSet(); public int getDpi(); public LineBreakStrategy wrapWidth(); public ColorMapper getColorMapper(); }plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/ISourceFileReader.java000066400000000000000000000031471340005343600261630ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.IOException; import java.util.List; public interface ISourceFileReader { public List getGeneratedImages() throws IOException; public List getBlocks(); public boolean hasError(); public void setFileFormatOption(FileFormatOption fileFormatOption); public void setCheckMetadata(boolean checkMetadata); } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/ImageSelection.java000066400000000000000000000036461340005343600255630ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.awt.Image; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.io.IOException; public class ImageSelection implements Transferable { private Image image; public ImageSelection(Image image) { this.image = image; } public DataFlavor[] getTransferDataFlavors() { return new DataFlavor[] { DataFlavor.imageFlavor }; } public boolean isDataFlavorSupported(DataFlavor flavor) { return DataFlavor.imageFlavor.equals(flavor); } public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException { return image; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/LineBreakStrategy.java000066400000000000000000000032501340005343600262410ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public class LineBreakStrategy { public static final LineBreakStrategy NONE = new LineBreakStrategy(null); private final String value; public LineBreakStrategy(String value) { this.value = value; } public boolean isAuto() { return "auto".equalsIgnoreCase(value); } public double getMaxWidth() { if (value != null && value.matches("-?\\d+")) { return Double.parseDouble(value); } return 0; } }plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/LineConfigurable.java000066400000000000000000000031171340005343600260740ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.color.ColorType; import net.sourceforge.plantuml.graphic.color.Colors; public interface LineConfigurable { public Colors getColors(ISkinParam skinParam); public void setSpecificColorTOBEREMOVED(ColorType type, HtmlColor color); }plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/LineLocation.java000066400000000000000000000036041340005343600252450ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; /** * Indicates the location of a line of code within a resource. * The resource maybe a local file or a remote URL. * */ public interface LineLocation extends Comparable { /** * Position of the line, starting at 0. */ public int getPosition(); /** * A description of the ressource. * If the ressource is a file, this is the complete path of the file. */ public String getDescription(); /** * Get the parent of this location. * If this resource has been included by a !include or !includeurl directive, * this return the location of the !include line. */ public LineLocation getParent(); } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/LineLocationImpl.java000066400000000000000000000051401340005343600260640ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public class LineLocationImpl implements LineLocation { private final String desc; private final int position; private final LineLocation parent; @Override public String toString() { return desc + " : " + position; } public LineLocationImpl(String desc, LineLocation parent) { this(desc, parent, -1); } private LineLocationImpl(String desc, LineLocation parent, int position) { if (desc == null) { throw new IllegalArgumentException(); } this.parent = parent; this.desc = desc; this.position = position; } public LineLocationImpl oneLineRead() { return new LineLocationImpl(desc, parent, position + 1); } public static LineLocation fromLine(CharSequence cs) { if (cs instanceof CharSequence2) { return ((CharSequence2) cs).getLocation(); } return null; } public int getPosition() { return position; } public String getDescription() { return desc; } public LineLocation getParent() { return parent; } private boolean isStandardLibrary() { return desc.startsWith("<"); } public int compareTo(LineLocation other) { final LineLocationImpl other2 = (LineLocationImpl) other; if (this.isStandardLibrary() && other2.isStandardLibrary() == false) { return -1; } if (this.isStandardLibrary() == false && other2.isStandardLibrary()) { return 1; } return this.position - other2.position; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/LineParam.java000066400000000000000000000035561340005343600245430ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public enum LineParam { // sequenceBoundaryBorder, sequenceActorBorder, sequenceDividerBorder, // sequenceGroupBorder(0.1), // sequenceReferenceBorder(0.1), sequenceLifeLineBorder, sequenceParticipantBorder, noteBorder, sequenceGroupBorder, sequenceReferenceBorder, legendBorder, sequenceArrow, arrow, classBorder, objectBorder, usecaseBorder, partitionBorder, packageBorder, swimlaneBorder, activityBorder, titleBorder, diagramBorder, rectangleBorder, componentBorder, cardBorder, agentBorder, domainBorder, designedDomainBorder, machineBorder, requirementBorder; // sequenceBoxBorder(0.1); } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/Log.java000066400000000000000000000064351340005343600234130ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public abstract class Log { private static final long start = System.currentTimeMillis(); public synchronized static void debug(String s) { } public synchronized static void info(String s) { if (OptionFlags.getInstance().isVerbose()) { ProgressBar.clear(); System.err.println(format(s)); } } public synchronized static void error(String s) { ProgressBar.clear(); System.err.println(s); } private static String format(String s) { final long delta = System.currentTimeMillis() - start; // final HealthCheck healthCheck = Performance.getHealthCheck(); // final long cpu = healthCheck.jvmCpuTime() / 1000L / 1000L; // final long dot = healthCheck.dotTime().getSum(); final long freeMemory = Runtime.getRuntime().freeMemory(); final long maxMemory = Runtime.getRuntime().maxMemory(); final long totalMemory = Runtime.getRuntime().totalMemory(); final long usedMemory = totalMemory - freeMemory; final int threadActiveCount = Thread.activeCount(); final StringBuilder sb = new StringBuilder(); sb.append("("); sb.append(delta / 1000L); sb.append("."); sb.append(String.format("%03d", delta % 1000L)); // if (cpu != -1) { // sb.append(" - "); // sb.append(cpu / 1000L); // sb.append("."); // sb.append(String.format("%03d", cpu % 1000L)); // } // sb.append(" - "); // sb.append(dot / 1000L); // sb.append("."); // sb.append(String.format("%03d", dot % 1000L)); // sb.append("("); // sb.append(healthCheck.dotTime().getNb()); // sb.append(")"); sb.append(" - "); final long total = totalMemory / 1024 / 1024; final long free = freeMemory / 1024 / 1024; sb.append(total); sb.append(" Mo) "); sb.append(free); sb.append(" Mo - "); sb.append(s); return sb.toString(); } public static void println(Object s) { if (header2.get() == null) { System.err.println("L = " + s); } else { System.err.println(header2.get() + " " + s); } } private static final ThreadLocal header2 = new ThreadLocal(); public static void header(String s) { header2.set(s); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/NamedOutputStream.java000066400000000000000000000042071340005343600263060ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; public class NamedOutputStream extends OutputStream { private final OutputStream os; private final BaseFile basefile; public NamedOutputStream(File file) throws FileNotFoundException { this.os = new BufferedOutputStream(new FileOutputStream(file)); this.basefile = new BaseFile(file); } public void close() throws IOException { os.close(); } public void flush() throws IOException { os.flush(); } public void write(byte[] b) throws IOException { os.write(b); } public void write(byte[] b, int off, int len) throws IOException { os.write(b, off, len); } public void write(int b) throws IOException { os.write(b); } public BaseFile getBasefile() { return basefile; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/NewpagedDiagram.java000066400000000000000000000106551340005343600257100ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; import java.util.Collections; import java.util.List; import net.sourceforge.plantuml.command.BlocLines; import net.sourceforge.plantuml.command.Command; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.core.Diagram; import net.sourceforge.plantuml.core.DiagramDescription; import net.sourceforge.plantuml.core.ImageData; public class NewpagedDiagram extends AbstractPSystem { private final List diagrams = new ArrayList(); public NewpagedDiagram(AbstractPSystem diag1, AbstractPSystem diag2) { if (diag1 instanceof NewpagedDiagram) { throw new IllegalArgumentException(); } if (diag2 instanceof NewpagedDiagram) { throw new IllegalArgumentException(); } this.diagrams.add(diag1); this.diagrams.add(diag2); } @Override public String toString() { return super.toString() + " SIZE=" + diagrams.size() + " " + diagrams; } public Diagram getLastDiagram() { return diagrams.get(diagrams.size() - 1); } public CommandExecutionResult executeCommand(Command cmd, BlocLines lines) { final int nb = diagrams.size(); final CommandExecutionResult tmp = cmd.execute(diagrams.get(nb - 1), lines); if (tmp.getNewDiagram() instanceof NewpagedDiagram) { final NewpagedDiagram new1 = (NewpagedDiagram) tmp.getNewDiagram(); // System.err.println("this=" + this); // System.err.println("new1=" + new1); if (new1.size() != 2) { throw new IllegalStateException(); } if (new1.diagrams.get(0) != this.diagrams.get(nb - 1)) { throw new IllegalStateException(); } this.diagrams.add(new1.diagrams.get(1)); return tmp.withDiagram(this); } return tmp; } private int size() { return diagrams.size(); } @Override final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed) throws IOException { return diagrams.get(num).exportDiagram(os, 0, fileFormat); } public int getNbImages() { int nb = 0; for (Diagram d : diagrams) { nb += d.getNbImages(); } return nb; } public DiagramDescription getDescription() { final StringBuilder sb = new StringBuilder(); for (Diagram d : diagrams) { if (sb.length() > 0) { sb.append(" "); } sb.append(d.getDescription()); } return new DiagramDescription(sb.toString()); } public String getWarningOrError() { final StringBuilder sb = new StringBuilder(); for (Diagram d : diagrams) { if (sb.length() > 0) { sb.append(" "); } if (d.getWarningOrError() != null) { sb.append(d.getWarningOrError()); } } if (sb.length() == 0) { return null; } return sb.toString(); } @Override public void makeDiagramReady() { super.makeDiagramReady(); for (Diagram diagram : diagrams) { ((AbstractPSystem) diagram).makeDiagramReady(); } } @Override public String checkFinalError() { for (Diagram p : getDiagrams()) { final String check = ((AbstractPSystem) p).checkFinalError(); if (check != null) { return check; } } return super.checkFinalError(); } public final List getDiagrams() { return Collections.unmodifiableList(diagrams); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/NullOutputStream.java000066400000000000000000000035731340005343600262010ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.IOException; import java.io.OutputStream; // Modified by Maxime Sinclair public class NullOutputStream extends OutputStream { /** * Writes to nowhere */ @Override public void write(int b) throws IOException { // Do nothing silently } /** * Overridden for performance reason */ @Override public void write(byte b[]) throws IOException { // Do nothing silently } /** * Overridden for performance reason */ @Override public void write(byte b[], int off, int len) throws IOException { // Do nothing silently } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/Option.java000066400000000000000000000464231340005343600241430ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import net.sourceforge.plantuml.api.ApiWarning; import net.sourceforge.plantuml.command.regex.Matcher2; import net.sourceforge.plantuml.command.regex.MyPattern; import net.sourceforge.plantuml.command.regex.Pattern2; import net.sourceforge.plantuml.cucadiagram.dot.GraphvizUtils; import net.sourceforge.plantuml.preproc.Defines; import net.sourceforge.plantuml.stats.StatsUtils; public class Option { private final List excludes = new ArrayList(); private final List config = new ArrayList(); private final Map defines = new LinkedHashMap(); private String charset; private boolean computeurl = false; private boolean decodeurl = false; private boolean pipe = false; private String pipeDelimitor; private boolean pipeMap = false; private boolean pipeNoStdErr = false; private boolean syntax = false; private boolean checkOnly = false; private OptionPreprocOutputMode preprocessorOutput = null; private boolean failfast = false; private boolean failfast2 = false; private boolean pattern = false; private boolean duration = false; private boolean debugsvek = false; private boolean splash = false; private boolean textProgressBar = false; private int nbThreads = 0; private boolean hideMetadata = false; private boolean checkMetadata = false; private int imageIndex = 0; private File outputDir = null; private File outputFile = null; private String filename; private final List result = new ArrayList(); public Option() { } private FileFormatOption fileFormatOption = new FileFormatOption(FileFormat.PNG); @Deprecated @ApiWarning(willBeRemoved = "in next major release") final public void setFileFormat(FileFormat fileFormat) { setFileFormatOption(new FileFormatOption(fileFormat)); } final public void setFileFormatOption(FileFormatOption newFormat) { this.fileFormatOption = newFormat; } public Option(String... arg) throws InterruptedException, IOException { if (arg.length == 0) { OptionFlags.getInstance().setGui(true); } for (int i = 0; i < arg.length; i++) { String s = arg[i]; if (s.equalsIgnoreCase("-headless")) { // Useless because done in Run.java if (i != 0) { Log.error("Warning: -headless flag must be the first one in the command line"); } System.setProperty("java.awt.headless", "true"); } else if (s.equalsIgnoreCase("-tsvg") || s.equalsIgnoreCase("-svg")) { setFileFormatOption(new FileFormatOption(FileFormat.SVG)); } else if (s.equalsIgnoreCase("-tsvg:nornd") || s.equalsIgnoreCase("-svg:nornd")) { setFileFormatOption(new FileFormatOption(FileFormat.SVG)); } else if (s.equalsIgnoreCase("-thtml") || s.equalsIgnoreCase("-html")) { setFileFormatOption(new FileFormatOption(FileFormat.HTML)); } else if (s.equalsIgnoreCase("-tscxml") || s.equalsIgnoreCase("-scxml")) { setFileFormatOption(new FileFormatOption(FileFormat.SCXML)); } else if (s.equalsIgnoreCase("-txmi") || s.equalsIgnoreCase("-xmi")) { setFileFormatOption(new FileFormatOption(FileFormat.XMI_STANDARD)); } else if (s.equalsIgnoreCase("-txmi:argo") || s.equalsIgnoreCase("-xmi:argo")) { setFileFormatOption(new FileFormatOption(FileFormat.XMI_ARGO)); } else if (s.equalsIgnoreCase("-txmi:star") || s.equalsIgnoreCase("-xmi:star")) { setFileFormatOption(new FileFormatOption(FileFormat.XMI_STAR)); } else if (s.equalsIgnoreCase("-teps") || s.equalsIgnoreCase("-eps")) { setFileFormatOption(new FileFormatOption(FileFormat.EPS)); } else if (s.equalsIgnoreCase("-teps:text") || s.equalsIgnoreCase("-eps:text")) { setFileFormatOption(new FileFormatOption(FileFormat.EPS_TEXT)); } else if (s.equalsIgnoreCase("-ttxt") || s.equalsIgnoreCase("-txt")) { setFileFormatOption(new FileFormatOption(FileFormat.ATXT)); } else if (s.equalsIgnoreCase("-tutxt") || s.equalsIgnoreCase("-utxt")) { setFileFormatOption(new FileFormatOption(FileFormat.UTXT)); } else if (s.equalsIgnoreCase("-braille") || s.equalsIgnoreCase("-tbraille")) { setFileFormatOption(new FileFormatOption(FileFormat.BRAILLE_PNG)); } else if (s.equalsIgnoreCase("-png") || s.equalsIgnoreCase("-tpng")) { setFileFormatOption(new FileFormatOption(FileFormat.PNG)); } else if (s.equalsIgnoreCase("-vdx") || s.equalsIgnoreCase("-tvdx")) { setFileFormatOption(new FileFormatOption(FileFormat.VDX)); } else if (s.equalsIgnoreCase("-latex") || s.equalsIgnoreCase("-tlatex")) { setFileFormatOption(new FileFormatOption(FileFormat.LATEX)); } else if (s.equalsIgnoreCase("-latex:nopreamble") || s.equalsIgnoreCase("-tlatex:nopreamble")) { setFileFormatOption(new FileFormatOption(FileFormat.LATEX_NO_PREAMBLE)); } else if (s.equalsIgnoreCase("-base64") || s.equalsIgnoreCase("-tbase64")) { setFileFormatOption(new FileFormatOption(FileFormat.BASE64)); } else if (s.equalsIgnoreCase("-pdf") || s.equalsIgnoreCase("-tpdf")) { setFileFormatOption(new FileFormatOption(FileFormat.PDF)); } else if (s.equalsIgnoreCase("-overwrite")) { OptionFlags.getInstance().setOverwrite(true); } else if (s.equalsIgnoreCase("-output") || s.equalsIgnoreCase("-o")) { i++; if (i == arg.length) { continue; } outputDir = new File(StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(arg[i])); } else if (s.equalsIgnoreCase("-ofile")) { i++; if (i == arg.length) { continue; } outputFile = new File(StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(arg[i])); } else if (s.equalsIgnoreCase("-graphvizdot") || s.equalsIgnoreCase("-graphviz_dot")) { i++; if (i == arg.length) { continue; } GraphvizUtils.setDotExecutable(StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(arg[i])); } else if (s.equalsIgnoreCase("-charset")) { i++; if (i == arg.length) { continue; } charset = StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(arg[i]); } else if (s.equalsIgnoreCase("-filename")) { i++; if (i == arg.length) { continue; } filename = StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(arg[i]); } else if (s.startsWith("-o") && s.length() > 3) { s = s.substring(2); outputDir = new File(StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(s)); } else if (s.equalsIgnoreCase("-recurse") || s.equalsIgnoreCase("-r")) { // recurse = true; } else if (s.equalsIgnoreCase("-exclude") || s.equalsIgnoreCase("-x")) { i++; if (i == arg.length) { continue; } excludes.add(StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(arg[i])); } else if (s.equalsIgnoreCase("-nbthread") || s.equalsIgnoreCase("-nbthreads")) { i++; if (i == arg.length) { continue; } final String nb = arg[i]; if ("auto".equalsIgnoreCase(nb)) { this.nbThreads = defaultNbThreads(); } else if (nb.matches("\\d+")) { this.nbThreads = Integer.parseInt(nb); } } else if (s.equalsIgnoreCase("-timeout")) { i++; if (i == arg.length) { continue; } final String timeSeconds = arg[i]; if (timeSeconds.matches("\\d+")) { OptionFlags.getInstance().setTimeoutMs(Integer.parseInt(timeSeconds) * 1000L); } } else if (s.equalsIgnoreCase("-failfast")) { this.failfast = true; } else if (s.equalsIgnoreCase("-failfast2")) { this.failfast2 = true; } else if (s.equalsIgnoreCase("-checkonly")) { this.checkOnly = true; } else if (s.equalsIgnoreCase("-config")) { i++; if (i == arg.length) { continue; } initConfig(StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(arg[i])); } else if (s.startsWith("-I")) { initInclude(s.substring(2)); } else if (s.equalsIgnoreCase("-computeurl") || s.equalsIgnoreCase("-encodeurl")) { this.computeurl = true; } else if (s.startsWith("-x")) { s = s.substring(2); excludes.add(StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(s)); } else if (s.equalsIgnoreCase("-verbose") || s.equalsIgnoreCase("-v")) { OptionFlags.getInstance().setVerbose(true); } else if (s.equalsIgnoreCase("-pipe") || s.equalsIgnoreCase("-p")) { pipe = true; } else if (s.equalsIgnoreCase("-pipedelimitor")) { i++; if (i == arg.length) { continue; } pipeDelimitor = arg[i]; } else if (s.equalsIgnoreCase("-pipemap")) { pipeMap = true; } else if (s.equalsIgnoreCase("-pipenostderr")) { pipeNoStdErr = true; } else if (s.equalsIgnoreCase("-pattern")) { pattern = true; } else if (s.equalsIgnoreCase("-syntax")) { syntax = true; OptionFlags.getInstance().setQuiet(true); } else if (s.equalsIgnoreCase("-duration")) { duration = true; } else if (s.equalsIgnoreCase("-debugsvek") || s.equalsIgnoreCase("-debug_svek")) { debugsvek = true; } else if (s.equalsIgnoreCase("-keepfiles") || s.equalsIgnoreCase("-keepfile")) { System.err.println("-keepfiles option has been removed. Please consider -debugsvek instead"); } else if (s.equalsIgnoreCase("-metadata")) { OptionFlags.getInstance().setExtractFromMetadata(true); } else if (s.equalsIgnoreCase("-logdata")) { i++; if (i == arg.length) { continue; } OptionFlags.getInstance().setLogData( new File(StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(arg[i]))); } else if (s.equalsIgnoreCase("-word")) { OptionFlags.getInstance().setWord(true); OptionFlags.getInstance().setQuiet(true); this.charset = "UTF-8"; } else if (s.equalsIgnoreCase("-quiet")) { OptionFlags.getInstance().setQuiet(true); } else if (s.equalsIgnoreCase("-decodeurl")) { this.decodeurl = true; } else if (s.equalsIgnoreCase("-version")) { OptionPrint.printVersion(); } else if (s.matches("(?i)^-li[sc][ea]n[sc]e\\s*$")) { OptionPrint.printLicense(); } else if (s.equalsIgnoreCase("-checkversion")) { OptionPrint.checkVersion(); } else if (s.startsWith("-DPLANTUML_LIMIT_SIZE=")) { final String v = s.substring("-DPLANTUML_LIMIT_SIZE=".length()); if (v.matches("\\d+")) { System.setProperty("PLANTUML_LIMIT_SIZE", v); } } else if (s.startsWith("-D")) { manageDefine(s.substring(2)); } else if (s.startsWith("-S")) { manageSkinParam(s.substring(2)); } else if (s.equalsIgnoreCase("-testdot")) { OptionPrint.printTestDot(); } else if (s.equalsIgnoreCase("-about") || s.equalsIgnoreCase("-author") || s.equalsIgnoreCase("-authors")) { OptionPrint.printAbout(); } else if (s.equalsIgnoreCase("-help") || s.equalsIgnoreCase("-h") || s.equalsIgnoreCase("-?")) { OptionPrint.printHelp(); } else if (s.equalsIgnoreCase("-language")) { OptionPrint.printLanguage(); } else if (s.equalsIgnoreCase("-gui")) { OptionFlags.getInstance().setGui(true); } else if (s.equalsIgnoreCase("-encodesprite")) { OptionFlags.getInstance().setEncodesprite(true); // } else if (s.equalsIgnoreCase("-nosuggestengine")) { // OptionFlags.getInstance().setUseSuggestEngine(false); } else if (s.equalsIgnoreCase("-printfonts")) { OptionFlags.getInstance().setPrintFonts(true); } else if (s.equalsIgnoreCase("-dumphtmlstats")) { OptionFlags.getInstance().setDumpHtmlStats(true); } else if (s.equalsIgnoreCase("-dumpstats")) { OptionFlags.getInstance().setDumpStats(true); } else if (s.equalsIgnoreCase("-loopstats")) { OptionFlags.getInstance().setLoopStats(true); } else if (s.equalsIgnoreCase("-enablestats")) { OptionFlags.getInstance().setEnableStats(true); } else if (s.equalsIgnoreCase("-disablestats")) { OptionFlags.getInstance().setEnableStats(false); } else if (s.equalsIgnoreCase("-extractstdlib")) { OptionFlags.getInstance().setExtractStdLib(true); } else if (s.equalsIgnoreCase("-stdlib")) { OptionFlags.getInstance().setStdLib(true); } else if (s.equalsIgnoreCase("-clipboard")) { OptionFlags.getInstance().setClipboard(true); } else if (s.equalsIgnoreCase("-clipboardloop")) { OptionFlags.getInstance().setClipboardLoop(true); } else if (s.equalsIgnoreCase("-htmlstats")) { StatsUtils.setHtmlStats(true); } else if (s.equalsIgnoreCase("-xmlstats")) { StatsUtils.setXmlStats(true); } else if (s.equalsIgnoreCase("-realtimestats")) { StatsUtils.setRealTimeStats(true); } else if (s.equalsIgnoreCase("-useseparatorminus")) { OptionFlags.getInstance().setFileSeparator("-"); } else if (s.equalsIgnoreCase("-splash")) { splash = true; } else if (s.equalsIgnoreCase("-progress")) { textProgressBar = true; } else if (s.equalsIgnoreCase("-nometadata")) { hideMetadata = true; } else if (s.equalsIgnoreCase("-preproc")) { preprocessorOutput = OptionPreprocOutputMode.NORMAL; } else if (s.equalsIgnoreCase("-cypher")) { preprocessorOutput = OptionPreprocOutputMode.CYPHER; } else if (s.equalsIgnoreCase("-checkmetadata")) { checkMetadata = true; } else if (s.equalsIgnoreCase("-pipeimageindex")) { i++; if (i == arg.length) { continue; } final String nb = arg[i]; if (nb.matches("\\d+")) { this.imageIndex = Integer.parseInt(nb); } } else if (s.startsWith("-c")) { s = s.substring(2); config.add(StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(s)); } else { result.add(s); } } } private void addInConfig(final FileReader source) throws IOException { BufferedReader br = null; try { br = new BufferedReader(source); String s = null; while ((s = br.readLine()) != null) { config.add(s); } } finally { if (br != null) { br.close(); } } } public void initConfig(String filename) throws IOException { addInConfig(new FileReader(filename)); } private void initInclude(String filename) throws IOException { if (filename.contains("*")) { final FileGroup group = new FileGroup(filename, Collections. emptyList(), null); for (File f : group.getFiles()) { addInConfig(new FileReader(f)); } } else { addInConfig(new FileReader(filename)); } } private void manageDefine(String s) { final Pattern2 p = MyPattern.cmpile("^(\\w+)(?:=(.*))?$"); final Matcher2 m = p.matcher(s); if (m.find()) { define(m.group(1), m.group(2)); } } private void manageSkinParam(String s) { final Pattern2 p = MyPattern.cmpile("^(\\w+)(?:=(.*))?$"); final Matcher2 m = p.matcher(s); if (m.find()) { skinParam(m.group(1), m.group(2)); } } private void skinParam(String var, String value) { if (var != null && value != null) { config.add("skinparamlocked " + var + " " + value); } } public final File getOutputDir() { return outputDir; } public final static String getPattern() { return "(?i)^.*\\.(txt|tex|java|htm|html|c|h|cpp|apt|pu|pump|hpp|hh)$"; } public void setOutputDir(File f) { outputDir = f; } public final List getExcludes() { return Collections.unmodifiableList(excludes); } public Defines getDefaultDefines(File f) { final Defines result = Defines.createWithFileName(f); for (Map.Entry ent : defines.entrySet()) { result.define(ent.getKey(), Arrays.asList(ent.getValue()), false); } return result; } public Defines getDefaultDefines() { final Defines result = Defines.createEmpty(); result.overrideFilename(filename); for (Map.Entry ent : defines.entrySet()) { result.define(ent.getKey(), Arrays.asList(ent.getValue()), false); } return result; } public void define(String name, String value) { defines.put(name, value); } public List getConfig() { return Collections.unmodifiableList(config); } public final List getResult() { return Collections.unmodifiableList(result); } public final String getCharset() { return charset; } public void setCharset(String s) { this.charset = s; } public final boolean isComputeurl() { return computeurl; } public final boolean isDecodeurl() { return decodeurl; } public final boolean isPipe() { return pipe; } public final boolean isPipeMap() { return pipeMap; } public final boolean isSyntax() { return syntax; } public final boolean isPattern() { return pattern; } public FileFormatOption getFileFormatOption() { if (debugsvek) { fileFormatOption.setDebugSvek(true); } if (hideMetadata) { fileFormatOption.hideMetadata(); } return fileFormatOption; } public final boolean isDuration() { return duration; } public final int getNbThreads() { return nbThreads; } public final void setNbThreads(int nb) { this.nbThreads = nb; } public static int defaultNbThreads() { return Runtime.getRuntime().availableProcessors(); } public final boolean isCheckOnly() { return checkOnly; } public final void setCheckOnly(boolean checkOnly) { this.checkOnly = checkOnly; } public final boolean isFailfastOrFailfast2() { return failfast || failfast2; } public final boolean isFailfast2() { return failfast2; } public final void setFailfast(boolean failfast) { this.failfast = failfast; } public final void setFailfast2(boolean failfast2) { this.failfast2 = failfast2; } public final File getOutputFile() { return outputFile; } public final void setDebugSvek(boolean debugsvek) { this.debugsvek = debugsvek; } boolean isDebugSvek() { return debugsvek; } public final boolean isSplash() { return splash; } public final void setSplash(boolean splash) { this.splash = splash; } public final boolean isTextProgressBar() { return textProgressBar; } public String getPipeDelimitor() { return pipeDelimitor; } public final boolean isPipeNoStdErr() { return pipeNoStdErr; } public final int getImageIndex() { return imageIndex; } public final void setFilename(String filename) { this.filename = filename; } public final boolean isCheckMetadata() { return checkMetadata; } public final OptionPreprocOutputMode getPreprocessorOutputMode() { return preprocessorOutput; } // public final void setPreprocessorOutput(boolean preprocessorOutput) { // this.preprocessorOutput = preprocessorOutput; // } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/OptionFlags.java000066400000000000000000000213541340005343600251140ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintStream; import java.util.concurrent.atomic.AtomicBoolean; import net.sourceforge.plantuml.core.Diagram; import net.sourceforge.plantuml.cucadiagram.dot.GraphvizUtils; import net.sourceforge.plantuml.ugraphic.ImageBuilder; public class OptionFlags { private static final OptionFlags singleton = new OptionFlags(); // static public final boolean PBBACK = false; // static public boolean GRAPHVIZCACHE = false; // static public final boolean TRACE_DOT = false; static public boolean ALLOW_INCLUDE = true; static public void setMaxPixel(int max) { ImageBuilder.setMaxPixel(max); } static public final boolean USE_HECTOR = false; static public boolean ADD_NICE_FOR_DOT = false; static public final boolean STRICT_SELFMESSAGE_POSITION = true; // static public final boolean USE_IF_VERTICAL = true; static public final boolean FORCE_TEOZ = false; static public final boolean USE_INTERFACE_EYE1 = false; static public final boolean USE_INTERFACE_EYE2 = false; // static public final boolean SWI2 = false; // static public final boolean USE_COMPOUND = false; static public final boolean OMEGA_CROSSING = false; // static public final boolean LINK_BETWEEN_FIELDS = true; public void reset() { reset(false); GraphvizUtils.setDotExecutable(null); } public final void setDotExecutable(String dotExecutable) { GraphvizUtils.setDotExecutable(dotExecutable); } private OptionFlags() { reset(true); } private void reset(boolean exit) { verbose = false; extractFromMetadata = false; word = false; systemExit = exit; gui = false; quiet = false; checkDotError = false; printFonts = false; // failOnError = false; encodesprite = false; // PIC_LINE = false; } public boolean useJavaInsteadOfDot() { return false; } private boolean verbose; private boolean extractFromMetadata; private boolean word; private boolean systemExit; private boolean gui; private boolean quiet; private boolean checkDotError; private boolean printFonts; private boolean encodesprite; private boolean dumpHtmlStats; private boolean dumpStats; private boolean loopStats; private boolean overwrite; private boolean enableStats = defaultForStats(); private boolean stdLib; private boolean silentlyCompletelyIgnoreErrors; private boolean extractStdLib; private boolean clipboardLoop; private boolean clipboard; private String fileSeparator = "_"; private long timeoutMs = 15 * 60 * 1000L; // 15 minutes private File logData; public static OptionFlags getInstance() { return singleton; } public final boolean isVerbose() { return verbose; } public final void setVerbose(boolean verbose) { this.verbose = verbose; } public final boolean isExtractFromMetadata() { return extractFromMetadata; } public final void setExtractFromMetadata(boolean extractFromMetadata) { this.extractFromMetadata = extractFromMetadata; } public final boolean isWord() { return word; } public final void setWord(boolean word) { this.word = word; } public final boolean isSystemExit() { return systemExit; } public final void setSystemExit(boolean systemExit) { this.systemExit = systemExit; } public final boolean isGui() { return gui; } public final void setGui(boolean gui) { this.gui = gui; } public final boolean isQuiet() { return quiet; } public final void setQuiet(boolean quiet) { this.quiet = quiet; } public final boolean isCheckDotError() { return checkDotError; } public final void setCheckDotError(boolean checkDotError) { this.checkDotError = checkDotError; } private final AtomicBoolean logDataInitized = new AtomicBoolean(false); public void logData(File file, Diagram system) { final String warnOrError = system.getWarningOrError(); if (warnOrError == null) { return; } synchronized (logDataInitized) { if (logData == null && logDataInitized.get() == false) { final String s = GraphvizUtils.getenvLogData(); if (s != null) { setLogData(new File(s)); } logDataInitized.set(true); } if (logData == null) { return; } // final PSystemError systemError = (PSystemError) system; PrintStream ps = null; try { ps = new PrintStream(new FileOutputStream(logData, true)); ps.println("Start of " + file.getName()); ps.println(warnOrError); ps.println("End of " + file.getName()); ps.println(); } catch (FileNotFoundException e) { Log.error("Cannot open " + logData); e.printStackTrace(); } finally { if (ps != null) { ps.close(); } } } } public final void setLogData(File logData) { this.logData = logData; logData.delete(); PrintStream ps = null; try { ps = new PrintStream(new FileOutputStream(logData)); ps.println(); } catch (FileNotFoundException e) { Log.error("Cannot open " + logData); e.printStackTrace(); } finally { if (ps != null) { ps.close(); } } } public final boolean isPrintFonts() { return printFonts; } public final void setPrintFonts(boolean printFonts) { this.printFonts = printFonts; } public final boolean isUseSuggestEngine2() { return false; } public final boolean isEncodesprite() { return encodesprite; } public final void setEncodesprite(boolean encodesprite) { this.encodesprite = encodesprite; } public final boolean isOverwrite() { return overwrite; } public final void setOverwrite(boolean overwrite) { this.overwrite = overwrite; } public final String getFileSeparator() { return fileSeparator; } public final void setFileSeparator(String fileSeparator) { this.fileSeparator = fileSeparator; } public final boolean isDumpHtmlStats() { return dumpHtmlStats; } public final void setDumpHtmlStats(boolean value) { this.dumpHtmlStats = value; } public final boolean isDumpStats() { return dumpStats; } public final void setDumpStats(boolean dumpStats) { this.dumpStats = dumpStats; } public final boolean isLoopStats() { return loopStats; } public final void setLoopStats(boolean loopStats) { this.loopStats = loopStats; } private static boolean defaultForStats() { return isTrue(System.getProperty("PLANTUML_STATS")) || isTrue(System.getenv("PLANTUML_STATS")); } private static boolean isTrue(final String value) { return "on".equalsIgnoreCase(value) || "true".equalsIgnoreCase(value); } public boolean isEnableStats() { return enableStats; } public void setEnableStats(boolean enableStats) { this.enableStats = enableStats; } public final long getTimeoutMs() { return timeoutMs; } public final void setTimeoutMs(long timeoutMs) { this.timeoutMs = timeoutMs; } public void setExtractStdLib(boolean extractStdLib) { this.extractStdLib = extractStdLib; } public boolean isExtractStdLib() { return extractStdLib; } public final boolean isClipboardLoop() { return clipboardLoop; } public final void setClipboardLoop(boolean clipboardLoop) { this.clipboardLoop = clipboardLoop; } public final boolean isClipboard() { return clipboard; } public final void setClipboard(boolean clipboard) { this.clipboard = clipboard; } public final boolean isStdLib() { return stdLib; } public final void setStdLib(boolean stdLib) { this.stdLib = stdLib; } public final boolean isSilentlyCompletelyIgnoreErrors() { return silentlyCompletelyIgnoreErrors; } public final void setSilentlyCompletelyIgnoreErrors(boolean silentlyCompletelyIgnoreErrors) { this.silentlyCompletelyIgnoreErrors = silentlyCompletelyIgnoreErrors; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/OptionPreprocOutputMode.java000066400000000000000000000024761340005343600275240ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public enum OptionPreprocOutputMode { NORMAL, CYPHER } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/OptionPrint.java000066400000000000000000000327121340005343600251540ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.File; import java.net.InetAddress; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Properties; import net.sourceforge.plantuml.cucadiagram.dot.GraphvizUtils; import net.sourceforge.plantuml.syntax.LanguageDescriptor; import net.sourceforge.plantuml.version.License; import net.sourceforge.plantuml.version.PSystemVersion; import net.sourceforge.plantuml.version.Version; public class OptionPrint { static public void printTestDot() throws InterruptedException { for (String s : GraphvizUtils.getTestDotStrings(false)) { System.out.println(s); } exit(); } static public void printHelp() throws InterruptedException { final String charset = Charset.defaultCharset().displayName(); System.out.println("Usage: java -jar plantuml.jar [options] -gui"); System.out.println("\t(to execute the GUI)"); System.out.println(" or java -jar plantuml.jar [options] [file/dir] [file/dir] [file/dir]"); System.out.println("\t(to process files or directories)"); System.out.println(); System.out.println("You can use the following wildcards in files/dirs:"); System.out.println("\t*\tmeans any characters but '" + File.separator + "'"); System.out.println("\t?\tone and only one character but '" + File.separator + "'"); System.out.println("\t**\tmeans any characters (used to recurse through directories)"); System.out.println(); System.out.println("where options include:"); System.out.println(" -gui\t\tTo run the graphical user interface"); System.out.println(" -tpng\t\tTo generate images using PNG format (default)"); System.out.println(" -tsvg\t\tTo generate images using SVG format"); System.out.println(" -teps\t\tTo generate images using EPS format"); System.out.println(" -tpdf\t\tTo generate images using PDF format"); System.out.println(" -tvdx\t\tTo generate images using VDX format"); System.out.println(" -txmi\t\tTo generate XMI file for class diagram"); System.out.println(" -tscxml\t\tTo generate SCXML file for state diagram"); System.out.println(" -thtml\t\tTo generate HTML file for class diagram"); System.out.println(" -ttxt\t\tTo generate images with ASCII art"); System.out.println(" -tutxt\t\tTo generate images with ASCII art using Unicode characters"); System.out.println(" -tlatex\t\tTo generate images using LaTeX/Tikz format"); System.out.println(" -tlatex:nopreamble\tTo generate images using LaTeX/Tikz format without preamble"); System.out.println(" -o[utput] \"dir\"\tTo generate images in the specified directory"); System.out.println(" -DVAR1=value\tTo set a preprocessing variable as if '!define VAR1 value' were used"); System.out.println(" -Sparam1=value\tTo set a skin parameter as if 'skinparam param1 value' were used"); System.out.println(" -r[ecurse]\t\trecurse through directories"); // System.out.println(" -config \"file\"\tTo read the provided config file before each diagram"); final char separator = File.separatorChar; System.out.println(" -I" + separator + "path" + separator + "to" + separator + "file\tTo include file as if '!include file' were used"); System.out.println(" -I" + separator + "path" + separator + "to" + separator + "*.puml\tTo include files with pattern"); System.out.println(" -charset xxx\tTo use a specific charset (default is " + charset + ")"); System.out.println(" -e[x]clude pattern\tTo exclude files that match the provided pattern"); System.out.println(" -metadata\t\tTo retrieve PlantUML sources from PNG images"); System.out.println(" -nometadata\t\tTo NOT export metadata in PNG/SVG generated files"); System.out.println(" -checkmetadata\t\tSkip PNG files that don't need to be regenerated"); System.out.println(" -version\t\tTo display information about PlantUML and Java versions"); System.out.println(" -checkversion\tTo check if a newer version is available for download"); System.out.println(" -v[erbose]\t\tTo have log information"); System.out.println(" -quiet\t\tTo NOT print error message into the console"); System.out.println(" -debugsvek\t\tTo generate intermediate svek files"); System.out.println(" -h[elp]\t\tTo display this help message"); System.out.println(" -testdot\t\tTo test the installation of graphviz"); System.out.println(" -graphvizdot \"exe\"\tTo specify dot executable"); System.out.println(" -p[ipe]\t\tTo use stdin for PlantUML source and stdout for PNG/SVG/EPS generation"); System.out .println(" -encodesprite 4|8|16[z] \"file\"\tTo encode a sprite at gray level (z for compression) from an image"); System.out.println(" -computeurl|-encodeurl\tTo compute the encoded URL of a PlantUML source file"); System.out.println(" -decodeurl\t\tTo retrieve the PlantUML source from an encoded URL"); System.out.println(" -syntax\t\tTo report any syntax error from standard input without generating images"); System.out.println(" -language\t\tTo print the list of PlantUML keywords"); // System.out.println(" -nosuggestengine\tTo disable the suggest engine when errors in diagrams"); System.out.println(" -checkonly\t\tTo check the syntax of files without generating images"); System.out.println(" -failfast\t\tTo stop processing as soon as a syntax error in diagram occurs"); System.out.println(" -failfast2\t\tTo do a first syntax check before processing files, to fail even faster"); System.out.println(" -pattern\t\tTo print the list of Regular Expression used by PlantUML"); System.out.println(" -duration\t\tTo print the duration of complete diagrams processing"); System.out.println(" -nbthread N\t\tTo use (N) threads for processing"); System.out.println(" -nbthread auto\tTo use " + Option.defaultNbThreads() + " threads for processing"); System.out .println(" -timeout N\t\tProcessing timeout in (N) seconds. Defaults to 15 minutes (900 seconds)."); System.out.println(" -author[s]\t\tTo print information about PlantUML authors"); System.out.println(" -overwrite\t\tTo allow to overwrite read only files"); System.out.println(" -printfonts\t\tTo print fonts available on your system"); System.out.println(" -enablestats\tTo enable statistics computation"); System.out.println(" -disablestats\tTo disable statistics computation (default)"); System.out.println(" -htmlstats\t\tTo output general statistics in file plantuml-stats.html"); System.out.println(" -xmlstats\t\tTo output general statistics in file plantuml-stats.xml"); System.out.println(" -realtimestats\tTo generate statistics on the fly rather than at the end"); System.out.println(" -loopstats\t\tTo continuously print statistics about usage"); System.out.println(" -splash\t\tTo display a splash screen with some progress bar"); System.out.println(" -progress\t\tTo display a textual progress bar in console"); System.out.println(" -pipeimageindex N\tTo generate the Nth image with pipe option"); System.out.println(" -stdlib\t\tTo print standart library info"); System.out.println(" -extractstdlib\tTo extract PlantUML Standard Library into stdlib folder"); System.out.println(" -filename \"example.puml\"\tTo override %filename% variable"); System.out.println(" -preproc\t\tTo output preprocessor text of diagrams"); System.out.println(" -cypher\t\tTo cypher texts of diagrams so that you can share them"); System.out.println(); System.out.println("If needed, you can setup the environment variable GRAPHVIZ_DOT."); exit(); } static private void exit() throws InterruptedException { if (OptionFlags.getInstance().isSystemExit()) { System.exit(0); } throw new InterruptedException("exit"); } public static void printLicense() throws InterruptedException { for (String s : License.getCurrent().getText(false)) { System.out.println(s); } exit(); } public static void printVersion() throws InterruptedException { System.out.println("PlantUML version " + Version.versionString() + " (" + Version.compileTimeString() + ")"); System.out.println("(" + License.getCurrent() + " source distribution)"); for (String v : interestingProperties()) { System.out.println(v); } for (String v : interestingValues()) { System.out.println(v); } System.out.println(); for (String s : GraphvizUtils.getTestDotStrings(false)) { System.out.println(s); } exit(); } public static Collection interestingProperties() { final Properties p = System.getProperties(); final List all = withIp() ? Arrays.asList("java.runtime.name", "Java Runtime", "java.vm.name", "JVM", "java.runtime.version", "Java Version", "os.name", "Operating System", "file.encoding", "Default Encoding", "user.language", "Language", "user.country", "Country") : Arrays.asList( "java.runtime.name", "Java Runtime", "java.vm.name", "JVM", "java.runtime.version", "Java Version", "os.name", "Operating System", "os.version", "OS Version", "file.encoding", "Default Encoding", "user.language", "Language", "user.country", "Country"); final List result = new ArrayList(); for (int i = 0; i < all.size(); i += 2) { result.add(all.get(i + 1) + ": " + p.getProperty(all.get(i))); } return result; } public static Collection interestingValues() { final List strings = new ArrayList(); if (withIp() == false) { strings.add("Machine: " + getHostName()); } strings.add("PLANTUML_LIMIT_SIZE: " + GraphvizUtils.getenvImageLimit()); strings.add("Processors: " + Runtime.getRuntime().availableProcessors()); final long freeMemory = Runtime.getRuntime().freeMemory(); final long maxMemory = Runtime.getRuntime().maxMemory(); final long totalMemory = Runtime.getRuntime().totalMemory(); final long usedMemory = totalMemory - freeMemory; final int threadActiveCount = Thread.activeCount(); strings.add("Max Memory: " + format(maxMemory)); strings.add("Total Memory: " + format(totalMemory)); strings.add("Free Memory: " + format(freeMemory)); strings.add("Used Memory: " + format(usedMemory)); strings.add("Thread Active Count: " + threadActiveCount); return Collections.unmodifiableCollection(strings); } private static boolean withIp() { return getHostName().startsWith("ip-"); } private static String hostname; public static synchronized String getHostName() { if (hostname == null) { hostname = getHostNameSlow(); } return hostname; } private static String getHostNameSlow() { try { final InetAddress addr = InetAddress.getLocalHost(); return addr.getHostName(); } catch (Throwable e) { final Map env = System.getenv(); if (env.containsKey("COMPUTERNAME")) { return env.get("COMPUTERNAME"); } else if (env.containsKey("HOSTNAME")) { return env.get("HOSTNAME"); } } return "Unknown Computer"; } private static String format(final long value) { return String.format(Locale.US, "%,d", value); } public static void checkVersion() throws InterruptedException { System.out.println("PlantUML version " + Version.versionString() + " (" + Version.compileTimeString() + ")"); System.out.println(); final int lastversion = PSystemVersion.extractDownloadableVersion(null, null); if (lastversion == -1) { System.out.println("Error"); System.out.println("Cannot connect to http://plantuml.com/"); System.out.println("Maybe you should set your proxy ?"); } else if (lastversion == 0) { System.out.println("Error"); System.out.println("Cannot retrieve last version from http://plantuml.com/"); } else { System.out.println("Last available version for download : " + lastversion); System.out.println(); if (Version.version() >= lastversion) { System.out.println("Your version is up to date."); } else { System.out.println("A newer version is available for download."); } } exit(); } public static void printAbout() throws InterruptedException { for (String s : PSystemVersion.getAuthorsStrings(false)) { System.out.println(s); } OptionPrint.exit(); } public static void printLanguage() throws InterruptedException { new LanguageDescriptor().print(System.out); exit(); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/PSystemBuilder.java000066400000000000000000000175711340005343600256100ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import net.sourceforge.plantuml.activitydiagram.ActivityDiagramFactory; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagramFactory3; import net.sourceforge.plantuml.api.PSystemFactory; import net.sourceforge.plantuml.bpm.BpmDiagramFactory; import net.sourceforge.plantuml.classdiagram.ClassDiagramFactory; import net.sourceforge.plantuml.compositediagram.CompositeDiagramFactory; import net.sourceforge.plantuml.core.Diagram; import net.sourceforge.plantuml.core.DiagramType; import net.sourceforge.plantuml.core.UmlSource; import net.sourceforge.plantuml.creole.PSystemCreoleFactory; import net.sourceforge.plantuml.cute.PSystemCuteFactory; import net.sourceforge.plantuml.dedication.PSystemDedicationFactory; import net.sourceforge.plantuml.definition.PSystemDefinitionFactory; import net.sourceforge.plantuml.descdiagram.DescriptionDiagramFactory; import net.sourceforge.plantuml.directdot.PSystemDotFactory; import net.sourceforge.plantuml.ditaa.PSystemDitaaFactory; import net.sourceforge.plantuml.donors.PSystemDonorsFactory; import net.sourceforge.plantuml.donors.PSystemSkinparameterListFactory; import net.sourceforge.plantuml.eggs.PSystemWelcomeFactory; import net.sourceforge.plantuml.flowdiagram.FlowDiagramFactory; import net.sourceforge.plantuml.font.PSystemListFontsFactory; import net.sourceforge.plantuml.jcckit.PSystemJcckitFactory; import net.sourceforge.plantuml.jungle.PSystemTreeFactory; import net.sourceforge.plantuml.logo.PSystemLogoFactory; import net.sourceforge.plantuml.math.PSystemLatexFactory; import net.sourceforge.plantuml.math.PSystemMathFactory; import net.sourceforge.plantuml.nwdiag.NwDiagramFactory; import net.sourceforge.plantuml.openiconic.PSystemListOpenIconicFactory; import net.sourceforge.plantuml.openiconic.PSystemOpenIconicFactory; import net.sourceforge.plantuml.postit.PostIdDiagramFactory; import net.sourceforge.plantuml.printskin.PrintSkinFactory; import net.sourceforge.plantuml.project3.GanttDiagramFactory; import net.sourceforge.plantuml.salt.PSystemSaltFactory; import net.sourceforge.plantuml.sequencediagram.SequenceDiagramFactory; import net.sourceforge.plantuml.statediagram.StateDiagramFactory; import net.sourceforge.plantuml.stats.StatsUtilsIncrement; import net.sourceforge.plantuml.timingdiagram.TimingDiagramFactory; import net.sourceforge.plantuml.ugraphic.sprite.PSystemListInternalSpritesFactory; import net.sourceforge.plantuml.version.License; import net.sourceforge.plantuml.version.PSystemLicenseFactory; import net.sourceforge.plantuml.version.PSystemVersionFactory; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class PSystemBuilder { public static final long startTime = System.currentTimeMillis(); final public Diagram createPSystem(final List strings2) { final long now = System.currentTimeMillis(); Diagram result = null; try { final DiagramType type = DiagramType.getTypeFromArobaseStart(strings2.get(0).toString2()); final UmlSource umlSource = new UmlSource(strings2, type == DiagramType.UML); // int cpt = 0; for (CharSequence2 s : strings2) { if (s.getPreprocessorError() != null) { Log.error("Preprocessor Error: " + s.getPreprocessorError()); final ErrorUml err = new ErrorUml(ErrorUmlType.SYNTAX_ERROR, s.getPreprocessorError(), /* cpt */ s.getLocation()); return new PSystemError(umlSource, err, Collections. emptyList()); } // cpt++; } final DiagramType diagramType = umlSource.getDiagramType(); final List errors = new ArrayList(); final List factories = getAllFactories(); for (PSystemFactory systemFactory : factories) { if (diagramType != systemFactory.getDiagramType()) { continue; } final Diagram sys = systemFactory.createSystem(umlSource); if (isOk(sys)) { result = sys; return sys; } errors.add((PSystemError) sys); } final PSystemError err = PSystemError.merge(errors); result = err; return err; } finally { if (result != null && OptionFlags.getInstance().isEnableStats()) { StatsUtilsIncrement.onceMoreParse(System.currentTimeMillis() - now, result.getClass()); } } } private List getAllFactories() { final List factories = new ArrayList(); factories.add(new PSystemWelcomeFactory()); factories.add(new SequenceDiagramFactory()); factories.add(new ClassDiagramFactory()); factories.add(new ActivityDiagramFactory()); factories.add(new DescriptionDiagramFactory()); factories.add(new StateDiagramFactory()); factories.add(new ActivityDiagramFactory3()); factories.add(new CompositeDiagramFactory()); // factories.add(new ObjectDiagramFactory()); factories.add(new BpmDiagramFactory(DiagramType.BPM)); factories.add(new PostIdDiagramFactory()); factories.add(new PrintSkinFactory()); factories.add(new PSystemLicenseFactory()); factories.add(new PSystemVersionFactory()); factories.add(new PSystemDonorsFactory()); factories.add(new PSystemSkinparameterListFactory()); factories.add(new PSystemListFontsFactory()); factories.add(new PSystemOpenIconicFactory()); factories.add(new PSystemListOpenIconicFactory()); factories.add(new PSystemListInternalSpritesFactory()); factories.add(new PSystemSaltFactory(DiagramType.SALT)); factories.add(new PSystemSaltFactory(DiagramType.UML)); factories.add(new PSystemDotFactory(DiagramType.DOT)); factories.add(new PSystemDotFactory(DiagramType.UML)); factories.add(new NwDiagramFactory()); if (License.getCurrent() == License.GPL || License.getCurrent() == License.GPLV2) { factories.add(new PSystemDitaaFactory(DiagramType.DITAA)); factories.add(new PSystemDitaaFactory(DiagramType.UML)); factories.add(new PSystemJcckitFactory(DiagramType.JCCKIT)); factories.add(new PSystemJcckitFactory(DiagramType.UML)); factories.add(new PSystemLogoFactory()); } factories.add(new PSystemDefinitionFactory()); factories.add(new PSystemMathFactory(DiagramType.MATH)); factories.add(new PSystemLatexFactory(DiagramType.LATEX)); // factories.add(new PSystemStatsFactory()); factories.add(new PSystemCreoleFactory()); factories.add(new GanttDiagramFactory(DiagramType.GANTT)); factories.add(new GanttDiagramFactory(DiagramType.UML)); factories.add(new FlowDiagramFactory()); factories.add(new PSystemTreeFactory(DiagramType.JUNGLE)); factories.add(new PSystemCuteFactory(DiagramType.CUTE)); factories.add(new PSystemDedicationFactory()); factories.add(new TimingDiagramFactory()); return factories; } private boolean isOk(Diagram ps) { if (ps == null || ps instanceof PSystemError) { return false; } return true; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/PSystemError.java000066400000000000000000000461411340005343600253060ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * */ package net.sourceforge.plantuml; import java.awt.Color; import java.awt.geom.Dimension2D; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.io.IOException; import java.io.OutputStream; import java.io.PrintStream; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; import net.sourceforge.plantuml.api.ImageDataAbstract; import net.sourceforge.plantuml.api.ImageDataSimple; import net.sourceforge.plantuml.asciiart.UmlCharArea; import net.sourceforge.plantuml.core.DiagramDescription; import net.sourceforge.plantuml.core.ImageData; import net.sourceforge.plantuml.core.UmlSource; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.eggs.PSystemWelcome; import net.sourceforge.plantuml.flashcode.FlashCodeFactory; import net.sourceforge.plantuml.flashcode.FlashCodeUtils; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.GraphicPosition; import net.sourceforge.plantuml.graphic.GraphicStrings; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.HtmlColorSetSimple; import net.sourceforge.plantuml.graphic.HtmlColorSimple; import net.sourceforge.plantuml.graphic.HtmlColorUtils; import net.sourceforge.plantuml.graphic.InnerStrategy; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.TextBlockUtils; import net.sourceforge.plantuml.graphic.VerticalAlignment; import net.sourceforge.plantuml.svek.TextBlockBackcolored; import net.sourceforge.plantuml.ugraphic.ColorMapperIdentity; import net.sourceforge.plantuml.ugraphic.ImageBuilder; import net.sourceforge.plantuml.ugraphic.MinMax; import net.sourceforge.plantuml.ugraphic.UFont; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UImage; import net.sourceforge.plantuml.ugraphic.UTranslate; import net.sourceforge.plantuml.ugraphic.txt.UGraphicTxt; import net.sourceforge.plantuml.version.LicenseInfo; import net.sourceforge.plantuml.version.PSystemVersion; public class PSystemError extends AbstractPSystem { private final LineLocation higherErrorPosition; private final List printedErrors; private final List debugLines = new ArrayList(); public PSystemError(UmlSource source, ErrorUml singleError, List debugLines) { this(source, Collections.singletonList(singleError), debugLines); } private PSystemError(UmlSource source, List all, List debugLines) { this.setSource(source); final LineLocation execution = getHigherErrorPosition2(ErrorUmlType.EXECUTION_ERROR, all); final LineLocation syntax = getHigherErrorPosition2(ErrorUmlType.SYNTAX_ERROR, all); if (execution == null && syntax == null) { throw new IllegalStateException(); } if (execution != null && (syntax == null || execution.compareTo(syntax) >= 0)) { higherErrorPosition = execution; printedErrors = getErrorsAt2(execution, ErrorUmlType.EXECUTION_ERROR, all); } else { // assert syntax.compareTo(execution) > 0; higherErrorPosition = syntax; printedErrors = getErrorsAt2(syntax, ErrorUmlType.SYNTAX_ERROR, all); } if (debugLines != null) { this.debugLines.addAll(debugLines); } } private String getSuggestColor(boolean useRed) { if (useRed) { return "black"; } return "white"; } private String getRed(boolean useRed) { if (useRed) { return "#CD0A0A"; } return "red"; } @Override final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed) throws IOException { if (fileFormat.getFileFormat() == FileFormat.ATXT || fileFormat.getFileFormat() == FileFormat.UTXT) { final UGraphicTxt ugt = new UGraphicTxt(); final UmlCharArea area = ugt.getCharArea(); area.drawStringsLR(getTextStrings(), 0, 0); area.print(new PrintStream(os)); return new ImageDataSimple(1, 1); } final boolean useRed = fileFormat.isUseRedForError(); final TextBlockBackcolored result = GraphicStrings.createForError(getHtmlStrings(useRed), useRed); TextBlock udrawable; final ImageBuilder imageBuilder = new ImageBuilder(new ColorMapperIdentity(), 1.0, result.getBackcolor(), getMetadata(), null, 0, 0, null, false); if (getSource().getTotalLineCount() < 5) { udrawable = addWelcome(result); } else { udrawable = result; } final int min = (int) (System.currentTimeMillis() / 60000L) % 60; if (min == 1 && LicenseInfo.retrieveNamedOrDistributorQuickIsValid() == false) { udrawable = addMessagePatreon(udrawable); } else if (min == 15 && LicenseInfo.retrieveNamedOrDistributorQuickIsValid() == false) { udrawable = addMessageLiberapay(udrawable); } else if (min == 30 && LicenseInfo.retrieveNamedOrDistributorQuickIsValid() == false) { udrawable = addMessageDedication(udrawable); } else if (getSource().containsIgnoreCase("arecibo")) { udrawable = addMessageArecibo(udrawable); } imageBuilder.setUDrawable(udrawable); final ImageData imageData = imageBuilder.writeImageTOBEMOVED(fileFormat, seed(), os); ((ImageDataAbstract) imageData).setStatus(FileImageData.ERROR); return imageData; } private TextBlockBackcolored getWelcome() throws IOException { return new PSystemWelcome(GraphicPosition.BACKGROUND_CORNER_TOP_RIGHT).getGraphicStrings(); } private TextBlock addWelcome(final TextBlockBackcolored result) throws IOException { final TextBlockBackcolored welcome = getWelcome(); return TextBlockUtils.mergeTB(welcome, result, HorizontalAlignment.LEFT); } private TextBlock addMessageLiberapay(final TextBlock source) throws IOException { final TextBlock message = getMessageLiberapay(); TextBlock result = TextBlockUtils.mergeTB(message, source, HorizontalAlignment.LEFT); result = TextBlockUtils.mergeTB(result, message, HorizontalAlignment.LEFT); return result; } private TextBlock addMessagePatreon(final TextBlock source) throws IOException { final TextBlock message = getMessagePatreon(); TextBlock result = TextBlockUtils.mergeTB(message, source, HorizontalAlignment.LEFT); result = TextBlockUtils.mergeTB(result, message, HorizontalAlignment.LEFT); return result; } private TextBlock addMessageDedication(final TextBlock source) throws IOException { final TextBlock message = getMessageDedication(); TextBlock result = TextBlockUtils.mergeTB(message, source, HorizontalAlignment.LEFT); return result; } private TextBlock addMessageArecibo(final TextBlock source) throws IOException { final UImage message = new UImage(PSystemVersion.getArecibo()); TextBlock result = TextBlockUtils.mergeLR(source, TextBlockUtils.fromUImage(message), VerticalAlignment.TOP); return result; } private TextBlockBackcolored getMessageDedication() { final FlashCodeUtils utils = FlashCodeFactory.getFlashCodeUtils(); final HtmlColorSimple backColor = (HtmlColorSimple) new HtmlColorSetSimple().getColorIfValid("#DFDCD3"); final BufferedImage qrcode = smaller(utils.exportFlashcode("http://plantuml.com/dedication", Color.BLACK, backColor.getColor999())); final Display disp = Display.create("Add your own dedication into PlantUML", " ", "For just $5 per month!", "Details on [[http://plantuml.com/dedication]]"); final UFont font = UFont.sansSerif(14); final FontConfiguration fc = new FontConfiguration(font, HtmlColorUtils.BLACK, HtmlColorUtils.BLACK, false); final TextBlock text = TextBlockUtils.withMargin( disp.create(fc, HorizontalAlignment.LEFT, new SpriteContainerEmpty()), 10, 0); final TextBlock result; if (qrcode == null) { result = text; } else { final UImage qr = new UImage(qrcode).scaleNearestNeighbor(3); result = TextBlockUtils.mergeLR(text, TextBlockUtils.fromUImage(qr), VerticalAlignment.CENTER); } return TextBlockUtils.addBackcolor(result, backColor); } private TextBlockBackcolored getMessagePatreon() { final UImage message = new UImage(PSystemVersion.getTime01()); final Color back = new Color(message.getImage().getRGB(0, 0)); final HtmlColor backColor = new HtmlColorSimple(back, false); final FlashCodeUtils utils = FlashCodeFactory.getFlashCodeUtils(); final BufferedImage qrcode = smaller(utils.exportFlashcode("http://plantuml.com/patreon", Color.BLACK, Color.WHITE)); final int scale = 2; final double imWidth = message.getWidth() + (qrcode == null ? 0 : qrcode.getWidth() * scale + 20); final double imHeight = qrcode == null ? message.getHeight() : Math.max(message.getHeight(), qrcode.getHeight() * scale + 10); return new TextBlockBackcolored() { public void drawU(UGraphic ug) { if (qrcode == null) { ug.apply(new UTranslate(1, 1)).draw(message); } else { final UImage qr = new UImage(qrcode).scaleNearestNeighbor(scale); ug.apply(new UTranslate(1, (imHeight - message.getHeight()) / 2)).draw(message); ug.apply(new UTranslate(1 + message.getWidth(), (imHeight - qr.getHeight()) / 2)).draw(qr); } } public Rectangle2D getInnerPosition(String member, StringBounder stringBounder, InnerStrategy strategy) { return null; } public Dimension2D calculateDimension(StringBounder stringBounder) { return new Dimension2DDouble(imWidth + 1, imHeight + 1); } public MinMax getMinMax(StringBounder stringBounder) { return MinMax.fromMax(imWidth + 1, imHeight + 1); } public HtmlColor getBackcolor() { return backColor; } }; } private TextBlockBackcolored getMessageLiberapay() { final UImage message = new UImage(PSystemVersion.getTime15()); final Color back = new Color(message.getImage().getRGB(0, 0)); final HtmlColor backColor = new HtmlColorSimple(back, false); final FlashCodeUtils utils = FlashCodeFactory.getFlashCodeUtils(); final BufferedImage qrcode = smaller(utils.exportFlashcode("http://plantuml.com/lp", Color.BLACK, Color.WHITE)); final int scale = 2; final double imWidth = message.getWidth() + (qrcode == null ? 0 : qrcode.getWidth() * scale + 20); final double imHeight = qrcode == null ? message.getHeight() : Math.max(message.getHeight(), qrcode.getHeight() * scale + 10); return new TextBlockBackcolored() { public void drawU(UGraphic ug) { if (qrcode == null) { ug.apply(new UTranslate(1, 1)).draw(message); } else { final UImage qr = new UImage(qrcode).scaleNearestNeighbor(scale); ug.apply(new UTranslate(1, (imHeight - message.getHeight()) / 2)).draw(message); ug.apply(new UTranslate(1 + message.getWidth(), (imHeight - qr.getHeight()) / 2)).draw(qr); } } public Rectangle2D getInnerPosition(String member, StringBounder stringBounder, InnerStrategy strategy) { return null; } public Dimension2D calculateDimension(StringBounder stringBounder) { return new Dimension2DDouble(imWidth + 1, imHeight + 1); } public MinMax getMinMax(StringBounder stringBounder) { return MinMax.fromMax(imWidth + 1, imHeight + 1); } public HtmlColor getBackcolor() { return backColor; } }; } private BufferedImage smaller(BufferedImage im) { if (im == null) { return null; } final int nb = 1; return im.getSubimage(nb, nb, im.getWidth() - 2 * nb, im.getHeight() - 2 * nb); } private List getTextStrings() { final List result = new ArrayList(getStack()); if (result.size() > 0) { result.add(" "); } for (String s : getPartialCode()) { result.add(s); } final String errorLine = getSource().getLine(higherErrorPosition); final String err = StringUtils.hideComparatorCharacters(errorLine); if (StringUtils.isNotEmpty(err)) { result.add(err); } final StringBuilder underscore = new StringBuilder(); for (int i = 0; i < errorLine.length(); i++) { underscore.append("^"); } result.add(underscore.toString()); final Collection textErrors = new LinkedHashSet(); for (ErrorUml er : printedErrors) { textErrors.add(er.getError()); } for (String er : textErrors) { result.add(" " + er); } boolean first = true; for (String s : getSuggest()) { if (first) { result.add(" " + s); } else { result.add(s); } first = false; } result.addAll(this.debugLines); return result; } private List getStack() { LineLocation lineLocation = getLineLocation(); final List result = new ArrayList(); if (lineLocation != null) { append(result, lineLocation); while (lineLocation.getParent() != null) { lineLocation = lineLocation.getParent(); append(result, lineLocation); } } return result; } public LineLocation getLineLocation() { for (ErrorUml err : printedErrors) { if (err.getLineLocation() != null) { return err.getLineLocation(); } } return null; } private void append(List result, LineLocation lineLocation) { if (lineLocation.getDescription() != null) { result.add("[From " + lineLocation.getDescription() + " (line " + (lineLocation.getPosition() + 1) + ") ]"); } } private List getPartialCode() { List result = new ArrayList(); for (Iterator it = getSource().iterator2(); it.hasNext();) { final CharSequence2 s = it.next(); result.add(s.toString()); if (s.getLocation().getDescription().equals(higherErrorPosition.getDescription()) && s.getLocation().compareTo(higherErrorPosition) >= 0) { break; } } final int limit = 5; if (result.size() > limit) { final int skip = result.size() - limit + 1; final String skipMessage; if (skip == 1) { skipMessage = "... (skipping 1 line) ..."; } else { skipMessage = "... (skipping " + skip + " lines) ..."; } result = new ArrayList(result.subList(skip, result.size())); result.add(0, skipMessage); } return result; } private List getHtmlStrings(boolean useRed) { final List htmlStrings = new ArrayList(getStack()); if (htmlStrings.size() > 0) { htmlStrings.add("----"); } final List partialCode = getPartialCode(); for (String s : partialCode) { htmlStrings.add(StringUtils.hideComparatorCharacters(s)); } if (partialCode.size() > 0) { final int idx = htmlStrings.size() - 1; final String last = htmlStrings.get(idx); htmlStrings.set(idx, "" + last + ""); } // final String errorLine = getSource().getLine(higherErrorPosition); // final String err = StringUtils.hideComparatorCharacters(errorLine); // if (StringUtils.isNotEmpty(err)) { // htmlStrings.add("" + err + ""); // } final Collection textErrors = new LinkedHashSet(); for (ErrorUml er : printedErrors) { textErrors.add(er.getError()); } for (String er : textErrors) { htmlStrings.add(" " + er + ""); } boolean first = true; for (String s : getSuggest()) { if (first) { htmlStrings.add(" " + s + ""); } else { htmlStrings.add("" + StringUtils.hideComparatorCharacters(s) + ""); } first = false; } htmlStrings.addAll(this.debugLines); return htmlStrings; } private List getSuggest() { boolean suggested = false; for (ErrorUml er : printedErrors) { if (er.hasSuggest()) { suggested = true; } } if (suggested == false) { return Collections.emptyList(); } final List result = new ArrayList(); result.add("Did you mean:"); for (ErrorUml er : printedErrors) { if (er.hasSuggest()) { result.add(er.getSuggest().getSuggestedLine()); } } return Collections.unmodifiableList(result); } private Collection getErrors(ErrorUmlType type, List all) { final Collection result = new LinkedHashSet(); for (ErrorUml error : all) { if (error.getType() == type) { result.add(error); } } return result; } private LineLocation getHigherErrorPosition2(ErrorUmlType type, List all) { LineLocation max = null; for (ErrorUml error : getErrors(type, all)) { if (max == null || error.getLineLocation().compareTo(max) > 0) { max = error.getLineLocation(); } } return max; } private List getErrorsAt2(LineLocation position, ErrorUmlType type, List all) { final List result = new ArrayList(); for (ErrorUml error : getErrors(type, all)) { if (error.getLineLocation().compareTo(position) == 0 && StringUtils.isNotEmpty(error.getError())) { result.add(error); } } return result; } public DiagramDescription getDescription() { return new DiagramDescription("(Error)"); } public final LineLocation getHigherErrorPosition2() { return higherErrorPosition; } public final Collection getErrorsUml() { return Collections.unmodifiableCollection(printedErrors); } @Override public String getWarningOrError() { final StringBuilder sb = new StringBuilder(); sb.append(getDescription()); sb.append(BackSlash.CHAR_NEWLINE); for (CharSequence t : getTitle().getDisplay()) { sb.append(t); sb.append(BackSlash.CHAR_NEWLINE); } sb.append(BackSlash.CHAR_NEWLINE); for (String s : getSuggest()) { sb.append(s); sb.append(BackSlash.CHAR_NEWLINE); } return sb.toString(); } public static PSystemError merge(Collection ps) { UmlSource source = null; final List errors = new ArrayList(); final List debugs = new ArrayList(); for (PSystemError system : ps) { if (system == null) { continue; } if (system.getSource() != null && source == null) { source = system.getSource(); } errors.addAll(system.getErrorsUml()); debugs.addAll(system.debugLines); if (system.debugLines.size() > 0) { debugs.add("-"); } } if (source == null) { throw new IllegalStateException(); } return new PSystemError(source, errors, debugs); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/PSystemUtils.java000066400000000000000000000271761340005343600253240ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.core.Diagram; import net.sourceforge.plantuml.core.ImageData; import net.sourceforge.plantuml.cucadiagram.CucaDiagram; import net.sourceforge.plantuml.graphic.HtmlColorUtils; import net.sourceforge.plantuml.html.CucaDiagramHtmlMaker; import net.sourceforge.plantuml.png.MetadataTag; import net.sourceforge.plantuml.png.PngSplitter; import net.sourceforge.plantuml.project3.GanttDiagram; import net.sourceforge.plantuml.sequencediagram.SequenceDiagram; public class PSystemUtils { public static List exportDiagrams(Diagram system, SuggestedFile suggested, FileFormatOption fileFormatOption) throws IOException { return exportDiagrams(system, suggested, fileFormatOption, false); } public static List exportDiagrams(Diagram system, SuggestedFile suggestedFile, FileFormatOption fileFormatOption, boolean checkMetadata) throws IOException { final File existing = suggestedFile.getFile(0); if (checkMetadata && existing.exists() && system.getNbImages() == 1) { final MetadataTag tag = new MetadataTag(existing, "plantuml"); final String previousMetadata = tag.getData(); // final String version = Version.versionString(); // System.out.println(system.getMetadata()); // System.out.println(data); // System.out.println(version); // System.out.println(data.contains(version)); final boolean sameMetadata = system.getMetadata().equals(previousMetadata); if (sameMetadata) { Log.info("Skipping " + existing.getAbsolutePath() + " because metadata has not changed."); return Arrays.asList(new FileImageData(existing, null)); } } if (system instanceof NewpagedDiagram) { return exportDiagramsNewpaged((NewpagedDiagram) system, suggestedFile, fileFormatOption); } if (system instanceof SequenceDiagram) { return exportDiagramsSequence((SequenceDiagram) system, suggestedFile, fileFormatOption); } if (system instanceof CucaDiagram) { return exportDiagramsCuca((CucaDiagram) system, suggestedFile, fileFormatOption); } if (system instanceof GanttDiagram) { return exportDiagramsGantt2((GanttDiagram) system, suggestedFile, fileFormatOption); } if (system instanceof ActivityDiagram3) { return exportDiagramsActivityDiagram3((ActivityDiagram3) system, suggestedFile, fileFormatOption); } return exportDiagramsDefault(system, suggestedFile, fileFormatOption); } private static List exportDiagramsNewpaged(NewpagedDiagram system, SuggestedFile suggestedFile, FileFormatOption fileFormat) throws IOException { final List result = new ArrayList(); final int nbImages = system.getNbImages(); for (int i = 0; i < nbImages; i++) { final File f = suggestedFile.getFile(i); if (canFileBeWritten(f) == false) { return result; } final OutputStream fos = new BufferedOutputStream(new FileOutputStream(f)); ImageData cmap = null; try { system.exportDiagram(fos, i, fileFormat); } finally { fos.close(); } // if (system.hasUrl() && cmap != null && cmap.containsCMapData()) { // system.exportCmap(suggestedFile, cmap); // } Log.info("File size : " + f.length()); result.add(new FileImageData(f, cmap)); } return result; } public static boolean canFileBeWritten(final File f) { Log.info("Creating file: " + f); if (f.exists() && f.canWrite() == false) { if (OptionFlags.getInstance().isOverwrite()) { Log.info("Overwrite " + f); f.setWritable(true); f.delete(); return true; } Log.error("Cannot write to file " + f); return false; } return true; } static private List exportDiagramsDefault(Diagram system, SuggestedFile suggestedFile, FileFormatOption fileFormat) throws IOException { if (suggestedFile.getFile(0).exists() && suggestedFile.getFile(0).isDirectory()) { throw new IllegalArgumentException("File is a directory " + suggestedFile); } OutputStream os = null; ImageData imageData = null; try { if (PSystemUtils.canFileBeWritten(suggestedFile.getFile(0)) == false) { return Collections.emptyList(); } os = new BufferedOutputStream(new FileOutputStream(suggestedFile.getFile(0))); // system.exportDiagram(os, null, 0, fileFormat); imageData = system.exportDiagram(os, 0, fileFormat); } finally { if (os != null) { os.close(); } } return Arrays.asList(new FileImageData(suggestedFile.getFile(0), imageData)); } static private List exportDiagramsActivityDiagram3(ActivityDiagram3 system, SuggestedFile suggestedFile, FileFormatOption fileFormat) throws IOException { if (suggestedFile.getFile(0).exists() && suggestedFile.getFile(0).isDirectory()) { throw new IllegalArgumentException("File is a directory " + suggestedFile); } OutputStream os = null; ImageData cmap = null; ImageData imageData = null; try { if (PSystemUtils.canFileBeWritten(suggestedFile.getFile(0)) == false) { return Collections.emptyList(); } os = new BufferedOutputStream(new FileOutputStream(suggestedFile.getFile(0))); imageData = cmap = system.exportDiagram(os, 0, fileFormat); } finally { if (os != null) { os.close(); } } if (cmap != null && cmap.containsCMapData()) { system.exportCmap(suggestedFile, 0, cmap); } return Arrays.asList(new FileImageData(suggestedFile.getFile(0), imageData)); } private static List exportDiagramsSequence(SequenceDiagram system, SuggestedFile suggestedFile, FileFormatOption fileFormat) throws IOException { final List result = new ArrayList(); final int nbImages = system.getNbImages(); for (int i = 0; i < nbImages; i++) { final File f = suggestedFile.getFile(i); if (PSystemUtils.canFileBeWritten(suggestedFile.getFile(i)) == false) { return result; } final OutputStream fos = new BufferedOutputStream(new FileOutputStream(f)); ImageData cmap = null; try { cmap = system.exportDiagram(fos, i, fileFormat); } finally { fos.close(); } if (cmap != null && cmap.containsCMapData()) { system.exportCmap(suggestedFile, i, cmap); } Log.info("File size : " + f.length()); result.add(new FileImageData(f, cmap)); } return result; } static private List exportDiagramsCuca(CucaDiagram system, SuggestedFile suggestedFile, FileFormatOption fileFormat) throws IOException { if (suggestedFile.getFile(0).exists() && suggestedFile.getFile(0).isDirectory()) { throw new IllegalArgumentException("File is a directory " + suggestedFile); } if (fileFormat.getFileFormat() == FileFormat.HTML) { return createFilesHtml(system, suggestedFile); } ImageData cmap = null; OutputStream os = null; try { if (PSystemUtils.canFileBeWritten(suggestedFile.getFile(0)) == false) { return Collections.emptyList(); } // System.err.println("FOO11=" + suggestedFile); // os = new BufferedOutputStream(new FileOutputStream(suggestedFile)); os = new NamedOutputStream(suggestedFile.getFile(0)); cmap = system.exportDiagram(os, 0, fileFormat); } finally { if (os != null) { os.close(); } } List result = Arrays.asList(suggestedFile.getFile(0)); if (cmap != null && cmap.containsCMapData()) { system.exportCmap(suggestedFile, 0, cmap); } if (fileFormat.getFileFormat() == FileFormat.PNG) { result = new PngSplitter(suggestedFile, system.getHorizontalPages(), system.getVerticalPages(), system.getMetadata(), system.getDpi(fileFormat), fileFormat.isWithMetadata(), system.getSkinParam() .getSplitParam()).getFiles(); } final List result2 = new ArrayList(); for (File f : result) { result2.add(new FileImageData(f, cmap)); } return result2; } // static private List exportDiagramsGantt1(GanttDiagram system, SuggestedFile suggestedFile, // FileFormatOption fileFormat) throws IOException { // if (suggestedFile.getFile(0).exists() && suggestedFile.getFile(0).isDirectory()) { // throw new IllegalArgumentException("File is a directory " + suggestedFile); // } // OutputStream os = null; // ImageData imageData = null; // try { // if (PSystemUtils.canFileBeWritten(suggestedFile.getFile(0)) == false) { // return Collections.emptyList(); // } // os = new BufferedOutputStream(new FileOutputStream(suggestedFile.getFile(0))); // imageData = system.exportDiagram(os, 0, fileFormat); // } finally { // if (os != null) { // os.close(); // } // } // return Arrays.asList(new FileImageData(suggestedFile.getFile(0), imageData)); // } static private List exportDiagramsGantt2(GanttDiagram system, SuggestedFile suggestedFile, FileFormatOption fileFormat) throws IOException { if (suggestedFile.getFile(0).exists() && suggestedFile.getFile(0).isDirectory()) { throw new IllegalArgumentException("File is a directory " + suggestedFile); } ImageData cmap = null; OutputStream os = null; try { if (PSystemUtils.canFileBeWritten(suggestedFile.getFile(0)) == false) { return Collections.emptyList(); } os = new NamedOutputStream(suggestedFile.getFile(0)); cmap = system.exportDiagram(os, 0, fileFormat); } finally { if (os != null) { os.close(); } } List result = Arrays.asList(suggestedFile.getFile(0)); if (fileFormat.getFileFormat() == FileFormat.PNG) { final SplitParam splitParam = new SplitParam(HtmlColorUtils.BLACK, null, 5); result = new PngSplitter(suggestedFile, system.getHorizontalPages(), system.getVerticalPages(), system.getMetadata(), system.getDpi(fileFormat), fileFormat.isWithMetadata(), splitParam) .getFiles(); } final List result2 = new ArrayList(); for (File f : result) { result2.add(new FileImageData(f, cmap)); } return result2; } private static List createFilesHtml(CucaDiagram system, SuggestedFile suggestedFile) throws IOException { final String name = suggestedFile.getName(); final int idx = name.lastIndexOf('.'); final File dir = new File(suggestedFile.getParentFile(), name.substring(0, idx)); final CucaDiagramHtmlMaker maker = new CucaDiagramHtmlMaker(system, dir); return maker.create(); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/PaddingParam.java000066400000000000000000000026201340005343600252110ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public enum PaddingParam { PARTICIPANT, BOX; public String getSkinName() { return StringUtils.goLowerCase(name()) + "Padding"; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/Pipe.java000066400000000000000000000126421340005343600235640ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintStream; import net.sourceforge.plantuml.core.Diagram; import net.sourceforge.plantuml.core.DiagramDescription; import net.sourceforge.plantuml.preproc.Defines; public class Pipe { private final Option option; private final InputStream is; private final PrintStream ps; private boolean closed = false; private final String charset; public Pipe(Option option, PrintStream ps, InputStream is, String charset) { this.option = option; this.is = is; this.ps = ps; this.charset = charset; } public boolean managePipe() throws IOException { boolean error = false; final boolean noStdErr = option.isPipeNoStdErr(); do { final String source = readOneDiagram(); if (source == null) { ps.flush(); return error; } final Defines defines = option.getDefaultDefines(); final SourceStringReader sourceStringReader = new SourceStringReader(defines, source, option.getConfig()); if (option.isComputeurl()) { for (BlockUml s : sourceStringReader.getBlocks()) { ps.println(s.getEncodedUrl()); } } else if (option.isSyntax()) { final Diagram system = sourceStringReader.getBlocks().get(0).getDiagram(); if (system instanceof UmlDiagram) { ps.println(((UmlDiagram) system).getUmlDiagramType().name()); ps.println(system.getDescription()); } else if (system instanceof PSystemError) { error = true; printErrorText(ps, (PSystemError) system); } else { ps.println("OTHER"); ps.println(system.getDescription()); } } else if (option.isPipeMap()) { final String result = sourceStringReader.getCMapData(option.getImageIndex(), option.getFileFormatOption()); if (result == null) { ps.println(); } else { ps.println(result); } } else { final OutputStream os = noStdErr ? new ByteArrayOutputStream() : ps; final DiagramDescription result = sourceStringReader.outputImage(os, option.getImageIndex(), option.getFileFormatOption()); if (result != null && "(error)".equalsIgnoreCase(result.getDescription())) { error = true; manageErrors(noStdErr ? ps : System.err, sourceStringReader); } else if (noStdErr) { final ByteArrayOutputStream baos = (ByteArrayOutputStream) os; baos.close(); ps.write(baos.toByteArray()); } if (option.getPipeDelimitor() != null) { ps.println(option.getPipeDelimitor()); } } ps.flush(); } while (closed == false); return error; } private void manageErrors(final PrintStream output, final SourceStringReader sourceStringReader) { // if (option.getPipeDelimitor() != null) { // output.println(option.getPipeDelimitor()); // } printErrorText(output, (PSystemError) sourceStringReader.getBlocks().get(0).getDiagram()); } private void printErrorText(final PrintStream output, final PSystemError sys) { output.println("ERROR"); output.println(sys.getHigherErrorPosition2().getPosition()); for (ErrorUml er : sys.getErrorsUml()) { output.println(er.getError()); } output.flush(); } private boolean isFinished(String s) { return s == null || s.startsWith("@end"); } private String readOneDiagram() throws IOException { final StringBuilder sb = new StringBuilder(); while (true) { final String s = readOneLine(); if (s == null) { closed = true; } else { sb.append(s); sb.append(BackSlash.NEWLINE); } if (isFinished(s)) { break; } } if (sb.length() == 0) { return null; } String source = sb.toString(); if (source.startsWith("@start") == false) { source = "@startuml\n" + source + "\n@enduml"; } return source; } private String readOneLine() throws IOException { final ByteArrayOutputStream baos = new ByteArrayOutputStream(); while (true) { final int read = is.read(); if (read == -1) { if (baos.size() == 0) { return null; } break; } if (read != '\r' && read != '\n') { baos.write(read); } if (read == '\n') { break; } } if (charset == null) { return new String(baos.toByteArray()); } return new String(baos.toByteArray(), charset); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/Pragma.java000066400000000000000000000042101340005343600240660ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.util.LinkedHashMap; import java.util.Map; public class Pragma { private final Map values = new LinkedHashMap(); public void define(String name, String value) { values.put(name, value); } public boolean isDefine(String name) { return values.containsKey(name); } public void undefine(String name) { values.remove(name); } public String getValue(String name) { return values.get(name); } public boolean horizontalLineBetweenDifferentPackageAllowed() { return isDefine("horizontallinebetweendifferentpackageallowed"); } public boolean useVerticalIf() { final String teoz = getValue("useverticalif"); return "true".equalsIgnoreCase(teoz) || "on".equalsIgnoreCase(teoz); } public boolean useTeozLayout() { final String teoz = getValue("teoz"); return "true".equalsIgnoreCase(teoz) || "on".equalsIgnoreCase(teoz); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/ProgressBar.java000066400000000000000000000054111340005343600251140ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.util.concurrent.atomic.AtomicInteger; public class ProgressBar { private static boolean enable; private static String last = null; private static final AtomicInteger total = new AtomicInteger(); private static final AtomicInteger done = new AtomicInteger(); private synchronized static void print(String message) { clear(); System.err.print(message); last = message; } public synchronized static void clear() { if (last != null) { for (int i = 0; i < last.length(); i++) { System.err.print('\b'); } for (int i = 0; i < last.length(); i++) { System.err.print(' '); } for (int i = 0; i < last.length(); i++) { System.err.print('\b'); } } last = null; } public static void incTotal(int nb) { total.addAndGet(nb); printBar(done.intValue(), total.intValue()); } private synchronized static void printBar(int done, int total) { if (enable == false) { return; } if (total == 0) { return; } final String message = "[" + getBar(done, total) + "] " + done + "/" + total; print(message); } private static String getBar(int done, int total) { final StringBuilder sb = new StringBuilder(); final int width = 30; final int value = width * done / total; for (int i = 0; i < width; i++) { sb.append(i < value ? '#' : ' '); } return sb.toString(); } public static void incDone(boolean error) { done.incrementAndGet(); printBar(done.intValue(), total.intValue()); } public static void setEnable(boolean value) { enable = value; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/Removeable.java000066400000000000000000000025041340005343600247440ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public interface Removeable { public boolean isRemoved(); }plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/Run.java000066400000000000000000000404561340005343600234370ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics2D; import java.awt.GraphicsEnvironment; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.net.URL; import java.util.ArrayList; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import javax.imageio.ImageIO; import javax.swing.UIManager; import net.sourceforge.plantuml.activitydiagram.ActivityDiagramFactory; import net.sourceforge.plantuml.classdiagram.ClassDiagramFactory; import net.sourceforge.plantuml.code.Transcoder; import net.sourceforge.plantuml.code.TranscoderUtil; import net.sourceforge.plantuml.command.UmlDiagramFactory; import net.sourceforge.plantuml.descdiagram.DescriptionDiagramFactory; import net.sourceforge.plantuml.objectdiagram.ObjectDiagramFactory; import net.sourceforge.plantuml.png.MetadataTag; import net.sourceforge.plantuml.preproc.Stdlib; import net.sourceforge.plantuml.sequencediagram.SequenceDiagramFactory; import net.sourceforge.plantuml.statediagram.StateDiagramFactory; import net.sourceforge.plantuml.stats.StatsUtils; import net.sourceforge.plantuml.swing.MainWindow2; import net.sourceforge.plantuml.syntax.LanguageDescriptor; import net.sourceforge.plantuml.ugraphic.sprite.SpriteGrayLevel; import net.sourceforge.plantuml.ugraphic.sprite.SpriteUtils; import net.sourceforge.plantuml.utils.Cypher; import net.sourceforge.plantuml.version.Version; public class Run { private static Cypher cypher; public static void main(String[] argsArray) throws IOException, InterruptedException { System.setProperty("log4j.debug", "false"); final long start = System.currentTimeMillis(); if (argsArray.length > 0 && argsArray[0].equalsIgnoreCase("-headless")) { System.setProperty("java.awt.headless", "true"); } saveCommandLine(argsArray); final Option option = new Option(argsArray); ProgressBar.setEnable(option.isTextProgressBar()); if (OptionFlags.getInstance().isClipboardLoop()) { ClipboardLoop.runLoop(); return; } if (OptionFlags.getInstance().isClipboard()) { ClipboardLoop.runOnce(); return; } if (OptionFlags.getInstance().isExtractStdLib()) { Stdlib.extractStdLib(); return; } if (OptionFlags.getInstance().isStdLib()) { Stdlib.printStdLib(); return; } if (OptionFlags.getInstance().isDumpStats()) { StatsUtils.dumpStats(); return; } if (OptionFlags.getInstance().isLoopStats()) { StatsUtils.loopStats(); return; } if (OptionFlags.getInstance().isDumpHtmlStats()) { StatsUtils.outHtml(); return; } if (OptionFlags.getInstance().isEncodesprite()) { encodeSprite(option.getResult()); return; } if (OptionFlags.getInstance().isVerbose()) { Log.info("PlantUML Version " + Version.versionString()); Log.info("GraphicsEnvironment.isHeadless() " + GraphicsEnvironment.isHeadless()); } if (GraphicsEnvironment.isHeadless()) { Log.info("Forcing -Djava.awt.headless=true"); System.setProperty("java.awt.headless", "true"); Log.info("java.awt.headless set as true"); } if (OptionFlags.getInstance().isPrintFonts()) { printFonts(); return; } forceOpenJdkResourceLoad(); if (option.getPreprocessorOutputMode() == OptionPreprocOutputMode.CYPHER) { cypher = new LanguageDescriptor().getCypher(); } boolean error = false; boolean forceQuit = false; if (option.isPattern()) { managePattern(); } else if (OptionFlags.getInstance().isGui()) { try { UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); } catch (Exception e) { } final List list = option.getResult(); File dir = null; if (list.size() == 1) { final File f = new File(list.get(0)); if (f.exists() && f.isDirectory()) { dir = f; } } new MainWindow2(option, dir); } else if (option.isPipe() || option.isPipeMap() || option.isSyntax()) { error = managePipe(option); forceQuit = true; } else if (option.isFailfast2()) { if (option.isSplash()) { Splash.createSplash(); } final long start2 = System.currentTimeMillis(); option.setCheckOnly(true); error = manageAllFiles(option); option.setCheckOnly(false); if (option.isDuration()) { final double duration = (System.currentTimeMillis() - start2) / 1000.0; Log.error("Check Duration = " + duration + " seconds"); } if (error == false) { error = manageAllFiles(option); } forceQuit = true; } else { if (option.isSplash()) { Splash.createSplash(); } error = manageAllFiles(option); forceQuit = true; } if (option.isDuration()) { final double duration = (System.currentTimeMillis() - start) / 1000.0; Log.error("Duration = " + duration + " seconds"); } if (error) { Log.error("Some diagram description contains errors"); System.exit(1); } if (forceQuit && OptionFlags.getInstance().isSystemExit()) { System.exit(0); } } private static String commandLine = ""; public static final String getCommandLine() { return commandLine; } private static void saveCommandLine(String[] argsArray) { final StringBuilder sb = new StringBuilder(); for (String s : argsArray) { sb.append(s); sb.append(" "); } commandLine = sb.toString(); } public static void forceOpenJdkResourceLoad() { if (isOpenJdkRunning()) { // see https://github.com/plantuml/plantuml/issues/123 Log.info("Forcing resource load on OpenJdk"); final BufferedImage imDummy = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB); final Graphics2D gg = imDummy.createGraphics(); final String text = "Alice"; final Font font = new Font("SansSerif", Font.PLAIN, 12); final FontMetrics fm = gg.getFontMetrics(font); final Rectangle2D rect = fm.getStringBounds(text, gg); } } public static boolean isOpenJdkRunning() { final String jvmName = System.getProperty("java.vm.name"); if (jvmName != null && jvmName.toLowerCase().contains("openjdk")) { return true; } return false; } static private final String httpProtocol = "http://"; static private final String httpsProtocol = "https://"; private static void encodeSprite(List result) throws IOException { SpriteGrayLevel level = SpriteGrayLevel.GRAY_16; boolean compressed = false; final String path; if (result.size() > 1 && result.get(0).matches("(4|8|16)z?")) { if (result.get(0).startsWith("8")) { level = SpriteGrayLevel.GRAY_8; } if (result.get(0).startsWith("4")) { level = SpriteGrayLevel.GRAY_4; } compressed = StringUtils.goLowerCase(result.get(0)).endsWith("z"); path = result.get(1); } else { path = result.get(0); } final String fileName; final URL source; final String lowerPath = StringUtils.goLowerCase(path); if (lowerPath.startsWith(httpProtocol) || lowerPath.startsWith(httpsProtocol)) { source = new URL(path); final String p = source.getPath(); fileName = p.substring(p.lastIndexOf('/') + 1, p.length()); } else { final File f = new File(path); source = f.toURI().toURL(); fileName = f.getName(); } InputStream stream = null; final BufferedImage im; try { stream = source.openStream(); im = ImageIO.read(stream); } finally { if (stream != null) { stream.close(); } } final String name = getSpriteName(fileName); final String s = compressed ? SpriteUtils.encodeCompressed(im, name, level) : SpriteUtils.encode(im, name, level); System.out.println(s); } private static String getSpriteName(String fileName) { final String s = getSpriteNameInternal(fileName); if (s.length() == 0) { return "test"; } return s; } private static String getSpriteNameInternal(String fileName) { final StringBuilder sb = new StringBuilder(); for (char c : fileName.toCharArray()) { if (("" + c).matches("[\\p{L}0-9_]")) { sb.append(c); } else { return sb.toString(); } } return sb.toString(); } public static void printFonts() { final Font fonts[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts(); for (Font f : fonts) { System.out.println("f=" + f + "/" + f.getPSName() + "/" + f.getName() + "/" + f.getFontName() + "/" + f.getFamily()); } final String name[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames(); for (String n : name) { System.out.println("n=" + n); } } private static void managePattern() { printPattern(new SequenceDiagramFactory()); printPattern(new ClassDiagramFactory()); printPattern(new ActivityDiagramFactory()); printPattern(new DescriptionDiagramFactory()); // printPattern(new ComponentDiagramFactory()); printPattern(new StateDiagramFactory()); printPattern(new ObjectDiagramFactory()); } private static void printPattern(UmlDiagramFactory factory) { System.out.println(); System.out.println(factory.getClass().getSimpleName().replaceAll("Factory", "")); final List descriptions = factory.getDescription(); for (String s : descriptions) { System.out.println(s); } } private static boolean managePipe(Option option) throws IOException { final String charset = option.getCharset(); return new Pipe(option, System.out, System.in, charset).managePipe(); } private static boolean manageAllFiles(Option option) throws IOException, InterruptedException { File lockFile = null; try { if (OptionFlags.getInstance().isWord()) { final File dir = new File(option.getResult().get(0)); final File javaIsRunningFile = new File(dir, "javaisrunning.tmp"); javaIsRunningFile.delete(); lockFile = new File(dir, "javaumllock.tmp"); } return processArgs(option); } finally { if (lockFile != null) { lockFile.delete(); } } } private static boolean processArgs(Option option) throws IOException, InterruptedException { if (option.isDecodeurl() == false && option.getNbThreads() > 1 && option.isCheckOnly() == false && OptionFlags.getInstance().isExtractFromMetadata() == false) { return multithread(option); } boolean errorGlobal = false; final List files = new ArrayList(); for (String s : option.getResult()) { if (option.isDecodeurl()) { final Transcoder transcoder = TranscoderUtil.getDefaultTranscoder(); System.out.println("@startuml"); System.out.println(transcoder.decode(s)); System.out.println("@enduml"); } else { final FileGroup group = new FileGroup(s, option.getExcludes(), option); incTotal(group.getFiles().size()); files.addAll(group.getFiles()); } } Log.info("Found " + files.size() + " files"); for (File f : files) { try { final boolean error = manageFileInternal(f, option); if (error) { errorGlobal = true; } incDone(error); if (error && option.isFailfastOrFailfast2()) { return true; } } catch (IOException e) { e.printStackTrace(); } } return errorGlobal; } private static boolean multithread(final Option option) throws InterruptedException { Log.info("Using several threads: " + option.getNbThreads()); final ExecutorService executor = Executors.newFixedThreadPool(option.getNbThreads()); final AtomicBoolean errors = new AtomicBoolean(false); for (String s : option.getResult()) { final FileGroup group = new FileGroup(s, option.getExcludes(), option); for (final File f : group.getFiles()) { incTotal(1); executor.submit(new Runnable() { public void run() { if (errors.get() && option.isFailfastOrFailfast2()) { return; } try { final boolean error = manageFileInternal(f, option); if (error) { errors.set(true); } } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } incDone(errors.get()); } }); } } executor.shutdown(); executor.awaitTermination(Long.MAX_VALUE, TimeUnit.SECONDS); return errors.get(); } private static void incDone(boolean error) { Splash.incDone(error); ProgressBar.incDone(error); } private static void incTotal(int nb) { Splash.incTotal(nb); ProgressBar.incTotal(nb); } private static boolean manageFileInternal(File f, Option option) throws IOException, InterruptedException { Log.info("Working on " + f.getAbsolutePath()); if (OptionFlags.getInstance().isExtractFromMetadata()) { System.out.println("------------------------"); System.out.println(f); // new Metadata().readAndDisplayMetadata(f); System.out.println(); final String data = new MetadataTag(f, "plantuml").getData(); // File file = new File("tmp.txt"); // PrintWriter pw = new PrintWriter(file, "UTF-8"); // pw.println(NastyEncoder.fromISO_8859_1(data)); // pw.close(); System.out.println(data); System.out.println("------------------------"); return false; } final ISourceFileReader sourceFileReader; if (option.getOutputFile() == null) { sourceFileReader = new SourceFileReader(option.getDefaultDefines(f), f, option.getOutputDir(), option.getConfig(), option.getCharset(), option.getFileFormatOption()); } else { sourceFileReader = new SourceFileReader2(option.getDefaultDefines(f), f, option.getOutputFile(), option.getConfig(), option.getCharset(), option.getFileFormatOption()); } sourceFileReader.setCheckMetadata(option.isCheckMetadata()); if (option.isComputeurl()) { for (BlockUml s : sourceFileReader.getBlocks()) { System.out.println(s.getEncodedUrl()); } return false; } if (option.isCheckOnly()) { final boolean hasError = sourceFileReader.hasError(); final List result = sourceFileReader.getGeneratedImages(); hasErrors(f, result); return hasError; } if (option.getPreprocessorOutputMode() != null) { extractPreproc(option, sourceFileReader); return false; } final List result = sourceFileReader.getGeneratedImages(); if (result.size() == 0) { Log.error("Warning: no image in " + f.getCanonicalPath()); } return hasErrors(f, result); } private static void extractPreproc(Option option, final ISourceFileReader sourceFileReader) throws IOException { final String charset = option.getCharset(); for (BlockUml blockUml : sourceFileReader.getBlocks()) { final SuggestedFile suggested = ((SourceFileReaderAbstract) sourceFileReader).getSuggestedFile(blockUml) .withPreprocFormat(); final File file = suggested.getFile(0); Log.info("Export preprocessing source to " + file.getAbsolutePath()); final PrintWriter pw = charset == null ? new PrintWriter(file) : new PrintWriter(file, charset); for (CharSequence s : blockUml.getDefinition(true)) { if (cypher != null) { s = cypher.cypher(s.toString()); } pw.println(s); } pw.close(); } } private static boolean hasErrors(File f, final List list) throws IOException { boolean result = false; for (GeneratedImage i : list) { final int lineError = i.lineErrorRaw(); if (lineError != -1) { Log.error("Error line " + lineError + " in file: " + f.getCanonicalPath()); result = true; } } return result; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/Scale.java000066400000000000000000000025301340005343600237110ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public interface Scale { public double getScale(double width, double height); } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/ScaleHeight.java000066400000000000000000000027671340005343600250560ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public class ScaleHeight implements Scale { private final double maxHeight; public ScaleHeight(double maxHeight) { this.maxHeight = maxHeight; } public double getScale(double width, double height) { return maxHeight / height; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/ScaleMaxHeight.java000066400000000000000000000031021340005343600255040ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public class ScaleMaxHeight implements Scale { private final double maxHeight; public ScaleMaxHeight(double maxHeight) { this.maxHeight = maxHeight; } public double getScale(double width, double height) { final double result = maxHeight / height; if (result > 1) { return 1; } return result; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/ScaleMaxWidth.java000066400000000000000000000030721340005343600253610ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public class ScaleMaxWidth implements Scale { private final double maxWidth; public ScaleMaxWidth(double maxWidth) { this.maxWidth = maxWidth; } public double getScale(double width, double height) { final double result = maxWidth / width; if (result > 1) { return 1; } return result; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/ScaleMaxWidthAndHeight.java000066400000000000000000000033621340005343600271370ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public class ScaleMaxWidthAndHeight implements Scale { private final double maxWidth; private final double maxHeight; public ScaleMaxWidthAndHeight(double maxWidth, double maxHeight) { this.maxWidth = maxWidth; this.maxHeight = maxHeight; } public double getScale(double width, double height) { final double scale1 = maxWidth / width; final double scale2 = maxHeight / height; final double min = Math.min(scale1, scale2); if (min > 1) { return 1; } return min; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/ScaleSimple.java000066400000000000000000000027351340005343600250720ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public class ScaleSimple implements Scale { private final double scale; public ScaleSimple(double scale) { this.scale = scale; } public double getScale(double width, double height) { return scale; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/ScaleWidth.java000066400000000000000000000027571340005343600247240ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public class ScaleWidth implements Scale { private final double maxWidth; public ScaleWidth(double maxWidth) { this.maxWidth = maxWidth; } public double getScale(double width, double height) { return maxWidth / width; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/ScaleWidthAndHeight.java000066400000000000000000000033511340005343600264670ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public class ScaleWidthAndHeight implements Scale { private final double maxWidth; private final double maxHeight; public ScaleWidthAndHeight(double maxWidth, double maxHeight) { this.maxWidth = maxWidth; this.maxHeight = maxHeight; } public double getScale(double width, double height) { final double scale1 = maxWidth / width; final double scale2 = maxHeight / height; // if (scale1 > 1 && scale2 > 1) { // return 1; // } return Math.min(scale1, scale2); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/SignatureUtils.java000066400000000000000000000144221340005343600256470ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.spec.InvalidKeySpecException; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.PBEKeySpec; import net.sourceforge.plantuml.code.AsciiEncoder; public class SignatureUtils { // private static byte[] salting(String pass, byte[] salt) throws NoSuchAlgorithmException, InvalidKeySpecException, // UnsupportedEncodingException { // final byte[] tmp = salting2(pass, salt); // return SignatureUtils.getSHA512raw(tmp); // } public static byte[] salting(String pass, byte[] salt) throws NoSuchAlgorithmException, InvalidKeySpecException { final int iterations = 10000; final int keyLength = 512; final SecretKeyFactory skf = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1"); final PBEKeySpec spec = new PBEKeySpec(pass.toCharArray(), salt, iterations, keyLength); final SecretKey key = skf.generateSecret(spec); final byte[] tmp = key.getEncoded(); return tmp; } public static String getSignature(String s) { try { final byte[] digest = getMD5raw(s); return toString(digest); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); throw new UnsupportedOperationException(e); } catch (UnsupportedEncodingException e) { e.printStackTrace(); throw new UnsupportedOperationException(e); } } public static String toString(byte data[]) { final AsciiEncoder coder = new AsciiEncoder(); return coder.encode(data); } public static String toHexString(byte data[]) { final StringBuilder sb = new StringBuilder(data.length * 2); for (byte b : data) { sb.append(String.format("%02x", b)); } return sb.toString(); } public static String getMD5Hex(String s) { try { final byte[] digest = getMD5raw(s); assert digest.length == 16; return toHexString(digest); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); throw new UnsupportedOperationException(e); } catch (UnsupportedEncodingException e) { e.printStackTrace(); throw new UnsupportedOperationException(e); } } public static String getSHA512Hex(String s) { try { final byte[] digest = getSHA512raw(s); assert digest.length == 64; return toHexString(digest); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); throw new UnsupportedOperationException(e); } catch (UnsupportedEncodingException e) { e.printStackTrace(); throw new UnsupportedOperationException(e); } } public static byte[] getMD5raw(String s) throws NoSuchAlgorithmException, UnsupportedEncodingException { final MessageDigest msgDigest = MessageDigest.getInstance("MD5"); msgDigest.update(s.getBytes("UTF-8")); return msgDigest.digest(); } public static byte[] getSHA512raw(String s) throws NoSuchAlgorithmException, UnsupportedEncodingException { return getSHA512raw(s.getBytes("UTF-8")); } public static byte[] getSHA512raw(byte data[]) throws NoSuchAlgorithmException, UnsupportedEncodingException { final MessageDigest msgDigest = MessageDigest.getInstance("SHA-512"); msgDigest.update(data); return msgDigest.digest(); } public static String getSignatureSha512(File f) throws IOException { final InputStream is = new FileInputStream(f); try { return getSignatureSha512(is); } finally { is.close(); } } public static String getSignatureSha512(InputStream is) throws IOException { try { final MessageDigest msgDigest = MessageDigest.getInstance("SHA-512"); int read = 0; while ((read = is.read()) != -1) { msgDigest.update((byte) read); } final byte[] digest = msgDigest.digest(); return toString(digest); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); throw new UnsupportedOperationException(e); } catch (UnsupportedEncodingException e) { e.printStackTrace(); throw new UnsupportedOperationException(e); } } public static String getSignatureWithoutImgSrc(String s) { s = getSignature(purge(s)); return s; } public static String purge(String s) { final String regex = "(?i)\\"; s = s.replaceAll(regex, ""); final String regex2 = "(?i)image=\"(?:[^\"]+[/\\\\])?([^/\\\\\\d.]+)\\d*(\\.\\w+)\""; s = s.replaceAll(regex2, "image=\"$1$2\""); return s; } public static String getSignature(File f) throws IOException { try { final MessageDigest msgDigest = MessageDigest.getInstance("MD5"); final FileInputStream is = new FileInputStream(f); int read = -1; while ((read = is.read()) != -1) { msgDigest.update((byte) read); } is.close(); final byte[] digest = msgDigest.digest(); return toString(digest); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); throw new UnsupportedOperationException(e); } catch (UnsupportedEncodingException e) { e.printStackTrace(); throw new UnsupportedOperationException(e); } } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/SkinParam.java000066400000000000000000000735161340005343600245630ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.awt.Font; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.EnumSet; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import java.util.TreeSet; import net.sourceforge.plantuml.command.regex.Matcher2; import net.sourceforge.plantuml.command.regex.MyPattern; import net.sourceforge.plantuml.command.regex.Pattern2; import net.sourceforge.plantuml.creole.CommandCreoleMonospaced; import net.sourceforge.plantuml.cucadiagram.LinkStyle; import net.sourceforge.plantuml.cucadiagram.Rankdir; import net.sourceforge.plantuml.cucadiagram.Stereotype; import net.sourceforge.plantuml.cucadiagram.dot.DotSplines; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.HtmlColorSetSimple; import net.sourceforge.plantuml.graphic.HtmlColorUtils; import net.sourceforge.plantuml.graphic.IHtmlColorSet; import net.sourceforge.plantuml.graphic.SkinParameter; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.skin.ArrowDirection; import net.sourceforge.plantuml.svek.ConditionStyle; import net.sourceforge.plantuml.svek.PackageStyle; import net.sourceforge.plantuml.ugraphic.ColorMapper; import net.sourceforge.plantuml.ugraphic.ColorMapperIdentity; import net.sourceforge.plantuml.ugraphic.ColorMapperMonochrome; import net.sourceforge.plantuml.ugraphic.ColorMapperReverse; import net.sourceforge.plantuml.ugraphic.ColorOrder; import net.sourceforge.plantuml.ugraphic.UFont; import net.sourceforge.plantuml.ugraphic.UStroke; import net.sourceforge.plantuml.ugraphic.sprite.Sprite; import net.sourceforge.plantuml.ugraphic.sprite.SpriteImage; public class SkinParam implements ISkinParam { private static final String stereoPatternString = "\\<\\<(.*?)\\>\\>"; private static final Pattern2 stereoPattern = MyPattern.cmpile(stereoPatternString); private final Map params = new HashMap(); private Rankdir rankdir = Rankdir.TOP_TO_BOTTOM; private String dotExecutable; private final UmlDiagramType type; public String getDotExecutable() { return dotExecutable; } public void setDotExecutable(String dotExecutable) { Log.info("Overwritting dot in skinparam " + dotExecutable); this.dotExecutable = dotExecutable; } public void setParam(String key, String value) { for (String key2 : cleanForKey(key)) { params.put(key2, StringUtils.trin(value)); } } private SkinParam(UmlDiagramType type) { this.type = type; } public static SkinParam create(UmlDiagramType type) { return new SkinParam(type); } public static SkinParam noShadowing(UmlDiagramType type) { final SkinParam result = new SkinParam(type); result.setParam("shadowing", "false"); return result; } private final Map> cacheCleanForKey = new HashMap>(); List cleanForKey(String key) { List result = cacheCleanForKey.get(key); if (result == null) { result = cleanForKeySlow(key); cacheCleanForKey.put(key, result); } return result; } List cleanForKeySlow(String key) { key = StringUtils.trin(StringUtils.goLowerCase(key)); key = key.replaceAll("_|\\.|\\s", ""); // key = replaceSmart(key, "partition", "package"); key = replaceSmart(key, "sequenceparticipant", "participant"); key = replaceSmart(key, "sequenceactor", "actor"); key = key.replaceAll("activityarrow", "arrow"); key = key.replaceAll("objectarrow", "arrow"); key = key.replaceAll("classarrow", "arrow"); key = key.replaceAll("componentarrow", "arrow"); key = key.replaceAll("statearrow", "arrow"); key = key.replaceAll("usecasearrow", "arrow"); key = key.replaceAll("sequencearrow", "arrow"); key = key.replaceAll("align$", "alignment"); final Matcher2 mm = stereoPattern.matcher(key); final List result = new ArrayList(); while (mm.find()) { final String s = mm.group(1); result.add(key.replaceAll(stereoPatternString, "") + "<<" + s + ">>"); } if (result.size() == 0) { result.add(key); } return Collections.unmodifiableList(result); } private static String replaceSmart(String s, String src, String target) { if (s.contains(src) == false) { return s; } return s.replaceAll(src, target); } public HtmlColor getHyperlinkColor() { final HtmlColor result = getHtmlColor(ColorParam.hyperlink, null, false); if (result == null) { return HtmlColorUtils.BLUE; } return result; } public HtmlColor getBackgroundColor() { final HtmlColor result = getHtmlColor(ColorParam.background, null, false); if (result == null) { return HtmlColorUtils.WHITE; } return result; } public String getValue(String key) { for (String key2 : cleanForKey(key)) { final String result = params.get(key2); if (result != null) { return result; } } return null; } static String humanName(String key) { final StringBuilder sb = new StringBuilder(); boolean upper = true; for (int i = 0; i < key.length(); i++) { final char c = key.charAt(i); if (c == '_') { upper = true; } else { sb.append(upper ? StringUtils.goUpperCase(c) : StringUtils.goLowerCase(c)); upper = false; } } return sb.toString(); } public HtmlColor getHtmlColor(ColorParam param, Stereotype stereotype, boolean clickable) { if (stereotype != null) { checkStereotype(stereotype); for (String s : stereotype.getMultipleLabels()) { final String value2 = getValue(param.name() + "color" + "<<" + s + ">>"); if (value2 != null && getIHtmlColorSet().getColorIfValid(value2) != null) { return getIHtmlColorSet().getColorIfValid(value2); } } } final String value = getValue(getParamName(param, clickable)); if (value == null) { return null; } final boolean acceptTransparent = param == ColorParam.background || param == ColorParam.sequenceGroupBodyBackground || param == ColorParam.sequenceBoxBackground; return getIHtmlColorSet().getColorIfValid(value, acceptTransparent); } public char getCircledCharacter(Stereotype stereotype) { if (stereotype == null) { throw new IllegalArgumentException(); } final String value2 = getValue("spotchar" + stereotype.getLabel(false)); if (value2 != null && value2.length() > 0) { return value2.charAt(0); } return 0; } public Colors getColors(ColorParam param, Stereotype stereotype) { if (stereotype != null) { checkStereotype(stereotype); final String value2 = getValue(param.name() + "color" + stereotype.getLabel(false)); if (value2 != null && getIHtmlColorSet().getColorIfValid(value2) != null) { return new Colors(value2, getIHtmlColorSet(), param.getColorType()); } } final String value = getValue(getParamName(param, false)); if (value == null) { return Colors.empty(); } return new Colors(value, getIHtmlColorSet(), param.getColorType()); } private String getParamName(ColorParam param, boolean clickable) { String n = param.name(); if (clickable && n.endsWith("Background")) { n = n.replaceAll("Background", "ClickableBackground"); } else if (clickable && n.endsWith("Border")) { n = n.replaceAll("Border", "ClickableBorder"); } return n + "color"; } private void checkStereotype(Stereotype stereotype) { // if (stereotype.startsWith("<<") == false || stereotype.endsWith(">>") == false) { // throw new IllegalArgumentException(); // } } private int getFontSize(Stereotype stereotype, FontParam... param) { if (stereotype != null) { checkStereotype(stereotype); final String value2 = getFirstValueNonNullWithSuffix("fontsize" + stereotype.getLabel(false), param); if (value2 != null && value2.matches("\\d+")) { return Integer.parseInt(value2); } } String value = getFirstValueNonNullWithSuffix("fontsize", param); if (value == null || value.matches("\\d+") == false) { value = getValue("defaultfontsize"); } if (value == null || value.matches("\\d+") == false) { return param[0].getDefaultSize(this); } return Integer.parseInt(value); } private String getFontFamily(Stereotype stereotype, FontParam... param) { if (stereotype != null) { checkStereotype(stereotype); final String value2 = getFirstValueNonNullWithSuffix("fontname" + stereotype.getLabel(false), param); if (value2 != null) { return StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(value2); } } // Times, Helvetica, Courier or Symbol String value = getFirstValueNonNullWithSuffix("fontname", param); if (value != null) { return StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(value); } if (param[0] != FontParam.CIRCLED_CHARACTER) { value = getValue("defaultfontname"); if (value != null) { return StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(value); } } return param[0].getDefaultFamily(); } public HtmlColor getFontHtmlColor(Stereotype stereotype, FontParam... param) { String value = null; if (stereotype != null) { checkStereotype(stereotype); value = getFirstValueNonNullWithSuffix("fontcolor" + stereotype.getLabel(false), param); } if (value == null || getIHtmlColorSet().getColorIfValid(value) == null) { value = getFirstValueNonNullWithSuffix("fontcolor", param); } if (value == null || getIHtmlColorSet().getColorIfValid(value) == null) { value = getValue("defaultfontcolor"); } if (value == null || getIHtmlColorSet().getColorIfValid(value) == null) { value = param[0].getDefaultColor(); } return getIHtmlColorSet().getColorIfValid(value); } private String getFirstValueNonNullWithSuffix(String suffix, FontParam... param) { for (FontParam p : param) { final String v = getValue(p.name() + suffix); if (v != null) { return v; } } return null; } private int getFontStyle(Stereotype stereotype, boolean inPackageTitle, FontParam... param) { String value = null; if (stereotype != null) { checkStereotype(stereotype); value = getFirstValueNonNullWithSuffix("fontstyle" + stereotype.getLabel(false), param); } if (value == null) { value = getFirstValueNonNullWithSuffix("fontstyle", param); } if (value == null) { value = getValue("defaultfontstyle"); } if (value == null) { return param[0].getDefaultFontStyle(this, inPackageTitle); } int result = Font.PLAIN; if (StringUtils.goLowerCase(value).contains("bold")) { result = result | Font.BOLD; } if (StringUtils.goLowerCase(value).contains("italic")) { result = result | Font.ITALIC; } return result; } public UFont getFont(Stereotype stereotype, boolean inPackageTitle, FontParam... fontParam) { if (stereotype != null) { checkStereotype(stereotype); } final String fontFamily = getFontFamily(stereotype, fontParam); final int fontStyle = getFontStyle(stereotype, inPackageTitle, fontParam); final int fontSize = getFontSize(stereotype, fontParam); return new UFont(fontFamily, fontStyle, fontSize); } public int getCircledCharacterRadius() { final String value = getValue("circledcharacterradius"); if (value != null && value.matches("\\d+")) { return Integer.parseInt(value); } // return 11; // Log.println("SIZE1="+getFontSize(FontParam.CIRCLED_CHARACTER)); // Log.println("SIZE1="+getFontSize(FontParam.CIRCLED_CHARACTER)/3); return getFontSize(null, FontParam.CIRCLED_CHARACTER) / 3 + 6; } public int classAttributeIconSize() { final String value = getValue("classAttributeIconSize"); if (value != null && value.matches("\\d+")) { return Integer.parseInt(value); } return 10; } public static Collection getPossibleValues() { final Set result = new TreeSet(); result.add("Monochrome"); // result.add("BackgroundColor"); result.add("CircledCharacterRadius"); result.add("ClassAttributeIconSize"); result.add("DefaultFontName"); result.add("DefaultFontStyle"); result.add("DefaultFontSize"); result.add("DefaultFontColor"); result.add("MinClassWidth"); result.add("MinClassWidth"); result.add("Dpi"); result.add("DefaultTextAlignment"); result.add("Shadowing"); result.add("NoteShadowing"); result.add("Handwritten"); result.add("CircledCharacterRadius"); result.add("ClassAttributeIconSize"); result.add("Linetype"); result.add("PackageStyle"); result.add("ComponentStyle"); result.add("StereotypePosition"); result.add("Nodesep"); result.add("Ranksep"); result.add("RoundCorner"); result.add("TitleBorderRoundCorner"); result.add("MaxMessageSize"); result.add("Style"); result.add("SequenceParticipant"); result.add("ConditionStyle"); result.add("SameClassWidth"); result.add("HyperlinkUnderline"); result.add("Padding"); result.add("BoxPadding"); result.add("ParticipantPadding"); result.add("Guillemet"); result.add("SvglinkTarget"); result.add("DefaultMonospacedFontName"); result.add("TabSize"); result.add("MaxAsciiMessageLength"); result.add("ColorArrowSeparationSpace"); result.add("ResponseMessageBelowArrow"); result.add("GenericDisplay"); result.add("PathHoverColor"); result.add("SwimlaneWidth"); result.add("PageBorderColor"); result.add("PageExternalColor"); result.add("PageMargin"); result.add("WrapWidth"); result.add("SwimlaneWidth"); result.add("SwimlaneWrapTitleWidth"); result.add("FixCircleLabelOverlapping"); for (FontParam p : EnumSet.allOf(FontParam.class)) { final String h = humanName(p.name()); result.add(h + "FontStyle"); result.add(h + "FontName"); result.add(h + "FontSize"); result.add(h + "FontColor"); } for (ColorParam p : EnumSet.allOf(ColorParam.class)) { final String h = capitalize(p.name()); result.add(h + "Color"); } for (LineParam p : EnumSet.allOf(LineParam.class)) { final String h = capitalize(p.name()); result.add(h + "Thickness"); } for (AlignmentParam p : EnumSet.allOf(AlignmentParam.class)) { final String h = capitalize(p.name()); result.add(h); } return Collections.unmodifiableSet(result); } private static String capitalize(String name) { return StringUtils.goUpperCase(name.substring(0, 1)) + name.substring(1); } public int getDpi() { final String value = getValue("dpi"); if (value != null && value.matches("\\d+")) { return Integer.parseInt(value); } return 96; } public DotSplines getDotSplines() { final String value = getValue("linetype"); if ("polyline".equalsIgnoreCase(value)) { return DotSplines.POLYLINE; } if ("ortho".equalsIgnoreCase(value)) { return DotSplines.ORTHO; } return DotSplines.SPLINES; } public HorizontalAlignment getHorizontalAlignment(AlignmentParam param, ArrowDirection arrowDirection, boolean isReverseDefine) { final String value; switch (param) { case sequenceMessageAlignment: value = getArg(getValue(AlignmentParam.sequenceMessageAlignment.name()), 0); break; case sequenceMessageTextAlignment: value = getArg(getValue(AlignmentParam.sequenceMessageAlignment.name()), 1); break; default: value = getValue(param.name()); } if ("first".equalsIgnoreCase(value)) { if (arrowDirection == ArrowDirection.RIGHT_TO_LEFT_REVERSE) { if (isReverseDefine) { return HorizontalAlignment.LEFT; } return HorizontalAlignment.RIGHT; } else { if (isReverseDefine) { return HorizontalAlignment.RIGHT; } return HorizontalAlignment.LEFT; } } if ("direction".equalsIgnoreCase(value)) { if (arrowDirection == ArrowDirection.LEFT_TO_RIGHT_NORMAL) { return HorizontalAlignment.LEFT; } if (arrowDirection == ArrowDirection.RIGHT_TO_LEFT_REVERSE) { return HorizontalAlignment.RIGHT; } if (arrowDirection == ArrowDirection.BOTH_DIRECTION) { return HorizontalAlignment.CENTER; } } if ("reversedirection".equalsIgnoreCase(value)) { if (arrowDirection == ArrowDirection.LEFT_TO_RIGHT_NORMAL) { return HorizontalAlignment.RIGHT; } if (arrowDirection == ArrowDirection.RIGHT_TO_LEFT_REVERSE) { return HorizontalAlignment.LEFT; } if (arrowDirection == ArrowDirection.BOTH_DIRECTION) { return HorizontalAlignment.CENTER; } } final HorizontalAlignment result = HorizontalAlignment.fromString(value); if (result == null && param == AlignmentParam.noteTextAlignment) { return getDefaultTextAlignment(HorizontalAlignment.LEFT); } else if (result == null) { return param.getDefaultValue(); } return result; } public HorizontalAlignment getDefaultTextAlignment(HorizontalAlignment defaultValue) { final String value = getValue("defaulttextalignment"); final HorizontalAlignment result = HorizontalAlignment.fromString(value); if (result == null) { return defaultValue; } return result; } private String getArg(String value, int i) { if (value == null) { return null; } final String[] split = value.split(":"); if (i >= split.length) { return split[0]; } return split[i]; } public ColorMapper getColorMapper() { final String monochrome = getValue("monochrome"); if ("true".equals(monochrome)) { return new ColorMapperMonochrome(false); } if ("reverse".equals(monochrome)) { return new ColorMapperMonochrome(true); } final String value = getValue("reversecolor"); if (value == null) { return new ColorMapperIdentity(); } final ColorOrder order = ColorOrder.fromString(value); if (order == null) { return new ColorMapperIdentity(); } return new ColorMapperReverse(order); } public boolean shadowing(Stereotype stereotype) { if (stereotype != null) { checkStereotype(stereotype); final String value2 = getValue("shadowing" + stereotype.getLabel(false)); if (value2 != null) { return value2.equalsIgnoreCase("true"); } } final String value = getValue("shadowing"); if ("false".equalsIgnoreCase(value)) { return false; } if ("true".equalsIgnoreCase(value)) { return true; } if (strictUmlStyle()) { return false; } return true; } public boolean shadowingForNote(Stereotype stereotype) { if (stereotype != null) { checkStereotype(stereotype); final String value2 = getValue("note" + "shadowing" + stereotype.getLabel(false)); if (value2 != null) { return value2.equalsIgnoreCase("true"); } } final String value2 = getValue("note" + "shadowing"); if (value2 != null) { return value2.equalsIgnoreCase("true"); } return shadowing(stereotype); } public boolean shadowing2(Stereotype stereotype, SkinParameter skinParameter) { if (skinParameter == null) { throw new IllegalArgumentException(); } final String name = skinParameter.getUpperCaseName(); if (stereotype != null) { checkStereotype(stereotype); final String value2 = getValue(name + "shadowing" + stereotype.getLabel(false)); if (value2 != null) { return value2.equalsIgnoreCase("true"); } } final String value = getValue(name + "shadowing"); if (value == null) { return shadowing(stereotype); } if ("false".equalsIgnoreCase(value)) { return false; } if ("true".equalsIgnoreCase(value)) { return true; } if (strictUmlStyle()) { return false; } return true; } public PackageStyle getPackageStyle() { final String value = getValue("packageStyle"); final PackageStyle p = PackageStyle.fromString(value); if (p == null) { return PackageStyle.FOLDER; } return p; } private final Map sprites = new HashMap(); public void addSprite(String name, Sprite sprite) { sprites.put(name, sprite); } public Sprite getSprite(String name) { Sprite result = sprites.get(name); if (result == null) { result = SpriteImage.fromInternal(name); } return result; } public boolean useUml2ForComponent() { if (strictUmlStyle()) { return true; } final String value = getValue("componentstyle"); return "uml2".equalsIgnoreCase(value); } public boolean stereotypePositionTop() { final String value = getValue("stereotypePosition"); if ("bottom".equalsIgnoreCase(value)) { return false; } return true; } public boolean useSwimlanes(UmlDiagramType type) { if (type != UmlDiagramType.ACTIVITY) { return false; } if ("true".equalsIgnoreCase(getValue("swimlane"))) { return true; } if ("true".equalsIgnoreCase(getValue("swimlanes"))) { return true; } return false; } public double getNodesep() { final String value = getValue("nodesep"); if (value != null && value.matches("\\d+")) { return Double.parseDouble(value); } return 0; } public double getRanksep() { final String value = getValue("ranksep"); if (value != null && value.matches("\\d+")) { return Double.parseDouble(value); } return 0; } public double getDiagonalCorner(CornerParam param, Stereotype stereotype) { final String key = param.getDiagonalKey(); Double result = getCornerInternal(key, param, stereotype); if (result != null) { return result; } result = getCornerInternal(key, param, null); if (result != null) { return result; } if (param == CornerParam.DEFAULT) { return 0; } return getDiagonalCorner(CornerParam.DEFAULT, stereotype); } public double getRoundCorner(CornerParam param, Stereotype stereotype) { final String key = param.getRoundKey(); Double result = getCornerInternal(key, param, stereotype); if (result != null) { return result; } result = getCornerInternal(key, param, null); if (result != null) { return result; } if (param == CornerParam.DEFAULT) { return 0; } return getRoundCorner(CornerParam.DEFAULT, stereotype); } private Double getCornerInternal(String key, CornerParam param, Stereotype stereotype) { if (stereotype != null) { key += stereotype.getLabel(false); } final String value = getValue(key); if (value != null && value.matches("\\d+")) { return Double.parseDouble(value); } return null; } public UStroke getThickness(LineParam param, Stereotype stereotype) { LinkStyle style = null; if (stereotype != null) { checkStereotype(stereotype); final String styleValue = getValue(param.name() + "style" + stereotype.getLabel(false)); if (styleValue != null) { style = LinkStyle.fromString2(styleValue); } final String value2 = getValue(param.name() + "thickness" + stereotype.getLabel(false)); if (value2 != null && value2.matches("[\\d.]+")) { if (style == null) { style = LinkStyle.NORMAL(); } return style.goThickness(Double.parseDouble(value2)).getStroke3(); } } final String value = getValue(param.name() + "thickness"); if (value != null && value.matches("[\\d.]+")) { if (style == null) { style = LinkStyle.NORMAL(); } return style.goThickness(Double.parseDouble(value)).getStroke3(); } if (style == null) { final String styleValue = getValue(param.name() + "style"); if (styleValue != null) { style = LinkStyle.fromString2(styleValue); } } if (style != null && style.isNormal() == false) { return style.getStroke3(); } return null; } public LineBreakStrategy maxMessageSize() { String value = getValue("wrapmessagewidth"); if (value == null) { value = getValue("maxmessagesize"); } return new LineBreakStrategy(value); } public LineBreakStrategy wrapWidth() { final String value = getValue("wrapwidth"); return new LineBreakStrategy(value); } public LineBreakStrategy swimlaneWrapTitleWidth() { final String value = getValue("swimlanewraptitlewidth"); return new LineBreakStrategy(value); } public boolean strictUmlStyle() { final String value = getValue("style"); if ("strictuml".equalsIgnoreCase(value)) { return true; } return false; } public boolean forceSequenceParticipantUnderlined() { final String value = getValue("sequenceParticipant"); if ("underline".equalsIgnoreCase(value)) { return true; } return false; } public ConditionStyle getConditionStyle() { final String value = getValue("conditionStyle"); final ConditionStyle p = ConditionStyle.fromString(value); if (p == null) { return ConditionStyle.INSIDE; } return p; } public double minClassWidth() { final String value = getValue("minclasswidth"); if (value != null && value.matches("\\d+")) { return Integer.parseInt(value); } return 0; } public boolean sameClassWidth() { return "true".equals(getValue("sameclasswidth")); } public final Rankdir getRankdir() { return rankdir; } public final void setRankdir(Rankdir rankdir) { this.rankdir = rankdir; } public boolean useOctagonForActivity(Stereotype stereotype) { String value = getValue("activityshape"); if (stereotype != null) { checkStereotype(stereotype); final String value2 = getValue("activityshape" + stereotype.getLabel(false)); if (value2 != null) { value = value2; } } if ("roundedbox".equalsIgnoreCase(value)) { return false; } if ("octagon".equalsIgnoreCase(value)) { return true; } return false; } private final IHtmlColorSet htmlColorSet = new HtmlColorSetSimple(); public IHtmlColorSet getIHtmlColorSet() { return htmlColorSet; } public boolean useUnderlineForHyperlink() { final String value = getValue("hyperlinkunderline"); if ("false".equalsIgnoreCase(value)) { return false; } return true; } public int groupInheritance() { final String value = getValue("groupinheritance"); int result = Integer.MAX_VALUE; if (value != null && value.matches("\\d+")) { result = Integer.parseInt(value); } if (result <= 1) { result = Integer.MAX_VALUE; } return result; } public boolean useGuillemet() { final String value = getValue("guillemet"); if ("false".equalsIgnoreCase(value)) { return false; } return true; } public boolean handwritten() { final String value = getValue("handwritten"); if ("true".equalsIgnoreCase(value)) { return true; } return false; } public String getSvgLinkTarget() { final String value = getValue("svglinktarget"); if (value == null) { return "_top"; } return value; } public String getMonospacedFamily() { final String value = getValue("defaultMonospacedFontName"); if (value == null) { return CommandCreoleMonospaced.MONOSPACED; } return value; } public int getTabSize() { final String value = getValue("tabsize"); if (value != null && value.matches("\\d+")) { return Integer.parseInt(value); } return 8; } public int maxAsciiMessageLength() { final String value = getValue("maxasciimessagelength"); if (value != null && value.matches("\\d+")) { return Integer.parseInt(value); } return -1; } public int colorArrowSeparationSpace() { final String value = getValue("colorarrowseparationspace"); if (value != null && value.matches("\\d+")) { return Integer.parseInt(value); } return 0; } public SplitParam getSplitParam() { final String border = getValue("pageBorderColor"); final String external = getValue("pageExternalColor"); final String marginString = getValue("pageMargin"); int margin = 0; if (marginString != null && marginString.matches("\\d+")) { margin = Integer.parseInt(marginString); } return new SplitParam(getIHtmlColorSet().getColorIfValid(border), getIHtmlColorSet().getColorIfValid(external), margin); } public int swimlaneWidth() { final String value = getValue("swimlanewidth"); if ("same".equalsIgnoreCase(value)) { return SWIMLANE_WIDTH_SAME; } if (value != null && value.matches("\\d+")) { return Integer.parseInt(value); } return 0; } public UmlDiagramType getUmlDiagramType() { return type; } public HtmlColor getHoverPathColor() { final String value = getValue("pathhovercolor"); if (value == null) { return null; } return getIHtmlColorSet().getColorIfValid(value, false); } public double getPadding() { final String value = getValue("padding"); if (value != null && value.matches("\\d+(\\.\\d+)?")) { return Double.parseDouble(value); } return 0; } public double getPadding(PaddingParam param) { final String value = getValue(param.getSkinName()); if (value != null && value.matches("\\d+(\\.\\d+)?")) { return Double.parseDouble(value); } return 0; } public boolean useRankSame() { return false; } public boolean displayGenericWithOldFashion() { final String value = getValue("genericDisplay"); if ("old".equalsIgnoreCase(value)) { return true; } return false; } public boolean responseMessageBelowArrow() { final String value = getValue("responsemessagebelowarrow"); if ("true".equalsIgnoreCase(value)) { return true; } return false; } public TikzFontDistortion getTikzFontDistortion() { final String value = getValue("tikzFont"); return TikzFontDistortion.fromValue(value); } public boolean svgDimensionStyle() { final String value = getValue("svgdimensionstyle"); if ("false".equalsIgnoreCase(value)) { return false; } return true; } public boolean fixCircleLabelOverlapping() { final String value = getValue("fixcirclelabeloverlapping"); if ("true".equalsIgnoreCase(value)) { return true; } return false; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/SkinParamBackcolored.java000066400000000000000000000065051340005343600267060ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.util.EnumMap; import java.util.Map; import net.sourceforge.plantuml.cucadiagram.Stereotype; import net.sourceforge.plantuml.graphic.HtmlColor; public class SkinParamBackcolored extends SkinParamDelegator { final private HtmlColor backColorElement; final private HtmlColor backColorGeneral; final private boolean forceClickage; public SkinParamBackcolored(ISkinParam skinParam, HtmlColor backColorElement) { this(skinParam, backColorElement, null, false); } public SkinParamBackcolored(ISkinParam skinParam, HtmlColor backColorElement, boolean forceClickage) { this(skinParam, backColorElement, null, forceClickage); } public SkinParamBackcolored(ISkinParam skinParam, HtmlColor backColorElement, HtmlColor backColorGeneral) { this(skinParam, backColorElement, backColorGeneral, false); } @Override public String toString() { return super.toString() + " " + backColorElement + " " + backColorGeneral; } public SkinParamBackcolored(ISkinParam skinParam, HtmlColor backColorElement, HtmlColor backColorGeneral, boolean forceClickage) { super(skinParam); this.forceClickage = forceClickage; this.backColorElement = backColorElement; this.backColorGeneral = backColorGeneral; } @Override public HtmlColor getBackgroundColor() { if (backColorGeneral != null) { return backColorGeneral; } return super.getBackgroundColor(); } @Override public HtmlColor getHtmlColor(ColorParam param, Stereotype stereotype, boolean clickable) { if (param.isBackground() && backColorElement != null) { return backColorElement; } if (forceClickage) { final HtmlColor c1 = super.getHtmlColor(param, stereotype, true); if (c1 != null) { return c1; } // clickable = true; } final HtmlColor forcedColor = forced.get(param); if (forcedColor != null) { return forcedColor; } return super.getHtmlColor(param, stereotype, clickable); } private final Map forced = new EnumMap(ColorParam.class); public void forceColor(ColorParam param, HtmlColor color) { forced.put(param, color); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/SkinParamBackcoloredReference.java000066400000000000000000000044731340005343600305270ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import net.sourceforge.plantuml.cucadiagram.Stereotype; import net.sourceforge.plantuml.graphic.HtmlColor; public class SkinParamBackcoloredReference extends SkinParamDelegator { final private HtmlColor sequenceReferenceHeaderBackground; final private HtmlColor sequenceReferenceBackground; public SkinParamBackcoloredReference(ISkinParam skinParam, HtmlColor sequenceReferenceHeaderBackground, HtmlColor sequenceReferenceBackground) { super(skinParam); this.sequenceReferenceBackground = sequenceReferenceBackground; this.sequenceReferenceHeaderBackground = sequenceReferenceHeaderBackground; } @Override public HtmlColor getHtmlColor(ColorParam param, Stereotype stereotype, boolean clickable) { if (param == ColorParam.sequenceReferenceHeaderBackground && sequenceReferenceHeaderBackground != null) { return sequenceReferenceHeaderBackground; } if (param == ColorParam.sequenceReferenceBackground && sequenceReferenceBackground != null) { return sequenceReferenceBackground; } return super.getHtmlColor(param, stereotype, clickable); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/SkinParamColors.java000066400000000000000000000051111340005343600257270ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import net.sourceforge.plantuml.cucadiagram.Stereotype; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.color.ColorType; import net.sourceforge.plantuml.graphic.color.Colors; public class SkinParamColors extends SkinParamDelegator { final private Colors colors; public SkinParamColors(ISkinParam skinParam, Colors colors) { super(skinParam); this.colors = colors; } @Override public String toString() { return super.toString() + colors; } @Override public boolean shadowing(Stereotype stereotype) { if (colors.getShadowing() == null) { return super.shadowing(stereotype); } return colors.getShadowing(); } @Override public HtmlColor getFontHtmlColor(Stereotype stereotype, FontParam... param) { final HtmlColor value = colors.getColor(ColorType.TEXT); if (value == null) { return super.getFontHtmlColor(stereotype, param); } return value; } @Override public HtmlColor getHtmlColor(ColorParam param, Stereotype stereotype, boolean clickable) { final ColorType type = param.getColorType(); if (type == null) { return super.getHtmlColor(param, stereotype, clickable); } final HtmlColor value = colors.getColor(type); if (value != null) { return value; } assert value == null; return super.getHtmlColor(param, stereotype, clickable); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/SkinParamDelegator.java000066400000000000000000000176251340005343600264110ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import net.sourceforge.plantuml.cucadiagram.Rankdir; import net.sourceforge.plantuml.cucadiagram.Stereotype; import net.sourceforge.plantuml.cucadiagram.dot.DotSplines; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.IHtmlColorSet; import net.sourceforge.plantuml.graphic.SkinParameter; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.skin.ArrowDirection; import net.sourceforge.plantuml.svek.ConditionStyle; import net.sourceforge.plantuml.svek.PackageStyle; import net.sourceforge.plantuml.ugraphic.ColorMapper; import net.sourceforge.plantuml.ugraphic.UFont; import net.sourceforge.plantuml.ugraphic.UStroke; import net.sourceforge.plantuml.ugraphic.sprite.Sprite; public class SkinParamDelegator implements ISkinParam { final private ISkinParam skinParam; public SkinParamDelegator(ISkinParam skinParam) { this.skinParam = skinParam; } public HtmlColor getHyperlinkColor() { return skinParam.getHyperlinkColor(); } public HtmlColor getBackgroundColor() { return skinParam.getBackgroundColor(); } public int getCircledCharacterRadius() { return skinParam.getCircledCharacterRadius(); } public UFont getFont(Stereotype stereotype, boolean inPackageTitle, FontParam... fontParam) { return skinParam.getFont(stereotype, false, fontParam); } public HtmlColor getFontHtmlColor(Stereotype stereotype, FontParam... param) { return skinParam.getFontHtmlColor(stereotype, param); } public HtmlColor getHtmlColor(ColorParam param, Stereotype stereotype, boolean clickable) { return skinParam.getHtmlColor(param, stereotype, clickable); } public String getValue(String key) { return skinParam.getValue(key); } public int classAttributeIconSize() { return skinParam.classAttributeIconSize(); } public int getDpi() { return skinParam.getDpi(); } public DotSplines getDotSplines() { return skinParam.getDotSplines(); } public String getDotExecutable() { return skinParam.getDotExecutable(); } public HorizontalAlignment getHorizontalAlignment(AlignmentParam param, ArrowDirection arrowDirection, boolean isReverseDefine) { return skinParam.getHorizontalAlignment(param, arrowDirection, isReverseDefine); } public ColorMapper getColorMapper() { return skinParam.getColorMapper(); } public boolean shadowing(Stereotype stereotype) { return skinParam.shadowing(stereotype); } public boolean shadowing2(Stereotype stereotype, SkinParameter skinParameter) { return skinParam.shadowing2(stereotype, skinParameter); } public PackageStyle getPackageStyle() { return skinParam.getPackageStyle(); } public Sprite getSprite(String name) { return skinParam.getSprite(name); } public boolean useUml2ForComponent() { return skinParam.useUml2ForComponent(); } public boolean stereotypePositionTop() { return skinParam.stereotypePositionTop(); } public boolean useSwimlanes(UmlDiagramType type) { return skinParam.useSwimlanes(type); } public double getNodesep() { return skinParam.getNodesep(); } public double getRanksep() { return skinParam.getRanksep(); } public double getRoundCorner(CornerParam param, Stereotype stereotype) { return skinParam.getRoundCorner(param, stereotype); } public double getDiagonalCorner(CornerParam param, Stereotype stereotype) { return skinParam.getDiagonalCorner(param, stereotype); } public UStroke getThickness(LineParam param, Stereotype stereotype) { return skinParam.getThickness(param, stereotype); } public LineBreakStrategy maxMessageSize() { return skinParam.maxMessageSize(); } public LineBreakStrategy wrapWidth() { return skinParam.wrapWidth(); } public boolean strictUmlStyle() { return skinParam.strictUmlStyle(); } public boolean forceSequenceParticipantUnderlined() { return skinParam.forceSequenceParticipantUnderlined(); } public ConditionStyle getConditionStyle() { return skinParam.getConditionStyle(); } public double minClassWidth() { return skinParam.minClassWidth(); } public boolean sameClassWidth() { return skinParam.sameClassWidth(); } public Rankdir getRankdir() { return skinParam.getRankdir(); } public boolean useOctagonForActivity(Stereotype stereotype) { return skinParam.useOctagonForActivity(stereotype); } public IHtmlColorSet getIHtmlColorSet() { return skinParam.getIHtmlColorSet(); } public boolean useUnderlineForHyperlink() { return skinParam.useUnderlineForHyperlink(); } public HorizontalAlignment getDefaultTextAlignment(HorizontalAlignment defaultValue) { return skinParam.getDefaultTextAlignment(defaultValue); } public double getPadding() { return skinParam.getPadding(); } public int groupInheritance() { return skinParam.groupInheritance(); } public boolean useGuillemet() { return skinParam.useGuillemet(); } public boolean handwritten() { return skinParam.handwritten(); } public String getSvgLinkTarget() { return skinParam.getSvgLinkTarget(); } public String getMonospacedFamily() { return skinParam.getMonospacedFamily(); } public Colors getColors(ColorParam param, Stereotype stereotype) { return skinParam.getColors(param, stereotype); } public int getTabSize() { return skinParam.getTabSize(); } public boolean shadowingForNote(Stereotype stereotype) { return shadowingForNote(stereotype); } public int maxAsciiMessageLength() { return skinParam.maxAsciiMessageLength(); } public int colorArrowSeparationSpace() { return skinParam.colorArrowSeparationSpace(); } public SplitParam getSplitParam() { return skinParam.getSplitParam(); } public int swimlaneWidth() { return skinParam.swimlaneWidth(); } public UmlDiagramType getUmlDiagramType() { return skinParam.getUmlDiagramType(); } public HtmlColor getHoverPathColor() { return skinParam.getHoverPathColor(); } public double getPadding(PaddingParam param) { return skinParam.getPadding(param); } public boolean useRankSame() { return skinParam.useRankSame(); } public boolean displayGenericWithOldFashion() { return skinParam.displayGenericWithOldFashion(); } public TikzFontDistortion getTikzFontDistortion() { return skinParam.getTikzFontDistortion(); } public boolean responseMessageBelowArrow() { return skinParam.responseMessageBelowArrow(); } public boolean svgDimensionStyle() { return skinParam.svgDimensionStyle(); } public char getCircledCharacter(Stereotype stereotype) { return skinParam.getCircledCharacter(stereotype); } public LineBreakStrategy swimlaneWrapTitleWidth() { return skinParam.swimlaneWrapTitleWidth(); } public boolean fixCircleLabelOverlapping() { return skinParam.fixCircleLabelOverlapping(); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/SkinParamForceColor.java000066400000000000000000000036201340005343600265260ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import net.sourceforge.plantuml.cucadiagram.Stereotype; import net.sourceforge.plantuml.graphic.HtmlColor; public class SkinParamForceColor extends SkinParamDelegator { final private ColorParam colorParam;; final private HtmlColor color; public SkinParamForceColor(ISkinParam skinParam, ColorParam colorParam, HtmlColor color) { super(skinParam); this.color = color; this.colorParam = colorParam; } @Override public HtmlColor getHtmlColor(ColorParam param, Stereotype stereotype, boolean clickable) { if (colorParam == param) { return color; } // return color; return super.getHtmlColor(param, stereotype, clickable); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/SkinParamForecolored.java000066400000000000000000000033301340005343600267320ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import net.sourceforge.plantuml.cucadiagram.Stereotype; import net.sourceforge.plantuml.graphic.HtmlColor; public class SkinParamForecolored extends SkinParamDelegator { final private HtmlColor forecolor; public SkinParamForecolored(ISkinParam skinParam, HtmlColor forecolor) { super(skinParam); this.forecolor = forecolor; } @Override public HtmlColor getHtmlColor(ColorParam param, Stereotype stereotype, boolean clickable) { return forecolor; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/SkinParamSameClassWidth.java000066400000000000000000000030341340005343600273430ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public class SkinParamSameClassWidth extends SkinParamDelegator { final private double width; public SkinParamSameClassWidth(ISkinParam skinParam, double width) { super(skinParam); this.width = width; } @Override public double minClassWidth() { return width; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/SkinParamUtils.java000066400000000000000000000037761340005343600256050ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import net.sourceforge.plantuml.cucadiagram.Stereotype; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.skin.rose.Rose; import net.sourceforge.plantuml.ugraphic.UFont; public class SkinParamUtils { private static final Rose rose = new Rose(); public static UFont getFont(ISkinParam skinParam, FontParam fontParam, Stereotype stereo) { return skinParam.getFont(stereo, false, fontParam); } public static HtmlColor getFontColor(ISkinParam skinParam, FontParam fontParam, Stereotype stereo) { return skinParam.getFontHtmlColor(stereo, fontParam); } public static HtmlColor getColor(ISkinParam skinParam, ColorParam colorParam, Stereotype stereo) { return rose.getHtmlColor(skinParam, colorParam, stereo); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/SourceFileReader.java000066400000000000000000000127311340005343600260510ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.File; import java.io.IOException; import java.util.Collections; import java.util.List; import net.sourceforge.plantuml.preproc.Defines; import net.sourceforge.plantuml.preproc.FileWithSuffix; public class SourceFileReader extends SourceFileReaderAbstract implements ISourceFileReader { public SourceFileReader(File file) throws IOException { this(file, file.getAbsoluteFile().getParentFile()); } public SourceFileReader(File file, File outputDirectory, String charset) throws IOException { this(Defines.createWithFileName(file), file, outputDirectory, Collections. emptyList(), charset, new FileFormatOption(FileFormat.PNG)); } public SourceFileReader(final File file, File outputDirectory) throws IOException { this(Defines.createWithFileName(file), file, outputDirectory, Collections. emptyList(), null, new FileFormatOption(FileFormat.PNG)); } public SourceFileReader(final File file, File outputDirectory, FileFormatOption fileFormatOption) throws IOException { this(Defines.createWithFileName(file), file, outputDirectory, Collections. emptyList(), null, fileFormatOption); } public SourceFileReader(Defines defines, final File file, File outputDirectory, List config, String charset, FileFormatOption fileFormatOption) throws IOException { this.file = file; this.fileFormatOption = fileFormatOption; if (file.exists() == false) { throw new IllegalArgumentException(); } FileSystem.getInstance().setCurrentDir(file.getAbsoluteFile().getParentFile()); if (outputDirectory == null) { outputDirectory = file.getAbsoluteFile().getParentFile(); } else if (outputDirectory.isAbsolute() == false) { outputDirectory = FileSystem.getInstance().getFile(outputDirectory.getPath()); } if (outputDirectory.exists() == false) { outputDirectory.mkdirs(); } this.outputDirectory = outputDirectory; builder = new BlockUmlBuilder(config, charset, defines, getReader(charset), file.getAbsoluteFile() .getParentFile(), FileWithSuffix.getFileName(file)); } private File getDirIfDirectory(String newName) { Log.info("Checking=" + newName); if (endsWithSlashOrAntislash(newName)) { Log.info("It ends with / so it looks like a directory"); newName = newName.substring(0, newName.length() - 1); File f = new File(newName); Log.info("f=" + f); if (f.isAbsolute() == false) { Log.info("It's relative, so let's change it"); f = new File(outputDirectory, newName); Log.info("f=" + f); } if (f.exists() == false) { Log.info("It does not exist: let's create it"); try { f.mkdirs(); } catch (Exception e) { Log.info("Error " + e); } if (f.exists() && f.isDirectory()) { Log.info("Creation ok"); return f; } Log.info("We cannot create it"); } else if (f.isDirectory() == false) { Log.info("It exists, but is not a directory: we ignore it"); return null; } return f; } File f = new File(newName); Log.info("f=" + f); if (f.isAbsolute() == false) { Log.info("Relative, so let's change it"); f = new File(outputDirectory, newName); Log.info("f=" + f); } if (f.exists() && f.isDirectory()) { Log.info("It's an existing directory"); return f; } Log.info("It's not a directory"); return null; } @Override protected SuggestedFile getSuggestedFile(BlockUml blockUml) { final String newName = blockUml.getFileOrDirname(); SuggestedFile suggested = null; if (newName != null) { Log.info("name from block=" + newName); final File dir = getDirIfDirectory(newName); if (dir == null) { Log.info(newName + " is not taken as a directory"); suggested = SuggestedFile.fromOutputFile(new File(outputDirectory, newName), fileFormatOption.getFileFormat(), 0); } else { Log.info("We are going to create files in directory " + dir); suggested = SuggestedFile.fromOutputFile(new File(dir, file.getName()), fileFormatOption.getFileFormat(), 0); } Log.info("We are going to put data in " + suggested); } if (suggested == null) { suggested = SuggestedFile.fromOutputFile(new File(outputDirectory, file.getName()), fileFormatOption.getFileFormat(), cpt++); } suggested.getParentFile().mkdirs(); return suggested; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/SourceFileReader2.java000066400000000000000000000044711340005343600261350ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.File; import java.io.IOException; import java.util.List; import net.sourceforge.plantuml.preproc.Defines; import net.sourceforge.plantuml.preproc.FileWithSuffix; public class SourceFileReader2 extends SourceFileReaderAbstract implements ISourceFileReader { public SourceFileReader2(Defines defines, final File file, File outputFile, List config, String charset, FileFormatOption fileFormatOption) throws IOException { this.file = file; this.fileFormatOption = fileFormatOption; this.outputFile = outputFile; if (file.exists() == false) { throw new IllegalArgumentException(); } FileSystem.getInstance().setCurrentDir(file.getAbsoluteFile().getParentFile()); builder = new BlockUmlBuilder(config, charset, defines, getReader(charset), file.getAbsoluteFile() .getParentFile(), FileWithSuffix.getFileName(file)); } @Override protected SuggestedFile getSuggestedFile(BlockUml blockUml) { final SuggestedFile suggested = SuggestedFile.fromOutputFile(outputFile, fileFormatOption.getFileFormat()); return suggested; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/SourceFileReaderAbstract.java000066400000000000000000000130241340005343600275310ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintStream; import java.io.Reader; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Set; import net.sourceforge.plantuml.core.Diagram; import net.sourceforge.plantuml.preproc.FileWithSuffix; public abstract class SourceFileReaderAbstract { protected File file; protected File outputDirectory; protected File outputFile; protected BlockUmlBuilder builder; protected FileFormatOption fileFormatOption; private boolean checkMetadata; public void setCheckMetadata(boolean checkMetadata) { this.checkMetadata = checkMetadata; } public boolean hasError() { for (final BlockUml b : builder.getBlockUmls()) { if (b.getDiagram() instanceof PSystemError) { return true; } } return false; } public List getBlocks() { return builder.getBlockUmls(); } protected Reader getReader(String charset) throws FileNotFoundException, UnsupportedEncodingException { if (charset == null) { Log.info("Using default charset"); return new InputStreamReader(new FileInputStream(file)); } Log.info("Using charset " + charset); return new InputStreamReader(new FileInputStream(file), charset); } public final Set getIncludedFiles() { return builder.getIncludedFiles(); } public final void setFileFormatOption(FileFormatOption fileFormatOption) { this.fileFormatOption = fileFormatOption; } protected boolean endsWithSlashOrAntislash(String newName) { return newName.endsWith("/") || newName.endsWith("\\"); } private List getCrashedImage(BlockUml blockUml, Throwable t, File outputFile) throws IOException { final GeneratedImage image = new GeneratedImageImpl(outputFile, "Crash Error", blockUml, FileImageData.CRASH); OutputStream os = null; try { os = new BufferedOutputStream(new FileOutputStream(outputFile)); UmlDiagram.exportDiagramError(os, t, fileFormatOption, 42, null, blockUml.getFlashData(), UmlDiagram.getFailureText2(t, blockUml.getFlashData())); } finally { if (os != null) { os.close(); } } return Collections.singletonList(image); } protected void exportWarnOrErrIfWord(final File f, final Diagram system) throws FileNotFoundException { if (OptionFlags.getInstance().isWord()) { final String warnOrError = system.getWarningOrError(); if (warnOrError != null) { final String name = f.getName().substring(0, f.getName().length() - 4) + ".err"; final File errorFile = new File(f.getParentFile(), name); final PrintStream ps = new PrintStream(new FileOutputStream(errorFile)); ps.print(warnOrError); ps.close(); } } } protected int cpt; final public List getGeneratedImages() throws IOException { Log.info("Reading file: " + file); cpt = 0; final List result = new ArrayList(); for (BlockUml blockUml : builder.getBlockUmls()) { final SuggestedFile suggested = getSuggestedFile(blockUml); final Diagram system; try { system = blockUml.getDiagram(); } catch (Throwable t) { return getCrashedImage(blockUml, t, suggested.getFile(0)); } if (OptionFlags.getInstance().isSilentlyCompletelyIgnoreErrors() && system instanceof PSystemError) { continue; } OptionFlags.getInstance().logData(file, system); final List exportDiagrams = PSystemUtils.exportDiagrams(system, suggested, fileFormatOption, checkMetadata); if (exportDiagrams.size() > 1) { cpt += exportDiagrams.size() - 1; } for (FileImageData fdata : exportDiagrams) { final String desc = "[" + file.getName() + "] " + system.getDescription(); final File f = fdata.getFile(); exportWarnOrErrIfWord(f, system); final GeneratedImage generatedImage = new GeneratedImageImpl(f, desc, blockUml, fdata.getStatus()); result.add(generatedImage); } } Log.info("Number of image(s): " + result.size()); return Collections.unmodifiableList(result); } abstract protected SuggestedFile getSuggestedFile(BlockUml blockUml); } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/SourceStringReader.java000066400000000000000000000172561340005343600264470ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.StringReader; import java.util.Arrays; import java.util.Collections; import java.util.List; import net.sourceforge.plantuml.core.Diagram; import net.sourceforge.plantuml.core.DiagramDescription; import net.sourceforge.plantuml.core.ImageData; import net.sourceforge.plantuml.graphic.GraphicStrings; import net.sourceforge.plantuml.preproc.Defines; import net.sourceforge.plantuml.svek.TextBlockBackcolored; import net.sourceforge.plantuml.ugraphic.ColorMapperIdentity; import net.sourceforge.plantuml.ugraphic.ImageBuilder; public class SourceStringReader { final private List blocks; public SourceStringReader(String source) { this(Defines.createEmpty(), source, Collections. emptyList()); } public SourceStringReader(String source, String charset) { this(Defines.createEmpty(), source, "UTF-8", Collections. emptyList()); } public SourceStringReader(Defines defines, String source, List config) { this(defines, source, "UTF-8", config); } public SourceStringReader(String source, File newCurrentDir) { this(Defines.createEmpty(), source, "UTF-8", Collections. emptyList(), newCurrentDir); } public SourceStringReader(Defines defines, String source, String charset, List config) { this(defines, source, charset, config, FileSystem.getInstance().getCurrentDir()); } public SourceStringReader(Defines defines, String source, String charset, List config, File newCurrentDir) { // // WARNING GLOBAL LOCK HERE // synchronized (SourceStringReader.class) { try { final BlockUmlBuilder builder = new BlockUmlBuilder(config, charset, defines, new StringReader(source), newCurrentDir, "string"); this.blocks = builder.getBlockUmls(); } catch (IOException e) { Log.error("error " + e); throw new IllegalStateException(e); } // } } @Deprecated public String generateImage(OutputStream os) throws IOException { return outputImage(os).getDescription(); } public DiagramDescription outputImage(OutputStream os) throws IOException { return outputImage(os, 0); } @Deprecated public String generateImage(File f) throws IOException { return outputImage(f).getDescription(); } public DiagramDescription outputImage(File f) throws IOException { final OutputStream os = new BufferedOutputStream(new FileOutputStream(f)); DiagramDescription result = null; try { result = outputImage(os, 0); } finally { os.close(); } return result; } @Deprecated public String generateImage(OutputStream os, FileFormatOption fileFormatOption) throws IOException { return outputImage(os, fileFormatOption).getDescription(); } public DiagramDescription outputImage(OutputStream os, FileFormatOption fileFormatOption) throws IOException { return outputImage(os, 0, fileFormatOption); } @Deprecated public String generateImage(OutputStream os, int numImage) throws IOException { return outputImage(os, numImage).getDescription(); } public DiagramDescription outputImage(OutputStream os, int numImage) throws IOException { return outputImage(os, numImage, new FileFormatOption(FileFormat.PNG)); } @Deprecated public String generateImage(OutputStream os, int numImage, FileFormatOption fileFormatOption) throws IOException { return outputImage(os, numImage, fileFormatOption).getDescription(); } public DiagramDescription outputImage(OutputStream os, int numImage, FileFormatOption fileFormatOption) throws IOException { if (blocks.size() == 0) { noStartumlFound(os, fileFormatOption, 42); return null; } for (BlockUml b : blocks) { final Diagram system = b.getDiagram(); final int nbInSystem = system.getNbImages(); if (numImage < nbInSystem) { // final CMapData cmap = new CMapData(); final ImageData imageData = system.exportDiagram(os, numImage, fileFormatOption); // if (imageData.containsCMapData()) { // return system.getDescription().getDescription() + BackSlash.BS_N + imageData.getCMapData("plantuml"); // } return system.getDescription(); } numImage -= nbInSystem; } Log.error("numImage is too big = " + numImage); return null; } public DiagramDescription generateDiagramDescription(int numImage, FileFormatOption fileFormatOption) { if (blocks.size() == 0) { return null; } for (BlockUml b : blocks) { final Diagram system = b.getDiagram(); final int nbInSystem = system.getNbImages(); if (numImage < nbInSystem) { // final ImageData imageData = system.exportDiagram(os, numImage, fileFormatOption); // if (imageData.containsCMapData()) { // return system.getDescription().withCMapData(imageData.getCMapData("plantuml")); // } return system.getDescription(); } numImage -= nbInSystem; } Log.error("numImage is too big = " + numImage); return null; } public DiagramDescription generateDiagramDescription() { return generateDiagramDescription(0); } public DiagramDescription generateDiagramDescription(FileFormatOption fileFormatOption) { return generateDiagramDescription(0, fileFormatOption); } public DiagramDescription generateDiagramDescription(int numImage) { return generateDiagramDescription(numImage, new FileFormatOption(FileFormat.PNG)); } public String getCMapData(int numImage, FileFormatOption fileFormatOption) throws IOException { if (blocks.size() == 0) { return null; } for (BlockUml b : blocks) { final Diagram system = b.getDiagram(); final int nbInSystem = system.getNbImages(); if (numImage < nbInSystem) { final ImageData imageData = system.exportDiagram(new NullOutputStream(), numImage, fileFormatOption); if (imageData.containsCMapData()) { return imageData.getCMapData("plantuml"); } return null; } numImage -= nbInSystem; } return null; } private void noStartumlFound(OutputStream os, FileFormatOption fileFormatOption, long seed) throws IOException { final TextBlockBackcolored error = GraphicStrings.createForError(Arrays.asList("No @startuml found"), fileFormatOption.isUseRedForError()); final ImageBuilder imageBuilder = new ImageBuilder(new ColorMapperIdentity(), 1.0, error.getBackcolor(), null, null, 0, 0, null, false); imageBuilder.setUDrawable(error); imageBuilder.writeImageTOBEMOVED(fileFormatOption, seed, os); } public final List getBlocks() { return Collections.unmodifiableList(blocks); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/SpecificBackcolorable.java000066400000000000000000000030211340005343600270470ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import net.sourceforge.plantuml.graphic.color.Colors; public interface SpecificBackcolorable { public Colors getColors(ISkinParam skinParam); // public void setSpecificColorTOBEREMOVED(ColorType type, HtmlColor color); public void setColors(Colors colors); }plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/Splash.java000066400000000000000000000162141340005343600241200ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.awt.Color; import java.awt.Cursor; import java.awt.Desktop; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics; import java.awt.Toolkit; import java.awt.Window; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.net.URL; import java.util.concurrent.atomic.AtomicInteger; import net.sourceforge.plantuml.version.PSystemVersion; public class Splash extends Window implements MouseListener, MouseMotionListener { private static final Color LINK_NORMAL = Color.BLUE; private static final Color LINK_HOVER = new Color(127, 0, 127); private static Splash singleton; private final int width = 280; private final int height = 80; private final BufferedImage logo; private final AtomicInteger total = new AtomicInteger(); private final AtomicInteger done = new AtomicInteger(); private final AtomicInteger errors = new AtomicInteger(); private final Font font = new Font("SansSerif", Font.BOLD, 12); public static void main(String[] args) throws Exception { Splash.createSplash(); Splash.incTotal(30); for (int i = 0; i < 20; i++) { Splash.incDone(i > 3); Thread.sleep(1000); } } private Splash() { super(null); this.logo = PSystemVersion.getPlantumlImage(); final Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize(); final int x = (int) ((dimension.getWidth() - width)) / 2; final int y = (int) ((dimension.getHeight() - height)) / 2; this.setBounds(x, y, width, height); this.setVisible(true); this.setAlwaysOnTop(true); this.setFocusable(false); this.setFocusableWindowState(false); addMouseListener(this); addMouseMotionListener(this); } private int xClicked; private int yClicked; private int limY; private int limX; public void mouseDragged(MouseEvent event) { int x = event.getXOnScreen(); int y = event.getYOnScreen(); this.setBounds(x - xClicked, y - yClicked, width, height); } private Color link = LINK_NORMAL; public void mouseMoved(MouseEvent event) { if (event.getY() > limY && event.getX() < limX) { updateLinkColor(LINK_HOVER); } else { updateLinkColor(LINK_NORMAL); } } private void updateLinkColor(final Color newLink) { if (link != newLink) { link = newLink; this.setCursor(link == LINK_NORMAL ? Cursor.getDefaultCursor() : Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); repaint(); } } public void mouseReleased(MouseEvent event) { // System.err.println("mouseReleased " + event); } public void mousePressed(MouseEvent event) { this.xClicked = event.getX(); this.yClicked = event.getY(); } public void mouseClicked(MouseEvent event) { if (link != LINK_NORMAL) { try { Desktop.getDesktop().browse(new URL("http://plantuml.com").toURI()); } catch (Exception e) { e.printStackTrace(); } return; } this.xClicked = event.getX(); this.yClicked = event.getY(); } public void mouseExited(MouseEvent event) { updateLinkColor(LINK_NORMAL); } public void mouseEntered(MouseEvent event) { // System.err.println("mouseEntered " + event); } private void incTotalInternal(int nb) { this.total.addAndGet(nb); // invalidate(); repaint(); // System.err.println("INC TOTAL=" + done + "/" + total); } private void incDoneInternal(boolean error) { this.done.incrementAndGet(); if (error) { this.errors.incrementAndGet(); } // invalidate(); repaint(); // System.err.println("INC TOTAL=" + done + "/" + total); } @Override public void paint(Graphics g) { super.paint(g); g.setColor(Color.WHITE); g.fillRect(0, 0, width, height); g.setColor(Color.BLACK); g.drawRect(0, 0, width - 1, height - 1); g.drawRect(1, 1, width - 3, height - 3); // g.setColor(Color.RED); // final String status = done + "/" + total; // g.drawString(status, width / 2, height / 2); g.drawImage(logo, width - logo.getWidth() - 4, height - logo.getHeight() - 4, null); drawProgessBar(g, done.intValue(), total.intValue()); final int nbErrors = errors.get(); if (nbErrors > 0) { g.setColor(Color.RED); final String message = "" + nbErrors + (nbErrors > 1 ? " diagrams" : " diagram") + " contains errors"; g.drawString(message, 10, 20); } g.setColor(link); final String urllink = "http://plantuml.com"; final Rectangle2D rect = getUsed(g, urllink); g.drawString(urllink, 10, (int) (height - rect.getMaxY())); limY = (int) (height - rect.getMaxY() + rect.getMinY()); limX = (int) (10 + rect.getMaxX()); } private void drawProgessBar(Graphics g, int intValue, int totalValue) { if (totalValue == 0) { return; } g.setFont(font); final String label = "" + intValue + "/" + totalValue; final Rectangle2D rect = getUsed(g, label); final int x = 10; final int y = 33; final int barWidth = 170; final int barHeight = (int) (rect.getHeight() + 2); final int grey = 230; g.setColor(new Color(grey, grey, grey)); final int value = barWidth * intValue / totalValue; g.fillRect(x, y, value, barHeight); g.setColor(Color.BLACK); g.drawRect(x, y, barWidth, barHeight); final double xLabel = x + (barWidth - rect.getWidth()) / 2; final double yLabel = y - rect.getY() + (barHeight - rect.getHeight()) / 2; g.drawString(label, (int) xLabel, (int) yLabel); } private Rectangle2D getUsed(Graphics g, final String label) { return g.getFontMetrics().getStringBounds(label, g); } // Static public synchronized static void createSplash() { if (singleton == null) { singleton = new Splash(); } } public static void incTotal(int nb) { if (singleton != null) { singleton.incTotalInternal(nb); } } public static void incDone(boolean error) { if (singleton != null) { singleton.incDoneInternal(error); } } public synchronized static void disposeSplash() { if (singleton != null) { singleton.setVisible(false); singleton.dispose(); singleton = null; } } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/SplitParam.java000066400000000000000000000044021340005343600247360ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.awt.Color; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.HtmlColorSimple; public class SplitParam { private final HtmlColor borderColor; private final HtmlColor externalColor; private final int externalMargin; public SplitParam() { this(null, null, 0); } public SplitParam(HtmlColor borderColor, HtmlColor externalColor, int externalMargin) { if (borderColor != null && externalMargin == 0) { externalMargin = 1; } this.borderColor = borderColor; this.externalColor = externalColor; this.externalMargin = externalMargin; } public boolean isSet() { return externalMargin > 0; } public int getExternalMargin() { return externalMargin; } public Color getBorderColor() { if (borderColor == null) { return null; } return ((HtmlColorSimple) borderColor).getColor999(); } public Color getExternalColor() { if (externalColor == null) { return null; } return ((HtmlColorSimple) externalColor).getColor999(); } }plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/SpriteContainer.java000066400000000000000000000026541340005343600260020ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import net.sourceforge.plantuml.ugraphic.sprite.Sprite; public interface SpriteContainer { public Sprite getSprite(String name); public boolean useGuillemet(); }plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/SpriteContainerEmpty.java000066400000000000000000000045721340005343600270220ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import net.sourceforge.plantuml.creole.CommandCreoleMonospaced; import net.sourceforge.plantuml.graphic.HtmlColorSetSimple; import net.sourceforge.plantuml.graphic.IHtmlColorSet; import net.sourceforge.plantuml.ugraphic.ColorMapper; import net.sourceforge.plantuml.ugraphic.ColorMapperIdentity; import net.sourceforge.plantuml.ugraphic.sprite.Sprite; import net.sourceforge.plantuml.ugraphic.sprite.SpriteImage; public class SpriteContainerEmpty implements SpriteContainer, ISkinSimple { public Sprite getSprite(String name) { return SpriteImage.fromInternal(name); } public String getValue(String key) { return null; } public double getPadding() { return 0; } public boolean useGuillemet() { return false; } public String getMonospacedFamily() { return CommandCreoleMonospaced.MONOSPACED; } public int getTabSize() { return 8; } public IHtmlColorSet getIHtmlColorSet() { return new HtmlColorSetSimple(); } public int getDpi() { return 96; } public LineBreakStrategy wrapWidth() { return LineBreakStrategy.NONE; } public ColorMapper getColorMapper() { return new ColorMapperIdentity(); } }plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/StringUtils.java000066400000000000000000000327521340005343600251620ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.awt.Color; import java.io.File; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; import net.sourceforge.plantuml.asciiart.Wcwidth; import net.sourceforge.plantuml.command.regex.Matcher2; import net.sourceforge.plantuml.command.regex.MyPattern; import net.sourceforge.plantuml.command.regex.Pattern2; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.HtmlColorTransparent; import net.sourceforge.plantuml.ugraphic.ColorMapper; // Do not move public class StringUtils { public static String getPlateformDependentAbsolutePath(File file) { return file.getAbsolutePath(); } final static public List getSplit(Pattern2 pattern, String line) { final Matcher2 m = pattern.matcher(line); if (m.find() == false) { return null; } final List result = new ArrayList(); for (int i = 1; i <= m.groupCount(); i++) { result.add(m.group(i)); } return result; } public static boolean isNotEmpty(String input) { return input != null && trin(input).length() > 0; } public static boolean isNotEmpty(List input) { return input != null && input.size() > 0; } public static boolean isEmpty(String input) { return input == null || trin(input).length() == 0; } public static String manageHtml(String s) { s = s.replace("<", "<"); s = s.replace(">", ">"); return s; } public static String unicode(String s) { final StringBuilder result = new StringBuilder(); for (char c : s.toCharArray()) { if (c > 127 || c == '&' || c == '|') { final int i = c; result.append("&#" + i + ";"); } else { result.append(c); } } return result.toString(); } public static String unicodeForHtml(String s) { final StringBuilder result = new StringBuilder(); for (char c : s.toCharArray()) { if (c > 127 || c == '&' || c == '|' || c == '<' || c == '>') { final int i = c; result.append("&#" + i + ";"); } else { result.append(c); } } return result.toString(); } public static String unicodeForHtml(Display display) { final StringBuilder result = new StringBuilder(); for (int i = 0; i < display.size(); i++) { result.append(unicodeForHtml(display.get(i).toString())); if (i < display.size() - 1) { result.append("
"); } } return result.toString(); } public static String manageArrowForSequence(String s) { s = s.replace('=', '-').toLowerCase(); return s; } public static String capitalize(String s) { return s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase(); } public static String goUpperCase(String s) { return s.toUpperCase(Locale.ENGLISH); } public static char goUpperCase(char c) { return goUpperCase("" + c).charAt(0); } public static String goLowerCase(String s) { return s.toLowerCase(Locale.ENGLISH); } public static char goLowerCase(char c) { return goLowerCase("" + c).charAt(0); } public static String manageArrowForCuca(String s) { final Direction dir = getArrowDirection(s); s = s.replace('=', '-'); s = s.replaceAll("\\w*", ""); if (dir == Direction.LEFT || dir == Direction.RIGHT) { s = s.replaceAll("-+", "-"); } if (s.length() == 2 && (dir == Direction.UP || dir == Direction.DOWN)) { s = s.replaceFirst("-", "--"); } return s; } public static String manageQueueForCuca(String s) { final Direction dir = getQueueDirection(s); s = s.replace('=', '-'); s = s.replaceAll("\\w*", ""); if (dir == Direction.LEFT || dir == Direction.RIGHT) { s = s.replaceAll("-+", "-"); } if (s.length() == 1 && (dir == Direction.UP || dir == Direction.DOWN)) { s = s.replaceFirst("-", "--"); } return s; } public static Direction getArrowDirection(String s) { if (s.endsWith(">")) { return getQueueDirection(s.substring(0, s.length() - 1)); } if (s.startsWith("<")) { if (s.length() == 2) { return Direction.LEFT; } return Direction.UP; } throw new IllegalArgumentException(s); } public static Direction getQueueDirection(String s) { if (s.indexOf('<') != -1 || s.indexOf('>') != -1) { throw new IllegalArgumentException(s); } s = s.toLowerCase(); if (s.contains("left")) { return Direction.LEFT; } if (s.contains("right")) { return Direction.RIGHT; } if (s.contains("up")) { return Direction.UP; } if (s.contains("down")) { return Direction.DOWN; } if (s.contains("l")) { return Direction.LEFT; } if (s.contains("r")) { return Direction.RIGHT; } if (s.contains("u")) { return Direction.UP; } if (s.contains("d")) { return Direction.DOWN; } if (s.length() == 1) { return Direction.RIGHT; } return Direction.DOWN; } // public static Code eventuallyRemoveStartingAndEndingDoubleQuote(Code s) { // return Code.of(eventuallyRemoveStartingAndEndingDoubleQuote(s.getCode())); // } public static String eventuallyRemoveStartingAndEndingDoubleQuote(String s, String format) { if (format.contains("\"") && s.length() > 1 && isDoubleQuote(s.charAt(0)) && isDoubleQuote(s.charAt(s.length() - 1))) { return s.substring(1, s.length() - 1); } if (format.contains("(") && s.startsWith("(") && s.endsWith(")")) { return s.substring(1, s.length() - 1); } if (format.contains("[") && s.startsWith("[") && s.endsWith("]")) { return s.substring(1, s.length() - 1); } if (format.contains(":") && s.startsWith(":") && s.endsWith(":")) { return s.substring(1, s.length() - 1); } return s; } public static String eventuallyRemoveStartingAndEndingDoubleQuote(String s) { if (s == null) { return s; } return eventuallyRemoveStartingAndEndingDoubleQuote(s, "\"([:"); } private static boolean isDoubleQuote(char c) { return c == '\"' || c == '\u201c' || c == '\u201d' || c == '\u00ab' || c == '\u00bb'; } public static boolean isCJK(char c) { final Character.UnicodeBlock block = Character.UnicodeBlock.of(c); Log.println("block=" + block); return false; } public static char hiddenLesserThan() { return '\u0005'; } public static char hiddenBiggerThan() { return '\u0006'; } public static String hideComparatorCharacters(String s) { s = s.replace('<', hiddenLesserThan()); s = s.replace('>', hiddenBiggerThan()); return s; } public static String showComparatorCharacters(String s) { s = s.replace(hiddenLesserThan(), '<'); s = s.replace(hiddenBiggerThan(), '>'); return s; } private static int getWidth(Display stringsToDisplay) { int result = 1; for (CharSequence s : stringsToDisplay) { if (s != null && result < s.length()) { result = s.length(); } } return result; } public static int getWcWidth(Display stringsToDisplay) { int result = 1; for (CharSequence s : stringsToDisplay) { if (s == null) { continue; } final int length = Wcwidth.length(s); if (result < length) { result = length; } } return result; } public static int getHeight(List stringsToDisplay) { return stringsToDisplay.size(); } public static int getHeight(Display stringsToDisplay) { return stringsToDisplay.size(); } public static boolean isDiagramCacheable(String uml) { uml = uml.toLowerCase(); if (uml.startsWith("@startuml\nversion\n")) { return false; } if (uml.startsWith("@startuml\nlicense\n")) { return false; } if (uml.startsWith("@startuml\nlicence\n")) { return false; } if (uml.startsWith("@startuml\nauthor\n")) { return false; } if (uml.startsWith("@startuml\ncheckversion")) { return false; } if (uml.startsWith("@startuml\ntestdot\n")) { return false; } if (uml.startsWith("@startuml\nsudoku\n")) { return false; } return true; } public static int getPragmaRevision(String uml) { uml = uml.toLowerCase(); final String header = "@startuml\n!pragma revision "; if (uml.startsWith(header) == false) { return -1; } int x1 = header.length(); int x2 = x1; while (x2 < uml.length() && Character.isDigit(uml.charAt(x2))) { x2++; } if (x1 == x2) { return -1; } return Integer.parseInt(uml.substring(x1, x2)); } public static List splitComma(String s) { s = trin(s); // if (s.matches("([\\p{L}0-9_.]+|[%g][^%g]+[%g])(\\s*,\\s*([\\p{L}0-9_.]+|[%g][^%g]+[%g]))*") == false) { // throw new IllegalArgumentException(); // } final List result = new ArrayList(); final Pattern2 p = MyPattern.cmpile("([\\p{L}0-9_.]+|[%g][^%g]+[%g])"); final Matcher2 m = p.matcher(s); while (m.find()) { result.add(eventuallyRemoveStartingAndEndingDoubleQuote(m.group(0))); } return Collections.unmodifiableList(result); } public static String getAsHtml(Color color) { if (color == null) { return null; } return getAsHtml(color.getRGB()); } public static String getAsSvg(ColorMapper mapper, HtmlColor color) { if (color == null) { return "none"; } if (color instanceof HtmlColorTransparent) { return "#FFFFFF"; } return getAsHtml(mapper.getMappedColor(color)); } public static String getAsHtml(int color) { final int v = 0xFFFFFF & color; String s = "000000" + Integer.toHexString(v).toUpperCase(); s = s.substring(s.length() - 6); return "#" + s; } public static String getUid(String uid1, int uid2) { return uid1 + String.format("%04d", uid2); } public static List merge(List l1, List l2) { final List result = new ArrayList(l1); result.addAll(l2); return Collections.unmodifiableList(result); } public static boolean endsWithBackslash(final String s) { return s.endsWith("\\") && s.endsWith("\\\\") == false; } public static String manageGuillemetStrict(String st) { if (st.startsWith("<< ")) { st = "\u00AB" + st.substring(3); } else if (st.startsWith("<<")) { st = "\u00AB" + st.substring(2); } if (st.endsWith(" >>")) { st = st.substring(0, st.length() - 3) + "\u00BB"; } else if (st.endsWith(">>")) { st = st.substring(0, st.length() - 2) + "\u00BB"; } return st; } public static String rot(String s) { final StringBuilder sb = new StringBuilder(); for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if ((c >= 'a' && c <= 'm') || (c >= 'A' && c <= 'M')) { c += 13; } else if ((c >= 'n' && c <= 'z') || (c >= 'N' && c <= 'Z')) { c -= 13; } else if (c > 126) { throw new IllegalArgumentException(s); } sb.append(c); } return sb.toString(); } public static String manageGuillemet(String st) { return st.replaceAll("\\<\\<\\s?((?:\\<&\\w+\\>|[^<>])+?)\\s?\\>\\>", "\u00AB$1\u00BB"); } public static String manageUnicodeNotationUplus(String s) { final Pattern pattern = Pattern.compile("\\"); final Matcher matcher = pattern.matcher(s); final StringBuffer result = new StringBuffer(); while (matcher.find()) { final String num = matcher.group(1); final int value = Integer.parseInt(num, 16); matcher.appendReplacement(result, new String(Character.toChars(value))); } matcher.appendTail(result); return result.toString(); } public static String manageAmpDiese(String s) { final Pattern pattern = Pattern.compile("\\&#([0-9]+);"); final Matcher matcher = pattern.matcher(s); final StringBuffer result = new StringBuffer(); while (matcher.find()) { final String num = matcher.group(1); final char c = (char) Integer.parseInt(num); matcher.appendReplacement(result, "" + c); } matcher.appendTail(result); return result.toString(); } public static String manageTildeArobaseStart(String s) { s = s.replaceAll("~@start", "@start"); return s; } public static String trinNoTrace(CharSequence s) { return s.toString().trim(); } public static String trin(CharSequence arg) { if (arg.length() == 0) { return arg.toString(); } int i = 0; while (i < arg.length() && isSpaceOrTabOrNull(arg.charAt(i))) { i++; } int j = arg.length() - 1; while (j >= i && isSpaceOrTabOrNull(arg.charAt(j))) { j--; } if (i == 0 && j == arg.length() - 1) { return arg.toString(); } return arg.subSequence(i, j + 1).toString(); } private static boolean isSpaceOrTabOrNull(char c) { return c == ' ' || c == '\t' || c == '\r' || c == '\n' || c == '\0'; } // http://docs.oracle.com/javase/tutorial/i18n/format/dateFormat.html } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/SuggestedFile.java000066400000000000000000000051631340005343600254210ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.io.File; public class SuggestedFile { private final FileFormat fileFormat; private final int initialCpt; private final File outputFile; private SuggestedFile(File outputFile, FileFormat fileFormat, int initialCpt) { if (outputFile.getName().endsWith(fileFormat.getFileSuffix())) { throw new IllegalArgumentException(); } this.outputFile = outputFile; this.fileFormat = fileFormat; this.initialCpt = initialCpt; } public SuggestedFile withPreprocFormat() { return new SuggestedFile(outputFile, FileFormat.PREPROC, initialCpt); } @Override public String toString() { return outputFile.getAbsolutePath() + "[" + initialCpt + "]"; } public static SuggestedFile fromOutputFile(File outputFile, FileFormat fileFormat) { return fromOutputFile(outputFile, fileFormat, 0); } public File getParentFile() { return outputFile.getParentFile(); } public String getName() { return outputFile.getName(); } public File getFile(int cpt) { final String newName = fileFormat.changeName(outputFile.getName(), initialCpt + cpt); return new File(outputFile.getParentFile(), newName); } public static SuggestedFile fromOutputFile(File outputFile, FileFormat fileFormat, int initialCpt) { return new SuggestedFile(outputFile, fileFormat, initialCpt); } public File getTmpFile() { return new File(getParentFile(), getName() + ".tmp"); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/SvgString.java000066400000000000000000000044071340005343600246150ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.util.regex.Matcher; import java.util.regex.Pattern; public class SvgString { private final String svg; private final double scale; public SvgString(String svg, double scale) { this.svg = svg; this.scale = scale; } public String getSvg(boolean raw) { String result = svg; if (raw) { return result; } if (result.startsWith(""); result = "" + result.substring(idx + 1); } if (result.startsWith("") == false) { throw new IllegalArgumentException(); } return result; } public int getData(String name) { final Pattern p = Pattern.compile("(?i)" + name + "\\W+(\\d+)"); final Matcher m = p.matcher(svg); if (m.find()) { final String s = m.group(1); return Integer.parseInt(s); } throw new IllegalStateException("Cannot find " + name); } public double getScale() { return scale; } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/TikzFontDistortion.java��������������������������0000664�0000000�0000000�00000004542�13400053436�0026516�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.util.StringTokenizer; public class TikzFontDistortion { private final double magnify; private final double distortion; private TikzFontDistortion(double magnify, double distortion) { this.magnify = magnify; this.distortion = distortion; } @Override public String toString() { return "" + magnify + ";" + distortion; } public static TikzFontDistortion fromValue(String value) { if (value == null) { return getDefault(); } final StringTokenizer st = new StringTokenizer(value, ";"); if (st.hasMoreElements() == false) { return getDefault(); } final String v1 = st.nextToken(); if (st.hasMoreElements() == false) { return getDefault(); } final String v2 = st.nextToken(); if (v1.matches("[\\d.]+") && v2.matches("[-\\d.]+")) { return new TikzFontDistortion(Double.parseDouble(v1), Double.parseDouble(v2)); } return getDefault(); } public static TikzFontDistortion getDefault() { return new TikzFontDistortion(1.20, 4.0); } public final double getMagnify() { return magnify; } public final double getDistortion() { return distortion; } }��������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/UmlDiagram.java����������������������������������0000664�0000000�0000000�00000034702�13400053436�0024712�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.awt.Color; import java.awt.geom.AffineTransform; import java.awt.geom.Dimension2D; import java.awt.image.BufferedImage; import java.io.BufferedOutputStream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.PrintWriter; import java.util.List; import javax.imageio.ImageIO; import javax.script.ScriptException; import net.sourceforge.plantuml.anim.Animation; import net.sourceforge.plantuml.anim.AnimationDecoder; import net.sourceforge.plantuml.api.ImageDataSimple; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.core.Diagram; import net.sourceforge.plantuml.core.ImageData; import net.sourceforge.plantuml.core.UmlSource; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.cucadiagram.DisplayPositionned; import net.sourceforge.plantuml.cucadiagram.DisplaySection; import net.sourceforge.plantuml.cucadiagram.UnparsableGraphvizException; import net.sourceforge.plantuml.flashcode.FlashCodeFactory; import net.sourceforge.plantuml.flashcode.FlashCodeUtils; import net.sourceforge.plantuml.fun.IconLoader; import net.sourceforge.plantuml.graphic.GraphicPosition; import net.sourceforge.plantuml.graphic.GraphicStrings; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.HtmlColorUtils; import net.sourceforge.plantuml.graphic.UDrawable; import net.sourceforge.plantuml.graphic.VerticalAlignment; import net.sourceforge.plantuml.mjpeg.MJPEGGenerator; import net.sourceforge.plantuml.pdf.PdfConverter; import net.sourceforge.plantuml.svek.EmptySvgException; import net.sourceforge.plantuml.svek.GraphvizCrash; import net.sourceforge.plantuml.svek.TextBlockBackcolored; import net.sourceforge.plantuml.ugraphic.ColorMapperIdentity; import net.sourceforge.plantuml.ugraphic.ImageBuilder; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UImage; import net.sourceforge.plantuml.ugraphic.UTranslate; import net.sourceforge.plantuml.ugraphic.sprite.Sprite; import net.sourceforge.plantuml.version.Version; public abstract class UmlDiagram extends AbstractPSystem implements Diagram, Annotated, WithSprite { private boolean rotation; private boolean hideUnlinkedData; private int minwidth = Integer.MAX_VALUE; private DisplayPositionned title = DisplayPositionned.none(HorizontalAlignment.CENTER, VerticalAlignment.TOP); private DisplayPositionned caption = DisplayPositionned.none(HorizontalAlignment.CENTER, VerticalAlignment.BOTTOM); private DisplayPositionned legend = DisplayPositionned.none(HorizontalAlignment.CENTER, VerticalAlignment.BOTTOM); private final DisplaySection header = DisplaySection.none(); private final DisplaySection footer = DisplaySection.none(); private Display mainFrame; private final Pragma pragma = new Pragma(); private Animation animation; private final SkinParam skinParam = SkinParam.create(getUmlDiagramType()); final public void setTitle(DisplayPositionned title) { if (title.isNull() || title.getDisplay().isWhite()) { return; } this.title = title; } final public void setMainFrame(Display mainFrame) { this.mainFrame = mainFrame; } final public void setCaption(DisplayPositionned caption) { this.caption = caption; } final public DisplayPositionned getCaption() { return caption; } @Override final public DisplayPositionned getTitle() { return title; } final public int getMinwidth() { return minwidth; } final public void setMinwidth(int minwidth) { this.minwidth = minwidth; } final public boolean isRotation() { return rotation; } final public void setRotation(boolean rotation) { this.rotation = rotation; } public final ISkinParam getSkinParam() { return skinParam; } public void setParam(String key, String value) { skinParam.setParam(StringUtils.goLowerCase(key), value); } public final DisplaySection getHeader() { return header; } public final DisplaySection getFooter() { return footer; } public final DisplaySection getFooterOrHeaderTeoz(FontParam param) { if (param == FontParam.FOOTER) { return getFooter(); } if (param == FontParam.HEADER) { return getHeader(); } throw new IllegalArgumentException(); } abstract public UmlDiagramType getUmlDiagramType(); public Pragma getPragma() { return pragma; } final public void setAnimation(Iterable animationData) { try { final AnimationDecoder animationDecoder = new AnimationDecoder(animationData); this.animation = Animation.create(animationDecoder.decode()); } catch (ScriptException e) { e.printStackTrace(); } } final public Animation getAnimation() { return animation; } public final double getDpiFactor(FileFormatOption fileFormatOption) { if (getSkinParam().getDpi() == 96) { return 1.0; } return getSkinParam().getDpi() / 96.0; } public final int getDpi(FileFormatOption fileFormatOption) { return getSkinParam().getDpi(); } public final boolean isHideUnlinkedData() { return hideUnlinkedData; } public final void setHideUnlinkedData(boolean hideUnlinkedData) { this.hideUnlinkedData = hideUnlinkedData; } @Override final protected ImageData exportDiagramNow(OutputStream os, int index, FileFormatOption fileFormatOption, long seed) throws IOException { final HtmlColor hover = getSkinParam().getHoverPathColor(); if (fileFormatOption.getSvgLinkTarget() == null || fileFormatOption.getSvgLinkTarget().equals("_top")) { fileFormatOption = fileFormatOption.withSvgLinkTarget(getSkinParam().getSvgLinkTarget()); } fileFormatOption = fileFormatOption.withTikzFontDistortion(getSkinParam().getTikzFontDistortion()); if (hover != null) { fileFormatOption = fileFormatOption.withHoverColor(StringUtils.getAsHtml(getSkinParam().getColorMapper() .getMappedColor(hover))); } if (fileFormatOption.getFileFormat() == FileFormat.PDF) { return exportDiagramInternalPdf(os, index); } try { final ImageData imageData = exportDiagramInternal(os, index, fileFormatOption); this.lastInfo = new Dimension2DDouble(imageData.getWidth(), imageData.getHeight()); return imageData; } catch (UnparsableGraphvizException e) { e.printStackTrace(); exportDiagramError(os, e.getCause(), fileFormatOption, seed, e.getGraphvizVersion()); } catch (Exception e) { e.printStackTrace(); exportDiagramError(os, e, fileFormatOption, seed, null); } return ImageDataSimple.error(); } private void exportDiagramError(OutputStream os, Throwable exception, FileFormatOption fileFormat, long seed, String graphvizVersion) throws IOException { exportDiagramError(os, exception, fileFormat, seed, getMetadata(), getFlashData(), getFailureText1(exception, graphvizVersion, getFlashData())); } public static void exportDiagramError(OutputStream os, Throwable exception, FileFormatOption fileFormat, long seed, String metadata, String flash, List strings) throws IOException { if (fileFormat.getFileFormat() == FileFormat.ATXT || fileFormat.getFileFormat() == FileFormat.UTXT) { exportDiagramErrorText(os, exception, strings); return; } strings.addAll(CommandExecutionResult.getStackTrace(exception)); final ImageBuilder imageBuilder = new ImageBuilder(new ColorMapperIdentity(), 1.0, HtmlColorUtils.WHITE, metadata, null, 0, 0, null, false); final FlashCodeUtils utils = FlashCodeFactory.getFlashCodeUtils(); final BufferedImage im = utils.exportFlashcode(flash, Color.BLACK, Color.WHITE); if (im != null) { GraphvizCrash.addDecodeHint(strings); } final TextBlockBackcolored graphicStrings = GraphicStrings.createBlackOnWhite(strings, IconLoader.getRandom(), GraphicPosition.BACKGROUND_CORNER_TOP_RIGHT); if (im == null) { imageBuilder.setUDrawable(graphicStrings); } else { imageBuilder.setUDrawable(new UDrawable() { public void drawU(UGraphic ug) { graphicStrings.drawU(ug); final double height = graphicStrings.calculateDimension(ug.getStringBounder()).getHeight(); ug = ug.apply(new UTranslate(0, height)); ug.draw(new UImage(im).scaleNearestNeighbor(3)); } }); } imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os); } private static void exportDiagramErrorText(OutputStream os, Throwable exception, List strings) { final PrintWriter pw = new PrintWriter(os); exception.printStackTrace(pw); pw.println(); pw.println(); for (String s : strings) { s = s.replaceAll("\\", ""); pw.println(s); } pw.flush(); } public String getFlashData() { final UmlSource source = getSource(); if (source == null) { return ""; } return source.getPlainString(); } static private List getFailureText1(Throwable exception, String graphvizVersion, String textDiagram) { final List strings = GraphvizCrash.anErrorHasOccured(exception, textDiagram); strings.add("PlantUML (" + Version.versionString() + ") cannot parse result from dot/GraphViz."); if (exception instanceof EmptySvgException) { strings.add("Because dot/GraphViz returns an empty string."); } GraphvizCrash.checkOldVersionWarning(strings); if (graphvizVersion != null) { strings.add(" "); strings.add("GraphViz version used : " + graphvizVersion); } GraphvizCrash.pleaseGoTo(strings); GraphvizCrash.addProperties(strings); strings.add(" "); GraphvizCrash.thisMayBeCaused(strings); strings.add(" "); GraphvizCrash.youShouldSendThisDiagram(strings); strings.add(" "); return strings; } public static List getFailureText2(Throwable exception, String textDiagram) { final List strings = GraphvizCrash.anErrorHasOccured(exception, textDiagram); strings.add("PlantUML (" + Version.versionString() + ") has crashed."); GraphvizCrash.checkOldVersionWarning(strings); strings.add(" "); GraphvizCrash.youShouldSendThisDiagram(strings); strings.add(" "); return strings; } private void exportDiagramInternalMjpeg(OutputStream os) throws IOException { final File f = new File("c:/test.avi"); final int nb = 150; final double framerate = 30; final MJPEGGenerator m = new MJPEGGenerator(f, 640, 480, framerate, nb); for (int i = 0; i < nb; i++) { final AffineTransform at = new AffineTransform(); final double coef = (nb - 1 - i) * 1.0 / nb; at.setToShear(coef, coef); final ByteArrayOutputStream baos = new ByteArrayOutputStream(); // exportDiagramTOxxBEREMOVED(baos, null, 0, new FileFormatOption(FileFormat.PNG, at)); baos.close(); final BufferedImage im = ImageIO.read(new ByteArrayInputStream(baos.toByteArray())); m.addImage(im); } m.finishAVI(); } private Dimension2D lastInfo; private ImageData exportDiagramInternalPdf(OutputStream os, int index) throws IOException { final File svg = FileUtils.createTempFile("pdf", ".svf"); final File pdfFile = FileUtils.createTempFile("pdf", ".pdf"); final OutputStream fos = new BufferedOutputStream(new FileOutputStream(svg)); final ImageData result = exportDiagram(fos, index, new FileFormatOption(FileFormat.SVG)); fos.close(); PdfConverter.convert(svg, pdfFile); FileUtils.copyToStream(pdfFile, os); return result; } protected abstract ImageData exportDiagramInternal(OutputStream os, int index, FileFormatOption fileFormatOption) throws IOException; final protected void exportCmap(SuggestedFile suggestedFile, int index, final ImageData cmapdata) throws FileNotFoundException { final String name = changeName(suggestedFile.getFile(index).getAbsolutePath()); final File cmapFile = new File(name); PrintWriter pw = null; try { if (PSystemUtils.canFileBeWritten(cmapFile) == false) { return; } pw = new PrintWriter(cmapFile); pw.print(cmapdata.getCMapData(cmapFile.getName().substring(0, cmapFile.getName().length() - 6))); pw.close(); } finally { if (pw != null) { pw.close(); } } } static String changeName(String name) { return name.replaceAll("(?i)\\.\\w{3}$", ".cmapx"); } @Override public String getWarningOrError() { if (lastInfo == null) { return null; } final double actualWidth = lastInfo.getWidth(); if (actualWidth == 0) { return null; } final String value = getSkinParam().getValue("widthwarning"); if (value == null) { return null; } if (value.matches("\\d+") == false) { return null; } final int widthwarning = Integer.parseInt(value); if (actualWidth > widthwarning) { return "The image is " + ((int) actualWidth) + " pixel width. (Warning limit is " + widthwarning + ")"; } return null; } public void addSprite(String name, Sprite sprite) { skinParam.addSprite(name, sprite); } public final DisplayPositionned getLegend() { return legend; } public final void setLegend(DisplayPositionned legend) { this.legend = legend; } private boolean useJDot; public void setUseJDot(boolean useJDot) { this.useJDot = useJDot; } public static final boolean FORCE_JDOT = false; public boolean isUseJDot() { if (FORCE_JDOT) return true; return useJDot; } private void setDotExecutable(String dotExecutable) { skinParam.setDotExecutable(dotExecutable); } public final Display getMainFrame() { return mainFrame; } } ��������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/UmlDiagramType.java������������������������������0000664�0000000�0000000�00000002602�13400053436�0025546�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; public enum UmlDiagramType { SEQUENCE, STATE, CLASS, OBJECT, ACTIVITY, DESCRIPTION, COMPOSITE, FLOW, TIMING, BPM, NWDIAG } ������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/Url.java�����������������������������������������0000664�0000000�0000000�00000006473�13400053436�0023436�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import java.util.Comparator; import net.sourceforge.plantuml.cucadiagram.dot.DotMaker2; public class Url implements EnsureVisible { private final String url; private final String tooltip; private final String label; private boolean member; public Url(String url, String tooltip) { this(url, tooltip, null); } public Url(String url, String tooltip, String label) { if (url.contains("{")) { throw new IllegalArgumentException(url); } url = StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(url, "\""); this.url = url; if (tooltip == null) { this.tooltip = url; } else { this.tooltip = BackSlash.manageNewLine(tooltip); } if (label == null || label.length() == 0) { this.label = url; } else { this.label = label; } } public static boolean isLatex(String pendingUrl) { return pendingUrl.startsWith("latex://"); } public boolean isLatex() { return isLatex(url); } public final String getUrl() { return url; } public final String getTooltip() { return tooltip; } public String getLabel() { return label; } @Override public String toString() { return super.toString() + " " + url + " " + visible.getCoords(1.0); } public String getCoords(double scale) { if (DotMaker2.isJunit() && visible.getCoords(1.0).contains("0,0,0,0")) { throw new IllegalStateException(toString()); } return visible.getCoords(scale); } public void setMember(boolean member) { this.member = member; } public final boolean isMember() { return member; } private final BasicEnsureVisible visible = new BasicEnsureVisible(); public void ensureVisible(double x, double y) { visible.ensureVisible(x, y); } public boolean hasData() { return visible.hasData(); } public static final Comparator SURFACE_COMPARATOR = new Comparator() { public int compare(Url url1, Url url2) { final double surface1 = url1.visible.getSurface(); final double surface2 = url2.visible.getSurface(); if (surface1 > surface2) { return 1; } else if (surface1 < surface2) { return -1; } return 0; } }; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/UrlBuilder.java����������������������������������0000664�0000000�0000000�00000011606�13400053436�0024737�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import net.sourceforge.plantuml.command.regex.Matcher2; import net.sourceforge.plantuml.command.regex.MyPattern; import net.sourceforge.plantuml.command.regex.Pattern2; public class UrlBuilder { public static enum ModeUrl { STRICT, ANYWHERE } // private static String level0() { // return "(?:[^{}]|\\{[^{}]*\\})+"; // } // // private static String levelN(int n) { // if (n == 0) { // return level0(); // } // return "(?:[^{}]|\\{" + levelN(n - 1) + "\\})+"; // } // private static final String URL_PATTERN_OLD = // "\\[\\[([%g][^%g]+[%g]|[^{}%s\\]\\[]*)(?:[%s]*\\{((?:[^{}]|\\{[^{}]*\\})+)\\})?(?:[%s]*([^\\]\\[]+))?\\]\\]"; private static final String URL_PATTERN = "\\[\\[([%g][^%g]+[%g])?([\\w\\W]*?)\\]\\]"; // private static final String URL_PATTERN_BAD = "\\[\\[([%g][^%g]+[%g]|[^{}%s\\]\\[]*)(?:[%s]*\\{" + "(" + // levelN(3) // + ")" + "\\})?(?:[%s]*([^\\]\\[]+))?\\]\\]"; private final String topurl; private ModeUrl mode; public UrlBuilder(String topurl, ModeUrl mode) { this.topurl = topurl; this.mode = mode; } // private static String multilineTooltip(String label) { // final Pattern2 p = MyPattern.cmpile("(?i)^(" + URL_PATTERN + ")?(.*)$"); // final Matcher2 m = p.matcher(label); // if (m.matches() == false) { // return label; // } // String gr1 = m.group(1); // if (gr1 == null) { // return label; // } // final String gr2 = m.group(m.groupCount()); // gr1 = gr1.replaceAll("\\\\n", BackSlash.BS_N); // return gr1 + gr2; // } public Url getUrl(String s) { final Pattern2 p; if (mode == ModeUrl.STRICT) { p = MyPattern.cmpile("(?i)^" + URL_PATTERN + "$"); } else if (mode == ModeUrl.ANYWHERE) { p = MyPattern.cmpile("(?i).*" + URL_PATTERN + ".*"); } else { throw new IllegalStateException(); } final Matcher2 m = p.matcher(StringUtils.trinNoTrace(s)); if (m.matches() == false) { return null; } // String url = StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(m.group(1)); // if (url.startsWith("http:") == false && url.startsWith("https:") == false) { // // final String top = getSystem().getSkinParam().getValue("topurl"); // if (topurl != null) { // url = topurl + url; // } // } final String quotedPart = m.group(1); final String full = m.group(2); final int openBracket = full.indexOf('{'); final int closeBracket = full.lastIndexOf('}'); if (quotedPart == null) { if (openBracket != -1 && closeBracket != -1) { return new Url(withTopUrl(full.substring(0, openBracket)), full.substring(openBracket + 1, closeBracket), full.substring(closeBracket + 1).trim()); } final int firstSpace = full.indexOf(' '); if (firstSpace == -1) { return new Url(full, null, null); } return new Url(withTopUrl(full.substring(0, firstSpace)), null, full.substring(firstSpace + 1).trim()); } if (openBracket != -1 && closeBracket != -1) { return new Url(withTopUrl(quotedPart), full.substring(openBracket + 1, closeBracket), full.substring( closeBracket + 1).trim()); } return new Url(withTopUrl(quotedPart), null, null); } private String withTopUrl(String url) { if (url.startsWith("http:") == false && url.startsWith("https:") == false && topurl != null) { return topurl + url; } return url; } public static String getRegexp() { return URL_PATTERN; } // private static String purgeUrl(final String label) { // final Pattern2 p = MyPattern.cmpile("[%s]*" + URL_PATTERN + "[%s]*"); // final Matcher2 m = p.matcher(label); // if (m.find() == false) { // return label; // } // final String url = m.group(0); // final int x = label.indexOf(url); // return label.substring(0, x) + label.substring(x + url.length()); // } } ��������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/WithSprite.java����������������������������������0000664�0000000�0000000�00000002721�13400053436�0024766�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml; import net.sourceforge.plantuml.core.Diagram; import net.sourceforge.plantuml.ugraphic.sprite.Sprite; public interface WithSprite extends Diagram { public void addSprite(String name, Sprite sprite); } �����������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram/���������������������������������0000775�0000000�0000000�00000000000�13400053436�0025200�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram/ActivityDiagram.java�������������0000664�0000000�0000000�00000014165�13400053436�0031133�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram; import java.util.Arrays; import java.util.List; import net.sourceforge.plantuml.Direction; import net.sourceforge.plantuml.UmlDiagramType; import net.sourceforge.plantuml.core.DiagramDescription; import net.sourceforge.plantuml.cucadiagram.Code; import net.sourceforge.plantuml.cucadiagram.CucaDiagram; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.cucadiagram.GroupType; import net.sourceforge.plantuml.cucadiagram.IEntity; import net.sourceforge.plantuml.cucadiagram.ILeaf; import net.sourceforge.plantuml.cucadiagram.LeafType; import net.sourceforge.plantuml.cucadiagram.NamespaceStrategy; import net.sourceforge.plantuml.graphic.USymbol; import net.sourceforge.plantuml.utils.UniqueSequence; public class ActivityDiagram extends CucaDiagram { private IEntity lastEntityConsulted; private IEntity lastEntityBrancheConsulted; private ConditionalContext currentContext; public ILeaf getOrCreateLeaf(Code code, LeafType type, USymbol symbol) { return getOrCreateLeafDefault(code, type, symbol); } private String getAutoBranch() { return "#" + UniqueSequence.getValue(); } public IEntity getOrCreate(Code code, Display display, LeafType type) { final IEntity result; if (leafExist(code)) { result = getOrCreateLeafDefault(code, type, null); if (result.getLeafType() != type) { // throw new IllegalArgumentException("Already known: " + code + " " + result.getType() + " " + type); return null; } } else { result = createLeaf(code, display, type, null); } updateLasts(result); return result; } public void startIf(Code optionalCode) { final IEntity br = createLeaf(optionalCode == null ? Code.of(getAutoBranch()) : optionalCode, Display.create(""), LeafType.BRANCH, null); currentContext = new ConditionalContext(currentContext, br, Direction.DOWN); } public void endif() { currentContext = currentContext.getParent(); } public ILeaf getStart() { return (ILeaf) getOrCreate(Code.of("start"), Display.getWithNewlines("start"), LeafType.CIRCLE_START); } public ILeaf getEnd(String suppId) { final Code code = suppId == null ? Code.of("end") : Code.of("end$" + suppId); return (ILeaf) getOrCreate(code, Display.getWithNewlines("end"), LeafType.CIRCLE_END); } private void updateLasts(final IEntity result) { if (result == null || result.getLeafType() == LeafType.NOTE) { return; } this.lastEntityConsulted = result; if (result.getLeafType() == LeafType.BRANCH) { lastEntityBrancheConsulted = result; } } @Override public ILeaf createLeaf(Code code, Display display, LeafType type, USymbol symbol) { final ILeaf result = super.createLeaf(code, display, type, symbol); updateLasts(result); return result; } public IEntity createNote(Code code, Display display) { return super.createLeaf(code, display, LeafType.NOTE, null); } final protected List getDotStrings() { return Arrays.asList("nodesep=.20;", "ranksep=0.4;", "edge [fontsize=11,labelfontsize=11];", "node [fontsize=11];"); } public DiagramDescription getDescription() { return new DiagramDescription("(" + getLeafssize() + " activities)"); } public IEntity getLastEntityConsulted() { return lastEntityConsulted; } @Deprecated public IEntity getLastEntityBrancheConsulted() { return lastEntityBrancheConsulted; } @Override public UmlDiagramType getUmlDiagramType() { return UmlDiagramType.ACTIVITY; } public final ConditionalContext getCurrentContext() { return currentContext; } public final void setLastEntityConsulted(IEntity lastEntityConsulted) { this.lastEntityConsulted = lastEntityConsulted; } public IEntity createInnerActivity() { // Log.println("createInnerActivity A"); final Code code = Code.of("##" + UniqueSequence.getValue()); gotoGroup2(code, Display.getWithNewlines(code), GroupType.INNER_ACTIVITY, getCurrentGroup(), NamespaceStrategy.SINGLE); final IEntity g = getCurrentGroup(); // g.setRankdir(Rankdir.LEFT_TO_RIGHT); lastEntityConsulted = null; lastEntityBrancheConsulted = null; // Log.println("createInnerActivity B "+getCurrentGroup()); return g; } public void concurrentActivity(String name) { // Log.println("concurrentActivity A name=" + name+" "+getCurrentGroup()); if (getCurrentGroup().getGroupType() == GroupType.CONCURRENT_ACTIVITY) { // getCurrentGroup().setRankdir(Rankdir.LEFT_TO_RIGHT); endGroup(); // Log.println("endgroup"); } // Log.println("concurrentActivity A name=" + name+" "+getCurrentGroup()); final Code code = Code.of("##" + UniqueSequence.getValue()); if (getCurrentGroup().getGroupType() != GroupType.INNER_ACTIVITY) { throw new IllegalStateException("type=" + getCurrentGroup().getGroupType()); } gotoGroup2(code, Display.getWithNewlines("code"), GroupType.CONCURRENT_ACTIVITY, getCurrentGroup(), NamespaceStrategy.SINGLE); lastEntityConsulted = null; lastEntityBrancheConsulted = null; } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram/ActivityDiagramFactory.java������0000664�0000000�0000000�00000006454�13400053436�0032465�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram; import java.util.ArrayList; import java.util.List; import net.sourceforge.plantuml.activitydiagram.command.CommandElse; import net.sourceforge.plantuml.activitydiagram.command.CommandEndPartition; import net.sourceforge.plantuml.activitydiagram.command.CommandEndif; import net.sourceforge.plantuml.activitydiagram.command.CommandIf; import net.sourceforge.plantuml.activitydiagram.command.CommandLinkActivity; import net.sourceforge.plantuml.activitydiagram.command.CommandLinkLongActivity; import net.sourceforge.plantuml.activitydiagram.command.CommandPartition; import net.sourceforge.plantuml.command.Command; import net.sourceforge.plantuml.command.CommandFootboxIgnored; import net.sourceforge.plantuml.command.CommandRankDir; import net.sourceforge.plantuml.command.UmlDiagramFactory; import net.sourceforge.plantuml.command.note.FactoryNoteActivityCommand; import net.sourceforge.plantuml.command.note.FactoryNoteOnLinkCommand; public class ActivityDiagramFactory extends UmlDiagramFactory { @Override public ActivityDiagram createEmptyDiagram() { return new ActivityDiagram(); } @Override protected List createCommands() { final List cmds = new ArrayList(); cmds.add(new CommandFootboxIgnored()); addCommonCommands(cmds); cmds.add(new CommandRankDir()); cmds.add(new CommandPartition()); cmds.add(new CommandEndPartition()); cmds.add(new CommandLinkLongActivity()); final FactoryNoteActivityCommand factoryNoteActivityCommand = new FactoryNoteActivityCommand(); cmds.add(factoryNoteActivityCommand.createSingleLine()); cmds.add(factoryNoteActivityCommand.createMultiLine(false)); final FactoryNoteOnLinkCommand factoryNoteOnLinkCommand = new FactoryNoteOnLinkCommand(); cmds.add(factoryNoteOnLinkCommand.createSingleLine()); cmds.add(factoryNoteOnLinkCommand.createMultiLine(false)); cmds.add(new CommandIf()); cmds.add(new CommandElse()); cmds.add(new CommandEndif()); cmds.add(new CommandLinkActivity()); // addCommand(new CommandInnerConcurrent(system)); return cmds; } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram/ConditionalContext.java����������0000664�0000000�0000000�00000004005�13400053436�0031652�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram; import net.sourceforge.plantuml.Direction; import net.sourceforge.plantuml.cucadiagram.IEntity; import net.sourceforge.plantuml.cucadiagram.LeafType; public class ConditionalContext { private final IEntity branch; private final Direction direction; private final ConditionalContext parent; public ConditionalContext(ConditionalContext parent, IEntity branch, Direction direction) { if (branch.getLeafType() != LeafType.BRANCH) { throw new IllegalArgumentException(); } this.branch = branch; this.direction = direction; this.parent = parent; } public Direction getDirection() { return direction; } public final ConditionalContext getParent() { return parent; } public final IEntity getBranch() { return branch; } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram/command/�������������������������0000775�0000000�0000000�00000000000�13400053436�0026616�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram/command/CommandElse.java���������0000664�0000000�0000000�00000004200�13400053436�0031644�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram.command; import java.util.List; import net.sourceforge.plantuml.activitydiagram.ActivityDiagram; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand; import net.sourceforge.plantuml.cucadiagram.IEntity; public class CommandElse extends SingleLineCommand { public CommandElse() { super("(?i)^else$"); } @Override protected CommandExecutionResult executeArg(ActivityDiagram system, List arg) { if (system.getLastEntityConsulted() == null) { return CommandExecutionResult.error("No if for this else"); } if (system.getCurrentContext() == null) { return CommandExecutionResult.error("No if for this else"); } final IEntity branch = system.getCurrentContext().getBranch(); system.setLastEntityConsulted(branch); return CommandExecutionResult.ok(); } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram/command/CommandEndPartition.java�0000664�0000000�0000000�00000004013�13400053436�0033356�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram.command; import java.util.List; import net.sourceforge.plantuml.activitydiagram.ActivityDiagram; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand; import net.sourceforge.plantuml.cucadiagram.IEntity; public class CommandEndPartition extends SingleLineCommand { public CommandEndPartition() { super("(?i)^(end[%s]?partition|\\})$"); } @Override protected CommandExecutionResult executeArg(ActivityDiagram diagram, List arg) { final IEntity currentPackage = diagram.getCurrentGroup(); if (currentPackage == null) { return CommandExecutionResult.error("No partition defined"); } diagram.endGroup(); return CommandExecutionResult.ok(); } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram/command/CommandEndif.java��������0000664�0000000�0000000�00000004000�13400053436�0031777�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram.command; import java.util.List; import net.sourceforge.plantuml.activitydiagram.ActivityDiagram; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand; public class CommandEndif extends SingleLineCommand { public CommandEndif() { super("(?i)^end[%s]?if$"); } @Override protected CommandExecutionResult executeArg(ActivityDiagram diagram, List arg) { if (diagram.getLastEntityConsulted() == null) { return CommandExecutionResult.error("No if for this endif"); } if (diagram.getCurrentContext() == null) { return CommandExecutionResult.error("No if for this endif"); } diagram.endif(); return CommandExecutionResult.ok(); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram/command/CommandIf.java�����������0000664�0000000�0000000�00000010565�13400053436�0031325�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram.command; import net.sourceforge.plantuml.Direction; import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.activitydiagram.ActivityDiagram; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexOptional; import net.sourceforge.plantuml.command.regex.RegexOr; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Code; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.cucadiagram.IEntity; import net.sourceforge.plantuml.cucadiagram.Link; import net.sourceforge.plantuml.cucadiagram.LinkDecor; import net.sourceforge.plantuml.cucadiagram.LinkType; public class CommandIf extends SingleLineCommand2 { public CommandIf() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexOptional(// new RegexOr("FIRST", // new RegexLeaf("STAR", "(\\(\\*(top)?\\))"), // new RegexLeaf("CODE", "([\\p{L}0-9_.]+)"), // new RegexLeaf("BAR", "(?:==+)[%s]*([\\p{L}0-9_.]+)[%s]*(?:==+)"), // new RegexLeaf("QUOTED", "[%g]([^%g]+)[%g](?:[%s]+as[%s]+([\\p{L}0-9_.]+))?"))), // new RegexLeaf("[%s]*"), // new RegexLeaf("ARROW", "([=-]+(?:(left|right|up|down|le?|ri?|up?|do?)(?=[-=.]))?[=-]*\\>)?"), // new RegexLeaf("[%s]*"), // new RegexLeaf("BRACKET", "(?:\\[([^\\]*]+[^\\]]*)\\])?"), // new RegexLeaf("[%s]*"), // new RegexOr(// new RegexLeaf("IF1", "if[%s]*[%g]([^%g]*)[%g][%s]*(?:as[%s]+([\\p{L}0-9_.]+)[%s]+)?"), // new RegexLeaf("IF2", "if[%s]+(.+?)[%s]*")), // new RegexLeaf("(?:then)?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram system, RegexResult arg) { final IEntity entity1 = CommandLinkActivity.getEntity(system, arg, true); if (entity1 == null) { return CommandExecutionResult.error("No if possible at this point"); } final String ifCode; final String ifLabel; if (arg.get("IF2", 0) == null) { ifCode = arg.get("IF1", 1); ifLabel = arg.get("IF1", 0); } else { ifCode = null; ifLabel = arg.get("IF2", 0); } system.startIf(Code.of(ifCode)); int lenght = 2; if (arg.get("ARROW", 0) != null) { final String arrow = StringUtils.manageArrowForCuca(arg.get("ARROW", 0)); lenght = arrow.length() - 1; } final IEntity branch = system.getCurrentContext().getBranch(); Link link = new Link(entity1, branch, new LinkType(LinkDecor.ARROW, LinkDecor.NONE), Display.getWithNewlines(arg.get("BRACKET", 0)), lenght, null, ifLabel, system.getLabeldistance(), system.getLabelangle()); if (arg.get("ARROW", 0) != null) { final Direction direction = StringUtils.getArrowDirection(arg.get("ARROW", 0)); if (direction == Direction.LEFT || direction == Direction.UP) { link = link.getInv(); } } system.addLink(link); return CommandExecutionResult.ok(); } } �������������������������������������������������������������������������������������������������������������������������������������������CommandInnerConcurrent.java�������������������������������������������������������������������������0000664�0000000�0000000�00000003770�13400053436�0034026�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram/command���������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram.command; import java.util.List; import net.sourceforge.plantuml.activitydiagram.ActivityDiagram; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand; import net.sourceforge.plantuml.cucadiagram.EntityUtils; public class CommandInnerConcurrent extends SingleLineCommand { public CommandInnerConcurrent() { super("(?i)^--\\s*(.*)$"); } @Override protected CommandExecutionResult executeArg(ActivityDiagram diagram, List arg) { if (EntityUtils.groupRoot(diagram.getCurrentGroup())) { return CommandExecutionResult.error("No inner activity"); } diagram.concurrentActivity(arg.get(0)); return CommandExecutionResult.ok(); } } ��������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram/command/CommandLinkActivity.java�0000664�0000000�0000000�00000023643�13400053436�0033402�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram.command; import net.sourceforge.plantuml.Direction; import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.Url; import net.sourceforge.plantuml.UrlBuilder; import net.sourceforge.plantuml.UrlBuilder.ModeUrl; import net.sourceforge.plantuml.activitydiagram.ActivityDiagram; import net.sourceforge.plantuml.classdiagram.command.CommandLinkClass; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexOptional; import net.sourceforge.plantuml.command.regex.RegexOr; import net.sourceforge.plantuml.command.regex.RegexPartialMatch; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Code; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.cucadiagram.GroupType; import net.sourceforge.plantuml.cucadiagram.IEntity; import net.sourceforge.plantuml.cucadiagram.LeafType; import net.sourceforge.plantuml.cucadiagram.Link; import net.sourceforge.plantuml.cucadiagram.LinkDecor; import net.sourceforge.plantuml.cucadiagram.LinkType; import net.sourceforge.plantuml.cucadiagram.NamespaceStrategy; import net.sourceforge.plantuml.cucadiagram.Stereotype; import net.sourceforge.plantuml.descdiagram.command.CommandLinkElement; import net.sourceforge.plantuml.graphic.color.ColorParser; import net.sourceforge.plantuml.graphic.color.ColorType; public class CommandLinkActivity extends SingleLineCommand2 { public CommandLinkActivity() { super(getRegexConcat()); } private static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexOptional(// new RegexOr("FIRST", // new RegexLeaf("STAR", "(\\(\\*(top)?\\))"), // new RegexLeaf("CODE", "([\\p{L}0-9][\\p{L}0-9_.]*)"), // new RegexLeaf("BAR", "(?:==+)[%s]*([\\p{L}0-9_.]+)[%s]*(?:==+)"), // new RegexLeaf("QUOTED", "[%g]([^%g]+)[%g](?:[%s]+as[%s]+([\\p{L}0-9_.]+))?"))), // new RegexLeaf("[%s]*"), // new RegexLeaf("STEREOTYPE", "(\\<\\<.*\\>\\>)?"), // new RegexLeaf("[%s]*"), // ColorParser.exp2(), // new RegexLeaf("[%s]*"), // new RegexLeaf("URL", "(" + UrlBuilder.getRegexp() + ")?"), // new RegexLeaf("ARROW_BODY1", "([-.]+)"), // new RegexLeaf("ARROW_STYLE1", "(?:\\[(" + CommandLinkElement.LINE_STYLE + ")\\])?"), // new RegexLeaf("ARROW_DIRECTION", "(\\*|left|right|up|down|le?|ri?|up?|do?)?"), // new RegexLeaf("ARROW_STYLE2", "(?:\\[(" + CommandLinkElement.LINE_STYLE + ")\\])?"), // new RegexLeaf("ARROW_BODY2", "([-.]*)\\>"), // new RegexLeaf("[%s]*"), // new RegexLeaf("BRACKET", "(?:\\[([^\\]*]+[^\\]]*)\\])?"), // new RegexLeaf("[%s]*"), // new RegexOr("FIRST2", // new RegexLeaf("STAR2", "(\\(\\*(top|\\d+)?\\))"), // new RegexLeaf("OPENBRACKET2", "(\\{)"), // new RegexLeaf("CODE2", "([\\p{L}0-9][\\p{L}0-9_.]*)"), // new RegexLeaf("BAR2", "(?:==+)[%s]*([\\p{L}0-9_.]+)[%s]*(?:==+)"), // new RegexLeaf("QUOTED2", "[%g]([^%g]+)[%g](?:[%s]+as[%s]+([\\p{L}0-9][\\p{L}0-9_.]*))?"), // new RegexLeaf("QUOTED_INVISIBLE2", "(\\w.*?)")), // new RegexLeaf("[%s]*"), // new RegexLeaf("STEREOTYPE2", "(\\<\\<.*\\>\\>)?"), // new RegexLeaf("[%s]*"), // new RegexLeaf("PARTITION2", "(?:in[%s]+([%g][^%g]+[%g]|\\S+))?"), // new RegexLeaf("[%s]*"), // ColorParser.exp3(), // new RegexLeaf("$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram diagram, RegexResult arg) { final IEntity entity1 = getEntity(diagram, arg, true); if (entity1 == null) { return CommandExecutionResult.error("No such activity"); } if (arg.get("STEREOTYPE", 0) != null) { entity1.setStereotype(new Stereotype(arg.get("STEREOTYPE", 0))); } if (arg.get("BACKCOLOR", 0) != null) { entity1.setSpecificColorTOBEREMOVED(ColorType.BACK, diagram.getSkinParam().getIHtmlColorSet() .getColorIfValid(arg.get("BACKCOLOR", 0))); } final IEntity entity2 = getEntity(diagram, arg, false); if (entity2 == null) { return CommandExecutionResult.error("No such activity"); } if (arg.get("BACKCOLOR2", 0) != null) { entity2.setSpecificColorTOBEREMOVED(ColorType.BACK, diagram.getSkinParam().getIHtmlColorSet() .getColorIfValid(arg.get("BACKCOLOR2", 0))); } if (arg.get("STEREOTYPE2", 0) != null) { entity2.setStereotype(new Stereotype(arg.get("STEREOTYPE2", 0))); } final Display linkLabel = Display.getWithNewlines(arg.get("BRACKET", 0)); final String arrowBody1 = CommandLinkClass.notNull(arg.get("ARROW_BODY1", 0)); final String arrowBody2 = CommandLinkClass.notNull(arg.get("ARROW_BODY2", 0)); final String arrowDirection = CommandLinkClass.notNull(arg.get("ARROW_DIRECTION", 0)); final String arrow = StringUtils.manageArrowForCuca(arrowBody1 + arrowDirection + arrowBody2 + ">"); int lenght = arrow.length() - 1; if (arrowDirection.contains("*")) { lenght = 2; } LinkType type = new LinkType(LinkDecor.ARROW, LinkDecor.NONE); if ((arrowBody1 + arrowBody2).contains(".")) { type = type.goDotted(); } Link link = new Link(entity1, entity2, type, linkLabel, lenght); if (arrowDirection.contains("*")) { link.setConstraint(false); } final Direction direction = StringUtils.getArrowDirection(arrowBody1 + arrowDirection + arrowBody2 + ">"); if (direction == Direction.LEFT || direction == Direction.UP) { link = link.getInv(); } if (arg.get("URL", 0) != null) { final UrlBuilder urlBuilder = new UrlBuilder(diagram.getSkinParam().getValue("topurl"), ModeUrl.STRICT); final Url urlLink = urlBuilder.getUrl(arg.get("URL", 0)); link.setUrl(urlLink); } link.applyStyle(arg.getLazzy("ARROW_STYLE", 0)); diagram.addLink(link); return CommandExecutionResult.ok(); } static IEntity getEntity(ActivityDiagram system, RegexResult arg, final boolean start) { final String suf = start ? "" : "2"; final String openBracket2 = arg.get("OPENBRACKET" + suf, 0); if (openBracket2 != null) { return system.createInnerActivity(); } if (arg.get("STAR" + suf, 0) != null) { final String suppId = arg.get("STAR" + suf, 1); if (start) { if (suppId != null) { system.getStart().setTop(true); } return system.getStart(); } return system.getEnd(suppId); } String partition = arg.get("PARTITION" + suf, 0); if (partition != null) { partition = StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(partition); } final Code code = Code.of(arg.get("CODE" + suf, 0)); if (code != null) { if (partition != null) { system.gotoGroup2(Code.of(partition), Display.getWithNewlines(partition), GroupType.PACKAGE, system.getRootGroup(), NamespaceStrategy.SINGLE); } final IEntity result = system.getOrCreate(code, Display.getWithNewlines(code), CommandLinkActivity.getTypeIfExisting(system, code)); if (partition != null) { system.endGroup(); } return result; } final String bar = arg.get("BAR" + suf, 0); if (bar != null) { return system.getOrCreate(Code.of(bar), Display.getWithNewlines(bar), LeafType.SYNCHRO_BAR); } final RegexPartialMatch quoted = arg.get("QUOTED" + suf); if (quoted.get(0) != null) { final Code quotedCode = Code.of(quoted.get(1) == null ? quoted.get(0) : quoted.get(1)); if (partition != null) { system.gotoGroup2(Code.of(partition), Display.getWithNewlines(partition), GroupType.PACKAGE, system.getRootGroup(), NamespaceStrategy.SINGLE); } final IEntity result = system.getOrCreate(quotedCode, Display.getWithNewlines(quoted.get(0)), CommandLinkActivity.getTypeIfExisting(system, quotedCode)); if (partition != null) { system.endGroup(); } return result; } final Code quotedInvisible = Code.of(arg.get("QUOTED_INVISIBLE" + suf, 0)); if (quotedInvisible != null) { if (partition != null) { system.gotoGroup2(Code.of(partition), Display.getWithNewlines(partition), GroupType.PACKAGE, system.getRootGroup(), NamespaceStrategy.SINGLE); } final IEntity result = system.getOrCreate(quotedInvisible, Display.getWithNewlines(quotedInvisible), LeafType.ACTIVITY); if (partition != null) { system.endGroup(); } return result; } final String first = arg.get("FIRST" + suf, 0); if (first == null) { return system.getLastEntityConsulted(); } return null; } static LeafType getTypeIfExisting(ActivityDiagram system, Code code) { if (system.leafExist(code)) { final IEntity ent = system.getLeafsget(code); if (ent.getLeafType() == LeafType.BRANCH) { return LeafType.BRANCH; } } return LeafType.ACTIVITY; } } ���������������������������������������������������������������������������������������������CommandLinkLongActivity.java������������������������������������������������������������������������0000664�0000000�0000000�00000021217�13400053436�0034136�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram/command���������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram.command; import java.util.List; import net.sourceforge.plantuml.BackSlash; import net.sourceforge.plantuml.Direction; import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.Url; import net.sourceforge.plantuml.UrlBuilder; import net.sourceforge.plantuml.UrlBuilder.ModeUrl; import net.sourceforge.plantuml.activitydiagram.ActivityDiagram; import net.sourceforge.plantuml.classdiagram.command.CommandLinkClass; import net.sourceforge.plantuml.command.BlocLines; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.CommandMultilines2; import net.sourceforge.plantuml.command.MultilinesStrategy; import net.sourceforge.plantuml.command.regex.MyPattern; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexOptional; import net.sourceforge.plantuml.command.regex.RegexOr; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Code; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.cucadiagram.GroupType; import net.sourceforge.plantuml.cucadiagram.IEntity; import net.sourceforge.plantuml.cucadiagram.LeafType; import net.sourceforge.plantuml.cucadiagram.Link; import net.sourceforge.plantuml.cucadiagram.LinkDecor; import net.sourceforge.plantuml.cucadiagram.LinkType; import net.sourceforge.plantuml.cucadiagram.NamespaceStrategy; import net.sourceforge.plantuml.cucadiagram.Stereotype; import net.sourceforge.plantuml.descdiagram.command.CommandLinkElement; import net.sourceforge.plantuml.graphic.color.ColorType; public class CommandLinkLongActivity extends CommandMultilines2 { public CommandLinkLongActivity() { super(getRegexConcat(), MultilinesStrategy.REMOVE_STARTING_QUOTE); } @Override public String getPatternEnd() { return "(?i)^[%s]*([^%g]*)[%g](?:[%s]+as[%s]+([\\p{L}0-9][\\p{L}0-9_.]*))?[%s]*(\\<\\<.*\\>\\>)?[%s]*(?:in[%s]+([%g][^%g]+[%g]|\\S+))?[%s]*(#\\w+)?$"; } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexOptional(// new RegexOr("FIRST", // new RegexLeaf("STAR", "(\\(\\*(top)?\\))"), // new RegexLeaf("CODE", "([\\p{L}0-9][\\p{L}0-9_.]*)"), // new RegexLeaf("BAR", "(?:==+)[%s]*([\\p{L}0-9_.]+)[%s]*(?:==+)"), // new RegexLeaf("QUOTED", "[%g]([^%g]+)[%g](?:[%s]+as[%s]+([\\p{L}0-9_.]+))?"))), // new RegexLeaf("[%s]*"), // new RegexLeaf("STEREOTYPE", "(\\<\\<.*\\>\\>)?"), // new RegexLeaf("[%s]*"), // new RegexLeaf("BACKCOLOR", "(#\\w+)?"), // new RegexLeaf("[%s]*"), // new RegexLeaf("URL", "(" + UrlBuilder.getRegexp() + ")?"), // new RegexLeaf("ARROW_BODY1", "([-.]+)"), // new RegexLeaf("ARROW_STYLE1", "(?:\\[(" + CommandLinkElement.LINE_STYLE + ")\\])?"), // new RegexLeaf("ARROW_DIRECTION", "(\\*|left|right|up|down|le?|ri?|up?|do?)?"), // new RegexLeaf("ARROW_STYLE2", "(?:\\[(" + CommandLinkElement.LINE_STYLE + ")\\])?"), // new RegexLeaf("ARROW_BODY2", "([-.]*)\\>"), // new RegexLeaf("[%s]*"), // new RegexLeaf("BRACKET", "(?:\\[([^\\]*]+[^\\]]*)\\])?"), // new RegexLeaf("[%s]*"), // new RegexLeaf("DESC", "[%g]([^%g]*?)"), // new RegexLeaf("[%s]*"), // new RegexLeaf("$")); } protected CommandExecutionResult executeNow(final ActivityDiagram diagram, BlocLines lines) { lines = lines.trim(false); final RegexResult line0 = getStartingPattern().matcher(StringUtils.trin(lines.getFirst499())); final IEntity entity1 = CommandLinkActivity.getEntity(diagram, line0, true); if (entity1 == null) { return CommandExecutionResult.error("No such entity"); } if (line0.get("STEREOTYPE", 0) != null) { entity1.setStereotype(new Stereotype(line0.get("STEREOTYPE", 0))); } if (line0.get("BACKCOLOR", 0) != null) { entity1.setSpecificColorTOBEREMOVED(ColorType.BACK, diagram.getSkinParam().getIHtmlColorSet() .getColorIfValid(line0.get("BACKCOLOR", 0))); } final StringBuilder sb = new StringBuilder(); final String desc0 = line0.get("DESC", 0); Url urlActivity = null; if (StringUtils.isNotEmpty(desc0)) { urlActivity = extractUrl(diagram, desc0); if (urlActivity == null) { sb.append(desc0); sb.append(BackSlash.BS_BS_N); } } int i = 0; for (CharSequence cs : lines.subExtract(1, 1)) { i++; if (i == 1 && urlActivity == null) { urlActivity = extractUrl(diagram, cs); if (urlActivity != null) { continue; } } sb.append(cs); if (i < lines.size() - 2) { sb.append(BackSlash.BS_BS_N); } } final List lineLast = StringUtils.getSplit(MyPattern.cmpile(getPatternEnd()), lines.getLast499() .toString()); if (StringUtils.isNotEmpty(lineLast.get(0))) { if (sb.length() > 0 && sb.toString().endsWith(BackSlash.BS_BS_N) == false) { sb.append(BackSlash.BS_BS_N); } sb.append(lineLast.get(0)); } final String display = sb.toString(); final Code code = Code.of(lineLast.get(1) == null ? display : lineLast.get(1)); String partition = null; if (lineLast.get(3) != null) { partition = lineLast.get(3); partition = StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(partition); } if (partition != null) { diagram.gotoGroup2(Code.of(partition), Display.getWithNewlines(partition), GroupType.PACKAGE, null, NamespaceStrategy.SINGLE); } final IEntity entity2 = diagram.getOrCreate(code, Display.getWithNewlines(display), LeafType.ACTIVITY); if (entity2 == null) { return CommandExecutionResult.error("No such entity"); } if (partition != null) { diagram.endGroup(); } if (urlActivity != null) { entity2.addUrl(urlActivity); } if (lineLast.get(2) != null) { entity2.setStereotype(new Stereotype(lineLast.get(2))); } if (lineLast.get(4) != null) { entity2.setSpecificColorTOBEREMOVED(ColorType.BACK, diagram.getSkinParam().getIHtmlColorSet() .getColorIfValid(lineLast.get(4))); } final String arrowBody1 = CommandLinkClass.notNull(line0.get("ARROW_BODY1", 0)); final String arrowBody2 = CommandLinkClass.notNull(line0.get("ARROW_BODY2", 0)); final String arrowDirection = CommandLinkClass.notNull(line0.get("ARROW_DIRECTION", 0)); final String arrow = StringUtils.manageArrowForCuca(arrowBody1 + arrowDirection + arrowBody2 + ">"); final int lenght = arrow.length() - 1; final Display linkLabel = Display.getWithNewlines(line0.get("BRACKET", 0)); LinkType type = new LinkType(LinkDecor.ARROW, LinkDecor.NONE); if (arrow.contains(".")) { type = type.goDotted(); } Link link = new Link(entity1, entity2, type, linkLabel, lenght); final Direction direction = StringUtils.getArrowDirection(arrowBody1 + arrowDirection + arrowBody2 + ">"); if (direction == Direction.LEFT || direction == Direction.UP) { link = link.getInv(); } if (line0.get("URL", 0) != null) { final UrlBuilder urlBuilder = new UrlBuilder(diagram.getSkinParam().getValue("topurl"), ModeUrl.STRICT); final Url urlLink = urlBuilder.getUrl(line0.get("URL", 0)); link.setUrl(urlLink); } link.applyStyle(line0.getLazzy("ARROW_STYLE", 0)); diagram.addLink(link); return CommandExecutionResult.ok(); } public Url extractUrl(final ActivityDiagram diagram, CharSequence string) { final UrlBuilder urlBuilder = new UrlBuilder(diagram.getSkinParam().getValue("topurl"), ModeUrl.STRICT); return urlBuilder.getUrl(string.toString()); } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram/command/CommandPartition.java����0000664�0000000�0000000�00000007252�13400053436�0032737�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram.command; import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.activitydiagram.ActivityDiagram; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexOr; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Code; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.cucadiagram.GroupType; import net.sourceforge.plantuml.cucadiagram.IEntity; import net.sourceforge.plantuml.cucadiagram.IGroup; import net.sourceforge.plantuml.cucadiagram.NamespaceStrategy; import net.sourceforge.plantuml.graphic.color.ColorParser; import net.sourceforge.plantuml.graphic.color.ColorType; import net.sourceforge.plantuml.graphic.color.Colors; public class CommandPartition extends SingleLineCommand2 { public CommandPartition() { super(getRegexConcat()); } private static RegexConcat getRegexConcat() { return new RegexConcat(// new RegexLeaf("^"), // new RegexLeaf("partition"), // new RegexLeaf("[%s]+"), // new RegexLeaf("NAME", "([%g][^%g]+[%g]|\\S+)"), // new RegexLeaf("[%s]*"), // new RegexOr(// color().getRegex(), // new RegexLeaf("LEGACYCOLORIGNORED", "(#[0-9a-fA-F]{6}|#?\\w+)?")), // new RegexLeaf("[%s]*\\{?$")); } private static ColorParser color() { return ColorParser.simpleColor(ColorType.BACK); } @Override protected CommandExecutionResult executeArg(ActivityDiagram diagram, RegexResult arg) { final Code code = Code.of(StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(arg.get("NAME", 0))); final IGroup currentPackage = diagram.getCurrentGroup(); diagram.gotoGroup2(code, Display.getWithNewlines(code), GroupType.PACKAGE, currentPackage, NamespaceStrategy.SINGLE); final IEntity p = diagram.getCurrentGroup(); final Colors colors = color().getColor(arg, diagram.getSkinParam().getIHtmlColorSet()); if (colors.isEmpty() == false) { p.setColors(colors); } // final String color = arg.get("COLOR", 0); // if (color != null) { // p.setSpecificColorTOBEREMOVED(ColorType.BACK, // diagram.getSkinParam().getIHtmlColorSet().getColorIfValid(color)); // } return CommandExecutionResult.ok(); } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/��������������������������������0000775�0000000�0000000�00000000000�13400053436�0025263�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ActivityDiagram3.java�����������0000664�0000000�0000000�00000040666�13400053436�0031306�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import java.awt.geom.Dimension2D; import java.io.IOException; import java.io.OutputStream; import net.sourceforge.plantuml.AnnotatedWorker; import net.sourceforge.plantuml.Dimension2DDouble; import net.sourceforge.plantuml.FileFormatOption; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.Scale; import net.sourceforge.plantuml.UmlDiagram; import net.sourceforge.plantuml.UmlDiagramType; import net.sourceforge.plantuml.Url; import net.sourceforge.plantuml.activitydiagram3.ftile.BoxStyle; import net.sourceforge.plantuml.activitydiagram3.ftile.SwimlanesC; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.core.DiagramDescription; import net.sourceforge.plantuml.core.ImageData; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.TextBlockRecentred; import net.sourceforge.plantuml.graphic.USymbol; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.sequencediagram.NotePosition; import net.sourceforge.plantuml.sequencediagram.NoteType; import net.sourceforge.plantuml.ugraphic.ImageBuilder; import net.sourceforge.plantuml.ugraphic.comp.CompressionMode; import net.sourceforge.plantuml.ugraphic.comp.TextBlockCompressedOnXorY; public class ActivityDiagram3 extends UmlDiagram { enum SwimlaneStrategy { SWIMLANE_FORBIDDEN, SWIMLANE_ALLOWED; } private SwimlaneStrategy swimlaneStrategy; private final SwimlanesC swinlanes = new SwimlanesC(getSkinParam(), getPragma()); private void manageSwimlaneStrategy() { if (swimlaneStrategy == null) { swimlaneStrategy = SwimlaneStrategy.SWIMLANE_FORBIDDEN; } } public CommandExecutionResult swimlane(String name, HtmlColor color, Display label) { if (swimlaneStrategy == null) { swimlaneStrategy = SwimlaneStrategy.SWIMLANE_ALLOWED; } if (swimlaneStrategy == SwimlaneStrategy.SWIMLANE_FORBIDDEN) { return CommandExecutionResult.error("This swimlane must be defined at the start of the diagram."); } swinlanes.swimlane(name, color, label); return CommandExecutionResult.ok(); } private void setCurrent(Instruction ins) { swinlanes.setCurrent(ins); } private Instruction current() { return swinlanes.getCurrent(); } private LinkRendering nextLinkRenderer() { return swinlanes.nextLinkRenderer(); } public void addActivity(Display activity, BoxStyle style, Url url, Colors colors) { manageSwimlaneStrategy(); final InstructionSimple ins = new InstructionSimple(activity, nextLinkRenderer(), swinlanes.getCurrentSwimlane(), style, url, colors); current().add(ins); setNextLinkRendererInternal(LinkRendering.none()); manageHasUrl(activity); if (url != null) { hasUrl = true; } } public void addSpot(String spot) { final InstructionSpot ins = new InstructionSpot(spot, nextLinkRenderer(), swinlanes.getCurrentSwimlane()); current().add(ins); setNextLinkRendererInternal(LinkRendering.none()); manageSwimlaneStrategy(); } public CommandExecutionResult addGoto(String name) { final InstructionGoto ins = new InstructionGoto(swinlanes.getCurrentSwimlane(), name); current().add(ins); setNextLinkRendererInternal(LinkRendering.none()); return CommandExecutionResult.ok(); } public CommandExecutionResult addLabel(String name) { final InstructionLabel ins = new InstructionLabel(swinlanes.getCurrentSwimlane(), name); current().add(ins); setNextLinkRendererInternal(LinkRendering.none()); return CommandExecutionResult.ok(); } public void start() { manageSwimlaneStrategy(); current().add(new InstructionStart(swinlanes.getCurrentSwimlane())); } public void stop() { manageSwimlaneStrategy(); final InstructionStop ins = new InstructionStop(swinlanes.getCurrentSwimlane(), nextLinkRenderer()); if (manageSpecialStopEndAfterEndWhile(ins)) { return; } current().add(ins); } public void end() { manageSwimlaneStrategy(); final InstructionEnd ins = new InstructionEnd(swinlanes.getCurrentSwimlane(), nextLinkRenderer()); if (manageSpecialStopEndAfterEndWhile(ins)) { return; } current().add(ins); } private boolean manageSpecialStopEndAfterEndWhile(Instruction special) { if (current() instanceof InstructionList == false) { return false; } final InstructionList current = (InstructionList) current(); final Instruction last = current.getLast(); if (last instanceof InstructionWhile == false) { return false; } ((InstructionWhile) last).setSpecial(special); return true; } public void breakInstruction() { manageSwimlaneStrategy(); current().add(new InstructionBreak(swinlanes.getCurrentSwimlane(), nextLinkRenderer())); } public DiagramDescription getDescription() { return new DiagramDescription("activity3"); } @Override public UmlDiagramType getUmlDiagramType() { return UmlDiagramType.ACTIVITY; } @Override protected ImageData exportDiagramInternal(OutputStream os, int index, FileFormatOption fileFormatOption) throws IOException { // BUG42 // COMPRESSION TextBlock result = swinlanes; // result = new TextBlockCompressedOnY(CompressionMode.ON_Y, result); result = new TextBlockCompressedOnXorY(CompressionMode.ON_X, result); result = new TextBlockCompressedOnXorY(CompressionMode.ON_Y, result); result = new TextBlockRecentred(result); final ISkinParam skinParam = getSkinParam(); result = new AnnotatedWorker(this, skinParam, fileFormatOption.getDefaultStringBounder()).addAdd(result); // final Dimension2D dim = TextBlockUtils.getMinMax(result, fileFormatOption.getDefaultStringBounder()) // .getDimension(); final Dimension2D dim = result.getMinMax(fileFormatOption.getDefaultStringBounder()).getDimension(); final double margin = 10; final double dpiFactor = getDpiFactor(fileFormatOption, Dimension2DDouble.delta(dim, 2 * margin, 0)); final ImageBuilder imageBuilder = new ImageBuilder(getSkinParam(), dpiFactor, fileFormatOption.isWithMetadata() ? getMetadata() : null, getWarningOrError(), margin, margin, getAnimation()); imageBuilder.setUDrawable(result); return imageBuilder.writeImageTOBEMOVED(fileFormatOption, seed(), os); } private final double getDpiFactor(FileFormatOption fileFormatOption, final Dimension2D dim) { final double dpiFactor; final Scale scale = getScale(); if (scale == null) { dpiFactor = getDpiFactor(fileFormatOption); } else { dpiFactor = scale.getScale(dim.getWidth(), dim.getHeight()); } return dpiFactor; } public void fork() { final InstructionFork instructionFork = new InstructionFork(current(), nextLinkRenderer(), getSkinParam()); current().add(instructionFork); setNextLinkRendererInternal(LinkRendering.none()); setCurrent(instructionFork); } public CommandExecutionResult forkAgain() { if (current() instanceof InstructionFork) { final InstructionFork currentFork = (InstructionFork) current(); currentFork.manageOutRendering(nextLinkRenderer(), false); setNextLinkRendererInternal(LinkRendering.none()); currentFork.forkAgain(); return CommandExecutionResult.ok(); } return CommandExecutionResult.error("Cannot find fork"); } public CommandExecutionResult endFork(ForkStyle forkStyle, String label) { if (current() instanceof InstructionFork) { final InstructionFork currentFork = (InstructionFork) current(); currentFork.setStyle(forkStyle, label); currentFork.manageOutRendering(nextLinkRenderer(), true); setNextLinkRendererInternal(LinkRendering.none()); setCurrent(currentFork.getParent()); return CommandExecutionResult.ok(); } return CommandExecutionResult.error("Cannot find fork"); } public void split() { final InstructionSplit instructionSplit = new InstructionSplit(current(), nextLinkRenderer()); setNextLinkRendererInternal(LinkRendering.none()); current().add(instructionSplit); setCurrent(instructionSplit); } public CommandExecutionResult splitAgain() { if (current() instanceof InstructionSplit) { ((InstructionSplit) current()).splitAgain(nextLinkRenderer()); setNextLinkRendererInternal(LinkRendering.none()); return CommandExecutionResult.ok(); } return CommandExecutionResult.error("Cannot find split"); } public CommandExecutionResult endSplit() { if (current() instanceof InstructionSplit) { ((InstructionSplit) current()).endSplit(nextLinkRenderer()); setNextLinkRendererInternal(LinkRendering.none()); setCurrent(((InstructionSplit) current()).getParent()); return CommandExecutionResult.ok(); } return CommandExecutionResult.error("Cannot find split"); } public void startIf(Display test, Display whenThen, HtmlColor color) { manageSwimlaneStrategy(); final InstructionIf instructionIf = new InstructionIf(swinlanes.getCurrentSwimlane(), current(), test, whenThen, nextLinkRenderer(), color, getSkinParam()); current().add(instructionIf); setNextLinkRendererInternal(LinkRendering.none()); setCurrent(instructionIf); } public CommandExecutionResult elseIf(Display inlabel, Display test, Display whenThen, HtmlColor color) { if (current() instanceof InstructionIf) { final boolean ok = ((InstructionIf) current()).elseIf(inlabel, test, whenThen, nextLinkRenderer(), color); if (ok == false) { return CommandExecutionResult.error("You cannot put an elseIf here"); } setNextLinkRendererInternal(LinkRendering.none()); return CommandExecutionResult.ok(); } return CommandExecutionResult.error("Cannot find if"); } public CommandExecutionResult else2(Display whenElse) { if (current() instanceof InstructionIf) { final boolean result = ((InstructionIf) current()).swithToElse2(whenElse, nextLinkRenderer()); if (result == false) { return CommandExecutionResult.error("Cannot find if"); } setNextLinkRendererInternal(LinkRendering.none()); return CommandExecutionResult.ok(); } return CommandExecutionResult.error("Cannot find if"); } public CommandExecutionResult endif() { // System.err.println("Activity3::endif"); if (current() instanceof InstructionIf) { ((InstructionIf) current()).endif(nextLinkRenderer()); setNextLinkRendererInternal(LinkRendering.none()); setCurrent(((InstructionIf) current()).getParent()); return CommandExecutionResult.ok(); } return CommandExecutionResult.error("Cannot find if"); } public void startRepeat(HtmlColor color, Display label) { manageSwimlaneStrategy(); final InstructionRepeat instructionRepeat = new InstructionRepeat(swinlanes.getCurrentSwimlane(), current(), nextLinkRenderer(), color, label); current().add(instructionRepeat); setCurrent(instructionRepeat); setNextLinkRendererInternal(LinkRendering.none()); } public CommandExecutionResult repeatWhile(Display label, Display yes, Display out, Display linkLabel, Rainbow linkColor) { manageSwimlaneStrategy(); if (current() instanceof InstructionRepeat) { final InstructionRepeat instructionRepeat = (InstructionRepeat) current(); final LinkRendering back = new LinkRendering(linkColor).withDisplay(linkLabel); instructionRepeat.setTest(label, yes, out, nextLinkRenderer(), back); setCurrent(instructionRepeat.getParent()); this.setNextLinkRendererInternal(LinkRendering.none()); return CommandExecutionResult.ok(); } return CommandExecutionResult.error("Cannot find repeat"); } public CommandExecutionResult backwardWhile(Display label) { manageSwimlaneStrategy(); if (current() instanceof InstructionRepeat) { final InstructionRepeat instructionRepeat = (InstructionRepeat) current(); // final LinkRendering back = new LinkRendering(linkColor).withDisplay(linkLabel); instructionRepeat.setBackward(label); // setCurrent(instructionRepeat.getParent()); // this.setNextLinkRendererInternal(LinkRendering.none()); return CommandExecutionResult.ok(); } return CommandExecutionResult.error("Cannot find repeat"); } public void doWhile(Display test, Display yes, HtmlColor color) { manageSwimlaneStrategy(); final InstructionWhile instructionWhile = new InstructionWhile(swinlanes.getCurrentSwimlane(), current(), test, nextLinkRenderer(), yes, color, getSkinParam()); current().add(instructionWhile); setCurrent(instructionWhile); } public CommandExecutionResult endwhile(Display out) { if (current() instanceof InstructionWhile) { ((InstructionWhile) current()).endwhile(nextLinkRenderer(), out); setNextLinkRendererInternal(LinkRendering.none()); setCurrent(((InstructionWhile) current()).getParent()); return CommandExecutionResult.ok(); } return CommandExecutionResult.error("Cannot find while"); } final public CommandExecutionResult kill() { if (current().kill() == false) { return CommandExecutionResult.error("kill cannot be used here"); } return CommandExecutionResult.ok(); } public void startGroup(Display name, HtmlColor backColor, HtmlColor titleColor, HtmlColor borderColor, USymbol type, double roundCorner) { manageSwimlaneStrategy(); final InstructionGroup instructionGroup = new InstructionGroup(current(), name, backColor, titleColor, swinlanes.getCurrentSwimlane(), borderColor, nextLinkRenderer(), type, roundCorner); current().add(instructionGroup); setCurrent(instructionGroup); } public CommandExecutionResult endGroup() { if (current() instanceof InstructionGroup) { setCurrent(((InstructionGroup) current()).getParent()); return CommandExecutionResult.ok(); } return CommandExecutionResult.error("Cannot find group"); } private void setNextLinkRendererInternal(LinkRendering link) { if (link == null) { throw new IllegalArgumentException(); } // System.err.println("setNextLinkRendererInternal=" + link); swinlanes.setNextLinkRenderer(link); } private void setNextLink(LinkRendering linkRenderer) { if (linkRenderer == null) { throw new IllegalArgumentException(); } // System.err.println("setNextLink=" + linkRenderer); if (current() instanceof InstructionCollection) { final Instruction last = ((InstructionCollection) current()).getLast(); if (last instanceof InstructionWhile) { ((InstructionWhile) last).afterEndwhile(linkRenderer); } else if (last instanceof InstructionIf) { ((InstructionIf) last).afterEndwhile(linkRenderer); } } this.setNextLinkRendererInternal(linkRenderer); } public void setLabelNextArrow(Display label) { if (current() instanceof InstructionWhile && ((InstructionWhile) current()).getLast() == null) { ((InstructionWhile) current()).overwriteYes(label); return; } setNextLinkRendererInternal(nextLinkRenderer().withDisplay(label)); } public void setColorNextArrow(Rainbow color) { if (color == null) { return; } final LinkRendering link = new LinkRendering(color); setNextLink(link); } public CommandExecutionResult addNote(Display note, NotePosition position, NoteType type, Colors colors) { final boolean ok = current().addNote(note, position, type, colors, swinlanes.getCurrentSwimlane()); if (ok == false) { return CommandExecutionResult.error("Cannot add note here"); } manageHasUrl(note); return CommandExecutionResult.ok(); } private boolean hasUrl = false; private void manageHasUrl(Display display) { if (display.hasUrl()) { hasUrl = true; } } @Override public boolean hasUrl() { return hasUrl; } } ��������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ActivityDiagramFactory3.java����0000664�0000000�0000000�00000015054�13400053436�0032627�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import java.util.ArrayList; import java.util.List; import net.sourceforge.plantuml.activitydiagram3.command.CommandActivity3; import net.sourceforge.plantuml.activitydiagram3.command.CommandActivityLegacy1; import net.sourceforge.plantuml.activitydiagram3.command.CommandActivityLong3; import net.sourceforge.plantuml.activitydiagram3.command.CommandArrow3; import net.sourceforge.plantuml.activitydiagram3.command.CommandArrowLong3; import net.sourceforge.plantuml.activitydiagram3.command.CommandBackward3; import net.sourceforge.plantuml.activitydiagram3.command.CommandBreak; import net.sourceforge.plantuml.activitydiagram3.command.CommandCircleSpot3; import net.sourceforge.plantuml.activitydiagram3.command.CommandElse3; import net.sourceforge.plantuml.activitydiagram3.command.CommandElseIf2; import net.sourceforge.plantuml.activitydiagram3.command.CommandElseLegacy1; import net.sourceforge.plantuml.activitydiagram3.command.CommandEnd3; import net.sourceforge.plantuml.activitydiagram3.command.CommandEndPartition3; import net.sourceforge.plantuml.activitydiagram3.command.CommandEndif3; import net.sourceforge.plantuml.activitydiagram3.command.CommandFork3; import net.sourceforge.plantuml.activitydiagram3.command.CommandForkAgain3; import net.sourceforge.plantuml.activitydiagram3.command.CommandForkEnd3; import net.sourceforge.plantuml.activitydiagram3.command.CommandGoto; import net.sourceforge.plantuml.activitydiagram3.command.CommandGroup3; import net.sourceforge.plantuml.activitydiagram3.command.CommandGroupEnd3; import net.sourceforge.plantuml.activitydiagram3.command.CommandIf2; import net.sourceforge.plantuml.activitydiagram3.command.CommandIf4; import net.sourceforge.plantuml.activitydiagram3.command.CommandIfLegacy1; import net.sourceforge.plantuml.activitydiagram3.command.CommandKill3; import net.sourceforge.plantuml.activitydiagram3.command.CommandLabel; import net.sourceforge.plantuml.activitydiagram3.command.CommandLink3; import net.sourceforge.plantuml.activitydiagram3.command.CommandNote3; import net.sourceforge.plantuml.activitydiagram3.command.CommandNoteLong3; import net.sourceforge.plantuml.activitydiagram3.command.CommandPartition3; import net.sourceforge.plantuml.activitydiagram3.command.CommandRepeat3; import net.sourceforge.plantuml.activitydiagram3.command.CommandRepeatWhile3; import net.sourceforge.plantuml.activitydiagram3.command.CommandRepeatWhile3Multilines; import net.sourceforge.plantuml.activitydiagram3.command.CommandSplit3; import net.sourceforge.plantuml.activitydiagram3.command.CommandSplitAgain3; import net.sourceforge.plantuml.activitydiagram3.command.CommandSplitEnd3; import net.sourceforge.plantuml.activitydiagram3.command.CommandStart3; import net.sourceforge.plantuml.activitydiagram3.command.CommandStop3; import net.sourceforge.plantuml.activitydiagram3.command.CommandSwimlane; import net.sourceforge.plantuml.activitydiagram3.command.CommandSwimlane2; import net.sourceforge.plantuml.activitydiagram3.command.CommandWhile3; import net.sourceforge.plantuml.activitydiagram3.command.CommandWhileEnd3; import net.sourceforge.plantuml.command.Command; import net.sourceforge.plantuml.command.CommandDecoratorMultine; import net.sourceforge.plantuml.command.CommandFootboxIgnored; import net.sourceforge.plantuml.command.UmlDiagramFactory; public class ActivityDiagramFactory3 extends UmlDiagramFactory { @Override protected List createCommands() { final List cmds = new ArrayList(); cmds.add(new CommandFootboxIgnored()); addCommonCommands(cmds); cmds.add(new CommandSwimlane()); cmds.add(new CommandSwimlane2()); cmds.add(new CommandPartition3()); cmds.add(new CommandEndPartition3()); cmds.add(new CommandGroup3()); cmds.add(new CommandGroupEnd3()); cmds.add(new CommandArrow3()); cmds.add(new CommandArrowLong3()); cmds.add(new CommandActivity3()); cmds.add(new CommandIf4()); cmds.add(new CommandIf2()); cmds.add(new CommandDecoratorMultine(new CommandIf2(), 50)); cmds.add(new CommandIfLegacy1()); cmds.add(new CommandElseIf2()); cmds.add(new CommandElse3()); cmds.add(new CommandDecoratorMultine(new CommandElse3(), 50)); cmds.add(new CommandElseLegacy1()); cmds.add(new CommandEndif3()); cmds.add(new CommandRepeat3()); cmds.add(new CommandRepeatWhile3()); cmds.add(new CommandRepeatWhile3Multilines()); cmds.add(new CommandBackward3()); cmds.add(new CommandWhile3()); cmds.add(new CommandWhileEnd3()); cmds.add(new CommandFork3()); cmds.add(new CommandForkAgain3()); cmds.add(new CommandForkEnd3()); cmds.add(new CommandSplit3()); cmds.add(new CommandSplitAgain3()); cmds.add(new CommandSplitEnd3()); // cmds.add(new CommandGroup3()); // cmds.add(new CommandGroupEnd3()); cmds.add(new CommandStart3()); cmds.add(new CommandStop3()); cmds.add(new CommandCircleSpot3()); cmds.add(new CommandBreak()); cmds.add(new CommandEnd3()); cmds.add(new CommandKill3()); cmds.add(new CommandLink3()); cmds.add(new CommandNote3()); cmds.add(new CommandNoteLong3()); cmds.add(new CommandActivityLong3()); cmds.add(new CommandActivityLegacy1()); cmds.add(new CommandLabel()); cmds.add(new CommandGoto()); cmds.add(new CommandDecoratorMultine(new CommandElseIf2(), 50)); return cmds; } @Override public ActivityDiagram3 createEmptyDiagram() { return new ActivityDiagram3(); } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/Branch.java���������������������0000664�0000000�0000000�00000010741�13400053436�0027326�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import java.util.Collection; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.WeldingPoint; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.sequencediagram.NotePosition; import net.sourceforge.plantuml.sequencediagram.NoteType; public class Branch { private final InstructionList list; private final Display labelTest; private final Display labelPositive; private final Display inlabel; private final HtmlColor color; private LinkRendering inlinkRendering = LinkRendering.none(); private Ftile ftile; public Branch(Swimlane swimlane, Display labelPositive, Display labelTest, HtmlColor color, Display inlabel) { if (labelPositive == null) { throw new IllegalArgumentException(); } if (labelTest == null) { throw new IllegalArgumentException(); } if (inlabel == null) { throw new IllegalArgumentException(); } this.inlabel = inlabel; this.list = new InstructionList(swimlane); this.labelTest = labelTest; this.labelPositive = labelPositive; this.color = color; } public Collection getWeldingPoints() { return ftile.getWeldingPoints(); } public void add(Instruction ins) { list.add(ins); } public boolean kill() { return list.kill(); } public boolean addNote(Display note, NotePosition position, NoteType type, Colors colors, Swimlane swimlaneNote) { return list.addNote(note, position, type, colors, swimlaneNote); } public final void setInlinkRendering(LinkRendering inlinkRendering) { if (inlinkRendering == null) { throw new IllegalArgumentException(); } this.inlinkRendering = inlinkRendering; } public void updateFtile(FtileFactory factory) { this.ftile = factory.decorateOut(list.createFtile(factory), inlinkRendering); } public Collection getSwimlanes() { return list.getSwimlanes(); } public final Display getLabelPositive() { final LinkRendering in = ftile.getInLinkRendering(); if (in != null && Display.isNull(in.getDisplay()) == false) { return in.getDisplay(); } return labelPositive; } public final Display getLabelTest() { return labelTest; } public final Rainbow getInlinkRenderingColorAndStyle() { return inlinkRendering == null ? null : inlinkRendering.getRainbow(); } public Display getInlabel() { return inlabel; } public final Ftile getFtile() { return ftile; } public ISkinParam skinParam() { return ftile.skinParam(); } public final HtmlColor getColor() { return color; } public boolean isEmpty() { return list.isEmpty(); } public Instruction getLast() { return list.getLast(); } public boolean isOnlySingleStopOrSpot() { return list.isOnlySingleStopOrSpot(); } private LinkRendering special; public void setSpecial(LinkRendering link) { this.special = link; } public final LinkRendering getSpecial() { return special; } } �������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ForkStyle.java������������������0000664�0000000�0000000�00000002504�13400053436�0030051�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; public enum ForkStyle { FORK, SPLIT, MERGE } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/Instruction.java����������������0000664�0000000�0000000�00000004104�13400053436�0030446�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimable; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.sequencediagram.NotePosition; import net.sourceforge.plantuml.sequencediagram.NoteType; public interface Instruction extends Swimable { public Ftile createFtile(FtileFactory factory); public void add(Instruction other); public boolean kill(); public LinkRendering getInLinkRendering(); public boolean addNote(Display note, NotePosition position, NoteType type, Colors colors, Swimlane swimlaneNote); } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/InstructionBreak.java�����������0000664�0000000�0000000�00000004302�13400053436�0031413�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileBreak; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; public class InstructionBreak extends MonoSwimable implements Instruction { private final LinkRendering inlinkRendering; public InstructionBreak(Swimlane swimlane, LinkRendering inlinkRendering) { super(swimlane); this.inlinkRendering = inlinkRendering; if (inlinkRendering == null) { throw new IllegalArgumentException(); } } public Ftile createFtile(FtileFactory factory) { return new FtileBreak(factory.skinParam(), getSwimlaneIn()); } public void add(Instruction other) { throw new UnsupportedOperationException(); } final public boolean kill() { return false; } public LinkRendering getInLinkRendering() { return inlinkRendering; } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/InstructionCollection.java������0000664�0000000�0000000�00000002566�13400053436�0032474�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; public interface InstructionCollection extends Instruction { public Instruction getLast(); } ������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/InstructionEnd.java�������������0000664�0000000�0000000�00000004303�13400053436�0031076�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; public class InstructionEnd extends MonoSwimable implements Instruction { private final LinkRendering inlinkRendering; public InstructionEnd(Swimlane swimlane, LinkRendering inlinkRendering) { super(swimlane); this.inlinkRendering = inlinkRendering; if (inlinkRendering == null) { throw new IllegalArgumentException(); } } public Ftile createFtile(FtileFactory factory) { Ftile result = factory.end(getSwimlaneIn()); result = eventuallyAddNote(factory, result, result.getSwimlaneIn()); return result; } public void add(Instruction other) { throw new UnsupportedOperationException(); } final public boolean kill() { return false; } public LinkRendering getInLinkRendering() { return inlinkRendering; } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/InstructionFork.java������������0000664�0000000�0000000�00000010655�13400053436�0031300�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import java.util.ArrayList; import java.util.List; import java.util.Set; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileWithNoteOpale; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.sequencediagram.NotePosition; import net.sourceforge.plantuml.sequencediagram.NoteType; public class InstructionFork extends WithNote implements Instruction { private final List forks = new ArrayList(); private final Instruction parent; private final LinkRendering inlinkRendering; private final ISkinParam skinParam; private ForkStyle style = ForkStyle.FORK; private String label; boolean finished = false; public InstructionFork(Instruction parent, LinkRendering inlinkRendering, ISkinParam skinParam) { this.parent = parent; this.inlinkRendering = inlinkRendering; this.skinParam = skinParam; this.forks.add(new InstructionList()); if (inlinkRendering == null) { throw new IllegalArgumentException(); } } private InstructionList getLastList() { return forks.get(forks.size() - 1); } public void add(Instruction ins) { getLastList().add(ins); } public Ftile createFtile(FtileFactory factory) { final List all = new ArrayList(); for (InstructionList list : forks) { all.add(list.createFtile(factory)); } Ftile result = factory.createParallel(getSwimlaneIn(), all, style, label); if (getPositionedNotes().size() > 0) { result = FtileWithNoteOpale.create(result, getPositionedNotes(), skinParam, false); } return result; } public Instruction getParent() { return parent; } public void forkAgain() { this.forks.add(new InstructionList()); } final public boolean kill() { return getLastList().kill(); } public LinkRendering getInLinkRendering() { return inlinkRendering; } @Override public boolean addNote(Display note, NotePosition position, NoteType type, Colors colors, Swimlane swimlaneNote) { if (finished) { return super.addNote(note, position, type, colors, swimlaneNote); } if (getLastList().getLast() == null) { return getLastList().addNote(note, position, type, colors, swimlaneNote); } return getLastList().addNote(note, position, type, colors, swimlaneNote); } public Set getSwimlanes() { return InstructionList.getSwimlanes2(forks); } public Swimlane getSwimlaneIn() { // return parent.getSwimlaneOut(); return forks.get(0).getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return forks.get(0).getSwimlaneOut(); // return getLastList().getSwimlaneOut(); } public void manageOutRendering(LinkRendering nextLinkRenderer, boolean endFork) { if (endFork) { this.finished = true; } if (nextLinkRenderer == null) { return; } getLastList().setOutRendering(nextLinkRenderer); } public void setStyle(ForkStyle style, String label) { this.style = style; this.label = label; } } �����������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/InstructionGoto.java������������0000664�0000000�0000000�00000004101�13400053436�0031274�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGoto; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; public class InstructionGoto extends MonoSwimable implements Instruction { private final String name; public InstructionGoto(Swimlane swimlane, String name) { super(swimlane); this.name = name; } public Ftile createFtile(FtileFactory factory) { return new FtileGoto(factory.skinParam(), getSwimlaneIn(), name); } public void add(Instruction other) { throw new UnsupportedOperationException(); } final public boolean kill() { return false; } public LinkRendering getInLinkRendering() { return LinkRendering.none(); } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/InstructionGroup.java�����������0000664�0000000�0000000�00000007673�13400053436�0031501�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import java.util.Collections; import java.util.Set; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileWithNotes; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.USymbol; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.sequencediagram.NotePosition; import net.sourceforge.plantuml.sequencediagram.NoteType; public class InstructionGroup implements Instruction, InstructionCollection { private final InstructionList list; private final Instruction parent; private final HtmlColor backColor; private final HtmlColor borderColor; private final HtmlColor titleColor; private final LinkRendering linkRendering; private final USymbol type; private final Display test; private final double roundCorner; private PositionedNote note = null; public InstructionGroup(Instruction parent, Display test, HtmlColor backColor, HtmlColor titleColor, Swimlane swimlane, HtmlColor borderColor, LinkRendering linkRendering, USymbol type, double roundCorner) { this.list = new InstructionList(swimlane); this.type = type; this.linkRendering = linkRendering; this.parent = parent; this.test = test; this.borderColor = borderColor; this.backColor = backColor; this.titleColor = titleColor; this.roundCorner = roundCorner; } public void add(Instruction ins) { list.add(ins); } public Ftile createFtile(FtileFactory factory) { Ftile tmp = list.createFtile(factory); if (note != null) { tmp = new FtileWithNotes(tmp, Collections.singleton(note), factory.skinParam()); } return factory.createGroup(tmp, test, backColor, titleColor, null, borderColor, type, roundCorner); } public Instruction getParent() { return parent; } final public boolean kill() { return list.kill(); } public LinkRendering getInLinkRendering() { return linkRendering; } public boolean addNote(Display note, NotePosition position, NoteType type, Colors colors, Swimlane swimlaneNote) { if (list.isEmpty()) { this.note = new PositionedNote(note, position, type, colors, swimlaneNote); return true; } return list.addNote(note, position, type, colors, swimlaneNote); } public Set getSwimlanes() { return list.getSwimlanes(); } public Swimlane getSwimlaneIn() { return list.getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return list.getSwimlaneOut(); } public Instruction getLast() { return list.getLast(); } } ���������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/InstructionIf.java��������������0000664�0000000�0000000�00000014664�13400053436�0030741�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileDecorateWelding; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.WeldingPoint; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileWithNoteOpale; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.sequencediagram.NotePosition; import net.sourceforge.plantuml.sequencediagram.NoteType; public class InstructionIf extends WithNote implements Instruction, InstructionCollection { private final List thens = new ArrayList(); private Branch elseBranch; private boolean endifCalled = false; private final ISkinParam skinParam; private final Instruction parent; private Branch current; private final LinkRendering topInlinkRendering; private LinkRendering afterEndwhile = LinkRendering.none(); private final Swimlane swimlane; public InstructionIf(Swimlane swimlane, Instruction parent, Display labelTest, Display whenThen, LinkRendering inlinkRendering, HtmlColor color, ISkinParam skinParam) { this.parent = parent; this.skinParam = skinParam; this.topInlinkRendering = inlinkRendering; if (inlinkRendering == null) { throw new IllegalArgumentException(); } this.swimlane = swimlane; this.thens.add(new Branch(swimlane, whenThen, labelTest, color, Display.NULL)); this.current = this.thens.get(0); } public void add(Instruction ins) { current.add(ins); } public Ftile createFtile(FtileFactory factory) { for (Branch branch : thens) { branch.updateFtile(factory); } if (elseBranch == null) { this.elseBranch = new Branch(swimlane, Display.NULL, Display.NULL, null, Display.NULL); } elseBranch.updateFtile(factory); Ftile result = factory.createIf(swimlane, thens, elseBranch, afterEndwhile, topInlinkRendering); if (getPositionedNotes().size() > 0) { result = FtileWithNoteOpale.create(result, getPositionedNotes(), skinParam, false); } final List weldingPoints = new ArrayList(); for (Branch branch : thens) { weldingPoints.addAll(branch.getWeldingPoints()); } weldingPoints.addAll(elseBranch.getWeldingPoints()); if (weldingPoints.size() > 0) { result = new FtileDecorateWelding(result, weldingPoints); } return result; } public Instruction getParent() { return parent; } public boolean swithToElse2(Display whenElse, LinkRendering nextLinkRenderer) { if (elseBranch != null) { return false; } this.current.setInlinkRendering(nextLinkRenderer); this.elseBranch = new Branch(swimlane, whenElse, Display.NULL, null, Display.NULL); this.current = elseBranch; return true; } public boolean elseIf(Display inlabel, Display test, Display whenThen, LinkRendering nextLinkRenderer, HtmlColor color) { if (elseBranch != null) { return false; } // this.current.setInlinkRendering(nextLinkRenderer); this.current.setSpecial(nextLinkRenderer); this.current = new Branch(swimlane, whenThen, test, color, inlabel); this.thens.add(current); return true; } public void endif(LinkRendering nextLinkRenderer) { endifCalled = true; if (elseBranch == null) { this.elseBranch = new Branch(swimlane, Display.NULL, Display.NULL, null, Display.NULL); } this.elseBranch.setSpecial(nextLinkRenderer); this.current.setInlinkRendering(nextLinkRenderer); } final public boolean kill() { if (endifCalled) { for (Branch branch : thens) { if (branch.getLast().kill() == false) { return false; } if (elseBranch != null && elseBranch.getLast() != null && elseBranch.getLast().kill() == false) { return false; } return true; } } return current.kill(); } public LinkRendering getInLinkRendering() { return topInlinkRendering; } @Override public boolean addNote(Display note, NotePosition position, NoteType type, Colors colors, Swimlane swimlaneNote) { if (endifCalled || current.isEmpty()) { return super.addNote(note, position, type, colors, swimlaneNote); } else { return current.addNote(note, position, type, colors, swimlaneNote); } } public Set getSwimlanes() { final Set result = new HashSet(); if (swimlane != null) { result.add(swimlane); } for (Branch branch : thens) { result.addAll(branch.getSwimlanes()); } if (elseBranch != null) { result.addAll(elseBranch.getSwimlanes()); } return Collections.unmodifiableSet(result); } public Swimlane getSwimlaneIn() { return swimlane; } public Swimlane getSwimlaneOut() { return swimlane; } public Instruction getLast() { if (elseBranch == null) { return thens.get(thens.size() - 1).getLast(); } return elseBranch.getLast(); } public void afterEndwhile(LinkRendering linkRenderer) { this.afterEndwhile = linkRenderer; } } ����������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/InstructionLabel.java�����������0000664�0000000�0000000�00000004105�13400053436�0031407�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileLabel; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; public class InstructionLabel extends MonoSwimable implements Instruction { private final String name; public InstructionLabel(Swimlane swimlane, String name) { super(swimlane); this.name = name; } public Ftile createFtile(FtileFactory factory) { return new FtileLabel(factory.skinParam(), getSwimlaneIn(), name); } public void add(Instruction other) { throw new UnsupportedOperationException(); } final public boolean kill() { return false; } public LinkRendering getInLinkRendering() { return LinkRendering.none(); } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/InstructionList.java������������0000664�0000000�0000000�00000012404�13400053436�0031304�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileDecorateWelding; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileEmpty; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.WeldingPoint; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.sequencediagram.NotePosition; import net.sourceforge.plantuml.sequencediagram.NoteType; public class InstructionList extends WithNote implements Instruction, InstructionCollection { private final List all = new ArrayList(); private final Swimlane defaultSwimlane; public InstructionList() { this(null); } public boolean isEmpty() { return all.isEmpty(); } public boolean isOnlySingleStopOrSpot() { if (all.size() != 1) { return false; } if (getLast() instanceof InstructionSpot) { return true; } return getLast() instanceof InstructionStop && ((InstructionStop) getLast()).hasNotes() == false; } public InstructionList(Swimlane defaultSwimlane) { this.defaultSwimlane = defaultSwimlane; } public void add(Instruction ins) { all.add(ins); } public Ftile createFtile(FtileFactory factory) { if (all.size() == 0) { return new FtileEmpty(factory.skinParam(), defaultSwimlane); } final List breaks = new ArrayList(); Ftile result = eventuallyAddNote(factory, null, getSwimlaneIn()); for (Instruction ins : all) { Ftile cur = ins.createFtile(factory); breaks.addAll(cur.getWeldingPoints()); if (ins.getInLinkRendering().isNone() == false) { cur = factory.decorateIn(cur, ins.getInLinkRendering()); } if (result == null) { result = cur; } else { result = factory.assembly(result, cur); } } if (outlinkRendering != null) { result = factory.decorateOut(result, outlinkRendering); } if (breaks.size() > 0) { result = new FtileDecorateWelding(result, breaks); } // if (killed) { // result = new FtileKilled(result); // } return result; } final public boolean kill() { if (all.size() == 0) { return false; } return getLast().kill(); } public LinkRendering getInLinkRendering() { return all.iterator().next().getInLinkRendering(); } public Instruction getLast() { if (all.size() == 0) { return null; } return all.get(all.size() - 1); } public boolean addNote(Display note, NotePosition position, NoteType type, Colors colors, Swimlane swimlaneNote) { if (getLast() == null) { return super.addNote(note, position, type, colors, swimlaneNote); } return getLast().addNote(note, position, type, colors, swimlaneNote); } public Set getSwimlanes() { return getSwimlanes2(all); } public Swimlane getSwimlaneIn() { return defaultSwimlane; // final Set swimlanes = getSwimlanes(); // if (swimlanes.size() == 0) { // return null; // } // if (swimlanes.size() == 1) { // return swimlanes.iterator().next(); // } // System.err.println("foo1="+getClass()); // return all.get(0).getSwimlaneIn(); } public Swimlane getSwimlaneOut() { final Set swimlanes = getSwimlanes(); if (swimlanes.size() == 0) { return null; } if (swimlanes.size() == 1) { return swimlanes.iterator().next(); } return getLast().getSwimlaneOut(); } public static Set getSwimlanes2(List list) { final Set result = new HashSet(); for (Instruction ins : list) { result.addAll(ins.getSwimlanes()); } return Collections.unmodifiableSet(result); } private LinkRendering outlinkRendering; public void setOutRendering(LinkRendering outlinkRendering) { this.outlinkRendering = outlinkRendering; } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/InstructionPartition.java�������0000664�0000000�0000000�00000005255�13400053436�0032350�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import java.util.Set; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.sequencediagram.NotePosition; import net.sourceforge.plantuml.sequencediagram.NoteType; public class InstructionPartition implements Instruction { private final InstructionList list = new InstructionList(); private final Instruction parent; public InstructionPartition(Instruction parent, String partitionTitle) { this.parent = parent; } public Instruction getParent() { return parent; } public Set getSwimlanes() { return list.getSwimlanes(); } public Swimlane getSwimlaneIn() { return list.getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return list.getSwimlaneOut(); } public Ftile createFtile(FtileFactory factory) { return list.createFtile(factory); } public void add(Instruction other) { list.add(other); } public boolean kill() { return list.kill(); } public LinkRendering getInLinkRendering() { return list.getInLinkRendering(); } public boolean addNote(Display note, NotePosition position, NoteType type, Colors colors, Swimlane swimlaneNote) { throw new UnsupportedOperationException(); } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/InstructionRepeat.java����������0000664�0000000�0000000�00000011611�13400053436�0031610�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import java.util.Set; import net.sourceforge.plantuml.activitydiagram3.ftile.BoxStyle; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileKilled; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.sequencediagram.NotePosition; import net.sourceforge.plantuml.sequencediagram.NoteType; public class InstructionRepeat implements Instruction { private final InstructionList repeatList = new InstructionList(); private final Instruction parent; private final LinkRendering nextLinkRenderer; private final Swimlane swimlane; private final HtmlColor color; private boolean killed = false; private Display backward = Display.NULL; private Display test = Display.NULL; private Display yes = Display.NULL; private Display out = Display.NULL; private final Display startLabel; private boolean testCalled = false; private LinkRendering endRepeatLinkRendering = LinkRendering.none(); private LinkRendering backRepeatLinkRendering = LinkRendering.none(); public InstructionRepeat(Swimlane swimlane, Instruction parent, LinkRendering nextLinkRenderer, HtmlColor color, Display startLabel) { this.startLabel = startLabel; this.parent = parent; this.swimlane = swimlane; this.nextLinkRenderer = nextLinkRenderer; if (nextLinkRenderer == null) { throw new IllegalArgumentException(); } this.color = color; } private boolean isLastOfTheParent() { if (parent instanceof InstructionList) { return ((InstructionList) parent).getLast() == this; } return false; } public void setBackward(Display label) { this.backward = label; } public void add(Instruction ins) { repeatList.add(ins); } public Ftile createFtile(FtileFactory factory) { final Ftile back = Display.isNull(backward) ? null : factory.activity(backward, swimlane, BoxStyle.PLAIN, Colors.empty()); final Ftile result = factory.repeat(swimlane, repeatList.getSwimlaneOut(), startLabel, factory.decorateOut(repeatList.createFtile(factory), endRepeatLinkRendering), test, yes, out, color, backRepeatLinkRendering, back, isLastOfTheParent()); if (killed) { return new FtileKilled(result); } return result; } public Instruction getParent() { return parent; } public void setTest(Display test, Display yes, Display out, LinkRendering endRepeatLinkRendering, LinkRendering backRepeatLinkRendering) { this.test = test; this.yes = yes; this.out = out; if (test == null) { throw new IllegalArgumentException(); } if (yes == null) { throw new IllegalArgumentException(); } if (out == null) { throw new IllegalArgumentException(); } this.endRepeatLinkRendering = endRepeatLinkRendering; this.backRepeatLinkRendering = backRepeatLinkRendering; this.testCalled = true; } final public boolean kill() { if (testCalled) { this.killed = true; return true; } return repeatList.kill(); } public LinkRendering getInLinkRendering() { return nextLinkRenderer; } public boolean addNote(Display note, NotePosition position, NoteType type, Colors colors, Swimlane swimlaneNote) { return repeatList.addNote(note, position, type, colors, swimlaneNote); } public Set getSwimlanes() { return repeatList.getSwimlanes(); } public Swimlane getSwimlaneIn() { return parent.getSwimlaneOut(); } public Swimlane getSwimlaneOut() { return parent.getSwimlaneOut(); } } �����������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/InstructionSimple.java����������0000664�0000000�0000000�00000005760�13400053436�0031631�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import net.sourceforge.plantuml.Url; import net.sourceforge.plantuml.activitydiagram3.ftile.BoxStyle; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileKilled; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.color.Colors; public class InstructionSimple extends MonoSwimable implements Instruction { private boolean killed = false; private final Display label; private final Colors colors; private final LinkRendering inlinkRendering; private final BoxStyle style; private final Url url; public InstructionSimple(Display label, LinkRendering inlinkRendering, Swimlane swimlane, BoxStyle style, Url url, Colors colors) { super(swimlane); if (colors == null) { throw new IllegalArgumentException(); } this.url = url; this.style = style; this.label = label; this.inlinkRendering = inlinkRendering; if (inlinkRendering == null) { throw new IllegalArgumentException(); } this.colors = colors; } public Ftile createFtile(FtileFactory factory) { Ftile result = factory.activity(label, getSwimlaneIn(), style, colors); if (url != null) { result = factory.addUrl(result, url); } result = eventuallyAddNote(factory, result, result.getSwimlaneIn()); if (killed) { return new FtileKilled(result); } return result; } public void add(Instruction other) { throw new UnsupportedOperationException(); } final public boolean kill() { this.killed = true; return true; } public LinkRendering getInLinkRendering() { return inlinkRendering; } } ����������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/InstructionSplit.java�����������0000664�0000000�0000000�00000007151�13400053436�0031467�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import java.util.ArrayList; import java.util.List; import java.util.Set; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.sequencediagram.NotePosition; import net.sourceforge.plantuml.sequencediagram.NoteType; public class InstructionSplit implements Instruction { private final List splits = new ArrayList(); private final Instruction parent; private final LinkRendering inlinkRendering; public InstructionSplit(Instruction parent, LinkRendering inlinkRendering) { this.parent = parent; this.splits.add(new InstructionList()); this.inlinkRendering = inlinkRendering; if (inlinkRendering == null) { throw new IllegalArgumentException(); } } private InstructionList getLast() { return splits.get(splits.size() - 1); } public void add(Instruction ins) { getLast().add(ins); } public Ftile createFtile(FtileFactory factory) { final List all = new ArrayList(); for (InstructionList list : splits) { all.add(list.createFtile(factory)); } return factory.createParallel(getSwimlaneIn(), all, ForkStyle.SPLIT, null); } public Instruction getParent() { return parent; } public void splitAgain(LinkRendering inlinkRendering) { if (inlinkRendering != null) { getLast().setOutRendering(inlinkRendering); } final InstructionList list = new InstructionList(); this.splits.add(list); } public void endSplit(LinkRendering inlinkRendering) { if (inlinkRendering != null) { getLast().setOutRendering(inlinkRendering); } } final public boolean kill() { return getLast().kill(); } public LinkRendering getInLinkRendering() { return inlinkRendering; } public boolean addNote(Display note, NotePosition position, NoteType type, Colors colors, Swimlane swimlaneNote) { return getLast().addNote(note, position, type, colors, swimlaneNote); } public Set getSwimlanes() { return InstructionList.getSwimlanes2(splits); } public Swimlane getSwimlaneIn() { return parent.getSwimlaneOut(); } public Swimlane getSwimlaneOut() { return getLast().getSwimlaneOut(); } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/InstructionSpot.java������������0000664�0000000�0000000�00000004672�13400053436�0031326�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileKilled; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; public class InstructionSpot extends MonoSwimable implements Instruction { private boolean killed = false; private final LinkRendering inlinkRendering; private final String spot; public InstructionSpot(String spot, LinkRendering inlinkRendering, Swimlane swimlane) { super(swimlane); this.spot = spot; this.inlinkRendering = inlinkRendering; if (inlinkRendering == null) { throw new IllegalArgumentException(); } } public Ftile createFtile(FtileFactory factory) { Ftile result = factory.spot(getSwimlaneIn(), spot); result = eventuallyAddNote(factory, result, result.getSwimlaneIn()); if (killed) { return new FtileKilled(result); } return result; } public void add(Instruction other) { throw new UnsupportedOperationException(); } final public boolean kill() { this.killed = true; return true; } public LinkRendering getInLinkRendering() { return inlinkRendering; } } ����������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/InstructionStart.java�����������0000664�0000000�0000000�00000004010�13400053436�0031460�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; public class InstructionStart extends MonoSwimable implements Instruction { public InstructionStart(Swimlane swimlane) { super(swimlane); } public Ftile createFtile(FtileFactory factory) { Ftile result = factory.start(getSwimlaneIn()); result = eventuallyAddNote(factory, result, result.getSwimlaneIn()); return result; } public void add(Instruction other) { throw new UnsupportedOperationException(); } final public boolean kill() { return false; } public LinkRendering getInLinkRendering() { return LinkRendering.none(); } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/InstructionStop.java������������0000664�0000000�0000000�00000004306�13400053436�0031320�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; public class InstructionStop extends MonoSwimable implements Instruction { private final LinkRendering inlinkRendering; public InstructionStop(Swimlane swimlane, LinkRendering inlinkRendering) { super(swimlane); this.inlinkRendering = inlinkRendering; if (inlinkRendering == null) { throw new IllegalArgumentException(); } } public Ftile createFtile(FtileFactory factory) { Ftile result = factory.stop(getSwimlaneIn()); result = eventuallyAddNote(factory, result, result.getSwimlaneIn()); return result; } public void add(Instruction other) { throw new UnsupportedOperationException(); } final public boolean kill() { return false; } public LinkRendering getInLinkRendering() { return inlinkRendering; } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/InstructionWhile.java�����������0000664�0000000�0000000�00000011737�13400053436�0031451�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import java.util.Set; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileKilled; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileWithNoteOpale; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.sequencediagram.NotePosition; import net.sourceforge.plantuml.sequencediagram.NoteType; public class InstructionWhile extends WithNote implements Instruction, InstructionCollection { private final InstructionList repeatList = new InstructionList(); private final Instruction parent; private final LinkRendering nextLinkRenderer; private final HtmlColor color; private boolean killed = false; private final Display test; private Display yes; private Display out = Display.NULL; private boolean testCalled = false; private LinkRendering endInlinkRendering = LinkRendering.none(); private LinkRendering afterEndwhile = LinkRendering.none(); private final Swimlane swimlane; private final ISkinParam skinParam; private Instruction specialOut; public void overwriteYes(Display yes) { this.yes = yes; } public InstructionWhile(Swimlane swimlane, Instruction parent, Display test, LinkRendering nextLinkRenderer, Display yes, HtmlColor color, ISkinParam skinParam) { if (test == null) { throw new IllegalArgumentException(); } if (yes == null) { throw new IllegalArgumentException(); } this.parent = parent; this.test = test; this.nextLinkRenderer = nextLinkRenderer; if (nextLinkRenderer == null) { throw new IllegalArgumentException(); } this.yes = yes; this.swimlane = swimlane; this.color = color; this.skinParam = skinParam; } public void add(Instruction ins) { repeatList.add(ins); } public Ftile createFtile(FtileFactory factory) { Ftile tmp = factory.decorateOut(repeatList.createFtile(factory), endInlinkRendering); tmp = factory.createWhile(swimlane, tmp, test, yes, out, afterEndwhile, color, specialOut); if (getPositionedNotes().size() > 0) { tmp = FtileWithNoteOpale.create(tmp, getPositionedNotes(), skinParam, false); } if (killed || specialOut != null) { return new FtileKilled(tmp); } return tmp; } public Instruction getParent() { return parent; } final public boolean kill() { if (testCalled) { this.killed = true; return true; } return repeatList.kill(); } public LinkRendering getInLinkRendering() { return nextLinkRenderer; } public void endwhile(LinkRendering nextLinkRenderer, Display out) { this.endInlinkRendering = nextLinkRenderer; this.out = out; if (out == null) { throw new IllegalArgumentException(); } this.testCalled = true; } public void afterEndwhile(LinkRendering linkRenderer) { this.afterEndwhile = linkRenderer; } @Override public boolean addNote(Display note, NotePosition position, NoteType type, Colors colors, Swimlane swimlaneNote) { if (repeatList.isEmpty()) { return super.addNote(note, position, type, colors, swimlaneNote); } else { return repeatList.addNote(note, position, type, colors, swimlaneNote); } } public Set getSwimlanes() { return repeatList.getSwimlanes(); } public Swimlane getSwimlaneIn() { return parent.getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return parent.getSwimlaneOut(); } public Instruction getLast() { return repeatList.getLast(); } public void setSpecial(Instruction special) { this.specialOut = special; } } ���������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/LinkRendering.java��������������0000664�0000000�0000000�00000004511�13400053436�0030662�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.Rainbow; public class LinkRendering { private final Rainbow rainbow; private final Display display; public LinkRendering(Rainbow rainbow) { this(rainbow, Display.NULL); } private LinkRendering(Rainbow rainbow, Display display) { if (rainbow == null) { throw new IllegalArgumentException(); } this.rainbow = rainbow; this.display = display; } public static LinkRendering none() { return new LinkRendering(Rainbow.none()); } public LinkRendering withDisplay(Display display) { return new LinkRendering(rainbow, display); } public Display getDisplay() { return display; } public Rainbow getRainbow() { return rainbow; } public Rainbow getRainbow(Rainbow defaultColor) { if (rainbow.size() == 0) { return defaultColor; } return rainbow; } public boolean isNone() { return Display.isNull(display) && rainbow.size() == 0; } @Override public String toString() { return super.toString() + " " + display + " " + rainbow; } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/MonoSwimable.java���������������0000664�0000000�0000000�00000003635�13400053436�0030531�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import java.util.Collections; import java.util.Set; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimable; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; public class MonoSwimable extends WithNote implements Swimable { private final Swimlane swimlane; public MonoSwimable(Swimlane swimlane) { this.swimlane = swimlane; } final public Set getSwimlanes() { return swimlane == null ? Collections. emptySet() : Collections. singleton(swimlane); } final public Swimlane getSwimlaneIn() { return swimlane; } final public Swimlane getSwimlaneOut() { return swimlane; } } ���������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/PositionedNote.java�������������0000664�0000000�0000000�00000005076�13400053436�0031101�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.sequencediagram.NotePosition; import net.sourceforge.plantuml.sequencediagram.NoteType; public class PositionedNote { private final Display display; private final NotePosition notePosition; private final NoteType type; private final Colors colors; private final Swimlane swimlaneNote; public PositionedNote(Display display, NotePosition position, NoteType type, Colors colors, Swimlane swimlaneNote) { this.display = display; this.notePosition = position; this.type = type; this.colors = colors; this.swimlaneNote = swimlaneNote; } @Override public String toString() { return "type=" + type + " notePosition=" + notePosition + " " + display; } public PositionedNote(Display note, NotePosition position, NoteType type, Swimlane swimlaneNote) { this(note, position, type, null, swimlaneNote); } public Display getDisplay() { return display; } public NotePosition getNotePosition() { return notePosition; } public NoteType getType() { return type; } public Colors getColors() { return colors; } public final Swimlane getSwimlaneNote() { return swimlaneNote; } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/WithNote.java�������������������0000664�0000000�0000000�00000004723�13400053436�0027675�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.sequencediagram.NotePosition; import net.sourceforge.plantuml.sequencediagram.NoteType; public class WithNote { private final Collection notes = new ArrayList(); public boolean addNote(Display note, NotePosition position, NoteType type, Colors colors, Swimlane swimlaneNote) { this.notes.add(new PositionedNote(note, position, type, colors, swimlaneNote)); return true; } final protected Ftile eventuallyAddNote(FtileFactory factory, Ftile ftile, Swimlane swimlane) { if (notes.size() == 0) { return ftile; } return factory.addNote(ftile, swimlane, notes); } public Collection getPositionedNotes() { return Collections.unmodifiableCollection(notes); } public boolean hasNotes() { return notes.size() > 0; } } ���������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/������������������������0000775�0000000�0000000�00000000000�13400053436�0026701�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandActivity3.java���0000664�0000000�0000000�00000006662�13400053436�0032734�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.Url; import net.sourceforge.plantuml.UrlBuilder; import net.sourceforge.plantuml.UrlBuilder.ModeUrl; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.activitydiagram3.ftile.BoxStyle; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.color.ColorParser; import net.sourceforge.plantuml.graphic.color.ColorType; import net.sourceforge.plantuml.graphic.color.Colors; public class CommandActivity3 extends SingleLineCommand2 { public static final String ENDING_GROUP = "(;|\\\\\\\\|(?}\\]])(?:[/<}\\]])|(?]{1,999})(?)(?:\\>)|(? { public CommandActivityLegacy1() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("-"), // new RegexLeaf("LABEL", "(.*)"), // new RegexLeaf("$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { diagram.addActivity(Display.getWithNewlines(arg.get("LABEL", 0)), BoxStyle.PLAIN, null, Colors.empty()); return CommandExecutionResult.ok(); } } �������������������������������������������������������������������������������������������������������������������������������CommandActivityLong3.java���������������������������������������������������������������������������0000664�0000000�0000000�00000006373�13400053436�0033474�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command��������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.activitydiagram3.ftile.BoxStyle; import net.sourceforge.plantuml.command.BlocLines; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.CommandMultilines2; import net.sourceforge.plantuml.command.MultilinesStrategy; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.graphic.color.ColorParser; import net.sourceforge.plantuml.graphic.color.ColorType; import net.sourceforge.plantuml.graphic.color.Colors; public class CommandActivityLong3 extends CommandMultilines2 { public CommandActivityLong3() { super(getRegexConcat(), MultilinesStrategy.REMOVE_STARTING_QUOTE); } @Override public String getPatternEnd() { return "^(.*)" + CommandActivity3.ENDING_GROUP + "$"; } private static ColorParser color() { return ColorParser.simpleColor(ColorType.BACK); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // color().getRegex(), // new RegexLeaf(":"), // new RegexLeaf("DATA", "(.*)"), // new RegexLeaf("$")); } protected CommandExecutionResult executeNow(ActivityDiagram3 diagram, BlocLines lines) { lines = lines.removeEmptyColumns(); final RegexResult line0 = getStartingPattern().matcher(StringUtils.trin(lines.getFirst499())); final Colors colors = color().getColor(line0, diagram.getSkinParam().getIHtmlColorSet()); // final HtmlColor color = diagram.getSkinParam().getIHtmlColorSet().getColorIfValid(line0.get("COLOR", 0)); final BoxStyle style = BoxStyle.fromChar(lines.getLastChar()); lines = lines.removeStartingAndEnding2(line0.get("DATA", 0)); diagram.addActivity(lines.toDisplay(), style, null, colors); return CommandExecutionResult.ok(); } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandArrow3.java������0000664�0000000�0000000�00000005775�13400053436�0032236�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexOr; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.descdiagram.command.CommandLinkElement; import net.sourceforge.plantuml.graphic.Rainbow; public class CommandArrow3 extends SingleLineCommand2 { public static final String STYLE_COLORS = "-\\[(" + CommandLinkElement.LINE_STYLE + "(?:;" + CommandLinkElement.LINE_STYLE + ")*)\\]->"; public CommandArrow3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexOr(// new RegexLeaf("->"), // new RegexLeaf("COLOR", STYLE_COLORS)), // new RegexLeaf("[%s]*"), // new RegexOr(// new RegexLeaf("LABEL", "(.*);"), // new RegexLeaf("")), // new RegexLeaf("$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { final String colorString = arg.get("COLOR", 0); if (colorString != null) { Rainbow rainbow = Rainbow.build(diagram.getSkinParam(), colorString, diagram.getSkinParam() .colorArrowSeparationSpace()); diagram.setColorNextArrow(rainbow); } final String label = arg.get("LABEL", 0); if (label != null && label.length() > 0) { diagram.setLabelNextArrow(Display.getWithNewlines(label)); } return CommandExecutionResult.ok(); } } ���plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandArrowLong3.java��0000664�0000000�0000000�00000007220�13400053436�0033041�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import java.util.List; import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.BlocLines; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.CommandMultilines2; import net.sourceforge.plantuml.command.MultilinesStrategy; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexOr; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.graphic.Rainbow; public class CommandArrowLong3 extends CommandMultilines2 { public CommandArrowLong3() { super(getRegexConcat(), MultilinesStrategy.REMOVE_STARTING_QUOTE); } @Override public String getPatternEnd() { return "^(.*);$"; } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexOr(// new RegexLeaf("->"), // new RegexLeaf("COLOR", CommandArrow3.STYLE_COLORS)), // new RegexLeaf("[%s]*"), // new RegexLeaf("LABEL", "(.*)"), // new RegexLeaf("$")); } protected CommandExecutionResult executeNow(ActivityDiagram3 diagram, BlocLines lines) { lines = lines.removeEmptyColumns(); final RegexResult line0 = getStartingPattern().matcher(StringUtils.trin(lines.getFirst499())); // final HtmlColor color = diagram.getSkinParam().getIHtmlColorSet().getColorIfValid(line0.get("COLOR", 0)); // diagram.setColorNextArrow(HtmlColorAndStyle.fromColor(color)); final String colorString = line0.get("COLOR", 0); if (colorString != null) { Rainbow rainbow = Rainbow.build(diagram.getSkinParam(), colorString, diagram.getSkinParam() .colorArrowSeparationSpace()); diagram.setColorNextArrow(rainbow); } lines = lines.removeStartingAndEnding2(line0.get("LABEL", 0)); diagram.setLabelNextArrow(lines.toDisplay()); return CommandExecutionResult.ok(); } private void removeStarting(List lines, String data) { if (lines.size() == 0) { return; } lines.set(0, (CS) data); } private void removeEnding(List lines) { if (lines.size() == 0) { return; } final int n = lines.size() - 1; final CharSequence s = lines.get(n); lines.set(n, (CS) s.subSequence(0, s.length() - 1)); } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandBackward3.java���0000664�0000000�0000000�00000004434�13400053436�0032651�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; public class CommandBackward3 extends SingleLineCommand2 { public CommandBackward3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("backward"), // new RegexLeaf("[%s]*"), // new RegexLeaf(":"), // new RegexLeaf("LABEL", "(.*)"), // new RegexLeaf(";$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { final Display label = Display.getWithNewlines(arg.get("LABEL", 0)); return diagram.backwardWhile(label); } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandBreak.java�������0000664�0000000�0000000�00000004132�13400053436�0032067�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandBreak extends SingleLineCommand2 { public CommandBreak() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(// new RegexLeaf("^"), // new RegexLeaf("break"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { diagram.breakInstruction(); return CommandExecutionResult.ok(); } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandCircleSpot3.java�0000664�0000000�0000000�00000004175�13400053436�0033204�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandCircleSpot3 extends SingleLineCommand2 { public CommandCircleSpot3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(// new RegexLeaf("^"), // new RegexLeaf("SPOT", "\\((\\S)\\)"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { diagram.addSpot(arg.get("SPOT", 0)); return CommandExecutionResult.ok(); } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandElse3.java�������0000664�0000000�0000000�00000004520�13400053436�0032017�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; public class CommandElse3 extends SingleLineCommand2 { public CommandElse3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(// new RegexLeaf("^"), // new RegexLeaf("else"), // new RegexLeaf("WHEN", "(?:[%s]*(?:\\(([^()]*)\\))?)?"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { // if (getSystem().getLastEntityConsulted() == null) { // return CommandExecutionResult.error("No if for this endif"); // } return diagram.else2(Display.getWithNewlines(arg.get("WHEN", 0))); } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandElseIf2.java�����0000664�0000000�0000000�00000005570�13400053436�0032303�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.color.ColorParser; public class CommandElseIf2 extends SingleLineCommand2 { public CommandElseIf2() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // ColorParser.exp4(), // new RegexLeaf("[%s]*"), // new RegexLeaf("INLABEL", "(?:\\((.+?)\\))?"), // new RegexLeaf("[%s]*"), // new RegexLeaf("else[%s]*if"), // new RegexLeaf("[%s]*"), // new RegexLeaf("TEST", "\\((.*?)\\)"), // new RegexLeaf("[%s]*"), // new RegexLeaf("WHEN", "(?:then[%s]*(?:\\((.+?)\\))?)?"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { final HtmlColor color = diagram.getSkinParam().getIHtmlColorSet().getColorIfValid(arg.get("COLOR", 0)); String test = arg.get("TEST", 0); if (test.length() == 0) { test = null; } final String inlabel = arg.get("INLABEL", 0); return diagram.elseIf(Display.getWithNewlines(inlabel), Display.getWithNewlines(test), Display.getWithNewlines(arg.get("WHEN", 0)), color); } } ����������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandElseLegacy1.java�0000664�0000000�0000000�00000004520�13400053436�0033142�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; public class CommandElseLegacy1 extends SingleLineCommand2 { public CommandElseLegacy1() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(// new RegexLeaf("^"), // new RegexLeaf("else[%s]when"), // new RegexLeaf("WHEN", "[%s]+(.*)"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { // if (getSystem().getLastEntityConsulted() == null) { // return CommandExecutionResult.error("No if for this endif"); // } return diagram.else2(Display.getWithNewlines(arg.get("WHEN", 0))); } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandEnd3.java��������0000664�0000000�0000000�00000004111�13400053436�0031631�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandEnd3 extends SingleLineCommand2 { public CommandEnd3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(// new RegexLeaf("^"), // new RegexLeaf("end"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { diagram.end(); return CommandExecutionResult.ok(); } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������CommandEndPartition3.java���������������������������������������������������������������������������0000664�0000000�0000000�00000003664�13400053436�0033460�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command��������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import java.util.List; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand; public class CommandEndPartition3 extends SingleLineCommand { public CommandEndPartition3() { super("(?i)^(\\})$"); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, List arg) { // final IEntity currentPackage = diagram.getCurrentGroup(); // if (currentPackage == null) { // return CommandExecutionResult.error("No partition defined"); // } return diagram.endGroup(); } } ����������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandEndif3.java������0000664�0000000�0000000�00000004264�13400053436�0032161�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandEndif3 extends SingleLineCommand2 { public CommandEndif3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(// new RegexLeaf("^"), // new RegexLeaf("endif"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { // if (getSystem().getLastEntityConsulted() == null) { // return CommandExecutionResult.error("No if for this endif"); // } return diagram.endif(); } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandFork3.java�������0000664�0000000�0000000�00000004116�13400053436�0032031�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandFork3 extends SingleLineCommand2 { public CommandFork3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(// new RegexLeaf("^"), // new RegexLeaf("fork"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { diagram.fork(); return CommandExecutionResult.ok(); } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandForkAgain3.java��0000664�0000000�0000000�00000004110�13400053436�0032763�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandForkAgain3 extends SingleLineCommand2 { public CommandForkAgain3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(// new RegexLeaf("^"), // new RegexLeaf("fork[%s]?again"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { return diagram.forkAgain(); } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandForkEnd3.java����0000664�0000000�0000000�00000004657�13400053436�0032472�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.activitydiagram3.ForkStyle; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandForkEnd3 extends SingleLineCommand2 { public CommandForkEnd3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(// new RegexLeaf("^"), // new RegexLeaf("STYLE", "(end[%s]?fork|fork[%s]?end|end[%s]?merge)"), // new RegexLeaf("\\s*"), // new RegexLeaf("LABEL", "(\\{.+\\})?"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { final String style = arg.get("STYLE", 0); final ForkStyle forkStyle = style.contains("merge") ? ForkStyle.MERGE : ForkStyle.FORK; final String label = arg.get("LABEL", 0); return diagram.endFork(forkStyle, label); } } ���������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandGoto.java��������0000664�0000000�0000000�00000004301�13400053436�0031751�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandGoto extends SingleLineCommand2 { public CommandGoto() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("goto"), // new RegexLeaf("[%s]+"), // new RegexLeaf("NAME", "([\\p{L}0-9_.]+)"), // new RegexLeaf(";?"), // new RegexLeaf("$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { final String name = arg.get("NAME", 0); return diagram.addGoto(name); } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandGroup3.java������0000664�0000000�0000000�00000004510�13400053436�0032222�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2013, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.USymbol; public class CommandGroup3 extends SingleLineCommand2 { public CommandGroup3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("group"), // new RegexLeaf("\\s*"), // new RegexLeaf("NAME", "(.*)"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { diagram.startGroup(Display.getWithNewlines(arg.get("NAME", 0)), null, null, null, USymbol.FRAME, 0); return CommandExecutionResult.ok(); } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandGroupEnd3.java���0000664�0000000�0000000�00000004106�13400053436�0032652�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2013, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandGroupEnd3 extends SingleLineCommand2 { public CommandGroupEnd3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("(end ?group|group ?end)"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { return diagram.endGroup(); } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandIf2.java���������0000664�0000000�0000000�00000005276�13400053436�0031475�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.color.ColorParser; public class CommandIf2 extends SingleLineCommand2 { public CommandIf2() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // ColorParser.exp4(), // new RegexLeaf("if"), // new RegexLeaf("[%s]*"), // new RegexLeaf("TEST", "\\((.*?)\\)"), // new RegexLeaf("[%s]*"), // new RegexLeaf("WHEN", "(?:then[%s]*(?:\\((.+?)\\))?)?"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { final HtmlColor color = diagram.getSkinParam().getIHtmlColorSet().getColorIfValid(arg.get("COLOR", 0)); String test = arg.get("TEST", 0); if (test.length() == 0) { test = null; } diagram.startIf(Display.getWithNewlines(test), Display.getWithNewlines(arg.get("WHEN", 0)), color); return CommandExecutionResult.ok(); } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandIf4.java���������0000664�0000000�0000000�00000005342�13400053436�0031471�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.color.ColorParser; public class CommandIf4 extends SingleLineCommand2 { public CommandIf4() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // ColorParser.exp4(), // new RegexLeaf("if"), // new RegexLeaf("[%s]*"), // new RegexLeaf("TEST", "\\((.*?)\\)"), // new RegexLeaf("[%s]*(is|equals?)[%s]*"), // new RegexLeaf("WHEN", "\\((.+?)\\)"), // new RegexLeaf("[%s]*then[%s]*"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { final HtmlColor color = diagram.getSkinParam().getIHtmlColorSet().getColorIfValid(arg.get("COLOR", 0)); String test = arg.get("TEST", 0); if (test.length() == 0) { test = null; } diagram.startIf(Display.getWithNewlines(test), Display.getWithNewlines(arg.get("WHEN", 0)), color); return CommandExecutionResult.ok(); } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandIfLegacy1.java���0000664�0000000�0000000�00000004606�13400053436�0032615�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; public class CommandIfLegacy1 extends SingleLineCommand2 { public CommandIfLegacy1() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("if"), // new RegexLeaf("[%s]*"), // new RegexLeaf("TEST", "\\((.+?)\\)"), // new RegexLeaf("[%s]*"), // new RegexLeaf("WHEN", "then[%s]when[%s]+(.*)"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { diagram.startIf(Display.getWithNewlines(arg.get("TEST", 0)), Display.getWithNewlines(arg.get("WHEN", 0)), null); return CommandExecutionResult.ok(); } } ��������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandKill3.java�������0000664�0000000�0000000�00000004065�13400053436�0032026�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandKill3 extends SingleLineCommand2 { public CommandKill3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(// new RegexLeaf("^"), // new RegexLeaf("kill|detach"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { return diagram.kill(); } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandLabel.java�������0000664�0000000�0000000�00000004306�13400053436�0032065�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandLabel extends SingleLineCommand2 { public CommandLabel() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("label"), // new RegexLeaf("[%s]+"), // new RegexLeaf("NAME", "([\\p{L}0-9_.]+)"), // new RegexLeaf(";?"), // new RegexLeaf("$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { final String name = arg.get("NAME", 0); return diagram.addLabel(name); } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandLink3.java�������0000664�0000000�0000000�00000004662�13400053436�0032033�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.HtmlColorAndStyle; public class CommandLink3 extends SingleLineCommand2 { public CommandLink3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("link[%s]+"), // new RegexLeaf("COLOR", "(#\\w+)"), // new RegexLeaf(";?"), // new RegexLeaf("$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { final HtmlColor color = diagram.getSkinParam().getIHtmlColorSet().getColorIfValid(arg.get("COLOR", 0)); if (color != null) { diagram.setColorNextArrow(HtmlColorAndStyle.fromColor(color)); } return CommandExecutionResult.ok(); } } ������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandNolink.java������0000664�0000000�0000000�00000004356�13400053436�0032305�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; public class CommandNolink extends SingleLineCommand2 { public CommandNolink() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("nolink"), // new RegexLeaf(";?"), // new RegexLeaf("$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { // diagram.setColorNextArrow(color); diagram.setLabelNextArrow(Display.getWithNewlines("NOLINK")); return CommandExecutionResult.ok(); } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandNote3.java�������0000664�0000000�0000000�00000006000�13400053436�0032027�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.color.ColorParser; import net.sourceforge.plantuml.graphic.color.ColorType; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.sequencediagram.NotePosition; import net.sourceforge.plantuml.sequencediagram.NoteType; public class CommandNote3 extends SingleLineCommand2 { public CommandNote3() { super(getRegexConcat()); } private static ColorParser color() { return ColorParser.simpleColor(ColorType.BACK); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("TYPE", "(note|floating note)"), // new RegexLeaf("POSITION", "[%s]*(left|right)?"), // new RegexLeaf("[%s]*"), // color().getRegex(), // new RegexLeaf("[%s]*:[%s]*"), // new RegexLeaf("NOTE", "(.*)"), // new RegexLeaf("$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { final Colors colors = color().getColor(arg, diagram.getSkinParam().getIHtmlColorSet()); final Display note = Display.getWithNewlines(arg.get("NOTE", 0)); final NotePosition position = NotePosition.defaultLeft(arg.get("POSITION", 0)); final NoteType type = NoteType.defaultType(arg.get("TYPE", 0)); return diagram.addNote(note, position, type, colors); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandNoteLong3.java���0000664�0000000�0000000�00000006711�13400053436�0032660�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.BlocLines; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.CommandMultilines2; import net.sourceforge.plantuml.command.MultilinesStrategy; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.color.ColorParser; import net.sourceforge.plantuml.graphic.color.ColorType; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.sequencediagram.NotePosition; import net.sourceforge.plantuml.sequencediagram.NoteType; public class CommandNoteLong3 extends CommandMultilines2 { public CommandNoteLong3() { super(getRegexConcat(), MultilinesStrategy.REMOVE_STARTING_QUOTE); } private static ColorParser color() { return ColorParser.simpleColor(ColorType.BACK); } public String getPatternEnd() { return "(?i)^end[%s]?note$"; } protected CommandExecutionResult executeNow(final ActivityDiagram3 diagram, BlocLines lines) { // final List in = StringUtils.removeEmptyColumns2(lines.subList(1, lines.size() - 1)); final RegexResult line0 = getStartingPattern().matcher(StringUtils.trin(lines.getFirst499())); lines = lines.subExtract(1, 1); lines = lines.removeEmptyColumns(); final NotePosition position = NotePosition.defaultLeft(line0.get("POSITION", 0)); final NoteType type = NoteType.defaultType(line0.get("TYPE", 0)); final Display note = lines.toDisplay(); final Colors colors = color().getColor(line0, diagram.getSkinParam().getIHtmlColorSet()); return diagram.addNote(note, position, type, colors); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("TYPE", "(note|floating note)"), // new RegexLeaf("POSITION", "[%s]*(left|right)?"), // new RegexLeaf("[%s]*"), // color().getRegex(), // new RegexLeaf("$")); } } �������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandPartition3.java��0000664�0000000�0000000�00000012157�13400053436�0033105�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.ColorParam; import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexOptional; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.cucadiagram.Stereotype; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.HtmlColorUtils; import net.sourceforge.plantuml.graphic.USymbol; import net.sourceforge.plantuml.graphic.color.ColorParser; import net.sourceforge.plantuml.graphic.color.ColorType; import net.sourceforge.plantuml.graphic.color.Colors; public class CommandPartition3 extends SingleLineCommand2 { public CommandPartition3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("TYPE", "(partition|package|rectangle|card)"), // new RegexLeaf("[%s]+"), // new RegexOptional(// new RegexConcat( // color("BACK1").getRegex(),// new RegexLeaf("[%s]+"))), // new RegexLeaf("NAME", "([%g][^%g]+[%g]|\\S+)"), // new RegexOptional(// new RegexConcat( // new RegexLeaf("[%s]+"), // color("BACK2").getRegex())), // new RegexLeaf("[%s]*"), // new RegexLeaf("STEREO", "(\\<{2}.*\\>{2})?"), // new RegexLeaf("[%s]*"), // new RegexLeaf("\\{?$")); } private USymbol getUSymbol(String type) { if ("card".equalsIgnoreCase(type)) { return USymbol.CARD; } if ("package".equalsIgnoreCase(type)) { return USymbol.PACKAGE; } if ("rectangle".equalsIgnoreCase(type)) { return USymbol.RECTANGLE; } return USymbol.FRAME; } private ColorParam getColorParamBorder(final USymbol symbol) { if (symbol == USymbol.FRAME) { return ColorParam.partitionBorder; } return symbol.getColorParamBorder(); } private ColorParam getColorParamBack(final USymbol symbol) { if (symbol == USymbol.FRAME) { return ColorParam.partitionBackground; } return symbol.getColorParamBack(); } private static ColorParser color(String id) { return ColorParser.simpleColor(ColorType.BACK, id); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { final String partitionTitle = StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(arg.get("NAME", 0)); final String b1 = arg.get("BACK1", 0); final Colors colors = color(b1 == null ? "BACK2" : "BACK1").getColor(arg, diagram.getSkinParam().getIHtmlColorSet()); final USymbol symbol = getUSymbol(arg.get("TYPE", 0)); final String stereo = arg.get("STEREO", 0); final Stereotype stereotype = stereo == null ? null : new Stereotype(stereo); final HtmlColor backColorInSkinparam = diagram.getSkinParam().getHtmlColor(getColorParamBack(symbol), stereotype, false); final HtmlColor backColor; if (backColorInSkinparam == null) { backColor = colors.getColor(ColorType.BACK); } else { backColor = backColorInSkinparam; } final HtmlColor titleColor = colors.getColor(ColorType.HEADER); // Warning : titleColor unused in FTileGroupW HtmlColor borderColor = diagram.getSkinParam().getHtmlColor(getColorParamBorder(symbol), stereotype, false); if (borderColor == null) { borderColor = HtmlColorUtils.BLACK; } final double roundCorner = symbol.getSkinParameter().getRoundCorner(diagram.getSkinParam(), stereotype); diagram.startGroup(Display.getWithNewlines(partitionTitle), backColor, titleColor, borderColor, symbol, roundCorner); return CommandExecutionResult.ok(); } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeat3.java�����0000664�0000000�0000000�00000005034�13400053436�0032350�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.color.ColorParser; public class CommandRepeat3 extends SingleLineCommand2 { public CommandRepeat3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // ColorParser.exp4(), // new RegexLeaf("repeat"), // new RegexLeaf("[%s]*"), // new RegexLeaf("LABEL", "(?::(.*?))?"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { final HtmlColor color = diagram.getSkinParam().getIHtmlColorSet().getColorIfValid(arg.get("COLOR", 0)); final Display label = Display.getWithNewlines(arg.get("LABEL", 0)); diagram.startRepeat(color, label); return CommandExecutionResult.ok(); } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeatWhile3.java0000664�0000000�0000000�00000007614�13400053436�0033347�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexOptional; import net.sourceforge.plantuml.command.regex.RegexOr; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.Rainbow; public class CommandRepeatWhile3 extends SingleLineCommand2 { public CommandRepeatWhile3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(// new RegexLeaf("^"), // new RegexLeaf("repeat[%s]?while"), // new RegexLeaf("[%s]*"), // new RegexOr(// new RegexConcat(new RegexLeaf("TEST3", "\\((.*?)\\)"), // new RegexLeaf("[%s]*(is|equals?)[%s]*"), // new RegexLeaf("WHEN3", "\\((.+?)\\)"), // new RegexLeaf("[%s]*(not)[%s]*"), // new RegexLeaf("OUT3", "\\((.+?)\\)")), // new RegexConcat(new RegexLeaf("TEST4", "\\((.*?)\\)"), // new RegexLeaf("[%s]*(not)[%s]*"), // new RegexLeaf("OUT4", "\\((.+?)\\)")), // new RegexConcat(new RegexLeaf("TEST2", "\\((.*?)\\)"), // new RegexLeaf("[%s]*(is|equals?)[%s]*"), // new RegexLeaf("WHEN2", "\\((.+?)\\)") // ), // new RegexLeaf("TEST1", "(?:\\((.*)\\))?") // ), // new RegexLeaf("[%s]*"), // new RegexOptional(new RegexConcat( // new RegexOr(// new RegexLeaf("->"), // new RegexLeaf("COLOR", CommandArrow3.STYLE_COLORS)), // new RegexLeaf("[%s]*"), // new RegexOr(// new RegexLeaf("LABEL", "(.*)"), // new RegexLeaf("")) // )), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { final Display test = Display.getWithNewlines(arg.getLazzy("TEST", 0)); final Display yes = Display.getWithNewlines(arg.getLazzy("WHEN", 0)); final Display out = Display.getWithNewlines(arg.getLazzy("OUT", 0)); final String colorString = arg.get("COLOR", 0); final Rainbow rainbow; if (colorString == null) { rainbow = Rainbow.none(); } else { rainbow = Rainbow.build(diagram.getSkinParam(), colorString, diagram.getSkinParam() .colorArrowSeparationSpace()); } final Display linkLabel = Display.getWithNewlines(arg.get("LABEL", 0)); return diagram.repeatWhile(test, yes, out, linkLabel, rainbow); } } ��������������������������������������������������������������������������������������������������������������������CommandRepeatWhile3Multilines.java������������������������������������������������������������������0000664�0000000�0000000�00000010237�13400053436�0035331�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command��������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import java.util.List; import java.util.regex.Pattern; import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.BlocLines; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.CommandMultilines3; import net.sourceforge.plantuml.command.MultilinesStrategy; import net.sourceforge.plantuml.command.regex.MyPattern; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.Rainbow; public class CommandRepeatWhile3Multilines extends CommandMultilines3 { public CommandRepeatWhile3Multilines() { super(getRegexConcat(), MultilinesStrategy.REMOVE_STARTING_QUOTE); } @Override public RegexConcat getPatternEnd2() { return new RegexConcat(// new RegexLeaf("TEST1", "(.*)"), new RegexLeaf("\\)"), // new RegexLeaf(";?$")); } static RegexConcat getRegexConcat() { return new RegexConcat(// new RegexLeaf("^"), // new RegexLeaf("repeat[%s]?while"), // new RegexLeaf("[%s]*"), // new RegexLeaf("\\("), // new RegexLeaf("TEST1", "(.*)$")); } @Override protected CommandExecutionResult executeNow(ActivityDiagram3 diagram, BlocLines lines) { lines = lines.trim(false); final RegexResult line0 = getStartingPattern().matcher(StringUtils.trin(lines.getFirst499())); final RegexResult lineLast = getPatternEnd2().matcher(lines.getLast499().toString()); // System.err.println("line0=" + line0); // System.err.println("linesLast=" + lineLast); // // final HtmlColor color = diagram.getSkinParam().getIHtmlColorSet().getColorIfValid(line0.get("COLOR", 0)); final String test = line0.get("TEST1", 0); Display testDisplay = Display.getWithNewlines(test); for (CharSequence s : lines.subExtract(1, 1)) { testDisplay = testDisplay.add(s); } final String trailTest = lineLast.get("TEST1", 0); if (StringUtils.isEmpty(trailTest) == false) { testDisplay = testDisplay.add(trailTest); } Display yes = Display.NULL;// Display.getWithNewlines("arg.getLazzy(\"WHEN\", 0)"); final Display out = Display.NULL; // Display.getWithNewlines("arg.getLazzy(\"OUT\", 0)"); final Rainbow linkColor = Rainbow.none(); // diagram.getSkinParam().getIHtmlColorSet().getColorIfValid(arg.get("COLOR", // 0)); final Display linkLabel = Display.NULL; // Display.getWithNewlines("arg.get(\"LABEL\", 0)"); final List splitted = testDisplay.splitMultiline(MyPattern.cmpile("\\)[%s]*(is|equals?)[%s]*\\(", Pattern.CASE_INSENSITIVE)); if (splitted.size() == 2) { testDisplay = splitted.get(0); yes = splitted.get(1); } return diagram.repeatWhile(testDisplay, yes, out, linkLabel, linkColor); } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSplit3.java������0000664�0000000�0000000�00000004122�13400053436�0032220�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandSplit3 extends SingleLineCommand2 { public CommandSplit3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(// new RegexLeaf("^"), // new RegexLeaf("split"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { diagram.split(); return CommandExecutionResult.ok(); } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSplitAgain3.java�0000664�0000000�0000000�00000004114�13400053436�0033161�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandSplitAgain3 extends SingleLineCommand2 { public CommandSplitAgain3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(// new RegexLeaf("^"), // new RegexLeaf("split[%s]?again"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { return diagram.splitAgain(); } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSplitEnd3.java���0000664�0000000�0000000�00000004123�13400053436�0032650�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandSplitEnd3 extends SingleLineCommand2 { public CommandSplitEnd3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(// new RegexLeaf("^"), // new RegexLeaf("(end[%s]?split|split[%s]?end)"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { return diagram.endSplit(); } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandStart3.java������0000664�0000000�0000000�00000004324�13400053436�0032226�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandStart3 extends SingleLineCommand2 { public CommandStart3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(// new RegexLeaf("^"), // new RegexLeaf("start"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { // if (getSystem().getLastEntityConsulted() == null) { // return CommandExecutionResult.error("No if for this endif"); // } diagram.start(); return CommandExecutionResult.ok(); } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandStop3.java�������0000664�0000000�0000000�00000004115�13400053436�0032054�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandStop3 extends SingleLineCommand2 { public CommandStop3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(// new RegexLeaf("^"), // new RegexLeaf("stop"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { diagram.stop(); return CommandExecutionResult.ok(); } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSwimlane.java����0000664�0000000�0000000�00000005121�13400053436�0032621�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.color.ColorParser; public class CommandSwimlane extends SingleLineCommand2 { public CommandSwimlane() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("\\|"), // ColorParser.exp6(), // new RegexLeaf("SWIMLANE", "([^|]+)"), // new RegexLeaf("\\|"), // new RegexLeaf("LABEL", "([^|]+)?"), // new RegexLeaf("$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { final HtmlColor color = diagram.getSkinParam().getIHtmlColorSet().getColorIfValid(arg.get("COLOR", 0)); final String name = arg.get("SWIMLANE", 0); final Display label = Display.getWithNewlines(arg.get("LABEL", 0)); return diagram.swimlane(name, color, label); } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSwimlane2.java���0000664�0000000�0000000�00000005157�13400053436�0032714�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.color.ColorParser; public class CommandSwimlane2 extends SingleLineCommand2 { public CommandSwimlane2() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("swimlane[%s]+"), // ColorParser.exp7(), // new RegexLeaf("[%s]*"), // new RegexLeaf("SWIMLANE", "([^|]+)"), // new RegexLeaf("LABEL", "(?:[%s]+as[%s]+([^|]+))?"), // new RegexLeaf("$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { final HtmlColor color = diagram.getSkinParam().getIHtmlColorSet().getColorIfValid(arg.get("COLOR", 0)); final String name = arg.get("SWIMLANE", 0); final Display label = Display.getWithNewlines(arg.get("LABEL", 0)); return diagram.swimlane(name, color, label); } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandWhile3.java������0000664�0000000�0000000�00000005324�13400053436�0032202�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexOptional; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.color.ColorParser; public class CommandWhile3 extends SingleLineCommand2 { public CommandWhile3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(// new RegexLeaf("^"), // ColorParser.exp4(), // new RegexLeaf("while"), // new RegexLeaf("TEST", "[%s]*\\((.*?)\\)"), // new RegexOptional(new RegexConcat(// new RegexLeaf("[%s]*(is|equals?)[%s]*"), // new RegexLeaf("YES", "\\((.+?)\\)"))), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { final HtmlColor color = diagram.getSkinParam().getIHtmlColorSet().getColorIfValid(arg.get("COLOR", 0)); diagram.doWhile(Display.getWithNewlines(arg.get("TEST", 0)), Display.getWithNewlines(arg.get("YES", 0)), color); return CommandExecutionResult.ok(); } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/command/CommandWhileEnd3.java���0000664�0000000�0000000�00000004341�13400053436�0032627�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.command; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; public class CommandWhileEnd3 extends SingleLineCommand2 { public CommandWhileEnd3() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("(end[%s]?while|while[%s]?end)"), // new RegexLeaf("OUT", "[%s]*(?:\\((.+?)\\))?"), // new RegexLeaf(";?$")); } @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { return diagram.endwhile(Display.getWithNewlines(arg.get("OUT", 0))); } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/��������������������������0000775�0000000�0000000�00000000000�13400053436�0026366�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/AbstractConnection.java���0000664�0000000�0000000�00000004006�13400053436�0033014�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import net.sourceforge.plantuml.graphic.HorizontalAlignment; public abstract class AbstractConnection implements Connection { private final Ftile ftile1; private final Ftile ftile2; public AbstractConnection(Ftile ftile1, Ftile ftile2) { this.ftile1 = ftile1; this.ftile2 = ftile2; } @Override public String toString() { return "[" + ftile1 + "]->[" + ftile2 + "]"; } final public Ftile getFtile1() { return ftile1; } final public Ftile getFtile2() { return ftile2; } final public HorizontalAlignment arrowHorizontalAlignment() { if (ftile1 != null) { return ftile1.arrowHorizontalAlignment(); } if (ftile2 != null) { return ftile2.arrowHorizontalAlignment(); } return HorizontalAlignment.LEFT; } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/AbstractFtile.java��������0000664�0000000�0000000�00000007355�13400053436�0031772�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.util.Collection; import java.util.Collections; import java.util.List; import net.sourceforge.plantuml.AlignmentParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.LineParam; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.graphic.AbstractTextBlock; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.MinMax; import net.sourceforge.plantuml.ugraphic.UStroke; import net.sourceforge.plantuml.ugraphic.UTranslate; public abstract class AbstractFtile extends AbstractTextBlock implements Ftile { private final ISkinParam skinParam; public AbstractFtile(ISkinParam skinParam) { this.skinParam = skinParam; } final public ISkinParam skinParam() { if (skinParam == null) { throw new IllegalStateException(); } return skinParam; } public LinkRendering getInLinkRendering() { return LinkRendering.none(); } public LinkRendering getOutLinkRendering() { return LinkRendering.none(); } public Collection getInnerConnections() { return Collections.emptyList(); } public UTranslate getTranslateFor(Ftile child, StringBounder stringBounder) { throw new UnsupportedOperationException("" + getClass()); } public final UStroke getThickness() { UStroke thickness = skinParam.getThickness(LineParam.activityBorder, null); if (thickness == null) { thickness = new UStroke(1.5); } return thickness; } public List getWeldingPoints() { return Collections.emptyList(); } public Collection getMyChildren() { throw new UnsupportedOperationException("" + getClass()); } public HorizontalAlignment arrowHorizontalAlignment() { return skinParam.getHorizontalAlignment(AlignmentParam.arrowMessageAlignment, null, false); } private FtileGeometry cachedGeometry; final public FtileGeometry calculateDimension(StringBounder stringBounder) { if (cachedGeometry == null) { cachedGeometry = calculateDimensionFtile(stringBounder); } return cachedGeometry; } abstract protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder); @Override final public MinMax getMinMax(StringBounder stringBounder) { throw new UnsupportedOperationException(); // return getMinMaxFtile(stringBounder); } // protected MinMax getMinMaxFtile(StringBounder stringBounder) { // throw new UnsupportedOperationException(); // } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/Arrows.java���������������0000664�0000000�0000000�00000005436�13400053436�0030516�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import net.sourceforge.plantuml.Direction; import net.sourceforge.plantuml.ugraphic.UPolygon; public class Arrows { final static private double delta1 = 10; final static private double delta2 = 4; public static UPolygon asToUp() { final UPolygon polygon = new UPolygon("asToUp"); polygon.addPoint(-delta2, delta1); polygon.addPoint(0, 0); polygon.addPoint(delta2, delta1); polygon.addPoint(0, delta1 - 4); return polygon; } public static UPolygon asToDown() { final UPolygon polygon = new UPolygon("asToDown"); polygon.addPoint(-delta2, -delta1); polygon.addPoint(0, 0); polygon.addPoint(delta2, -delta1); polygon.addPoint(0, -delta1 + 4); return polygon; } public static UPolygon asToRight() { final UPolygon polygon = new UPolygon("asToRight"); polygon.addPoint(-delta1, -delta2); polygon.addPoint(0, 0); polygon.addPoint(-delta1, delta2); polygon.addPoint(-delta1 + 4, 0); return polygon; } public static UPolygon asToLeft() { final UPolygon polygon = new UPolygon("asToLeft"); polygon.addPoint(delta1, -delta2); polygon.addPoint(0, 0); polygon.addPoint(delta1, delta2); polygon.addPoint(delta1 - 4, 0); return polygon; } public static UPolygon asTo(Direction direction) { if (direction == Direction.UP) { return asToUp(); } if (direction == Direction.DOWN) { return asToDown(); } if (direction == Direction.LEFT) { return asToLeft(); } if (direction == Direction.RIGHT) { return asToRight(); } throw new IllegalArgumentException(); } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/BoxStyle.java�������������0000664�0000000�0000000�00000012776�13400053436�0031017�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import net.sourceforge.plantuml.graphic.UDrawable; import net.sourceforge.plantuml.ugraphic.Shadowable; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.ULine; import net.sourceforge.plantuml.ugraphic.UPath; import net.sourceforge.plantuml.ugraphic.UPolygon; import net.sourceforge.plantuml.ugraphic.URectangle; import net.sourceforge.plantuml.ugraphic.USegmentType; import net.sourceforge.plantuml.ugraphic.UTranslate; // Created from Luc Trudeau original work public enum BoxStyle { PLAIN { @Override protected Shadowable getShape(double width, double height) { return new URectangle(width, height, CORNER, CORNER); } }, SDL_INPUT('<') { @Override protected Shadowable getShape(double width, double height) { final UPolygon result = new UPolygon(); result.addPoint(0, 0); result.addPoint(width + DELTA_INPUT_OUTPUT, 0); result.addPoint(width, height / 2); result.addPoint(width + DELTA_INPUT_OUTPUT, height); result.addPoint(0, height); return result; } }, SDL_OUTPUT('>') { @Override protected Shadowable getShape(double width, double height) { final UPolygon result = new UPolygon(); result.addPoint(0.0, 0.0); result.addPoint(width, 0.0); result.addPoint(width + DELTA_INPUT_OUTPUT, height / 2); result.addPoint(width, height); result.addPoint(0.0, height); return result; } }, SDL_PROCEDURE('|') { @Override protected void drawInternal(UGraphic ug, double width, double height, boolean shadowing) { final URectangle rect = new URectangle(width, height); if (shadowing) { rect.setDeltaShadow(3); } ug.draw(rect); final ULine vline = new ULine(0, height); ug.apply(new UTranslate(PADDING, 0)).draw(vline); ug.apply(new UTranslate(width - PADDING, 0)).draw(vline); } }, SDL_SAVE('\\') { @Override protected Shadowable getShape(double width, double height) { final UPolygon result = new UPolygon(); result.addPoint(0.0, 0.0); result.addPoint(width - DELTA_INPUT_OUTPUT, 0.0); result.addPoint(width, height); result.addPoint(DELTA_INPUT_OUTPUT, height); return result; } }, SDL_ANTISAVE('/') { @Override protected Shadowable getShape(double width, double height) { final UPolygon result = new UPolygon(); result.addPoint(DELTA_INPUT_OUTPUT, 0.0); result.addPoint(width, 0.0); result.addPoint(width - DELTA_INPUT_OUTPUT, height); result.addPoint(0, height); return result; } }, SDL_CONTINUOUS('}') { @Override protected Shadowable getShape(double width, double height) { final UPath result = new UPath(); final double c1[] = { DELTA_CONTINUOUS, 0 }; final double c2[] = { 0, height / 2 }; final double c3[] = { DELTA_CONTINUOUS, height }; result.add(c1, USegmentType.SEG_MOVETO); result.add(c2, USegmentType.SEG_LINETO); result.add(c3, USegmentType.SEG_LINETO); final double c4[] = { width - DELTA_CONTINUOUS, 0 }; final double c5[] = { width, height / 2 }; final double c6[] = { width - DELTA_CONTINUOUS, height }; result.add(c4, USegmentType.SEG_MOVETO); result.add(c5, USegmentType.SEG_LINETO); result.add(c6, USegmentType.SEG_LINETO); return result; } }, SDL_TASK(']') { @Override protected Shadowable getShape(double width, double height) { return new URectangle(width, height); } }; private static final int CORNER = 25; private final char style; private static int DELTA_INPUT_OUTPUT = 10; private static double DELTA_CONTINUOUS = 5.0; private static int PADDING = 5; private BoxStyle() { this('\0'); } private BoxStyle(char style) { this.style = style; } public static BoxStyle fromChar(char style) { for (BoxStyle bs : BoxStyle.values()) { if (bs.style == style) { return bs; } } return PLAIN; } public final UDrawable getUDrawable(final double width, final double height, final boolean shadowing) { return new UDrawable() { public void drawU(UGraphic ug) { drawInternal(ug, width, height, shadowing); } }; } protected Shadowable getShape(double width, double height) { return null; } protected void drawInternal(UGraphic ug, double width, double height, boolean shadowing) { final Shadowable s = getShape(width, height); if (shadowing) { s.setDeltaShadow(3); } ug.draw(s); } } ��plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/CollisionDetector.java����0000664�0000000�0000000�00000014442�13400053436�0032663�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.awt.geom.Line2D; import java.util.ArrayList; import java.util.List; import net.sourceforge.plantuml.Url; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.HtmlColorUtils; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.ColorMapper; import net.sourceforge.plantuml.ugraphic.MinMax; import net.sourceforge.plantuml.ugraphic.UChange; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.ULine; import net.sourceforge.plantuml.ugraphic.UParam; import net.sourceforge.plantuml.ugraphic.UParamNull; import net.sourceforge.plantuml.ugraphic.UPolygon; import net.sourceforge.plantuml.ugraphic.URectangle; import net.sourceforge.plantuml.ugraphic.UShape; import net.sourceforge.plantuml.ugraphic.UStroke; import net.sourceforge.plantuml.ugraphic.UTranslate; public class CollisionDetector implements UGraphic { public UGraphic apply(UChange change) { if (change instanceof UTranslate) { return new CollisionDetector(stringBounder, translate.compose((UTranslate) change), this.context); } else if (change instanceof UStroke) { return new CollisionDetector(this); } else if (change instanceof UChangeBackColor) { return new CollisionDetector(this); } else if (change instanceof UChangeColor) { return new CollisionDetector(this); } throw new UnsupportedOperationException(); } private final StringBounder stringBounder; private final UTranslate translate; private final Context context; static class Context { private final List rectangles = new ArrayList(); private final List snakes = new ArrayList(); private boolean manageSnakes; public void drawDebug(UGraphic ug) { for (MinMax minmax : rectangles) { if (collision(minmax)) { minmax.drawGrey(ug); } } final HtmlColor color = HtmlColorUtils.BLACK; ug = ug.apply(new UChangeColor(color)).apply(new UStroke(5)); for (Snake snake : snakes) { for (Line2D line : snake.getHorizontalLines()) { if (collision(line)) { drawLine(ug, line); } } } } private void drawLine(UGraphic ug, Line2D line) { ug = ug.apply(new UTranslate(line.getX1(), line.getY1())); ug.draw(new ULine(line.getX2() - line.getX1(), line.getY2() - line.getY1())); } private boolean collision(Line2D hline) { for (MinMax r : rectangles) { if (collisionCheck(r, hline)) { return true; } } return false; } private boolean collision(MinMax r) { for (Snake snake : snakes) { for (Line2D hline : snake.getHorizontalLines()) { if (collisionCheck(r, hline)) { return true; } } } return false; } } private static boolean collisionCheck(MinMax rect, Line2D hline) { if (hline.getY1() != hline.getY2()) { throw new IllegalArgumentException(); } if (hline.getY1() < rect.getMinY()) { return false; } if (hline.getY1() > rect.getMaxY()) { return false; } final double x1 = Math.min(hline.getX1(), hline.getX2()); final double x2 = Math.max(hline.getX1(), hline.getX2()); if (x2 < rect.getMinX()) { return false; } if (x1 > rect.getMaxX()) { return false; } return true; } public CollisionDetector(StringBounder stringBounder) { this(stringBounder, new UTranslate(), new Context()); } private CollisionDetector(StringBounder stringBounder, UTranslate translate, Context context) { this.stringBounder = stringBounder; this.translate = translate; this.context = context; } private CollisionDetector(CollisionDetector other) { this(other.stringBounder, other.translate, other.context); } public StringBounder getStringBounder() { return stringBounder; } public UParam getParam() { return new UParamNull(); } public void draw(UShape shape) { if (shape instanceof UPolygon) { drawPolygone((UPolygon) shape); } else if (shape instanceof URectangle) { drawRectangle((URectangle) shape); } else if (shape instanceof Snake) { drawSnake((Snake) shape); } /* * else { System.err.println("shape=" + shape.getClass() + " " + shape); } */ } private void drawSnake(Snake shape) { if (context.manageSnakes) { context.snakes.add(shape.translate(translate)); } } private void drawRectangle(URectangle shape) { context.rectangles.add(shape.getMinMax().translate(translate)); } private void drawPolygone(UPolygon shape) { context.rectangles.add(shape.getMinMax().translate(translate)); } public ColorMapper getColorMapper() { throw new UnsupportedOperationException(); } public void startUrl(Url url) { } public void closeAction() { } public void flushUg() { } public void drawDebug(UGraphic ug) { context.drawDebug(ug); } public final void setManageSnakes(boolean manageSnakes) { this.context.manageSnakes = manageSnakes; } public boolean matchesProperty(String propertyName) { return false; } public double dpiFactor() { return 1; } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/Connection.java�����������0000664�0000000�0000000�00000002767�13400053436�0031344�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import net.sourceforge.plantuml.graphic.UDrawable; import net.sourceforge.plantuml.ugraphic.UShape; public interface Connection extends UDrawable, UShape { public Ftile getFtile1(); public Ftile getFtile2(); } ���������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/ConnectionCross.java������0000664�0000000�0000000�00000004230�13400053436�0032341�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import net.sourceforge.plantuml.ugraphic.UGraphic; public class ConnectionCross extends AbstractConnection { private final Connection connection; public ConnectionCross(Connection connection) { super(connection.getFtile1(), connection.getFtile2()); this.connection = connection; } public void drawU(UGraphic ug) { if (connection instanceof ConnectionTranslatable) { final ConnectionTranslatable conn = (ConnectionTranslatable) connection; final Swimlane swimlane1 = getFtile1().getSwimlaneOut(); final Swimlane swimlane2 = getFtile2().getSwimlaneIn(); if (swimlane1 == null) { return; // throw new IllegalStateException("" + getFtile1().getClass()); } if (swimlane2 == null) { return; // throw new IllegalStateException("" + getFtile2().getClass()); } conn.drawTranslate(ug, swimlane1.getTranslate(), swimlane2.getTranslate()); } } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ConnectionTranslatable.java�������������������������������������������������������������������������0000664�0000000�0000000�00000003036�13400053436�0033610�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile����������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public interface ConnectionTranslatable extends Connection { public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2); } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/Diamond.java��������������0000664�0000000�0000000�00000006703�13400053436�0030612�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.creole.Stencil; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.ugraphic.UPolygon; public class Diamond { final static public double diamondHalfSize = 12; public static UPolygon asPolygon(boolean shadowing) { final UPolygon diams = new UPolygon(); diams.addPoint(diamondHalfSize, 0); diams.addPoint(diamondHalfSize * 2, diamondHalfSize); diams.addPoint(diamondHalfSize, diamondHalfSize * 2); diams.addPoint(0, diamondHalfSize); diams.addPoint(diamondHalfSize, 0); if (shadowing) { diams.setDeltaShadow(3); } return diams; } public static UPolygon asPolygon(boolean shadowing, double width, double height) { final UPolygon diams = new UPolygon(); diams.addPoint(diamondHalfSize, 0); diams.addPoint(width - diamondHalfSize, 0); diams.addPoint(width, height / 2); diams.addPoint(width - diamondHalfSize, height); diams.addPoint(diamondHalfSize, height); diams.addPoint(0, height / 2); diams.addPoint(diamondHalfSize, 0); if (shadowing) { diams.setDeltaShadow(3); } return diams; } public static Stencil asStencil(final TextBlock tb) { return new Stencil() { private final double getDeltaX(double height, double y) { final double p = y / height * 2; if (p <= 1) { return diamondHalfSize * p; } return diamondHalfSize * (2 - p); } public double getStartingX(StringBounder stringBounder, double y) { final Dimension2D dim = tb.calculateDimension(stringBounder); return -getDeltaX(dim.getHeight(), y); } public double getEndingX(StringBounder stringBounder, double y) { final Dimension2D dim = tb.calculateDimension(stringBounder); return dim.getWidth() + getDeltaX(dim.getHeight(), y); } }; } public static UPolygon asPolygonFoo1(boolean shadowing, double width, double height) { final UPolygon diams = new UPolygon(); diams.addPoint(width / 2, 0); diams.addPoint(width, height / 2); diams.addPoint(width / 2, height); diams.addPoint(0, height / 2); if (shadowing) { diams.setDeltaShadow(3); } return diams; } } �������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/EntityImageLegend.java����0000664�0000000�0000000�00000005103�13400053436�0032566�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import net.sourceforge.plantuml.ColorParam; import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.LineParam; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.TextBlockUtils; import net.sourceforge.plantuml.skin.rose.Rose; import net.sourceforge.plantuml.ugraphic.UStroke; public class EntityImageLegend { public static TextBlock create(Display note, ISkinParam skinParam) { final TextBlock textBlock = note.create(new FontConfiguration(skinParam, FontParam.LEGEND, null), HorizontalAlignment.LEFT, skinParam); final Rose rose = new Rose(); final HtmlColor legendBackgroundColor = rose.getHtmlColor(skinParam, ColorParam.legendBackground); final HtmlColor legendColor = rose.getHtmlColor(skinParam, ColorParam.legendBorder); final UStroke stroke = skinParam.getThickness(LineParam.legendBorder, null); final TextBlock result = TextBlockUtils.bordered(textBlock, stroke, legendColor, legendBackgroundColor, 10); return TextBlockUtils.withMargin(result, 8, 8); } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/Ftile.java����������������0000664�0000000�0000000�00000004405�13400053436�0030277�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.util.Collection; import java.util.List; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.ugraphic.UStroke; import net.sourceforge.plantuml.ugraphic.UTranslate; public interface Ftile extends Swimable, TextBlock { public UStroke getThickness(); public ISkinParam skinParam(); public LinkRendering getInLinkRendering(); public LinkRendering getOutLinkRendering(); public FtileGeometry calculateDimension(StringBounder stringBounder); public UTranslate getTranslateFor(Ftile child, StringBounder stringBounder); public Collection getMyChildren(); public Collection getInnerConnections(); public List getWeldingPoints(); public HorizontalAlignment arrowHorizontalAlignment(); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileAssemblySimple.java��0000664�0000000�0000000�00000012621�13400053436�0033150�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.awt.geom.Dimension2D; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.graphic.AbstractTextBlock; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UStroke; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileAssemblySimple extends AbstractTextBlock implements Ftile { private final Ftile tile1; private final Ftile tile2; @Override public String toString() { return "FtileAssemblySimple " + tile1 + " && " + tile2; } public FtileAssemblySimple(Ftile tile1, Ftile tile2) { this.tile1 = tile1; this.tile2 = tile2; } public Swimlane getSwimlaneIn() { return tile1.getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return tile2.getSwimlaneOut(); } private final Map cachedTranslation = new HashMap(); public UTranslate getTranslateFor(Ftile child, StringBounder stringBounder) { UTranslate result = cachedTranslation.get(child); if (result == null) { result = getTranslateForSlow(child, stringBounder); cachedTranslation.put(child, result); } return result; } private UTranslate getTranslateForSlow(Ftile child, StringBounder stringBounder) { if (child == tile1) { return getTranslated1(stringBounder); } if (child == tile2) { return getTranslated2(stringBounder); } UTranslate tmp = tile1.getTranslateFor(child, stringBounder); if (tmp != null) { return tmp.compose(getTranslated1(stringBounder)); } tmp = tile2.getTranslateFor(child, stringBounder); if (tmp != null) { return tmp.compose(getTranslated2(stringBounder)); } throw new UnsupportedOperationException(); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); ug.apply(getTranslateFor(tile1, stringBounder)).draw(tile1); ug.apply(getTranslateFor(tile2, stringBounder)).draw(tile2); } public LinkRendering getInLinkRendering() { return tile1.getInLinkRendering(); } public LinkRendering getOutLinkRendering() { return LinkRendering.none(); } private FtileGeometry calculateDimension; public FtileGeometry calculateDimension(StringBounder stringBounder) { if (calculateDimension == null) { calculateDimension = tile1.calculateDimension(stringBounder).appendBottom( tile2.calculateDimension(stringBounder)); } return calculateDimension; } private UTranslate getTranslated1(StringBounder stringBounder) { final double left = calculateDimension(stringBounder).getLeft(); return new UTranslate(left - tile1.calculateDimension(stringBounder).getLeft(), 0); } private UTranslate getTranslated2(StringBounder stringBounder) { final Dimension2D dim1 = tile1.calculateDimension(stringBounder); final double left = calculateDimension(stringBounder).getLeft(); return new UTranslate(left - tile2.calculateDimension(stringBounder).getLeft(), dim1.getHeight()); } public Collection getInnerConnections() { return Collections.emptyList(); } public Set getSwimlanes() { final Set result = new HashSet(); result.addAll(tile1.getSwimlanes()); result.addAll(tile2.getSwimlanes()); return Collections.unmodifiableSet(result); } public ISkinParam skinParam() { return tile1.skinParam(); } public UStroke getThickness() { return tile1.getThickness(); } public List getWeldingPoints() { final List result = new ArrayList(tile1.getWeldingPoints()); result.addAll(tile2.getWeldingPoints()); return Collections.unmodifiableList(result); } public Collection getMyChildren() { return Arrays.asList(tile1, tile2); } public HorizontalAlignment arrowHorizontalAlignment() { return tile1.arrowHorizontalAlignment(); } } ���������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileBreak.java�����������0000664�0000000�0000000�00000004047�13400053436�0031246�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.util.Collection; import java.util.Collections; import java.util.List; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.graphic.StringBounder; public class FtileBreak extends FtileEmpty implements WeldingPoint { public FtileBreak(ISkinParam skinParam, Swimlane swimlane) { super(skinParam, swimlane); } @Override public Collection getMyChildren() { return Collections.emptyList(); } @Override public String toString() { return "FtileBreak"; } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { return calculateDimensionEmpty().withoutPointOut(); } @Override public List getWeldingPoints() { return Collections.singletonList((WeldingPoint) this); } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileDecorateWelding.java�0000664�0000000�0000000�00000003460�13400053436�0033260�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.util.ArrayList; import java.util.Collections; import java.util.List; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDecorate; public class FtileDecorateWelding extends FtileDecorate { private final List breaks; public FtileDecorateWelding(final Ftile ftile, final List breaks) { super(ftile); this.breaks = new ArrayList(breaks); } @Override public List getWeldingPoints() { return Collections.unmodifiableList(breaks); } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileEmpty.java�����������0000664�0000000�0000000�00000006133�13400053436�0031316�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.Set; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UGraphic; public class FtileEmpty extends AbstractFtile { private final double width; private final double height; private final Swimlane swimlaneIn; private final Swimlane swimlaneOut; @Override public Collection getMyChildren() { return Collections.emptyList(); } public FtileEmpty(ISkinParam skinParam, double width, double height) { this(skinParam, width, height, null, null); } public FtileEmpty(ISkinParam skinParam, double width, double height, Swimlane swimlaneIn, Swimlane swimlaneOut) { super(skinParam); this.width = width; this.height = height; this.swimlaneIn = swimlaneIn; this.swimlaneOut = swimlaneOut; } public FtileEmpty(ISkinParam skinParam) { this(skinParam, 0, 0, null, null); } public FtileEmpty(ISkinParam skinParam, Swimlane swimlane) { this(skinParam, 0, 0, swimlane, swimlane); } @Override public String toString() { return "FtileEmpty"; } public void drawU(UGraphic ug) { } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { return calculateDimensionEmpty(); } final protected FtileGeometry calculateDimensionEmpty() { return new FtileGeometry(width, height, width / 2, 0, height); } public Swimlane getSwimlaneIn() { return swimlaneIn; } public Swimlane getSwimlaneOut() { return swimlaneOut; } public Set getSwimlanes() { final Set result = new HashSet(); if (swimlaneIn != null) { result.add(swimlaneIn); } if (swimlaneOut != null) { result.add(swimlaneOut); } return Collections.unmodifiableSet(result); } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileFactory.java���������0000664�0000000�0000000�00000006732�13400053436�0031634�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.util.Collection; import java.util.List; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.Url; import net.sourceforge.plantuml.activitydiagram3.Branch; import net.sourceforge.plantuml.activitydiagram3.ForkStyle; import net.sourceforge.plantuml.activitydiagram3.Instruction; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.PositionedNote; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.USymbol; import net.sourceforge.plantuml.graphic.color.Colors; public interface FtileFactory { public StringBounder getStringBounder(); public ISkinParam skinParam(); public Ftile start(Swimlane swimlane); public Ftile stop(Swimlane swimlane); public Ftile end(Swimlane swimlane); public Ftile spot(Swimlane swimlane, String spot); public Ftile activity(Display label, Swimlane swimlane, BoxStyle style, Colors colors); public Ftile addNote(Ftile ftile, Swimlane swimlane, Collection notes); public Ftile addUrl(Ftile ftile, Url url); public Ftile decorateIn(Ftile ftile, LinkRendering linkRendering); public Ftile decorateOut(Ftile ftile, LinkRendering linkRendering); public Ftile assembly(Ftile tile1, Ftile tile2); public Ftile repeat(Swimlane swimlane, Swimlane swimlaneOut, Display startLabel, Ftile repeat, Display test, Display yes, Display out, HtmlColor color, LinkRendering backRepeatLinkRendering, Ftile backward, boolean noOut); public Ftile createWhile(Swimlane swimlane, Ftile whileBlock, Display test, Display yes, Display out, LinkRendering afterEndwhile, HtmlColor color, Instruction specialOut); public Ftile createIf(Swimlane swimlane, List thens, Branch elseBranch, LinkRendering afterEndwhile, LinkRendering topInlinkRendering); public Ftile createParallel(Swimlane swimlane, List all, ForkStyle style, String label); public Ftile createGroup(Ftile list, Display name, HtmlColor backColor, HtmlColor titleColor, PositionedNote note, HtmlColor borderColor, USymbol type, double roundCorner); } ��������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileFactoryDelegator.java0000664�0000000�0000000�00000014440�13400053436�0033456�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.util.Collection; import java.util.List; import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.Url; import net.sourceforge.plantuml.activitydiagram3.Branch; import net.sourceforge.plantuml.activitydiagram3.ForkStyle; import net.sourceforge.plantuml.activitydiagram3.Instruction; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.PositionedNote; import net.sourceforge.plantuml.creole.CreoleMode; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.HtmlColorAndStyle; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.USymbol; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.skin.rose.Rose; public class FtileFactoryDelegator implements FtileFactory { private final FtileFactory factory; private final Rose rose = new Rose(); protected final Rainbow getInLinkRenderingColor(Ftile tile) { Rainbow color; final LinkRendering linkRendering = tile.getInLinkRendering(); if (linkRendering == null) { color = HtmlColorAndStyle.build(skinParam()); } else { color = linkRendering.getRainbow(); } if (color.size() == 0) { color = HtmlColorAndStyle.build(skinParam()); } return color; } protected final TextBlock getTextBlock(Display display) { // DUP3945 if (Display.isNull(display)) { return null; } final FontConfiguration fontConfiguration = new FontConfiguration(skinParam(), FontParam.ARROW, null); return display.create(fontConfiguration, HorizontalAlignment.LEFT, skinParam(), CreoleMode.SIMPLE_LINE); } protected Display getInLinkRenderingDisplay(Ftile tile) { final LinkRendering linkRendering = tile.getInLinkRendering(); if (linkRendering == null) { return Display.NULL; } return linkRendering.getDisplay(); } public FtileFactoryDelegator(FtileFactory factory) { this.factory = factory; } public Ftile start(Swimlane swimlane) { return factory.start(swimlane); } public Ftile end(Swimlane swimlane) { return factory.end(swimlane); } public Ftile stop(Swimlane swimlane) { return factory.stop(swimlane); } public Ftile spot(Swimlane swimlane, String spot) { return factory.spot(swimlane, spot); } public Ftile activity(Display label, Swimlane swimlane, BoxStyle style, Colors colors) { return factory.activity(label, swimlane, style, colors); } public Ftile addNote(Ftile ftile, Swimlane swimlane, Collection notes) { return factory.addNote(ftile, swimlane, notes); } public Ftile addUrl(Ftile ftile, Url url) { return factory.addUrl(ftile, url); } public Ftile decorateIn(Ftile ftile, LinkRendering linkRendering) { if (linkRendering == null) { throw new IllegalArgumentException(); } return factory.decorateIn(ftile, linkRendering); } public Ftile decorateOut(Ftile ftile, LinkRendering linkRendering) { if (linkRendering == null) { throw new IllegalArgumentException(); } return factory.decorateOut(ftile, linkRendering); } public Ftile assembly(Ftile tile1, Ftile tile2) { return factory.assembly(tile1, tile2); } public Ftile repeat(Swimlane swimlane, Swimlane swimlaneOut, Display startLabel, Ftile repeat, Display test, Display yes, Display out, HtmlColor color, LinkRendering backRepeatLinkRendering, Ftile backward, boolean noOut) { return factory.repeat(swimlane, swimlaneOut, startLabel, repeat, test, yes, out, color, backRepeatLinkRendering, backward, noOut); } public Ftile createWhile(Swimlane swimlane, Ftile whileBlock, Display test, Display yes, Display out, LinkRendering afterEndwhile, HtmlColor color, Instruction specialOut) { return factory.createWhile(swimlane, whileBlock, test, yes, out, afterEndwhile, color, specialOut); } public Ftile createIf(Swimlane swimlane, List thens, Branch elseBranch, LinkRendering afterEndwhile, LinkRendering topInlinkRendering) { return factory.createIf(swimlane, thens, elseBranch, afterEndwhile, topInlinkRendering); } public Ftile createParallel(Swimlane swimlane, List all, ForkStyle style, String label) { return factory.createParallel(swimlane, all, style, label); } public Ftile createGroup(Ftile list, Display name, HtmlColor backColor, HtmlColor titleColor, PositionedNote note, HtmlColor borderColor, USymbol type, double roundCorner) { return factory.createGroup(list, name, backColor, titleColor, note, borderColor, type, roundCorner); } public StringBounder getStringBounder() { return factory.getStringBounder(); } protected final Rose getRose() { return rose; } public final ISkinParam skinParam() { return factory.skinParam(); } protected FtileFactory getFactory() { return factory; } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileGeometry.java��������0000664�0000000�0000000�00000011063�13400053436�0032011�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.awt.geom.Dimension2D; import java.awt.geom.Point2D; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileGeometry extends Dimension2D { private final double width; private final double height; private final double left; private final double inY; private final double outY; public FtileGeometry(Dimension2D dim, double left, double inY) { this(dim.getWidth(), dim.getHeight(), left, inY); } public FtileGeometry(double width, double height, double left, double inY) { this(width, height, left, inY, Double.MIN_NORMAL); } @Override public String toString() { return "[" + width + "x" + height + " left=" + left + "]"; } @Override public void setSize(double width, double height) { throw new UnsupportedOperationException(); } public FtileGeometry(double width, double height, double left, double inY, double outY) { this.left = left; this.inY = inY; this.outY = outY; this.width = width; this.height = height; } public FtileGeometry incHeight(double northHeight) { return new FtileGeometry(width, height + northHeight, left, inY, outY); } public FtileGeometry(Dimension2D dim, double left, double inY, double outY) { this(dim.getWidth(), dim.getHeight(), left, inY, outY); } public boolean hasPointOut() { return outY != Double.MIN_NORMAL; } public Point2D getPointIn() { return new Point2D.Double(left, inY); } public Point2D getPointOut() { if (outY == Double.MIN_NORMAL) { throw new UnsupportedOperationException(); } return new Point2D.Double(left, outY); } public FtileGeometry withoutPointOut() { return new FtileGeometry(width, height, left, inY); } public FtileGeometry translate(UTranslate translate) { final double dx = translate.getDx(); final double dy = translate.getDy(); if (this.outY == Double.MIN_NORMAL) { return new FtileGeometry(width, height, left + dx, inY + dy); } return new FtileGeometry(width, height, left + dx, inY + dy, outY + dy); } public final double getInY() { return inY; } public final double getLeft() { return left; } public double getOutY() { return outY; } public final double getWidth() { return width; } public final double getHeight() { return height; } public FtileGeometry addDim(double deltaWidth, double deltaHeight) { return new FtileGeometry(width + deltaWidth, height + deltaHeight, left, inY, outY + deltaHeight); } public FtileGeometry addMarginX(double marginx) { return new FtileGeometry(width + 2 * marginx, height, left + marginx, inY, outY); } public FtileGeometry addMarginX(double margin1, double margin2) { return new FtileGeometry(width + margin1 + margin2, height, left + margin1, inY, outY); } public FtileGeometry fixedHeight(double fixedHeight) { return new FtileGeometry(width, fixedHeight, left, inY, outY); } public FtileGeometry appendBottom(FtileGeometry other) { return new FtileGeometryMerger(this, other).getResult(); } public FtileGeometry ensureHeight(double newHeight) { if (this.height > newHeight) { return this; } return fixedHeight(newHeight); } private FtileGeometry ensureRightStrange(double newRight) { final double right = this.width - this.left; if (right > newRight) { return this; } // return addMarginX(0, newRight - right); return addMarginX(0, newRight); } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileGeometryMerger.java��0000664�0000000�0000000�00000003751�13400053436�0033160�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; public class FtileGeometryMerger { private final FtileGeometry result; public FtileGeometryMerger(FtileGeometry geo1, FtileGeometry geo2) { final double left = Math.max(geo1.getLeft(), geo2.getLeft()); final double dx1 = left - geo1.getLeft(); final double dx2 = left - geo2.getLeft(); final double width = Math.max(geo1.getWidth() + dx1, geo2.getWidth() + dx2); final double height = geo1.getHeight() + geo2.getHeight(); if (geo2.hasPointOut()) { result = new FtileGeometry(width, height, left, geo1.getInY(), geo2.getOutY() + geo1.getHeight()); } else { result = new FtileGeometry(width, height, left, geo1.getInY()); } } public final FtileGeometry getResult() { return result; } } �����������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileGoto.java������������0000664�0000000�0000000�00000003417�13400053436�0031132�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.graphic.StringBounder; public class FtileGoto extends FtileEmpty { private final String name; public FtileGoto(ISkinParam skinParam, Swimlane swimlane, String name) { super(skinParam, swimlane); this.name = name; } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { return calculateDimensionEmpty().withoutPointOut(); } public String getName() { return name; } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileHeightFixed.java�����0000664�0000000�0000000�00000005440�13400053436�0032410�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.awt.geom.Dimension2D; import java.util.Set; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileHeightFixed extends AbstractFtile { private final Ftile tile; private final double fixedHeight; public FtileHeightFixed(Ftile tile, double fixedHeight) { super(tile.skinParam()); this.tile = tile; this.fixedHeight = fixedHeight; } @Override public LinkRendering getInLinkRendering() { return tile.getInLinkRendering(); } @Override public LinkRendering getOutLinkRendering() { return tile.getOutLinkRendering(); } public Set getSwimlanes() { return tile.getSwimlanes(); } public Swimlane getSwimlaneIn() { return tile.getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return tile.getSwimlaneOut(); } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { return tile.calculateDimension(stringBounder).translate(getTranslate(stringBounder)).fixedHeight(fixedHeight); } private UTranslate getTranslate(StringBounder stringBounder) { final Dimension2D dim = tile.calculateDimension(stringBounder); if (dim.getHeight() > fixedHeight) { throw new IllegalStateException(); } return new UTranslate(0, (fixedHeight - dim.getHeight()) / 2); } public void drawU(UGraphic ug) { ug.apply(getTranslate(ug.getStringBounder())).draw(tile); } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileKilled.java����������0000664�0000000�0000000�00000004147�13400053436�0031427�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.util.Set; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UGraphic; public class FtileKilled extends AbstractFtile { private final Ftile tile; public FtileKilled(Ftile tileToKill) { super(tileToKill.skinParam()); this.tile = tileToKill; } public Set getSwimlanes() { return tile.getSwimlanes(); } public Swimlane getSwimlaneIn() { return tile.getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return tile.getSwimlaneOut(); } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { final FtileGeometry geo = tile.calculateDimension(stringBounder); return new FtileGeometry(tile.calculateDimension(stringBounder), geo.getLeft(), geo.getInY()); } public void drawU(UGraphic ug) { ug.draw(tile); } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileLabel.java�����������0000664�0000000�0000000�00000003113�13400053436�0031232�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import net.sourceforge.plantuml.ISkinParam; public class FtileLabel extends FtileEmpty { private final String name; public FtileLabel(ISkinParam skinParam, Swimlane swimlane, String name) { super(skinParam, swimlane); this.name = name; } public final String getName() { return name; } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMarged.java����������0000664�0000000�0000000�00000006166�13400053436�0031425�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.util.Collection; import java.util.Collections; import java.util.Set; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileMarged extends AbstractFtile { private final Ftile tile; private final double margin1; private final double margin2; public FtileMarged(Ftile tile, double margin1, double margin2) { super(tile.skinParam()); this.tile = tile; this.margin1 = margin1; this.margin2 = margin2; } @Override public Collection getMyChildren() { return Collections.singleton(tile); // return tile.getMyChildren(); } @Override public LinkRendering getInLinkRendering() { return tile.getInLinkRendering(); } @Override public LinkRendering getOutLinkRendering() { return tile.getOutLinkRendering(); } public Set getSwimlanes() { return tile.getSwimlanes(); } public Swimlane getSwimlaneIn() { return tile.getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return tile.getSwimlaneOut(); } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { final FtileGeometry orig = tile.calculateDimension(stringBounder); return new FtileGeometry(orig.getWidth() + margin1 + margin2, orig.getHeight(), orig.getLeft() + margin1, orig.getInY(), orig.getOutY()); } public UTranslate getTranslateFor(Ftile child, StringBounder stringBounder) { if (child == tile) { return getTranslate(); } UTranslate result = tile.getTranslateFor(child, stringBounder); result = result.compose(getTranslate()); return result; } private UTranslate getTranslate() { return new UTranslate(margin1, 0); } public void drawU(UGraphic ug) { ug.apply(getTranslate()).draw(tile); } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMargedRight.java�����0000664�0000000�0000000�00000004753�13400053436�0032423�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.util.Set; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UGraphic; public class FtileMargedRight extends AbstractFtile { private final Ftile tile; private final double maxX; public FtileMargedRight(Ftile tile, double maxX) { super(tile.skinParam()); this.tile = tile; this.maxX = maxX; } @Override public LinkRendering getInLinkRendering() { return tile.getInLinkRendering(); } @Override public LinkRendering getOutLinkRendering() { return tile.getOutLinkRendering(); } public Set getSwimlanes() { return tile.getSwimlanes(); } public Swimlane getSwimlaneIn() { return tile.getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return tile.getSwimlaneOut(); } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { final FtileGeometry orig = tile.calculateDimension(stringBounder); if (orig.getWidth() > maxX) { throw new IllegalStateException(); } return new FtileGeometry(maxX, orig.getHeight(), orig.getLeft(), orig.getInY(), orig.getOutY()); } public void drawU(UGraphic ug) { ug.draw(tile); } } ���������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMargedVertically.java0000664�0000000�0000000�00000004743�13400053436�0033463�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDecorate; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileMargedVertically extends FtileDecorate { private final double margin1; private final double margin2; public FtileMargedVertically(Ftile tile, double margin1, double margin2) { super(tile); this.margin1 = margin1; this.margin2 = margin2; } public void drawU(UGraphic ug) { if (margin1 > 0) { ug = ug.apply(new UTranslate(0, margin1)); } ug.draw(getFtileDelegated()); } private FtileGeometry cached; public FtileGeometry calculateDimension(StringBounder stringBounder) { if (cached == null) { this.cached = calculateDimensionSlow(stringBounder); } return this.cached; } private FtileGeometry calculateDimensionSlow(StringBounder stringBounder) { final FtileGeometry orig = getFtileDelegated().calculateDimension(stringBounder); return new FtileGeometry(orig.getWidth(), orig.getHeight() + margin1 + margin2, orig.getLeft(), orig.getInY() + margin1, orig.hasPointOut() ? orig.getOutY() + margin1 : orig.getOutY()); } } �����������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMinWidth.java��������0000664�0000000�0000000�00000007373�13400053436�0031752�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.Dimension2DDouble; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDecorate; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileMinWidth extends FtileDecorate { private final double minWidth; private FtileGeometry calculateDimensionInternal; public FtileMinWidth(Ftile tile, double minWidth) { super(tile); this.minWidth = minWidth; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final UTranslate change = getUTranslateInternal(stringBounder); super.drawU(ug.apply(change)); } @Override public FtileGeometry calculateDimension(StringBounder stringBounder) { if (calculateDimensionInternal == null) { calculateDimensionInternal = calculateDimensionSlow(stringBounder); } return calculateDimensionInternal; } private FtileGeometry calculateDimensionSlow(StringBounder stringBounder) { final FtileGeometry geo = super.calculateDimension(stringBounder); final double left = getPoint2(geo.getLeft(), stringBounder); if (geo.hasPointOut() == false) { return new FtileGeometry(getDimensionInternal(stringBounder), left, geo.getInY()); } return new FtileGeometry(getDimensionInternal(stringBounder), left, geo.getInY(), geo.getOutY()); } private Dimension2D getDimensionInternal(StringBounder stringBounder) { final Dimension2D dim = getFtileDelegated().calculateDimension(stringBounder); if (dim.getWidth() < minWidth) { return new Dimension2DDouble(minWidth, dim.getHeight()); } return dim; } private UTranslate getUTranslateInternal(final StringBounder stringBounder) { final Dimension2D dimTile = getFtileDelegated().calculateDimension(stringBounder); final Dimension2D dimTotal = getDimensionInternal(stringBounder); final UTranslate change = new UTranslate((dimTotal.getWidth() - dimTile.getWidth()) / 2, 0); return change; } public UTranslate getTranslateFor(Ftile child, StringBounder stringBounder) { if (child == getFtileDelegated()) { return getUTranslateInternal(stringBounder); } return null; } private double getPoint2(double x, StringBounder stringBounder) { final Dimension2D dim = getFtileDelegated().calculateDimension(stringBounder); if (dim.getWidth() < minWidth) { final double diff = minWidth - dim.getWidth(); return x + diff / 2; } return x; } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileOverpassing.java�����0000664�0000000�0000000�00000002723�13400053436�0032521�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import net.sourceforge.plantuml.graphic.StringBounder; public interface FtileOverpassing extends Ftile { public FtileGeometry getOverpassDimension(StringBounder stringBounder); } ���������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileUtils.java�����������0000664�0000000�0000000�00000005357�13400053436�0031327�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.util.Collection; public class FtileUtils { public static Ftile addConnection(Ftile ftile, Connection connection) { return new FtileWithConnection(ftile, connection); } public static Ftile addConnection(Ftile ftile, Collection connections) { return new FtileWithConnection(ftile, connections); } public static Ftile withSwimlaneOut(Ftile ftile, Swimlane out) { return new FtileWithSwimlanes(ftile, ftile.getSwimlaneIn(), out); } public static Ftile addBottom(Ftile ftile, double marginBottom) { return new FtileMargedVertically(ftile, 0, marginBottom); } public static Ftile addVerticalMargin(Ftile ftile, double marginTop, double marginBottom) { if (marginTop == 0 && marginBottom == 0) { return ftile; } return new FtileMargedVertically(ftile, marginTop, marginBottom); } public static Ftile addHorizontalMargin(Ftile ftile, double margin1, double margin2) { if (margin1 == 0 && margin2 == 0) { return ftile; } return new FtileMarged(ftile, margin1, margin2); } public static Ftile addHorizontalMargin(Ftile ftile, double margin) { if (margin == 0) { return ftile; } return new FtileMarged(ftile, margin, margin); } // public static Ftile addHorizontalMargin(Ftile ftile, double margin) { // return new FtileMarged(ftile, margin); // } // private static Ftile neverNull(Ftile ftile, ISkinParam skinParam) { // if (ftile == null) { // return new FtileEmpty(skinParam); // } // return ftile; // } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileWithConnection.java��0000664�0000000�0000000�00000005012�13400053436�0033146�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.List; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDecorate; import net.sourceforge.plantuml.ugraphic.UGraphic; class FtileWithConnection extends FtileDecorate { private final List connections = new ArrayList(); FtileWithConnection(Ftile ftile, Collection connections) { super(ftile); if (connections == null || connections.size() == 0) { throw new IllegalArgumentException(); } this.connections.addAll(connections); } @Override public String toString() { return super.toString() + " " + connections; } public FtileWithConnection(Ftile ftile, Connection connection) { this(ftile, Arrays.asList(connection)); if (connection == null) { throw new IllegalArgumentException(); } } public void drawU(UGraphic ug) { getFtileDelegated().drawU(ug); for (Connection c : connections) { ug.draw(c); } } public Collection getInnerConnections() { final List result = new ArrayList(super.getInnerConnections()); result.addAll(connections); return Collections.unmodifiableList(connections); } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileWithSwimlanes.java���0000664�0000000�0000000�00000003316�13400053436�0033016�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDecorate; class FtileWithSwimlanes extends FtileDecorate { private final Swimlane in; private final Swimlane out; FtileWithSwimlanes(Ftile ftile, Swimlane in, Swimlane out) { super(ftile); this.in = in; this.out = out; } @Override public Swimlane getSwimlaneIn() { return in; } @Override public Swimlane getSwimlaneOut() { return out; } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileWithUrl.java���������0000664�0000000�0000000�00000003426�13400053436�0031620�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import net.sourceforge.plantuml.Url; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDecorate; import net.sourceforge.plantuml.ugraphic.UGraphic; public class FtileWithUrl extends FtileDecorate { private final Url url; public FtileWithUrl(Ftile ftile, Url url) { super(ftile); if (url == null) { throw new IllegalArgumentException(); } this.url = url; } public void drawU(UGraphic ug) { ug.startUrl(url); getFtileDelegated().drawU(ug); ug.closeAction(); } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/Genealogy.java������������0000664�0000000�0000000�00000005331�13400053436�0031145�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.util.Collection; import java.util.HashMap; import java.util.Map; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UTranslate; public class Genealogy { private Map myFatherIs = new HashMap(); private final Ftile root; public Genealogy(Ftile root) { this.root = root; process(root); // System.err.println("myFatherIs=" + myFatherIs); } private void process(Ftile current) { final Collection children = current.getMyChildren(); // System.err.println("current=" + current); // System.err.println("children=" + children); for (Ftile child : children) { setMyFather(child, current); process(child); } } public Ftile getMyFather(Ftile me) { return myFatherIs.get(me); } private void setMyFather(Ftile child, Ftile father) { if (myFatherIs.containsKey(child)) { throw new IllegalArgumentException(); } myFatherIs.put(child, father); } public UTranslate getTranslate(Ftile child, StringBounder stringBounder) { Ftile current = child; UTranslate result = new UTranslate(); while (current != root) { final Ftile father = getMyFather(current); final UTranslate tr = father.getTranslateFor(current, stringBounder); // System.err.println("Father=" + father); // System.err.println("current=" + current); // System.err.println("TR=" + tr); result = tr.compose(result); current = father; } return result; } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/GotoInterceptor.java������0000664�0000000�0000000�00000004022�13400053436�0032356�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.UGraphicInterceptorGoto; import net.sourceforge.plantuml.graphic.AbstractTextBlock; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.ugraphic.UGraphic; public class GotoInterceptor extends AbstractTextBlock implements TextBlock { private final TextBlock swinlanes; public GotoInterceptor(TextBlock swinlanes) { this.swinlanes = swinlanes; } public void drawU(UGraphic ug) { new UGraphicInterceptorGoto(ug).draw(swinlanes); } public Dimension2D calculateDimension(StringBounder stringBounder) { return swinlanes.calculateDimension(stringBounder); } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/MergeStrategy.java��������0000664�0000000�0000000�00000002752�13400053436�0032021�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; public enum MergeStrategy { FULL, LIMITED, NONE; public MergeStrategy max(MergeStrategy other) { final int max = Math.max(this.ordinal(), other.ordinal()); return MergeStrategy.values()[max]; } } ����������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/Snake.java����������������0000664�0000000�0000000�00000022142�13400053436�0030273�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.awt.geom.Dimension2D; import java.awt.geom.Line2D; import java.awt.geom.Point2D; import java.util.ArrayList; import java.util.Collections; import java.util.List; import net.sourceforge.plantuml.Direction; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColorAndStyle; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.TextBlockUtils; import net.sourceforge.plantuml.ugraphic.MinMax; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UPolygon; import net.sourceforge.plantuml.ugraphic.UShape; import net.sourceforge.plantuml.ugraphic.UTranslate; import net.sourceforge.plantuml.ugraphic.comp.CompressionTransform; public class Snake implements UShape { private final Worm worm = new Worm(); private UPolygon endDecoration; private final Rainbow color; private TextBlock textBlock; private MergeStrategy mergeable = MergeStrategy.FULL; private Direction emphasizeDirection; private final HorizontalAlignment horizontalAlignment; public Snake transformX(CompressionTransform compressionTransform) { final Snake result = new Snake(horizontalAlignment, color, endDecoration); result.textBlock = this.textBlock; result.mergeable = this.mergeable; result.emphasizeDirection = this.emphasizeDirection; for (Point2D.Double pt : worm) { final double x = compressionTransform.transform(pt.x); final double y = pt.y; result.addPoint(x, y); } return result; } public void removeEndDecoration() { this.endDecoration = null; } public Snake(HorizontalAlignment horizontalAlignment, Rainbow color, UPolygon endDecoration) { if (color == null) { throw new IllegalArgumentException(); } if (color.size() == 0) { throw new IllegalArgumentException(); } this.endDecoration = endDecoration; this.color = color; this.horizontalAlignment = horizontalAlignment; } public Snake(HorizontalAlignment horizontalAlignment, Rainbow color) { this(horizontalAlignment, color, null); } public void setLabel(TextBlock label) { this.textBlock = label; } public Snake move(double dx, double dy) { final Snake result = new Snake(horizontalAlignment, color, endDecoration); for (Point2D pt : worm) { result.addPoint(pt.getX() + dx, pt.getY() + dy); } result.textBlock = this.textBlock; result.mergeable = this.mergeable; result.emphasizeDirection = this.emphasizeDirection; return result; } public Snake translate(UTranslate translate) { return move(translate.getDx(), translate.getDy()); } @Override public String toString() { return worm.toString(); } public void addPoint(double x, double y) { worm.addPoint(x, y); } public void addPoint(Point2D p) { addPoint(p.getX(), p.getY()); } public void drawInternal(UGraphic ug) { if (color.size() > 1) { drawRainbow(ug); } else { worm.drawInternalOneColor(ug, color.getColors().get(0), 1.5, emphasizeDirection, endDecoration); drawInternalLabel(ug); } } private void drawRainbow(UGraphic ug) { List colors = color.getColors(); final int colorArrowSeparationSpace = color.getColorArrowSeparationSpace(); final double move = 2 + colorArrowSeparationSpace; final WormMutation mutation = WormMutation.create(worm, move); if (mutation.isDxNegative()) { colors = new ArrayList(colors); Collections.reverse(colors); } final double globalMove = -1.0 * (colors.size() - 1) / 2.0; Worm current = worm.moveFirstPoint(mutation.getFirst().multiplyBy(globalMove)); if (mutation.size() > 2) { current = current.moveLastPoint(mutation.getLast().multiplyBy(globalMove)); } for (int i = 0; i < colors.size(); i++) { double stroke = 1.5; if (colorArrowSeparationSpace == 0) { stroke = i == colors.size() - 1 ? 2.0 : 3.0; } current.drawInternalOneColor(ug, colors.get(i), stroke, emphasizeDirection, endDecoration); current = mutation.mute(current); } final UTranslate textTranslate = mutation.getTextTranslate(colors.size()); drawInternalLabel(ug.apply(textTranslate)); } private void drawInternalLabel(UGraphic ug) { if (textBlock != null) { final Point2D position = getTextBlockPosition(ug.getStringBounder()); textBlock.drawU(ug.apply(new UTranslate(position))); } } public double getMaxX(StringBounder stringBounder) { double result = -Double.MAX_VALUE; for (Point2D pt : worm) { result = Math.max(result, pt.getX()); } if (textBlock != null) { final Point2D position = getTextBlockPosition(stringBounder); final Dimension2D dim = textBlock.calculateDimension(stringBounder); result = Math.max(result, position.getX() + dim.getWidth()); } return result; } private Point2D getTextBlockPosition(StringBounder stringBounder) { final Point2D pt1 = worm.get(0); final Point2D pt2 = worm.get(1); final Dimension2D dim = textBlock.calculateDimension(stringBounder); double x = Math.max(pt1.getX(), pt2.getX()) + 4; final boolean zigzag = worm.getDirectionsCode().startsWith("DLD") || worm.getDirectionsCode().startsWith("DRD"); if (horizontalAlignment == HorizontalAlignment.CENTER && zigzag) { final Point2D pt3 = worm.get(2); x = (pt2.getX() + pt3.getX()) / 2 - dim.getWidth() / 2; } else if (horizontalAlignment == HorizontalAlignment.RIGHT && zigzag) { // final Point2D pt3 = worm.get(2); x = Math.max(pt1.getX(), pt2.getX()) - dim.getWidth() - 4; } final double y = (pt1.getY() + pt2.getY()) / 2 - dim.getHeight() / 2; return new Point2D.Double(x, y); } public List getHorizontalLines() { final List result = new ArrayList(); for (int i = 0; i < worm.size() - 1; i++) { final Point2D pt1 = worm.get(i); final Point2D pt2 = worm.get(i + 1); if (pt1.getY() == pt2.getY()) { final Line2D line = new Line2D.Double(pt1, pt2); result.add(line); } } return result; } private Point2D getFirst() { return worm.get(0); } public Point2D getLast() { return worm.get(worm.size() - 1); } static boolean same(Point2D pt1, Point2D pt2) { return pt1.distance(pt2) < 0.001; } public Snake merge(Snake other, StringBounder stringBounder) { final MergeStrategy strategy = this.mergeable.max(other.mergeable); if (strategy == MergeStrategy.NONE) { return null; } final boolean emptyOther = TextBlockUtils.isEmpty(other.textBlock, stringBounder); // final boolean emptyThis = TextBlockUtils.isEmpty(this.textBlock, stringBounder); if (emptyOther == false /* || emptyThis == false */) { // System.err.println("merge other.textBlock="+other.textBlock+" "+other.textBlock.calculateDimension(TextBlockUtils.getDummyStringBounder())); return null; } if (same(this.getLast(), other.getFirst())) { final UPolygon oneOf = other.endDecoration == null ? endDecoration : other.endDecoration; final Snake result = new Snake(horizontalAlignment, color, oneOf); // result.textBlock = oneOf(this.textBlock, other.textBlock, stringBounder); result.emphasizeDirection = emphasizeDirection == null ? other.emphasizeDirection : emphasizeDirection; result.worm.addAll(this.worm.merge(other.worm, strategy)); result.mergeable = strategy; return result; } if (same(this.getFirst(), other.getLast())) { return other.merge(this, stringBounder); } return null; } public boolean touches(Snake other) { if (other.mergeable != MergeStrategy.FULL) { return false; } if (other.worm.isPureHorizontal()) { return false; } return same(this.getLast(), other.getFirst()); } public void goUnmergeable(MergeStrategy strategy) { this.mergeable = strategy; } public void emphasizeDirection(Direction direction) { this.emphasizeDirection = direction; } public boolean doesHorizontalCross(MinMax minMax) { return worm.doesHorizontalCross(minMax); } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/SnakeDirection.java�������0000664�0000000�0000000�00000003227�13400053436�0032137�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.awt.geom.Point2D; public enum SnakeDirection { VERTICAL_THEN_HORIZONTAL, HORIZONTAL_THEN_VERTICAL; public static SnakeDirection getDirection(Point2D pt1, Point2D pt2) { if (pt1.getX() == pt2.getX()) { return VERTICAL_THEN_HORIZONTAL; } if (pt1.getY() == pt2.getY()) { return HORIZONTAL_THEN_VERTICAL; } throw new IllegalArgumentException(); } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimable.java�������������0000664�0000000�0000000�00000002700�13400053436�0030773�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.util.Set; public interface Swimable { public Set getSwimlanes(); public Swimlane getSwimlaneIn(); public Swimlane getSwimlaneOut(); } ����������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimlane.java�������������0000664�0000000�0000000�00000005677�13400053436�0031027�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.SpecificBackcolorable; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.color.ColorType; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.ugraphic.MinMax; import net.sourceforge.plantuml.ugraphic.UTranslate; public class Swimlane implements SpecificBackcolorable { private final String name; private Display display; private UTranslate translate = new UTranslate(); private double actualWidth; public Swimlane(String name) { this.name = name; this.display = Display.getWithNewlines(name); } @Override public String toString() { return name; } public String getName() { return name; } public Display getDisplay() { return display; } public void setDisplay(Display label) { this.display = label; } public final UTranslate getTranslate() { return translate; } public final void setTranslateAndWidth(UTranslate translate, double actualWidth) { this.translate = translate; this.actualWidth = actualWidth; } public Colors getColors(ISkinParam skinParam) { return colors; } public void setSpecificColorTOBEREMOVED(ColorType type, HtmlColor color) { if (color != null) { this.colors = colors.add(type, color); } } private Colors colors = Colors.empty(); public final double getActualWidth() { return actualWidth; } public void setColors(Colors colors) { this.colors = colors; } private MinMax minMax; public void setMinMax(MinMax minMax) { this.minMax = minMax; } public MinMax getMinMax() { return minMax; } } �����������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimlanes.java������������0000664�0000000�0000000�00000030143�13400053436�0031174�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.awt.geom.Dimension2D; import java.util.ArrayList; import java.util.List; import net.sourceforge.plantuml.ColorParam; import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.LineParam; import net.sourceforge.plantuml.Pragma; import net.sourceforge.plantuml.activitydiagram3.Instruction; import net.sourceforge.plantuml.activitydiagram3.InstructionList; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileFactoryDelegatorAddNote; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileFactoryDelegatorAddUrl; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileFactoryDelegatorAssembly; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileFactoryDelegatorCreateGroup; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileFactoryDelegatorCreateParallel; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileFactoryDelegatorIf; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileFactoryDelegatorRepeat; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileFactoryDelegatorWhile; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.UGraphicInterceptorOneSwimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.VCompactFactory; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.AbstractTextBlock; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.TextBlockUtils; import net.sourceforge.plantuml.graphic.UGraphicDelegator; import net.sourceforge.plantuml.graphic.color.ColorType; import net.sourceforge.plantuml.skin.rose.Rose; import net.sourceforge.plantuml.svek.UGraphicForSnake; import net.sourceforge.plantuml.ugraphic.LimitFinder; import net.sourceforge.plantuml.ugraphic.MinMax; import net.sourceforge.plantuml.ugraphic.UChange; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.ULine; import net.sourceforge.plantuml.ugraphic.URectangle; import net.sourceforge.plantuml.ugraphic.UShape; import net.sourceforge.plantuml.ugraphic.UStroke; import net.sourceforge.plantuml.ugraphic.UTranslate; import net.sourceforge.plantuml.ugraphic.comp.SlotSet; import net.sourceforge.plantuml.utils.MathUtils; public class Swimlanes extends AbstractTextBlock implements TextBlock { private final ISkinParam skinParam;; private final Pragma pragma; private final List swimlanes = new ArrayList(); private Swimlane currentSwimlane = null; private final Instruction root = new InstructionList(); private Instruction currentInstruction = root; private LinkRendering nextLinkRenderer = LinkRendering.none(); public Swimlanes(ISkinParam skinParam, Pragma pragma) { this.skinParam = skinParam; this.pragma = pragma; } private FontConfiguration getFontConfiguration() { return new FontConfiguration(skinParam, FontParam.SWIMLANE_TITLE, null); } private FtileFactory getFtileFactory(StringBounder stringBounder) { FtileFactory factory = new VCompactFactory(skinParam, stringBounder); factory = new FtileFactoryDelegatorAddUrl(factory); factory = new FtileFactoryDelegatorAssembly(factory); factory = new FtileFactoryDelegatorIf(factory, pragma); factory = new FtileFactoryDelegatorWhile(factory); factory = new FtileFactoryDelegatorRepeat(factory); factory = new FtileFactoryDelegatorCreateParallel(factory); // factory = new FtileFactoryDelegatorCreateParallelAddingMargin(new // FtileFactoryDelegatorCreateParallel1(factory)); factory = new FtileFactoryDelegatorAddNote(factory); factory = new FtileFactoryDelegatorCreateGroup(factory); return factory; } public void swimlane(String name, HtmlColor color, Display label) { currentSwimlane = getOrCreate(name); if (color != null) { currentSwimlane.setSpecificColorTOBEREMOVED(ColorType.BACK, color); } if (Display.isNull(label) == false) { currentSwimlane.setDisplay(label); } } private Swimlane getOrCreate(String name) { for (Swimlane s : swimlanes) { if (s.getName().equals(name)) { return s; } } final Swimlane result = new Swimlane(name); swimlanes.add(result); return result; } class Cross extends UGraphicDelegator { private Cross(UGraphic ug) { super(ug); } @Override public void draw(UShape shape) { if (shape instanceof Ftile) { final Ftile tile = (Ftile) shape; tile.drawU(this); } else if (shape instanceof Connection) { final Connection connection = (Connection) shape; final Ftile tile1 = connection.getFtile1(); final Ftile tile2 = connection.getFtile2(); if (tile1 == null || tile2 == null) { return; } if (tile1.getSwimlaneOut() != tile2.getSwimlaneIn()) { final ConnectionCross connectionCross = new ConnectionCross(connection); connectionCross.drawU(getUg()); } } } public UGraphic apply(UChange change) { return new Cross(getUg().apply(change)); } } static private final double separationMargin = 10; private TextBlock full; public void drawU(UGraphic ug) { if (full == null) { final FtileFactory factory = getFtileFactory(ug.getStringBounder()); full = root.createFtile(factory); if (swimlanes.size() <= 1) { // BUG42 full = new TextBlockInterceptorUDrawable(full); } } ug = new UGraphicForSnake(ug); if (swimlanes.size() <= 1) { full.drawU(ug); ug.flushUg(); return; } drawWhenSwimlanes(ug, full); } static private void printDebug(UGraphic ug, SlotSet slot, HtmlColor col, TextBlock full) { slot.drawDebugX(ug.apply(new UChangeColor(col)).apply(new UChangeBackColor(col)), full.calculateDimension(ug.getStringBounder()).getHeight()); } private void drawWhenSwimlanes(UGraphic ug, TextBlock full) { final StringBounder stringBounder = ug.getStringBounder(); final Dimension2D dimensionFull = full.calculateDimension(stringBounder); final UTranslate titleHeightTranslate = getTitleHeightTranslate(stringBounder); computeSize(ug, full); double x2 = 0; for (Swimlane swimlane : swimlanes) { final HtmlColor back = swimlane.getColors(skinParam).getColor(ColorType.BACK); if (back != null) { final UGraphic background = ug.apply(new UChangeBackColor(back)).apply(new UChangeColor(back)) .apply(new UTranslate(x2, 0)); background.draw(new URectangle(swimlane.getActualWidth(), dimensionFull.getHeight() + titleHeightTranslate.getDy())); } final TextBlock swTitle = getTitle(swimlane); final double titleWidth = swTitle.calculateDimension(stringBounder).getWidth(); final double posTitle = x2 + (swimlane.getActualWidth() - titleWidth) / 2; swTitle.drawU(ug.apply(new UTranslate(posTitle, 0))); drawSeparation(ug.apply(new UTranslate(x2, 0)), dimensionFull.getHeight() + titleHeightTranslate.getDy()); full.drawU(new UGraphicInterceptorOneSwimlane(ug, swimlane).apply(swimlane.getTranslate()).apply( titleHeightTranslate)); x2 += swimlane.getActualWidth(); } drawSeparation(ug.apply(new UTranslate(x2, 0)), dimensionFull.getHeight() + titleHeightTranslate.getDy()); final Cross cross = new Cross(ug.apply(titleHeightTranslate)); full.drawU(cross); cross.flushUg(); } private void computeDrawingWidths(UGraphic ug, TextBlock full) { final StringBounder stringBounder = ug.getStringBounder(); for (Swimlane swimlane : swimlanes) { final LimitFinder limitFinder = new LimitFinder(stringBounder, false); final UGraphicInterceptorOneSwimlane interceptor = new UGraphicInterceptorOneSwimlane(new UGraphicForSnake( limitFinder), swimlane); full.drawU(interceptor); interceptor.flushUg(); final MinMax minMax = limitFinder.getMinMax(); swimlane.setMinMax(minMax); } } private void computeSize(UGraphic ug, TextBlock full) { computeDrawingWidths(ug, full); double x1 = 0; final StringBounder stringBounder = ug.getStringBounder(); double swimlaneWidth = skinParam.swimlaneWidth(); if (swimlaneWidth == -1) { for (Swimlane swimlane : swimlanes) { final MinMax minMax = swimlane.getMinMax(); swimlaneWidth = Math.max(swimlaneWidth, minMax.getWidth()); } } for (Swimlane swimlane : swimlanes) { final MinMax minMax = swimlane.getMinMax(); final double drawingWidth = minMax.getWidth() + 2 * separationMargin; final TextBlock swTitle = getTitle(swimlane); final double titleWidth = swTitle.calculateDimension(stringBounder).getWidth(); final double totalWidth = MathUtils.max(swimlaneWidth, drawingWidth, titleWidth + 2 * separationMargin); final UTranslate translate = new UTranslate(x1 - minMax.getMinX() + separationMargin + (totalWidth - drawingWidth) / 2.0, 0); swimlane.setTranslateAndWidth(translate, totalWidth); x1 += totalWidth; } } private UTranslate getTitleHeightTranslate(final StringBounder stringBounder) { double titlesHeight = 0; for (Swimlane swimlane : swimlanes) { final TextBlock swTitle = getTitle(swimlane); titlesHeight = Math.max(titlesHeight, swTitle.calculateDimension(stringBounder).getHeight()); } final UTranslate titleHeightTranslate = new UTranslate(0, titlesHeight); return titleHeightTranslate; } private TextBlock getTitle(Swimlane swimlane) { return swimlane.getDisplay().create(getFontConfiguration(), HorizontalAlignment.LEFT, skinParam, skinParam.wrapWidth()); } private void drawSeparation(UGraphic ug, double height) { HtmlColor color = skinParam.getHtmlColor(ColorParam.swimlaneBorder, null, false); if (color == null) { color = ColorParam.swimlaneBorder.getDefaultValue(); } final UStroke thickness = Rose.getStroke(skinParam, LineParam.swimlaneBorder, 2); ug.apply(thickness).apply(new UChangeColor(color)).draw(new ULine(0, height)); } public Dimension2D calculateDimension(StringBounder stringBounder) { return getMinMax(stringBounder).getDimension(); } public Instruction getCurrent() { return currentInstruction; } public void setCurrent(Instruction current) { this.currentInstruction = current; } public LinkRendering nextLinkRenderer() { return nextLinkRenderer; } public void setNextLinkRenderer(LinkRendering link) { if (link == null) { throw new IllegalArgumentException(); } this.nextLinkRenderer = link; } public Swimlane getCurrentSwimlane() { return currentSwimlane; } private MinMax cachedMinMax; @Override public MinMax getMinMax(StringBounder stringBounder) { if (cachedMinMax == null) { cachedMinMax = TextBlockUtils.getMinMax(this, stringBounder); } return cachedMinMax; } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/SwimlanesA.java�����������0000664�0000000�0000000�00000024726�13400053436�0031307�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.awt.geom.Dimension2D; import java.util.ArrayList; import java.util.List; import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.Pragma; import net.sourceforge.plantuml.activitydiagram3.Instruction; import net.sourceforge.plantuml.activitydiagram3.InstructionList; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileFactoryDelegatorAddNote; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileFactoryDelegatorAddUrl; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileFactoryDelegatorAssembly; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileFactoryDelegatorCreateGroup; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileFactoryDelegatorCreateParallel; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileFactoryDelegatorIf; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileFactoryDelegatorRepeat; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileFactoryDelegatorWhile; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.UGraphicInterceptorOneSwimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.VCompactFactory; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.AbstractTextBlock; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.TextBlockUtils; import net.sourceforge.plantuml.graphic.UGraphicDelegator; import net.sourceforge.plantuml.graphic.color.ColorType; import net.sourceforge.plantuml.svek.UGraphicForSnake; import net.sourceforge.plantuml.ugraphic.LimitFinder; import net.sourceforge.plantuml.ugraphic.MinMax; import net.sourceforge.plantuml.ugraphic.UChange; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.URectangle; import net.sourceforge.plantuml.ugraphic.UShape; import net.sourceforge.plantuml.ugraphic.UTranslate; import net.sourceforge.plantuml.ugraphic.comp.SlotSet; import net.sourceforge.plantuml.utils.MathUtils; public class SwimlanesA extends AbstractTextBlock implements TextBlock { protected final ISkinParam skinParam;; private final Pragma pragma; protected final List swimlanes = new ArrayList(); private Swimlane currentSwimlane = null; private final Instruction root = new InstructionList(); private Instruction currentInstruction = root; private LinkRendering nextLinkRenderer = LinkRendering.none(); public SwimlanesA(ISkinParam skinParam, Pragma pragma) { this.skinParam = skinParam; this.pragma = pragma; } private FtileFactory getFtileFactory(StringBounder stringBounder) { FtileFactory factory = new VCompactFactory(skinParam, stringBounder); factory = new FtileFactoryDelegatorAddUrl(factory); factory = new FtileFactoryDelegatorAssembly(factory); factory = new FtileFactoryDelegatorIf(factory, pragma); factory = new FtileFactoryDelegatorWhile(factory); factory = new FtileFactoryDelegatorRepeat(factory); factory = new FtileFactoryDelegatorCreateParallel(factory); // factory = new FtileFactoryDelegatorCreateParallelAddingMargin(new // FtileFactoryDelegatorCreateParallel1(factory)); factory = new FtileFactoryDelegatorAddNote(factory); factory = new FtileFactoryDelegatorCreateGroup(factory); return factory; } public void swimlane(String name, HtmlColor color, Display label) { currentSwimlane = getOrCreate(name); if (color != null) { currentSwimlane.setSpecificColorTOBEREMOVED(ColorType.BACK, color); } if (Display.isNull(label) == false) { currentSwimlane.setDisplay(label); } } private Swimlane getOrCreate(String name) { for (Swimlane s : swimlanes) { if (s.getName().equals(name)) { return s; } } final Swimlane result = new Swimlane(name); swimlanes.add(result); return result; } class Cross extends UGraphicDelegator { private Cross(UGraphic ug) { super(ug); } @Override public void draw(UShape shape) { if (shape instanceof Ftile) { final Ftile tile = (Ftile) shape; tile.drawU(this); } else if (shape instanceof Connection) { final Connection connection = (Connection) shape; final Ftile tile1 = connection.getFtile1(); final Ftile tile2 = connection.getFtile2(); if (tile1 == null || tile2 == null) { return; } if (tile1.getSwimlaneOut() != tile2.getSwimlaneIn()) { final ConnectionCross connectionCross = new ConnectionCross(connection); connectionCross.drawU(getUg()); } } } public UGraphic apply(UChange change) { return new Cross(getUg().apply(change)); } } static protected final double separationMargin = 10; private TextBlock full; public void drawU(UGraphic ug) { if (full == null) { final FtileFactory factory = getFtileFactory(ug.getStringBounder()); full = root.createFtile(factory); if (swimlanes.size() <= 1) { // BUG42 full = new TextBlockInterceptorUDrawable(full); } } ug = new UGraphicForSnake(ug); if (swimlanes.size() <= 1) { full.drawU(ug); ug.flushUg(); return; } drawWhenSwimlanes(ug, full); } static private void printDebug(UGraphic ug, SlotSet slot, HtmlColor col, TextBlock full) { slot.drawDebugX(ug.apply(new UChangeColor(col)).apply(new UChangeBackColor(col)), full.calculateDimension(ug.getStringBounder()).getHeight()); } protected void drawWhenSwimlanes(final UGraphic ug, TextBlock full) { final StringBounder stringBounder = ug.getStringBounder(); final Dimension2D dimensionFull = full.calculateDimension(stringBounder); computeSize(ug, full); final UTranslate titleHeightTranslate = getTitleHeightTranslate(stringBounder); double x2 = 0; for (Swimlane swimlane : swimlanes) { final HtmlColor back = swimlane.getColors(skinParam).getColor(ColorType.BACK); if (back != null) { final UGraphic background = ug.apply(new UChangeBackColor(back)).apply(new UChangeColor(back)) .apply(new UTranslate(x2, 0)); background.draw(new URectangle(swimlane.getActualWidth(), dimensionFull.getHeight() + titleHeightTranslate.getDy())); } full.drawU(new UGraphicInterceptorOneSwimlane(ug, swimlane).apply(swimlane.getTranslate()).apply( titleHeightTranslate)); x2 += swimlane.getActualWidth(); } final Cross cross = new Cross(ug.apply(titleHeightTranslate)); full.drawU(cross); cross.flushUg(); } protected UTranslate getTitleHeightTranslate(final StringBounder stringBounder) { return new UTranslate(); } private void computeDrawingWidths(UGraphic ug, TextBlock full) { final StringBounder stringBounder = ug.getStringBounder(); for (Swimlane swimlane : swimlanes) { final LimitFinder limitFinder = new LimitFinder(stringBounder, false); final UGraphicInterceptorOneSwimlane interceptor = new UGraphicInterceptorOneSwimlane(new UGraphicForSnake( limitFinder), swimlane); full.drawU(interceptor); interceptor.flushUg(); final MinMax minMax = limitFinder.getMinMax(); swimlane.setMinMax(minMax); } } private void computeSize(UGraphic ug, TextBlock full) { computeDrawingWidths(ug, full); double x1 = 0; double swimlaneWidth = skinParam.swimlaneWidth(); if (swimlaneWidth == ISkinParam.SWIMLANE_WIDTH_SAME) { for (Swimlane swimlane : swimlanes) { swimlaneWidth = Math.max(swimlaneWidth, rawDrawingWidth(swimlane)); } } for (Swimlane swimlane : swimlanes) { final double swimlaneActualWidth = swimlaneActualWidth(ug.getStringBounder(), swimlaneWidth, swimlane); final UTranslate translate = new UTranslate(x1 - swimlane.getMinMax().getMinX() + separationMargin + (swimlaneActualWidth - rawDrawingWidth(swimlane)) / 2.0, 0); swimlane.setTranslateAndWidth(translate, swimlaneActualWidth); x1 += swimlaneActualWidth; } } protected double swimlaneActualWidth(StringBounder stringBounder, double swimlaneWidth, Swimlane swimlane) { return MathUtils.max(swimlaneWidth, rawDrawingWidth(swimlane)); } private double rawDrawingWidth(Swimlane swimlane) { return swimlane.getMinMax().getWidth() + 2 * separationMargin; } public Dimension2D calculateDimension(StringBounder stringBounder) { return getMinMax(stringBounder).getDimension(); } public Instruction getCurrent() { return currentInstruction; } public void setCurrent(Instruction current) { this.currentInstruction = current; } public LinkRendering nextLinkRenderer() { return nextLinkRenderer; } public void setNextLinkRenderer(LinkRendering link) { if (link == null) { throw new IllegalArgumentException(); } this.nextLinkRenderer = link; } public Swimlane getCurrentSwimlane() { return currentSwimlane; } private MinMax cachedMinMax; @Override public MinMax getMinMax(StringBounder stringBounder) { if (cachedMinMax == null) { cachedMinMax = TextBlockUtils.getMinMax(this, stringBounder); } return cachedMinMax; } } ������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/SwimlanesB.java�����������0000664�0000000�0000000�00000007524�13400053436�0031305�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.LineBreakStrategy; import net.sourceforge.plantuml.Pragma; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; import net.sourceforge.plantuml.utils.MathUtils; public class SwimlanesB extends SwimlanesA { public SwimlanesB(ISkinParam skinParam, Pragma pragma) { super(skinParam, pragma); } @Override protected void drawWhenSwimlanes(UGraphic ug, TextBlock full) { super.drawWhenSwimlanes(ug, full); double x2 = 0; final StringBounder stringBounder = ug.getStringBounder(); for (Swimlane swimlane : swimlanes) { final TextBlock swTitle = getTitle(swimlane); final double titleWidth = swTitle.calculateDimension(stringBounder).getWidth(); final double posTitle = x2 + (swimlane.getActualWidth() - titleWidth) / 2; swTitle.drawU(ug.apply(new UTranslate(posTitle, 0))); x2 += swimlane.getActualWidth(); } } private TextBlock getTitle(Swimlane swimlane) { final FontConfiguration fontConfiguration = new FontConfiguration(skinParam, FontParam.SWIMLANE_TITLE, null); LineBreakStrategy wrap = getWrap(); if (wrap.isAuto()) { wrap = new LineBreakStrategy("" + ((int) swimlane.getActualWidth())); } return swimlane.getDisplay().create(fontConfiguration, HorizontalAlignment.LEFT, skinParam, wrap); } private LineBreakStrategy getWrap() { LineBreakStrategy wrap = skinParam.swimlaneWrapTitleWidth(); if (wrap == LineBreakStrategy.NONE) { wrap = skinParam.wrapWidth(); } return wrap; } @Override protected double swimlaneActualWidth(StringBounder stringBounder, double swimlaneWidth, Swimlane swimlane) { final double m1 = super.swimlaneActualWidth(stringBounder, swimlaneWidth, swimlane); if (getWrap().isAuto()) { return m1; } final double titleWidth = getTitle(swimlane).calculateDimension(stringBounder).getWidth(); return MathUtils.max(m1, titleWidth + 2 * separationMargin); } @Override protected UTranslate getTitleHeightTranslate(final StringBounder stringBounder) { double titlesHeight = 0; for (Swimlane swimlane : swimlanes) { final TextBlock swTitle = getTitle(swimlane); titlesHeight = Math.max(titlesHeight, swTitle.calculateDimension(stringBounder).getHeight()); } return new UTranslate(0, titlesHeight); } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/SwimlanesC.java�����������0000664�0000000�0000000�00000006140�13400053436�0031277�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.ColorParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.LineParam; import net.sourceforge.plantuml.Pragma; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.skin.rose.Rose; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.ULine; import net.sourceforge.plantuml.ugraphic.UStroke; import net.sourceforge.plantuml.ugraphic.UTranslate; public class SwimlanesC extends SwimlanesB { public SwimlanesC(ISkinParam skinParam, Pragma pragma) { super(skinParam, pragma); } @Override protected void drawWhenSwimlanes(UGraphic ug, TextBlock full) { super.drawWhenSwimlanes(ug, full); double x2 = 0; final StringBounder stringBounder = ug.getStringBounder(); final Dimension2D dimensionFull = full.calculateDimension(stringBounder); final UTranslate titleHeightTranslate = getTitleHeightTranslate(stringBounder); for (Swimlane swimlane : swimlanes) { drawSeparation(ug.apply(new UTranslate(x2, 0)), dimensionFull.getHeight() + titleHeightTranslate.getDy()); x2 += swimlane.getActualWidth(); } drawSeparation(ug.apply(new UTranslate(x2, 0)), dimensionFull.getHeight() + titleHeightTranslate.getDy()); } private void drawSeparation(UGraphic ug, double height) { HtmlColor color = skinParam.getHtmlColor(ColorParam.swimlaneBorder, null, false); if (color == null) { color = ColorParam.swimlaneBorder.getDefaultValue(); } final UStroke thickness = Rose.getStroke(skinParam, LineParam.swimlaneBorder, 2); ug.apply(thickness).apply(new UChangeColor(color)).draw(new ULine(0, height)); } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TextBlockInterceptorUDrawable.java������������������������������������������������������������������0000664�0000000�0000000�00000004236�13400053436�0035064�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile����������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.awt.geom.Dimension2D; import java.util.HashMap; import net.sourceforge.plantuml.graphic.AbstractTextBlock; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class TextBlockInterceptorUDrawable extends AbstractTextBlock implements TextBlock { private final TextBlock textBlock; public TextBlockInterceptorUDrawable(TextBlock textBlock) { this.textBlock = textBlock; } public void drawU(UGraphic ug) { textBlock.drawU(new UGraphicInterceptorUDrawable2(ug, new HashMap())); ug.flushUg(); } public Dimension2D calculateDimension(StringBounder stringBounder) { // return TextBlockUtils.getMinMax(this, stringBounder).getDimension(); throw new UnsupportedOperationException(); } }������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������UGraphicInterceptorUDrawable2.java������������������������������������������������������������������0000664�0000000�0000000�00000007440�13400053436�0034751�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile����������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.awt.geom.Point2D; import java.util.Map; import net.sourceforge.plantuml.graphic.HtmlColorUtils; import net.sourceforge.plantuml.graphic.UDrawable; import net.sourceforge.plantuml.graphic.UGraphicDelegator; import net.sourceforge.plantuml.svek.UGraphicForSnake; import net.sourceforge.plantuml.ugraphic.UChange; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UEllipse; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.ULine; import net.sourceforge.plantuml.ugraphic.UShape; import net.sourceforge.plantuml.ugraphic.UTranslate; public class UGraphicInterceptorUDrawable2 extends UGraphicDelegator { private final Map positions; public UGraphicInterceptorUDrawable2(UGraphic ug, Map positions) { super(ug); this.positions = positions; } public void draw(UShape shape) { if (shape instanceof Ftile) { final Ftile ftile = (Ftile) shape; // System.err.println("ftile=" + ftile); ftile.drawU(this); if (ftile instanceof FtileLabel) { positions.put(((FtileLabel) ftile).getName(), getPosition()); // System.err.println("ug=" + getUg().getClass()); } if (ftile instanceof FtileGoto) { // System.err.println("positions=" + positions); drawGoto((FtileGoto) ftile); } } else if (shape instanceof UDrawable) { final UDrawable drawable = (UDrawable) shape; drawable.drawU(this); } else { getUg().draw(shape); } } private UTranslate getPosition() { return ((UGraphicForSnake) getUg()).getTranslation(); } private void drawGoto(FtileGoto ftile) { final FtileGeometry geom = ftile.calculateDimension(getStringBounder()); final Point2D pt = geom.getPointIn(); UGraphic ugGoto = getUg().apply(new UChangeColor(HtmlColorUtils.GREEN)).apply( new UChangeBackColor(HtmlColorUtils.GREEN)); ugGoto = ugGoto.apply(new UTranslate(pt)); final UTranslate posNow = getPosition(); final UTranslate dest = positions.get(ftile.getName()); final double dx = dest.getDx() - posNow.getDx(); final double dy = dest.getDy() - posNow.getDy(); ugGoto.draw(new UEllipse(3, 3)); ugGoto.apply(new UTranslate(dx, dy)).draw(new UEllipse(3, 3)); ugGoto.draw(new ULine(dx, 0)); ugGoto.apply(new UTranslate(dx, 0)).draw(new ULine(0, dy)); // ugGoto.draw(new ULine(dx, dy)); } public UGraphic apply(UChange change) { return new UGraphicInterceptorUDrawable2(getUg().apply(change), positions); } }��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/WeldingPoint.java���������0000664�0000000�0000000�00000002477�13400053436�0031646�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; public interface WeldingPoint { } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/Worm.java�����������������0000664�0000000�0000000�00000033012�13400053436�0030154�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.awt.geom.Line2D; import java.awt.geom.Point2D; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Iterator; import java.util.List; import net.sourceforge.plantuml.Direction; import net.sourceforge.plantuml.cucadiagram.LinkStyle; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.HtmlColorAndStyle; import net.sourceforge.plantuml.ugraphic.MinMax; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.ULine; import net.sourceforge.plantuml.ugraphic.UPolygon; import net.sourceforge.plantuml.ugraphic.UStroke; import net.sourceforge.plantuml.ugraphic.UTranslate; public class Worm implements Iterable { private final List points = new ArrayList(); public boolean isPureHorizontal() { return points.size() == 2 && points.get(0).getY() == points.get(1).getY(); } public void drawInternalOneColor(UGraphic ug, HtmlColorAndStyle color, double stroke, Direction emphasizeDirection, UPolygon endDecoration) { final HtmlColor color2 = color.getColor(); if (color2 == null) { throw new IllegalArgumentException(); } final LinkStyle style = color.getStyle(); if (style.isInvisible()) { return; } ug = ug.apply(new UChangeColor(color2)); ug = ug.apply(new UChangeBackColor(color2)); if (style.isNormal()) { ug = ug.apply(new UStroke(stroke)); } else { ug = ug.apply(style.goThickness(stroke).getStroke3()); } boolean drawn = false; for (int i = 0; i < points.size() - 1; i++) { final java.awt.geom.Point2D.Double p1 = points.get(i); final java.awt.geom.Point2D.Double p2 = points.get(i + 1); final Line2D line = new Line2D.Double(p1, p2); if (drawn == false && emphasizeDirection != null && Direction.fromVector(p1, p2) == emphasizeDirection) { drawLine(ug, line, emphasizeDirection); drawn = true; } else { drawLine(ug, line, null); } } if (endDecoration != null) { ug = ug.apply(new UStroke(1.5)); final Point2D end = points.get(points.size() - 1); ug.apply(new UTranslate(end)).apply(new UStroke()).draw(endDecoration); } } private void drawLine(UGraphic ug, Line2D line, Direction direction) { drawLine(ug, line.getX1(), line.getY1(), line.getX2(), line.getY2(), direction); } private void drawLine(UGraphic ug, double x1, double y1, double x2, double y2, Direction direction) { ug = ug.apply(new UTranslate(x1, y1)); if (direction != null) { ug.apply(new UTranslate((x2 - x1) / 2, (y2 - y1) / 2)).draw(Arrows.asTo(direction)); } ug.draw(new ULine(x2 - x1, y2 - y1)); } public Worm move(double dx, double dy) { final Worm result = new Worm(); for (Point2D pt : points) { result.addPoint(pt.getX() + dx, pt.getY() + dy); } return result; } public Worm moveFirstPoint(UTranslate move) { final double dx = move.getDx(); final double dy = move.getDy(); if (dx != 0 && dy != 0) { throw new IllegalArgumentException("move=" + move); } final Worm result = new Worm(); double x0 = this.points.get(0).getX(); double y0 = this.points.get(0).getY(); double x1 = this.points.get(1).getX(); double y1 = this.points.get(1).getY(); if (dx != 0 && x0 == x1) { x1 += dx; } if (dy != 0 && y0 == y1) { y1 += dy; } x0 += dx; y0 += dy; result.addPoint(x0, y0); result.addPoint(x1, y1); for (int i = 2; i < this.points.size(); i++) { result.addPoint(this.points.get(i)); } return result; } public Worm moveLastPoint(UTranslate move) { final double dx = move.getDx(); final double dy = move.getDy(); if (dx != 0 && dy != 0) { throw new IllegalArgumentException("move=" + move); } final Worm result = new Worm(); double x8 = this.points.get(this.points.size() - 2).getX(); double y8 = this.points.get(this.points.size() - 2).getY(); double x9 = this.points.get(this.points.size() - 1).getX(); double y9 = this.points.get(this.points.size() - 1).getY(); if (dx != 0 && x8 == x9) { x8 += dx; } if (dy != 0 && y8 == y9) { y8 += dy; } x9 += dx; y9 += dy; for (int i = 0; i < this.points.size() - 2; i++) { result.addPoint(this.points.get(i)); } result.addPoint(x8, y8); result.addPoint(x9, y9); return result; } @Override public String toString() { final StringBuilder result = new StringBuilder(); for (int i = 0; i < points.size() - 1; i++) { result.append(getDirectionAtPoint(i) + " "); } return result + points.toString(); } public void addPoint(double x, double y) { this.points.add(new Point2D.Double(x, y)); } public void addPoint(Point2D pt) { this.addPoint(pt.getX(), pt.getY()); } public Worm translate(UTranslate translate) { return move(translate.getDx(), translate.getDy()); } SnakeDirection getDirection() { if (points.size() < 2) { throw new IllegalStateException(); } return SnakeDirection.getDirection(points.get(0), points.get(1)); } String getDirectionsCode() { final StringBuilder result = new StringBuilder(); for (int i = 0; i < points.size() - 1; i++) { final Direction direction = Direction.fromVector(points.get(i), points.get(i + 1)); result.append(direction.getShortCode()); } return result.toString(); } private List getPatternAt(int i) { return Arrays.asList(getDirectionAtPoint(i), getDirectionAtPoint(i + 1), getDirectionAtPoint(i + 2), getDirectionAtPoint(i + 3)); } private boolean isForwardAndBackwardAt(int i) { return getDirectionAtPoint(i) == getDirectionAtPoint(i + 1).getInv(); } private Direction getDirectionAtPoint(int i) { return Direction.fromVector(points.get(i), points.get(i + 1)); } public Iterator iterator() { return Collections.unmodifiableCollection(points).iterator(); } public boolean doesHorizontalCross(MinMax area) { for (int i = 0; i < points.size() - 1; i++) { final Point2D.Double pt1 = get(i); final Point2D.Double pt2 = get(i + 1); if (pt1.getY() == pt2.getY() && area.doesHorizontalCross(pt1, pt2)) { return true; } } return false; } public int size() { return this.points.size(); } public Point2D.Double get(int i) { return this.points.get(i); } public void addAll(Worm other) { this.points.addAll(other.points); } public void remove(int i) { this.points.remove(i); } public void add(int i, Point2D.Double pt) { this.points.add(i, pt); } private Point2D getFirst() { return points.get(0); } public Point2D getLast() { return points.get(points.size() - 1); } public Worm merge(Worm other, MergeStrategy merge) { if (Snake.same(this.getLast(), other.getFirst()) == false) { throw new IllegalArgumentException(); } final Worm result = new Worm(); result.points.addAll(this.points); result.points.addAll(other.points); result.mergeMe(merge); return result; } private void mergeMe(MergeStrategy merge) { boolean change = false; do { change = false; change = change || removeNullVector(); change = change || removeRedondantDirection(); change = change || removePattern1(); change = change || removePattern2(); change = change || removePattern3(); change = change || removePattern4(); change = change || removePattern5(); change = change || removePattern6(); change = change || removePattern7(); if (merge == MergeStrategy.FULL) { change = change || removePattern8(); } } while (change); } private boolean removeNullVector() { for (int i = 0; i < points.size() - 1; i++) { final Direction dir = getDirectionAtPoint(i); if (dir == null) { points.remove(i); return true; } } return false; } private boolean removeRedondantDirection() { for (int i = 0; i < points.size() - 2; i++) { final Direction dir1 = getDirectionAtPoint(i); final Direction dir2 = getDirectionAtPoint(i + 1); if (dir1 == dir2) { points.remove(i + 1); return true; } } return false; } private boolean removePattern1() { for (int i = 0; i < points.size() - 5; i++) { final List patternAt = getPatternAt(i); if (Arrays.asList(Direction.DOWN, Direction.LEFT, Direction.DOWN, Direction.RIGHT).equals(patternAt) || Arrays.asList(Direction.DOWN, Direction.RIGHT, Direction.DOWN, Direction.LEFT).equals(patternAt)) { final Point2D.Double newPoint = new Point2D.Double(points.get(i + 1).x, points.get(i + 3).y); points.remove(i + 3); points.remove(i + 2); points.remove(i + 1); points.add(i + 1, newPoint); return true; } } return false; } private boolean removePattern7() { if (points.size() > 4) { final int i = 0; final List patternAt = getPatternAt(i); if (Arrays.asList(Direction.RIGHT, Direction.DOWN, Direction.LEFT, Direction.DOWN).equals(patternAt) && points.get(i + 3).x > points.get(i).x) { final Point2D.Double newPoint = new Point2D.Double(points.get(i + 3).x, points.get(i).y); points.remove(i + 2); points.remove(i + 1); points.add(i + 1, newPoint); return true; } } return false; } private boolean removePattern2() { for (int i = 0; i < points.size() - 5; i++) { final List patternAt = getPatternAt(i); if (Arrays.asList(Direction.RIGHT, Direction.DOWN, Direction.RIGHT, Direction.UP).equals(patternAt) || Arrays.asList(Direction.LEFT, Direction.DOWN, Direction.LEFT, Direction.UP).equals(patternAt)) { final Point2D.Double newPoint = new Point2D.Double(points.get(i + 3).x, points.get(i + 1).y); points.remove(i + 3); points.remove(i + 2); points.remove(i + 1); points.add(i + 1, newPoint); return true; } } return false; } private boolean removePattern3() { for (int i = 0; i < points.size() - 4; i++) { final List patternAt = getPatternAt(i); if (Arrays.asList(Direction.DOWN, Direction.RIGHT, Direction.DOWN, Direction.RIGHT).equals(patternAt) || Arrays.asList(Direction.DOWN, Direction.LEFT, Direction.DOWN, Direction.LEFT).equals(patternAt)) { final Point2D.Double newPoint = new Point2D.Double(points.get(i + 1).x, points.get(i + 3).y); points.remove(i + 3); points.remove(i + 2); points.remove(i + 1); points.add(i + 1, newPoint); return true; } } return false; } private boolean removePattern4() { final int i = points.size() - 5; if (i >= 0) { final List patternAt = getPatternAt(i); if (Arrays.asList(Direction.DOWN, Direction.LEFT, Direction.DOWN, Direction.RIGHT).equals(patternAt)) { final Point2D.Double p1 = points.get(i + 1); final Point2D.Double p4 = points.get(i + 4); if (p4.x > p1.x) { final Point2D.Double newPoint = new Point2D.Double(points.get(i + 1).x, points.get(i + 3).y); points.remove(i + 3); points.remove(i + 2); points.remove(i + 1); points.add(i + 1, newPoint); return true; } } } return false; } private boolean removePattern5() { final int i = points.size() - 5; if (i >= 0) { final List patternAt = getPatternAt(i); if (Arrays.asList(Direction.DOWN, Direction.RIGHT, Direction.DOWN, Direction.LEFT).equals(patternAt)) { final Point2D.Double p1 = points.get(i + 1); final Point2D.Double p4 = points.get(i + 4); if (p4.x + 4 < p1.x) { final Point2D.Double newPoint = new Point2D.Double(points.get(i + 1).x, points.get(i + 3).y); points.remove(i + 3); points.remove(i + 2); points.remove(i + 1); points.add(i + 1, newPoint); return true; } } } return false; } private boolean removePattern6() { for (int i = 0; i < points.size() - 2; i++) { if (isForwardAndBackwardAt(i)) { points.remove(i + 1); return true; } } return false; } private boolean removePattern8() { for (int i = 0; i < points.size() - 4; i++) { final List patternAt = getPatternAt(i); if (Arrays.asList(Direction.LEFT, Direction.DOWN, Direction.LEFT, Direction.DOWN).equals(patternAt) || Arrays.asList(Direction.RIGHT, Direction.DOWN, Direction.RIGHT, Direction.DOWN) .equals(patternAt)) { final Point2D.Double newPoint = new Point2D.Double(points.get(i + 3).x, points.get(i + 1).y); points.remove(i + 3); points.remove(i + 2); points.remove(i + 1); points.add(i + 1, newPoint); return true; } } return false; } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/WormMutation.java���������0000664�0000000�0000000�00000013561�13400053436�0031704�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.util.ArrayList; import java.util.List; import net.sourceforge.plantuml.ugraphic.UTranslate; public class WormMutation { private final List translations = new ArrayList(); private WormMutation() { } public static WormMutation create(Worm worm, double delta) { final String signature = worm.getDirectionsCode(); if (signature.length() > 2) { return createFromLongSignature(signature, delta); } return createFromSimpleSignature(signature, delta); } private static WormMutation createFromLongSignature(final String signature, final double delta) { final WormMutation result = new WormMutation(); for (int i = 0; i < signature.length() - 1; i++) { WormMutation tmp = createFromSimpleSignature(signature.substring(i, i + 2), delta); if (i == 0) { result.translations.add(tmp.translations.get(0)); } else { UTranslate last = result.getLast(); if (last.isAlmostSame(tmp.translations.get(0)) == false) { tmp = tmp.reverse(); } } result.translations.add(tmp.translations.get(1)); if (i == signature.length() - 2) { result.translations.add(tmp.translations.get(2)); } } return result; } private WormMutation reverse() { final WormMutation result = new WormMutation(); for (UTranslate tr : translations) { result.translations.add(tr.reverse()); } return result; } public UTranslate getLast() { return translations.get(translations.size() - 1); } public UTranslate getFirst() { return translations.get(0); } public int size() { return translations.size(); } private static WormMutation createFromSimpleSignature(final String signature, final double delta) { final WormMutation result = new WormMutation(); // System.err.println("signature=" + signature); if (signature.equals("D") || signature.equals("U")) { final UTranslate translate = new UTranslate(delta, 0); result.translations.add(translate); result.translations.add(translate); return result; } if (signature.equals("L") || signature.equals("R")) { final UTranslate translate = new UTranslate(0, delta); result.translations.add(translate); result.translations.add(translate); return result; } if (signature.equals("RD")) { result.translations.add(new UTranslate(0, -delta)); result.translations.add(new UTranslate(delta, -delta)); result.translations.add(new UTranslate(delta, 0)); return result; } if (signature.equals("RU")) { result.translations.add(new UTranslate(0, delta)); result.translations.add(new UTranslate(delta, delta)); result.translations.add(new UTranslate(delta, 0)); return result; } if (signature.equals("LD")) { result.translations.add(new UTranslate(0, -delta)); result.translations.add(new UTranslate(-delta, -delta)); result.translations.add(new UTranslate(-delta, 0)); return result; } if (signature.equals("DL")) { result.translations.add(new UTranslate(delta, 0)); result.translations.add(new UTranslate(delta, delta)); result.translations.add(new UTranslate(0, delta)); return result; } if (signature.equals("DR")) { result.translations.add(new UTranslate(-delta, 0)); result.translations.add(new UTranslate(-delta, delta)); result.translations.add(new UTranslate(0, delta)); return result; } if (signature.equals("UL")) { result.translations.add(new UTranslate(delta, 0)); result.translations.add(new UTranslate(delta, -delta)); result.translations.add(new UTranslate(0, -delta)); return result; } if (signature.equals("UR")) { result.translations.add(new UTranslate(-delta, 0)); result.translations.add(new UTranslate(-delta, -delta)); result.translations.add(new UTranslate(0, -delta)); return result; } throw new UnsupportedOperationException(signature); } static private class MinMax { private double min = Double.MAX_VALUE; private double max = Double.MIN_VALUE; private void append(double v) { if (v > max) { max = v; } if (v < min) { min = v; } } private double getExtreme() { if (Math.abs(max) > Math.abs(min)) { return max; } return min; } } public UTranslate getTextTranslate(int size) { final MinMax result = new MinMax(); for (UTranslate tr : translations) { result.append(tr.getDx()); } return new UTranslate(result.getExtreme() * (size - 1), 0); } public boolean isDxNegative() { return translations.get(0).getDx() < 0; } public Worm mute(Worm original) { final Worm result = new Worm(); for (int i = 0; i < original.size(); i++) { result.addPoint(translations.get(i).getTranslated(original.get(i))); } return result; } } �����������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/WormTexted.java�����������0000664�0000000�0000000�00000010334�13400053436�0031334�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.awt.geom.Dimension2D; import java.awt.geom.Point2D; import java.util.Iterator; import net.sourceforge.plantuml.Direction; import net.sourceforge.plantuml.graphic.HtmlColorAndStyle; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.TextBlockUtils; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UPolygon; import net.sourceforge.plantuml.ugraphic.UTranslate; public class WormTexted implements Iterable { private final Worm worm; private TextBlock textBlock; public WormTexted() { this(new Worm()); } private WormTexted(Worm worm) { this.worm = worm; } public Iterator iterator() { return worm.iterator(); } public void addPoint(double x, double y) { worm.addPoint(x, y); } public void drawInternalOneColor(UGraphic ug, HtmlColorAndStyle color, double stroke, Direction emphasizeDirection, UPolygon endDecoration) { worm.drawInternalOneColor(ug, color, stroke, emphasizeDirection, endDecoration); } public Worm getWorm() { return worm; } public Point2D get(int i) { return worm.get(i); } public int size() { return worm.size(); } public WormTexted merge(WormTexted other, MergeStrategy merge) { final Worm result = worm.merge(other.worm, merge); return new WormTexted(result); } public void addAll(WormTexted other) { this.worm.addAll(other.worm); } public void setLabel(TextBlock label) { if (textBlock != null) { throw new IllegalStateException(); } this.textBlock = label; } public boolean isEmptyText(StringBounder stringBounder) { return TextBlockUtils.isEmpty(textBlock, stringBounder); } private Point2D getTextBlockPosition(StringBounder stringBounder) { final Point2D pt1 = get(0); final Point2D pt2 = get(1); final Dimension2D dim = textBlock.calculateDimension(stringBounder); // if (worm.getDirectionsCode().startsWith("LD")) { // final double y = pt1.getY() - dim.getHeight(); // return new Point2D.Double(Math.max(pt1.getX(), pt2.getX()) - dim.getWidth(), y); // } final double y = (pt1.getY() + pt2.getY()) / 2 - dim.getHeight() / 2; return new Point2D.Double(Math.max(pt1.getX(), pt2.getX()) + 4, y); } public double getMaxX(StringBounder stringBounder) { double result = -Double.MAX_VALUE; for (Point2D pt : this) { result = Math.max(result, pt.getX()); } if (textBlock != null) { final Point2D position = getTextBlockPosition(stringBounder); final Dimension2D dim = textBlock.calculateDimension(stringBounder); result = Math.max(result, position.getX() + dim.getWidth()); } return result; } void drawInternalLabel(UGraphic ug) { if (textBlock != null) { final Point2D position = getTextBlockPosition(ug.getStringBounder()); textBlock.drawU(ug.apply(new UTranslate(position))); } } public void copyLabels(WormTexted other) { this.textBlock = other.textBlock; } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/Zad.java������������������0000664�0000000�0000000�00000004330�13400053436�0027747�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import java.util.ArrayList; import java.util.List; import net.sourceforge.plantuml.graphic.HtmlColorUtils; import net.sourceforge.plantuml.ugraphic.MinMax; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UGraphic; public class Zad { private final List rectangles = new ArrayList(); public void add(MinMax rect) { // System.err.println("add " + rect); this.rectangles.add(rect); } public void drawDebug(UGraphic ug) { ug = ug.apply(new UChangeBackColor(HtmlColorUtils.BLUE)).apply(new UChangeColor(HtmlColorUtils.RED_LIGHT)); for (MinMax minMax : rectangles) { System.err.println("minmax=" + minMax); minMax.drawGrey(ug); } } public boolean doesHorizontalCross(Snake snake) { for (MinMax minMax : rectangles) { if (snake.doesHorizontalCross(minMax)) { return true; } } return false; } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/ZadBuilder.java�����������0000664�0000000�0000000�00000007523�13400053436�0031265�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile; import net.sourceforge.plantuml.Url; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.ColorMapper; import net.sourceforge.plantuml.ugraphic.MinMax; import net.sourceforge.plantuml.ugraphic.UChange; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UParam; import net.sourceforge.plantuml.ugraphic.UParamNull; import net.sourceforge.plantuml.ugraphic.URectangle; import net.sourceforge.plantuml.ugraphic.UShape; import net.sourceforge.plantuml.ugraphic.UStroke; import net.sourceforge.plantuml.ugraphic.UTranslate; public class ZadBuilder implements UGraphic { public UGraphic apply(UChange change) { if (change instanceof UTranslate) { return new ZadBuilder(stringBounder, translate.compose((UTranslate) change), this.context); } else if (change instanceof UStroke) { return new ZadBuilder(this); } else if (change instanceof UChangeBackColor) { return new ZadBuilder(this); } else if (change instanceof UChangeColor) { return new ZadBuilder(this); } throw new UnsupportedOperationException(); } private final StringBounder stringBounder; private final UTranslate translate; private final Context context; static class Context { private final Zad zad = new Zad(); } public ZadBuilder(StringBounder stringBounder) { this(stringBounder, new UTranslate(), new Context()); } private ZadBuilder(StringBounder stringBounder, UTranslate translate, Context context) { this.stringBounder = stringBounder; this.translate = translate; this.context = context; } private ZadBuilder(ZadBuilder other) { this(other.stringBounder, other.translate, other.context); } public StringBounder getStringBounder() { return stringBounder; } public UParam getParam() { return new UParamNull(); } public void draw(UShape shape) { if (shape instanceof URectangle) { drawRectangle((URectangle) shape); } } private void drawRectangle(URectangle shape) { final MinMax area = shape.getMinMax().translate(translate); // System.err.println("ZadBuilder " + shape + " " + area); context.zad.add(area); } public ColorMapper getColorMapper() { throw new UnsupportedOperationException(); } public void startUrl(Url url) { } public void closeAction() { } public void flushUg() { } public boolean matchesProperty(String propertyName) { return false; } public double dpiFactor() { return 1; } public Zad getZad() { return context.zad; } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/�����������������0000775�0000000�0000000�00000000000�13400053436�0030202�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ConnectionVerticalDown.java�������������������������������������������������������������������������0000664�0000000�0000000�00000006721�13400053436�0035415�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Point2D; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractConnection; import net.sourceforge.plantuml.activitydiagram3.ftile.Arrows; import net.sourceforge.plantuml.activitydiagram3.ftile.ConnectionTranslatable; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.Snake; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class ConnectionVerticalDown extends AbstractConnection implements ConnectionTranslatable { private final Point2D p1; private final Point2D p2; private final Rainbow color; private final TextBlock textBlock; public ConnectionVerticalDown(Ftile ftile1, Ftile ftile2, Point2D p1, Point2D p2, Rainbow color, TextBlock textBlock) { super(ftile1, ftile2); if (color.size() == 0) { throw new IllegalArgumentException(); } this.p1 = p1; this.p2 = p2; this.color = color; this.textBlock = textBlock; } public void drawU(UGraphic ug) { ug.draw(getSimpleSnake()); } public double getMaxX(StringBounder stringBounder) { return getSimpleSnake().getMaxX(stringBounder); } private Snake getSimpleSnake() { final Snake snake = new Snake(arrowHorizontalAlignment(), color, Arrows.asToDown()); snake.setLabel(textBlock); snake.addPoint(p1); snake.addPoint(p2); return snake; } public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2) { final Snake snake = new Snake(arrowHorizontalAlignment(), color, Arrows.asToDown()); snake.setLabel(textBlock); final Point2D mp1a = translate1.getTranslated(p1); final Point2D mp2b = translate2.getTranslated(p2); final double middle = (mp1a.getY() + mp2b.getY()) / 2.0; snake.addPoint(mp1a); snake.addPoint(mp1a.getX(), middle); snake.addPoint(mp2b.getX(), middle); snake.addPoint(mp2b); ug.draw(snake); // final Snake small = new Snake(color, Arrows.asToDown()); // small.addPoint(mp2b.getX(), middle); // small.addPoint(mp2b); // ug.draw(small); } }�����������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FloatingNote.java0000664�0000000�0000000�00000007317�13400053436�0033446�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.ColorParam; import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.LineBreakStrategy; import net.sourceforge.plantuml.creole.CreoleMode; import net.sourceforge.plantuml.creole.CreoleParser; import net.sourceforge.plantuml.creole.Sheet; import net.sourceforge.plantuml.creole.SheetBlock1; import net.sourceforge.plantuml.creole.SheetBlock2; import net.sourceforge.plantuml.creole.Stencil; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.AbstractTextBlock; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.skin.rose.Rose; import net.sourceforge.plantuml.svek.image.Opale; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UStroke; public class FloatingNote extends AbstractTextBlock implements Stencil, TextBlock { private final Opale opale; public FloatingNote(Display note, ISkinParam skinParam) { final Rose rose = new Rose(); final HtmlColor noteBackgroundColor = rose.getHtmlColor(skinParam, ColorParam.noteBackground); final HtmlColor borderColor = rose.getHtmlColor(skinParam, ColorParam.noteBorder); final FontConfiguration fc = new FontConfiguration(skinParam, FontParam.NOTE, null); final Sheet sheet = new CreoleParser(fc, skinParam.getDefaultTextAlignment(HorizontalAlignment.LEFT), skinParam, CreoleMode.FULL).createSheet(note); final SheetBlock2 sheetBlock2 = new SheetBlock2(new SheetBlock1(sheet, LineBreakStrategy.NONE, skinParam.getPadding()), this, new UStroke(1)); this.opale = new Opale(borderColor, noteBackgroundColor, sheetBlock2, skinParam.shadowing(null), false); // this.text = sheetBlock2; } public void drawU(UGraphic ug) { opale.drawU(ug); } public Dimension2D calculateDimension(StringBounder stringBounder) { return opale.calculateDimension(stringBounder); } public double getStartingX(StringBounder stringBounder, double y) { return -opale.getMarginX1(); } public double getEndingX(StringBounder stringBounder, double y) { return opale.calculateDimension(stringBounder).getWidth() - opale.getMarginX1(); } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileFactoryDelegatorAddNote.java�������������������������������������������������������������������0000664�0000000�0000000�00000005071�13400053436�0036452�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.util.Collection; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.PositionedNote; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactoryDelegator; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.sequencediagram.NoteType; public class FtileFactoryDelegatorAddNote extends FtileFactoryDelegator { public FtileFactoryDelegatorAddNote(FtileFactory factory) { super(factory); } @Override public Ftile addNote(Ftile ftile, Swimlane swimlane, Collection notes) { if (notes.size() == 0) { throw new IllegalArgumentException(); } // if (notes.size() > 1) { // throw new IllegalArgumentException(); // } ISkinParam skinParam = skinParam(); if (ftile == null) { final PositionedNote note = notes.iterator().next(); if (note.getColors() != null) { skinParam = note.getColors().mute(skinParam); } return new FtileNoteAlone(skinParam.shadowing(null), note.getDisplay(), skinParam, note.getType() == NoteType.NOTE, swimlane); } return FtileWithNoteOpale.create(ftile, notes, skinParam, true); } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileFactoryDelegatorAddUrl.java��������������������������������������������������������������������0000664�0000000�0000000�00000003743�13400053436�0036313�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import net.sourceforge.plantuml.Url; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactoryDelegator; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileWithUrl; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileBox; public class FtileFactoryDelegatorAddUrl extends FtileFactoryDelegator { public FtileFactoryDelegatorAddUrl(FtileFactory factory) { super(factory); } @Override public Ftile addUrl(Ftile ftile, Url url) { if (ftile instanceof FtileBox) { return new FtileWithUrl(ftile, url); } return ftile; } } �����������������������������FtileFactoryDelegatorAssembly.java������������������������������������������������������������������0000664�0000000�0000000�00000010113�13400053436�0036704�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Point2D; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactoryDelegator; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileMargedRight; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.skin.rose.Rose; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileFactoryDelegatorAssembly extends FtileFactoryDelegator { public FtileFactoryDelegatorAssembly(FtileFactory factory) { super(factory); } @Override public Ftile assembly(final Ftile tile1, final Ftile tile2) { double height = 35; final TextBlock textBlock = getTextBlock(getInLinkRenderingDisplay(tile2)); final StringBounder stringBounder = getStringBounder(); if (textBlock != null) { height += textBlock.calculateDimension(stringBounder).getHeight(); } // final Ftile space = new FtileEmpty(getFactory().shadowing(), 1, height); final Ftile tile1andSpace = FtileUtils.addBottom(tile1, height); Ftile result = super.assembly(tile1andSpace, tile2); final FtileGeometry geo = tile1.calculateDimension(stringBounder); if (geo.hasPointOut() == false) { return result; } final UTranslate translate1 = result.getTranslateFor(tile1andSpace, stringBounder); final Point2D p1 = geo.translate(translate1).getPointOut(); final UTranslate translate2 = result.getTranslateFor(tile2, stringBounder); final Point2D p2 = tile2.calculateDimension(stringBounder).translate(translate2).getPointIn(); final Rainbow color = getInLinkRenderingColor(tile2); final ConnectionVerticalDown connection = new ConnectionVerticalDown(tile1, tile2, p1, p2, color, textBlock); result = FtileUtils.addConnection(result, connection); if (textBlock != null) { final FtileGeometry dim = result.calculateDimension(stringBounder); final double width = dim.getWidth(); // System.err.println("width=" + width); // System.err.println("p1=" + p1); // System.err.println("p2=" + p2); final double maxX = connection.getMaxX(stringBounder); // System.err.println("FtileFactoryDelegatorAssembly dim=" + dim); // System.err.println("maxX=" + maxX); final double needed = (maxX - width) * 2; // result = new FtileMinWidth(result, needed); if (width < maxX) { result = new FtileMargedRight(result, maxX); } // System.err.println("FtileFactoryDelegatorAssembly result=" + result.calculateDimension(stringBounder)); } return result; } private final Rose rose = new Rose(); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileFactoryDelegatorCreateGroup.java���������������������������������������������������������������0000664�0000000�0000000�00000005062�13400053436�0037354�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.util.Collections; import net.sourceforge.plantuml.ColorParam; import net.sourceforge.plantuml.activitydiagram3.PositionedNote; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactoryDelegator; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.USymbol; import net.sourceforge.plantuml.skin.rose.Rose; public class FtileFactoryDelegatorCreateGroup extends FtileFactoryDelegator { private final Rose rose = new Rose(); public FtileFactoryDelegatorCreateGroup(FtileFactory factory) { super(factory); } @Override public Ftile createGroup(Ftile list, Display name, HtmlColor backColor, HtmlColor titleColor, PositionedNote note, HtmlColor borderColor, USymbol type, double roundCorner) { final HtmlColor arrowColor = rose.getHtmlColor(skinParam(), ColorParam.arrow); Ftile result = new FtileGroup(list, name, null, arrowColor, backColor, titleColor, skinParam(), borderColor, type, roundCorner); if (note != null) { result = new FtileWithNotes(result, Collections.singleton(note), skinParam()); } return result; } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileFactoryDelegatorCreateParallel.java������������������������������������������������������������0000664�0000000�0000000�00000006440�13400053436�0040015�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import java.util.ArrayList; import java.util.List; import net.sourceforge.plantuml.activitydiagram3.ForkStyle; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactoryDelegator; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileHeightFixed; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; public class FtileFactoryDelegatorCreateParallel extends FtileFactoryDelegator { private final double spaceArroundBlackBar = 20; private final double xMargin = 14; public FtileFactoryDelegatorCreateParallel(FtileFactory factory) { super(factory); } private Ftile allOverlapped(Swimlane swimlane, List all, ForkStyle style, String label) { return new FtileForkInnerOverlapped(all); } @Override public Ftile createParallel(Swimlane swimlane, List all, ForkStyle style, String label) { final Dimension2D dimSuper = super.createParallel(swimlane, all, style, label).calculateDimension(getStringBounder()); final double height1 = dimSuper.getHeight() + 2 * spaceArroundBlackBar; final List list = new ArrayList(); for (Ftile tmp : all) { list.add(new FtileHeightFixed(FtileUtils.addHorizontalMargin(tmp, xMargin), height1)); } final Ftile inner = super.createParallel(swimlane, list, style, label); ParallelFtilesBuilder builder; if (style == ForkStyle.SPLIT) { builder = new ParallelBuilderSplit2(skinParam(), getStringBounder(), list, inner, swimlane); } else if (style == ForkStyle.MERGE) { builder = new ParallelBuilderMerge(skinParam(), getStringBounder(), list, inner, swimlane); } else if (style == ForkStyle.FORK) { builder = new ParallelBuilderFork(skinParam(), getStringBounder(), list, inner, swimlane, label); } else { throw new IllegalStateException(); } return builder.build(); } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileFactoryDelegatorCreateParallel1.java�����������������������������������������������������������0000664�0000000�0000000�00000005223�13400053436�0040074�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.util.List; import net.sourceforge.plantuml.activitydiagram3.ForkStyle; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactoryDelegator; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; public class FtileFactoryDelegatorCreateParallel1 extends FtileFactoryDelegator { public FtileFactoryDelegatorCreateParallel1(FtileFactory factory) { super(factory); } private Ftile allOverlapped(Swimlane swimlane, List all, ForkStyle style, String label) { return new FtileForkInnerOverlapped(all); } @Override public Ftile createParallel(Swimlane swimlane, List list, ForkStyle style, String label) { final Ftile inner = super.createParallel(swimlane, list, style, label); ParallelFtilesBuilder builder; if (style == ForkStyle.SPLIT) { builder = new ParallelBuilderSplit(skinParam(), getStringBounder(), list, inner, swimlane); } else if (style == ForkStyle.MERGE) { builder = new ParallelBuilderMerge(skinParam(), getStringBounder(), list, inner, swimlane); } else if (style == ForkStyle.FORK) { builder = new ParallelBuilderFork(skinParam(), getStringBounder(), list, inner, swimlane, label); } else { throw new IllegalStateException(); } return builder.build(); } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileFactoryDelegatorCreateParallelAddingMargin.java������������������������������������������������0000664�0000000�0000000�00000005225�13400053436�0042262�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import java.util.ArrayList; import java.util.List; import net.sourceforge.plantuml.activitydiagram3.ForkStyle; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactoryDelegator; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileHeightFixed; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; public class FtileFactoryDelegatorCreateParallelAddingMargin extends FtileFactoryDelegator { private final double spaceArroundBlackBar = 20; private final double xMargin = 14; public FtileFactoryDelegatorCreateParallelAddingMargin(FtileFactory factory) { super(factory); } @Override public Ftile createParallel(Swimlane swimlane, List all, ForkStyle style, String label) { final Dimension2D dimSuper = super.createParallel(swimlane, all, style, label).calculateDimension( getStringBounder()); final double height1 = dimSuper.getHeight() + 2 * spaceArroundBlackBar; final List list = new ArrayList(); for (Ftile tmp : all) { list.add(new FtileHeightFixed(FtileUtils.addHorizontalMargin(tmp, xMargin), height1)); } return super.createParallel(swimlane, list, style, label); } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileFactoryDelegatorIf.java������������������������������������������������������������������������0000664�0000000�0000000�00000010125�13400053436�0035466�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.util.List; import net.sourceforge.plantuml.ColorParam; import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.Pragma; import net.sourceforge.plantuml.activitydiagram3.Branch; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactoryDelegator; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.cond.ConditionalBuilder; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.HtmlColorAndStyle; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.svek.ConditionStyle; public class FtileFactoryDelegatorIf extends FtileFactoryDelegator { private final Pragma pragma; public FtileFactoryDelegatorIf(FtileFactory factory, Pragma pragma) { super(factory); this.pragma = pragma; } @Override public Ftile createIf(Swimlane swimlane, List thens, Branch elseBranch, LinkRendering afterEndwhile, LinkRendering topInlinkRendering) { final ConditionStyle conditionStyle = skinParam().getConditionStyle(); final Branch branch0 = thens.get(0); final HtmlColor borderColor = getRose().getHtmlColor(skinParam(), ColorParam.activityDiamondBorder); final HtmlColor backColor = branch0.getColor() == null ? getRose().getHtmlColor(skinParam(), ColorParam.activityDiamondBackground) : branch0.getColor(); final Rainbow arrowColor = HtmlColorAndStyle.build(skinParam()); final FontConfiguration fcArrow = new FontConfiguration(skinParam(), FontParam.ARROW, null); final FontParam testParam = conditionStyle == ConditionStyle.INSIDE ? FontParam.ACTIVITY_DIAMOND : FontParam.ARROW; final FontConfiguration fcTest = new FontConfiguration(skinParam(), testParam, null) .changeColor(fontColor(FontParam.ACTIVITY_DIAMOND)); if (thens.size() > 1) { if (pragma.useVerticalIf()/* OptionFlags.USE_IF_VERTICAL */) return FtileIfLongVertical.create(swimlane, borderColor, backColor, arrowColor, getFactory(), conditionStyle, thens, elseBranch, fcArrow, topInlinkRendering, afterEndwhile); return FtileIfLongHorizontal.create(swimlane, borderColor, backColor, arrowColor, getFactory(), conditionStyle, thens, elseBranch, fcArrow, topInlinkRendering, afterEndwhile, fcTest); } return ConditionalBuilder.create(swimlane, borderColor, backColor, arrowColor, getFactory(), conditionStyle, thens.get(0), elseBranch, skinParam(), getStringBounder(), fcArrow, fcTest); } private HtmlColor fontColor(FontParam param) { return skinParam().getFontHtmlColor(null, param); } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileFactoryDelegatorRepeat.java��������������������������������������������������������������������0000664�0000000�0000000�00000013251�13400053436�0036353�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import java.util.List; import net.sourceforge.plantuml.ColorParam; import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.ftile.Arrows; import net.sourceforge.plantuml.activitydiagram3.ftile.BoxStyle; import net.sourceforge.plantuml.activitydiagram3.ftile.Connection; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileBreak; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactoryDelegator; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; import net.sourceforge.plantuml.activitydiagram3.ftile.Genealogy; import net.sourceforge.plantuml.activitydiagram3.ftile.Snake; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.WeldingPoint; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamond; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.HtmlColorAndStyle; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.svek.ConditionStyle; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileFactoryDelegatorRepeat extends FtileFactoryDelegator { public FtileFactoryDelegatorRepeat(FtileFactory factory) { super(factory); } @Override public Ftile repeat(Swimlane swimlane, Swimlane swimlaneOut, Display startLabel, final Ftile repeat, Display test, Display yes, Display out, HtmlColor color, LinkRendering backRepeatLinkRendering, Ftile backward, boolean noOut) { final ConditionStyle conditionStyle = skinParam().getConditionStyle(); final HtmlColor borderColor = getRose().getHtmlColor(skinParam(), ColorParam.activityDiamondBorder); final HtmlColor backColor = color == null ? getRose().getHtmlColor(skinParam(), ColorParam.activityDiamondBackground) : color; final Rainbow arrowColor = HtmlColorAndStyle.build(skinParam()); final LinkRendering endRepeatLinkRendering = repeat.getOutLinkRendering(); final Rainbow endRepeatLinkColor = endRepeatLinkRendering == null ? null : endRepeatLinkRendering.getRainbow(); final FontConfiguration fcDiamond = new FontConfiguration(skinParam(), FontParam.ACTIVITY_DIAMOND, null); final FontConfiguration fcArrow = new FontConfiguration(skinParam(), FontParam.ARROW, null); final Ftile backStart = Display.isNull(startLabel) ? null : this.activity(startLabel, swimlane, BoxStyle.PLAIN, Colors.empty()); Ftile result = FtileRepeat.create(backRepeatLinkRendering, swimlane, swimlaneOut, backStart, repeat, test, yes, out, borderColor, backColor, arrowColor, endRepeatLinkColor, conditionStyle, this.skinParam(), fcDiamond, fcArrow, backward, noOut); final List weldingPoints = repeat.getWeldingPoints(); if (weldingPoints.size() > 0) { // printAllChild(repeat); final Ftile diamondBreak = new FtileDiamond(repeat.skinParam(), backColor, borderColor, swimlane); result = assembly(FtileUtils.addHorizontalMargin(result, 10, 0), diamondBreak); final Genealogy genealogy = new Genealogy(result); final FtileBreak ftileBreak = (FtileBreak) weldingPoints.get(0); result = FtileUtils.addConnection(result, new Connection() { public void drawU(UGraphic ug) { final UTranslate tr1 = genealogy.getTranslate(ftileBreak, ug.getStringBounder()); final UTranslate tr2 = genealogy.getTranslate(diamondBreak, ug.getStringBounder()); final Dimension2D dimDiamond = diamondBreak.calculateDimension(ug.getStringBounder()); final Snake snake = new Snake(getFtile1().arrowHorizontalAlignment(), arrowColor, Arrows .asToRight()); snake.addPoint(tr1.getDx(), tr1.getDy()); snake.addPoint(0, tr1.getDy()); snake.addPoint(0, tr2.getDy() + dimDiamond.getHeight() / 2); snake.addPoint(tr2.getDx(), tr2.getDy() + dimDiamond.getHeight() / 2); ug.draw(snake); } public Ftile getFtile1() { return ftileBreak; } public Ftile getFtile2() { return diamondBreak; } }); } return result; } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileFactoryDelegatorWhile.java���������������������������������������������������������������������0000664�0000000�0000000�00000012016�13400053436�0036201�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import java.util.List; import net.sourceforge.plantuml.ColorParam; import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.activitydiagram3.Instruction; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.ftile.Arrows; import net.sourceforge.plantuml.activitydiagram3.ftile.Connection; import net.sourceforge.plantuml.activitydiagram3.ftile.Diamond; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileBreak; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactoryDelegator; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; import net.sourceforge.plantuml.activitydiagram3.ftile.Genealogy; import net.sourceforge.plantuml.activitydiagram3.ftile.Snake; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.WeldingPoint; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.HtmlColorAndStyle; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.svek.ConditionStyle; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileFactoryDelegatorWhile extends FtileFactoryDelegator { public FtileFactoryDelegatorWhile(FtileFactory factory) { super(factory); } @Override public Ftile createWhile(Swimlane swimlane, Ftile whileBlock, Display test, Display yes, Display out, LinkRendering afterEndwhile, HtmlColor color, Instruction specialOut) { final HtmlColor borderColor = getRose().getHtmlColor(skinParam(), ColorParam.activityDiamondBorder); final HtmlColor backColor = color == null ? getRose().getHtmlColor(skinParam(), ColorParam.activityDiamondBackground) : color; final Rainbow arrowColor = HtmlColorAndStyle.build(skinParam()); final ConditionStyle conditionStyle = skinParam().getConditionStyle(); final FontParam testParam = conditionStyle == ConditionStyle.INSIDE ? FontParam.ACTIVITY_DIAMOND : FontParam.ARROW; final FontConfiguration fcTest = new FontConfiguration(skinParam(), testParam, null); final LinkRendering endInlinkRendering = whileBlock.getOutLinkRendering(); final Rainbow endInlinkColor = endInlinkRendering == null || endInlinkRendering.getRainbow().size() == 0 ? arrowColor : endInlinkRendering.getRainbow(); final FontConfiguration fontArrow = new FontConfiguration(skinParam(), FontParam.ARROW, null); Ftile result = FtileWhile.create(swimlane, whileBlock, test, borderColor, backColor, arrowColor, yes, out, endInlinkColor, afterEndwhile, fontArrow, getFactory(), conditionStyle, fcTest, specialOut); final List weldingPoints = whileBlock.getWeldingPoints(); if (weldingPoints.size() > 0) { // printAllChild(repeat); final Genealogy genealogy = new Genealogy(result); final FtileBreak ftileBreak = (FtileBreak) weldingPoints.get(0); result = FtileUtils.addConnection(result, new Connection() { public void drawU(UGraphic ug) { final UTranslate tr1 = genealogy.getTranslate(ftileBreak, ug.getStringBounder()); final Snake snake = new Snake(getFtile1().arrowHorizontalAlignment(), arrowColor, Arrows.asToLeft()); snake.addPoint(tr1.getDx(), tr1.getDy()); snake.addPoint(Diamond.diamondHalfSize, tr1.getDy()); ug.draw(snake); } public Ftile getFtile1() { return ftileBreak; } public Ftile getFtile2() { return null; } }); } return result; } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileForkInner.java���������������������������������������������������������������������������������0000664�0000000�0000000�00000007336�13400053436�0033660�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; import net.sourceforge.plantuml.Dimension2DDouble; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; class FtileForkInner extends AbstractFtile { private final List forks = new ArrayList(); public FtileForkInner(List forks) { super(forks.get(0).skinParam()); for (Ftile ftile : forks) { this.forks.add(ftile); } } public Swimlane getSwimlaneIn() { return forks.get(0).getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return getSwimlaneIn(); } public Set getSwimlanes() { return mergeSwimlanes(forks); } public static Set mergeSwimlanes(List tiles) { final Set result = new HashSet(); for (Ftile tile : tiles) { result.addAll(tile.getSwimlanes()); } return Collections.unmodifiableSet(result); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); double xpos = 0; for (Ftile ftile : forks) { ug.apply(new UTranslate(xpos, 0)).draw(ftile); final Dimension2D dim = ftile.calculateDimension(stringBounder); xpos += dim.getWidth(); } } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { double height = 0; double width = 0; for (Ftile ftile : forks) { final Dimension2D dim = ftile.calculateDimension(stringBounder); width += dim.getWidth(); if (dim.getHeight() > height) { height = dim.getHeight(); } } final Dimension2D dimTotal = new Dimension2DDouble(width, height); return new FtileGeometry(dimTotal, dimTotal.getWidth() / 2, 0, dimTotal.getHeight()); } public UTranslate getTranslateFor(Ftile searched, StringBounder stringBounder) { double xpos = 0; for (Ftile ftile : forks) { if (ftile == searched) { return new UTranslate(xpos, 0); } final Dimension2D dim = ftile.calculateDimension(stringBounder); xpos += dim.getWidth(); } throw new IllegalArgumentException(); } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileForkInnerOverlapped.java�����������������������������������������������������������������������0000664�0000000�0000000�00000007474�13400053436�0035705�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; import net.sourceforge.plantuml.Dimension2DDouble; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; class FtileForkInnerOverlapped extends AbstractFtile { private final List forks = new ArrayList(); public FtileForkInnerOverlapped(List forks) { super(forks.get(0).skinParam()); for (Ftile ftile : forks) { this.forks.add(ftile); } } public Swimlane getSwimlaneIn() { return forks.get(0).getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return getSwimlaneIn(); } public Set getSwimlanes() { return mergeSwimlanes(forks); } public static Set mergeSwimlanes(List tiles) { final Set result = new HashSet(); for (Ftile tile : tiles) { result.addAll(tile.getSwimlanes()); } return Collections.unmodifiableSet(result); } public void drawU(UGraphic ug) { // final StringBounder stringBounder = ug.getStringBounder(); final double xpos = 0; for (Ftile ftile : forks) { ug.apply(new UTranslate(xpos, 0)).draw(ftile); // final Dimension2D dim = ftile.calculateDimension(stringBounder); // xpos += dim.getWidth(); } } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { double height = 0; double width = 0; for (Ftile ftile : forks) { final Dimension2D dim = ftile.calculateDimension(stringBounder); // width += dim.getWidth(); width = Math.max(width, dim.getWidth()); if (dim.getHeight() > height) { height = dim.getHeight(); } } final Dimension2D dimTotal = new Dimension2DDouble(width, height); return new FtileGeometry(dimTotal, dimTotal.getWidth() / 2, 0, dimTotal.getHeight()); } public UTranslate getTranslateFor(Ftile searched, StringBounder stringBounder) { final double xpos = 0; for (Ftile ftile : forks) { if (ftile == searched) { return new UTranslate(xpos, 0); } // final Dimension2D dim = ftile.calculateDimension(stringBounder); // xpos += dim.getWidth(); } throw new IllegalArgumentException(); } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileGroup.java��0000664�0000000�0000000�00000020773�13400053436�0033136�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import java.util.Set; import net.sourceforge.plantuml.AlignmentParam; import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.LineParam; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.HtmlColorUtils; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.SymbolContext; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.TextBlockUtils; import net.sourceforge.plantuml.graphic.UGraphicInterceptorUDrawable; import net.sourceforge.plantuml.graphic.USymbol; import net.sourceforge.plantuml.svek.UGraphicForSnake; import net.sourceforge.plantuml.ugraphic.LimitFinder; import net.sourceforge.plantuml.ugraphic.MinMax; import net.sourceforge.plantuml.ugraphic.UFont; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UStroke; import net.sourceforge.plantuml.ugraphic.UTranslate; import net.sourceforge.plantuml.utils.MathUtils; public class FtileGroup extends AbstractFtile { private final double diffYY2 = 20; private final Ftile inner; private final TextBlock name; private final TextBlock headerNote; private final HtmlColor borderColor; private final HtmlColor backColor; private final UStroke stroke; private final USymbol type; private final double roundCorner; public FtileGroup(Ftile inner, Display title, Display displayNote, HtmlColor arrowColor, HtmlColor backColor, HtmlColor titleColor, ISkinParam skinParam, HtmlColor borderColor, USymbol type, double roundCorner) { super(inner.skinParam()); this.roundCorner = roundCorner; this.type = type; this.backColor = backColor == null ? HtmlColorUtils.WHITE : backColor; this.inner = FtileUtils.addHorizontalMargin(inner, 10); this.borderColor = borderColor == null ? HtmlColorUtils.BLACK : borderColor; final UFont font = skinParam.getFont(null, false, FontParam.PARTITION); final HtmlColor fontColor = skinParam.getFontHtmlColor(null, FontParam.PARTITION); final FontConfiguration fc = new FontConfiguration(font, fontColor, skinParam.getHyperlinkColor(), skinParam.useUnderlineForHyperlink(), skinParam.getTabSize()); if (title == null) { this.name = TextBlockUtils.empty(0, 0); } else { this.name = title.create(fc, HorizontalAlignment.LEFT, skinParam); } if (Display.isNull(displayNote)) { this.headerNote = TextBlockUtils.empty(0, 0); } else { this.headerNote = new FloatingNote(displayNote, skinParam); } final UStroke thickness = skinParam.getThickness(LineParam.partitionBorder, null); this.stroke = thickness == null ? new UStroke(2) : thickness; } @Override public LinkRendering getInLinkRendering() { return inner.getInLinkRendering(); } public Set getSwimlanes() { return inner.getSwimlanes(); } public Swimlane getSwimlaneIn() { return inner.getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return inner.getSwimlaneOut(); } private double diffHeightTitle(StringBounder stringBounder) { final Dimension2D dimTitle = name.calculateDimension(stringBounder); return Math.max(25, dimTitle.getHeight() + 20); } private UTranslate getTranslate(StringBounder stringBounder) { final double suppWidth = suppWidth(stringBounder); return new UTranslate(suppWidth / 2, diffHeightTitle(stringBounder) + headerNoteHeight(stringBounder)); } private MinMax getInnerMinMax(StringBounder stringBounder) { final LimitFinder limitFinder = new LimitFinder(stringBounder, false); final UGraphicForSnake interceptor = new UGraphicForSnake(limitFinder); final UGraphicInterceptorUDrawable interceptor2 = new UGraphicInterceptorUDrawable(interceptor); inner.drawU(interceptor2); interceptor2.flushUg(); return limitFinder.getMinMax(); } public double suppWidth(StringBounder stringBounder) { final FtileGeometry orig = getInnerDimension(stringBounder); final Dimension2D dimTitle = name.calculateDimension(stringBounder); final Dimension2D dimHeaderNote = headerNote.calculateDimension(stringBounder); final double suppWidth = MathUtils .max(orig.getWidth(), dimTitle.getWidth() + 20, dimHeaderNote.getWidth() + 20) - orig.getWidth(); return suppWidth; } private FtileGeometry cachedInnerDimension; private FtileGeometry getInnerDimension(StringBounder stringBounder) { if (cachedInnerDimension == null) { cachedInnerDimension = getInnerDimensionSlow(stringBounder); } return cachedInnerDimension; } private FtileGeometry getInnerDimensionSlow(StringBounder stringBounder) { final FtileGeometry orig = inner.calculateDimension(stringBounder); final MinMax minMax = getInnerMinMax(stringBounder); final double missingWidth = minMax.getMaxX() - orig.getWidth(); if (missingWidth > 0) { return orig.addDim(missingWidth + 5, 0); } return orig; } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { final FtileGeometry orig = getInnerDimension(stringBounder); final double suppWidth = suppWidth(stringBounder); final double width = orig.getWidth() + suppWidth; final double height = orig.getHeight() + diffHeightTitle(stringBounder) + diffYY2 + headerNoteHeight(stringBounder); final double titleAndHeaderNoteHeight = diffHeightTitle(stringBounder) + headerNoteHeight(stringBounder); if (orig.hasPointOut()) { return new FtileGeometry(width, height, orig.getLeft() + suppWidth / 2, orig.getInY() + titleAndHeaderNoteHeight, orig.getOutY() + titleAndHeaderNoteHeight); } return new FtileGeometry(width, height, orig.getLeft() + suppWidth / 2, orig.getInY() + titleAndHeaderNoteHeight); } private double headerNoteHeight(StringBounder stringBounder) { return headerNote.calculateDimension(stringBounder).getHeight(); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Dimension2D dimTotal = calculateDimension(stringBounder); // final double roundCorner = type.getSkinParameter().getRoundCorner(skinParam(), null); final SymbolContext symbolContext = new SymbolContext(backColor, borderColor) .withShadow(skinParam().shadowing(null)).withStroke(stroke).withCorner(roundCorner, 0); type.asBig(name, inner.skinParam().getHorizontalAlignment(AlignmentParam.packageTitleAlignment, null, false), TextBlockUtils.empty(0, 0), dimTotal.getWidth(), dimTotal.getHeight(), symbolContext).drawU(ug); final Dimension2D dimHeaderNote = headerNote.calculateDimension(stringBounder); headerNote.drawU(ug.apply(new UTranslate(dimTotal.getWidth() - dimHeaderNote.getWidth() - 10, diffHeightTitle(ug.getStringBounder()) - 10))); ug.apply(getTranslate(stringBounder)).draw(inner); } } �����FtileIfAndStop.java���������������������������������������������������������������������������������0000664�0000000�0000000�00000031406�13400053436�0033605�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import java.awt.geom.Point2D; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.LineBreakStrategy; import net.sourceforge.plantuml.activitydiagram3.Branch; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractConnection; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Arrows; import net.sourceforge.plantuml.activitydiagram3.ftile.Connection; import net.sourceforge.plantuml.activitydiagram3.ftile.Diamond; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; import net.sourceforge.plantuml.activitydiagram3.ftile.Snake; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamond; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamondInside; import net.sourceforge.plantuml.creole.CreoleMode; import net.sourceforge.plantuml.creole.CreoleParser; import net.sourceforge.plantuml.creole.Sheet; import net.sourceforge.plantuml.creole.SheetBlock1; import net.sourceforge.plantuml.creole.SheetBlock2; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.svek.ConditionStyle; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; class FtileIfAndStop extends AbstractFtile { private final Ftile tile1; private final Ftile diamond1; private final Ftile stop2; private final Rainbow arrowColor; private FtileIfAndStop(Ftile diamond1, Ftile tile1, Rainbow arrowColor, Ftile stopFtile) { super(tile1.skinParam()); this.diamond1 = diamond1; this.tile1 = tile1; this.stop2 = stopFtile; this.arrowColor = arrowColor; } public Set getSwimlanes() { final Set result = new HashSet(); if (getSwimlaneIn() != null) { result.add(getSwimlaneIn()); } result.addAll(tile1.getSwimlanes()); return Collections.unmodifiableSet(result); } public Swimlane getSwimlaneIn() { return diamond1.getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return getSwimlaneIn(); } static Ftile create(Swimlane swimlane, HtmlColor borderColor, HtmlColor backColor, Rainbow arrowColor, FtileFactory ftileFactory, ConditionStyle conditionStyle, Branch nonStop, ISkinParam skinParam, StringBounder stringBounder, Display labelTest) { // backColor = HtmlColorUtils.BLUE; // final Ftile tileNonStop = new FtileMinWidth(nonStop.getFtile(), 30); final Ftile tileNonStop = nonStop.getFtile(); final FontConfiguration fcTest = new FontConfiguration(skinParam, FontParam.ACTIVITY_DIAMOND, null); final Ftile stopFtile = ftileFactory.stop(swimlane); // final TextBlock tb1 = Display.create(branch1.getLabelPositive(), fcArrow, HorizontalAlignment.LEFT, // ftileFactory); // final TextBlock tb2 = Display.create(branch2.getLabelPositive(), fcArrow, HorizontalAlignment.LEFT, // ftileFactory); final Sheet sheet = new CreoleParser(fcTest, skinParam.getDefaultTextAlignment(HorizontalAlignment.LEFT), skinParam, CreoleMode.FULL).createSheet(labelTest); final SheetBlock1 sheetBlock1 = new SheetBlock1(sheet, LineBreakStrategy.NONE, skinParam.getPadding()); final TextBlock tbTest = new SheetBlock2(sheetBlock1, Diamond.asStencil(sheetBlock1), tileNonStop.getThickness()); final Ftile diamond1; if (conditionStyle == ConditionStyle.INSIDE) { diamond1 = new FtileDiamondInside(tileNonStop.skinParam(), backColor, borderColor, swimlane, tbTest); // .withWest(tb1).withEast(tb2); } else if (conditionStyle == ConditionStyle.DIAMOND) { diamond1 = new FtileDiamond(tileNonStop.skinParam(), backColor, borderColor, swimlane).withNorth(tbTest); // .withWest(tb1).withEast(tb2).withNorth(tbTest); } else { throw new IllegalStateException(); } // final Ftile diamond2; // if (tile1.calculateDimension(stringBounder).hasPointOut() // && tile2.calculateDimension(stringBounder).hasPointOut()) { // diamond2 = new FtileDiamond(tile1.shadowing(), backColor, borderColor, swimlane); // } else { // diamond2 = new FtileEmpty(tile1.shadowing(), Diamond.diamondHalfSize * 2, Diamond.diamondHalfSize * 2, // swimlane, swimlane); // } final FtileIfAndStop result = new FtileIfAndStop(diamond1, tileNonStop, arrowColor, stopFtile); final List conns = new ArrayList(); conns.add(result.new ConnectionHorizontal(arrowColor)); // conns.add(result.new ConnectionHorizontalThenVertical(tile2)); // if (tile1.calculateDimension(stringBounder).hasPointOut() // && tile2.calculateDimension(stringBounder).hasPointOut()) { // conns.add(result.new ConnectionVerticalThenHorizontal(tile1, branch1.getInlinkRenderingColor())); // conns.add(result.new ConnectionVerticalThenHorizontal(tile2, branch2.getInlinkRenderingColor())); // } else if (tile1.calculateDimension(stringBounder).hasPointOut() // && tile2.calculateDimension(stringBounder).hasPointOut() == false) { // conns.add(result.new ConnectionVerticalThenHorizontalDirect(tile1, branch1.getInlinkRenderingColor())); // } else if (tile1.calculateDimension(stringBounder).hasPointOut() == false // && tile2.calculateDimension(stringBounder).hasPointOut()) { // conns.add(result.new ConnectionVerticalThenHorizontalDirect(tile2, branch2.getInlinkRenderingColor())); // } return FtileUtils.addConnection(result, conns); // return result; } private UTranslate getTranslate1(StringBounder stringBounder) { // final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); final FtileGeometry dimTotal = calculateDimension(stringBounder); final FtileGeometry dimDiamond1 = diamond1.calculateDimension(stringBounder); final FtileGeometry dim1 = tile1.calculateDimension(stringBounder); final double x1 = calculateDimension(stringBounder).getLeft() - dim1.getLeft(); // final double y1 = (dimTotal.getHeight() - 2 * h - dim1.getHeight()) / 2 + h; final double y1 = dimDiamond1.getHeight() + getSuppHeight(); return new UTranslate(x1, y1); } private int getSuppHeight() { return 30; } private UTranslate getTranslateDiamond1(StringBounder stringBounder) { final double y1 = 0; final Dimension2D dimDiamond1 = diamond1.calculateDimension(stringBounder); // final double x1 = getLeft(stringBounder) - dimDiamond1.getWidth() / 2; final double x1 = calculateDimension(stringBounder).getLeft() - dimDiamond1.getWidth() / 2; return new UTranslate(x1, y1); } private UTranslate getTranslateStop(StringBounder stringBounder) { final Dimension2D dimDiamond1 = diamond1.calculateDimension(stringBounder); final Dimension2D dimStop = stop2.calculateDimension(stringBounder); final double y1 = (dimDiamond1.getHeight() - dimStop.getHeight()) / 2; final double x1 = calculateDimension(stringBounder).getLeft() + dimDiamond1.getWidth() / 2 + getDiamondStopDistance(); return new UTranslate(x1, y1); } private double getDiamondStopDistance() { return 40; } class ConnectionHorizontal extends AbstractConnection { private final Rainbow color; public ConnectionHorizontal(Rainbow color) { super(diamond1, stop2); this.color = color; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Point2D p1 = getP1(stringBounder); final Point2D p2 = getP2(stringBounder); final Snake snake = new Snake(arrowHorizontalAlignment(), color, Arrows.asToRight()); snake.addPoint(p1); snake.addPoint(p2); ug.draw(snake); } private Point2D getP1(StringBounder stringBounder) { final Dimension2D dimDiamond1 = getFtile1().calculateDimension(stringBounder); final Point2D p = new Point2D.Double(dimDiamond1.getWidth(), dimDiamond1.getHeight() / 2); return getTranslateDiamond1(stringBounder).getTranslated(p); } private Point2D getP2(StringBounder stringBounder) { final Dimension2D dimStop = getFtile2().calculateDimension(stringBounder); final Point2D p = new Point2D.Double(0, dimStop.getHeight() / 2); return getTranslateStop(stringBounder).getTranslated(p); } } @Override public UTranslate getTranslateFor(Ftile child, StringBounder stringBounder) { if (child == diamond1) { return getTranslateDiamond1(stringBounder); } if (child == tile1) { return getTranslate1(stringBounder); } // if (child == tile2) { // return getTranslate2(stringBounder); // } // if (child == diamond2) { // return getTranslateDiamond2(stringBounder); // } throw new UnsupportedOperationException(); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); ug.apply(getTranslateDiamond1(stringBounder)).draw(diamond1); ug.apply(getTranslate1(stringBounder)).draw(tile1); ug.apply(getTranslateStop(stringBounder)).draw(stop2); } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { final Dimension2D dimStop2 = stop2.calculateDimension(stringBounder); final FtileGeometry dim1 = tile1.calculateDimension(stringBounder).addDim(0, getDiamondStopDistance() + dimStop2.getWidth()); final FtileGeometry dimDiamond1 = diamond1.calculateDimension(stringBounder); return dimDiamond1.appendBottom(dim1).addDim(0, getSuppHeight()); // final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); // if (tile1.calculateDimension(stringBounder).hasPointOut()) { // return new FtileGeometry(dimTotal, getLeft(stringBounder), 0, dimTotal.getHeight()); // } // return new FtileGeometry(dimTotal, getLeft(stringBounder), 0); } // private Dimension2D calculateDimensionInternal; // // private Dimension2D calculateDimensionInternal(StringBounder stringBounder) { // if (calculateDimensionInternal == null) { // calculateDimensionInternal = calculateDimensionInternalSlow(stringBounder); // } // return calculateDimensionInternal; // } // // private Dimension2D calculateDimensionInternalSlow(StringBounder stringBounder) { // final Dimension2D dim1 = tile1.calculateDimension(stringBounder); // final Dimension2D dimDiamond1 = diamond1.calculateDimension(stringBounder); // final Dimension2D dimStop2 = stop2.calculateDimension(stringBounder); // final double width = Math.max(dim1.getWidth(), // dimDiamond1.getWidth() + getDiamondStopDistance() + dimStop2.getWidth()); // return new Dimension2DDouble(width + 30, dim1.getHeight() + dimDiamond1.getHeight() + 40); // } // // private double getLeft(StringBounder stringBounder) { // // return calculateDimension(stringBounder).getLeft(); // return tile1.calculateDimension(stringBounder).translate(getTranslate1(stringBounder)).getLeft(); // // final double left1 = // tile1.calculateDimension(stringBounder).translate(getTranslate1(stringBounder)).getLeft(); // // // final double left2 = // // // tile2.calculateDimension(stringBounder).translate(getTranslate2(stringBounder)).getLeft(); // // // return (left1 + left2) / 2; // // return left1; // } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileIfDown.java�0000664�0000000�0000000�00000040035�13400053436�0033221�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import java.awt.geom.Point2D; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Set; import net.sourceforge.plantuml.Direction; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractConnection; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Arrows; import net.sourceforge.plantuml.activitydiagram3.ftile.Connection; import net.sourceforge.plantuml.activitydiagram3.ftile.ConnectionTranslatable; import net.sourceforge.plantuml.activitydiagram3.ftile.Diamond; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileEmpty; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; import net.sourceforge.plantuml.activitydiagram3.ftile.Snake; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamond; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamondInside; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UEmpty; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileIfDown extends AbstractFtile { private final Ftile thenBlock; private final Ftile diamond1; private final Ftile diamond2; private final Ftile optionalStop; @Override public Collection getMyChildren() { if (optionalStop == null) { return Arrays.asList(thenBlock, diamond1, diamond2); } return Arrays.asList(thenBlock, diamond1, diamond2, optionalStop); } public Set getSwimlanes() { final Set result = new HashSet(thenBlock.getSwimlanes()); result.add(getSwimlaneIn()); return result; } public Swimlane getSwimlaneIn() { return diamond1.getSwimlaneIn(); } public Swimlane getSwimlaneOut() { if (optionalStop == null) { return getSwimlaneIn(); } return thenBlock.getSwimlaneOut(); } private FtileIfDown(Ftile thenBlock, Ftile diamond1, Ftile diamond2, Ftile optionalStop) { super(thenBlock.skinParam()); this.thenBlock = thenBlock; this.diamond1 = diamond1; this.diamond2 = diamond2; this.optionalStop = optionalStop; } public static Ftile create(Ftile diamond1, Ftile diamond2, Swimlane swimlane, Ftile thenBlock, Rainbow arrowColor, FtileFactory ftileFactory, Ftile optionalStop, Rainbow elseColor) { elseColor = elseColor.withDefault(arrowColor); final FtileIfDown result = new FtileIfDown(thenBlock, diamond1, optionalStop == null ? diamond2 : new FtileEmpty(ftileFactory.skinParam()), optionalStop); final List conns = new ArrayList(); conns.add(result.new ConnectionIn(thenBlock.getInLinkRendering().getRainbow(arrowColor))); final boolean hasPointOut1 = thenBlock.calculateDimension(ftileFactory.getStringBounder()).hasPointOut(); if (optionalStop == null) { if (hasPointOut1) { conns.add(result.new ConnectionElse(elseColor)); } else { conns.add(result.new ConnectionElseNoDiamond(elseColor)); } } else { conns.add(result.new ConnectionHorizontal(elseColor)); } conns.add(result.new ConnectionOut(thenBlock.getOutLinkRendering().getRainbow(arrowColor))); return FtileUtils.addConnection(result, conns); } class ConnectionHorizontal extends AbstractConnection { private final Rainbow color; public ConnectionHorizontal(Rainbow color) { super(diamond1, optionalStop); this.color = color; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Point2D p1 = getP1(stringBounder); final Point2D p2 = getP2(stringBounder); // p2 = new Point2D.Double(p2.getX(), p1.getY()); final Snake snake = new Snake(arrowHorizontalAlignment(), color, Arrows.asToRight()); snake.addPoint(p1); snake.addPoint(p2); ug.draw(snake); } private Point2D getP1(StringBounder stringBounder) { final FtileGeometry dimDiamond1 = getFtile1().calculateDimension(stringBounder); final Point2D p = new Point2D.Double(dimDiamond1.getWidth(), (dimDiamond1.getInY() + dimDiamond1.getOutY()) / 2); return getTranslateDiamond1(stringBounder).getTranslated(p); } private Point2D getP2(StringBounder stringBounder) { final Dimension2D dimStop = getFtile2().calculateDimension(stringBounder); final Point2D p = new Point2D.Double(0, dimStop.getHeight() / 2); return getTranslateOptionalStop(stringBounder).getTranslated(p); } } class ConnectionIn extends AbstractConnection implements ConnectionTranslatable { private final Rainbow arrowColor; public ConnectionIn(Rainbow arrowColor) { super(diamond1, thenBlock); this.arrowColor = arrowColor; } private Point2D getP1(final StringBounder stringBounder) { return getTranslateDiamond1(stringBounder).getTranslated( getFtile1().calculateDimension(stringBounder).getPointOut()); } private Point2D getP2(final StringBounder stringBounder) { return getTranslateForThen(stringBounder).getTranslated( getFtile2().calculateDimension(stringBounder).getPointIn()); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); snake.addPoint(getP1(stringBounder)); snake.addPoint(getP2(stringBounder)); ug.draw(snake); } public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2) { final StringBounder stringBounder = ug.getStringBounder(); final Point2D p1 = getP1(stringBounder); final Point2D p2 = getP2(stringBounder); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); final Point2D mp1a = translate1.getTranslated(p1); final Point2D mp2b = translate2.getTranslated(p2); final double middle = (mp1a.getY() + mp2b.getY()) / 2.0; snake.addPoint(mp1a); snake.addPoint(mp1a.getX(), middle); snake.addPoint(mp2b.getX(), middle); snake.addPoint(mp2b); ug.draw(snake); } } class ConnectionOut extends AbstractConnection implements ConnectionTranslatable { private final Rainbow arrowColor; public ConnectionOut(Rainbow arrowColor) { super(thenBlock, diamond2); this.arrowColor = arrowColor; } private Point2D getP1(final StringBounder stringBounder) { return getTranslateForThen(stringBounder).getTranslated( getFtile1().calculateDimension(stringBounder).getPointOut()); } private Point2D getP2(final StringBounder stringBounder) { return getTranslateDiamond2(stringBounder).getTranslated( getFtile2().calculateDimension(stringBounder).getPointIn()); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); if (getFtile1().calculateDimension(ug.getStringBounder()).hasPointOut() == false) { return; } final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); snake.addPoint(getP1(stringBounder)); snake.addPoint(getP2(stringBounder)); ug.draw(snake); } public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2) { if (getFtile1().calculateDimension(ug.getStringBounder()).hasPointOut() == false) { return; } final StringBounder stringBounder = ug.getStringBounder(); final Point2D p1 = getP1(stringBounder); final Point2D p2 = getP2(stringBounder); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); final Point2D mp1a = translate1.getTranslated(p1); final Point2D mp2b = translate2.getTranslated(p2); final double middle = (mp1a.getY() + mp2b.getY()) / 2.0; snake.addPoint(mp1a); snake.addPoint(mp1a.getX(), middle); snake.addPoint(mp2b.getX(), middle); snake.addPoint(mp2b); ug.draw(snake); } } class ConnectionElse extends AbstractConnection { private final Rainbow endInlinkColor; public ConnectionElse(Rainbow endInlinkColor) { super(diamond1, diamond2); this.endInlinkColor = endInlinkColor; } private Point2D getP1(StringBounder stringBounder) { final FtileGeometry dimDiamond1 = diamond1.calculateDimension(stringBounder); final double x = dimDiamond1.getWidth(); final double half = (dimDiamond1.getOutY() - dimDiamond1.getInY()) / 2; return getTranslateDiamond1(stringBounder) .getTranslated(new Point2D.Double(x, dimDiamond1.getInY() + half)); } protected Point2D getP2(final StringBounder stringBounder) { final FtileGeometry dimDiamond2 = diamond2.calculateDimension(stringBounder); final double x = dimDiamond2.getWidth(); final double half = (dimDiamond2.getOutY() - dimDiamond2.getInY()) / 2; return getTranslateDiamond2(stringBounder) .getTranslated(new Point2D.Double(x, dimDiamond2.getInY() + half)); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Snake snake = new Snake(arrowHorizontalAlignment(), endInlinkColor, Arrows.asToLeft()); final Point2D p1 = getP1(stringBounder); final Point2D p2 = getP2(stringBounder); final double x1 = p1.getX(); final double y1 = p1.getY(); final double x2 = p2.getX(); final double y2 = p2.getY(); snake.addPoint(x1, y1); final FtileGeometry thenGeom = thenBlock.calculateDimension(stringBounder); final double xmax = Math.max(x1 + Diamond.diamondHalfSize, getTranslateForThen(stringBounder).getDx() + thenGeom.getWidth()); snake.addPoint(xmax, y1); snake.addPoint(xmax, y2); snake.addPoint(x2, y2); snake.emphasizeDirection(Direction.DOWN); ug.apply(new UTranslate(x2, y2 - Diamond.diamondHalfSize)).draw(new UEmpty(5, Diamond.diamondHalfSize)); ug.draw(snake); } } class ConnectionElseNoDiamond extends ConnectionElse { public ConnectionElseNoDiamond(Rainbow endInlinkColor) { super(endInlinkColor); } @Override protected Point2D getP2(final StringBounder stringBounder) { return calculateDimension(stringBounder).getPointOut(); } } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); ug.apply(getTranslateForThen(stringBounder)).draw(thenBlock); ug.apply(getTranslateDiamond1(stringBounder)).draw(diamond1); if (optionalStop == null) { ug.apply(getTranslateDiamond2(stringBounder)).draw(diamond2); } else { ug.apply(getTranslateOptionalStop(stringBounder)).draw(optionalStop); } } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { final FtileGeometry geoDiamond1 = diamond1.calculateDimension(stringBounder); final FtileGeometry geoThen = thenBlock.calculateDimension(stringBounder); final FtileGeometry geoDiamond2 = diamond2.calculateDimension(stringBounder); final FtileGeometry geo = geoDiamond1.appendBottom(geoThen).appendBottom(geoDiamond2); final double height = geo.getHeight() + 3 * Diamond.diamondHalfSize + Math.max(Diamond.diamondHalfSize * 1, getSouthLabelHeight(stringBounder)); double width = geo.getWidth() + Diamond.diamondHalfSize; if (optionalStop != null) { width += optionalStop.calculateDimension(stringBounder).getWidth() + getAdditionalWidth(stringBounder); } return new FtileGeometry(width, height, geo.getLeft(), geoDiamond1.getInY(), height); } private double getAdditionalWidth(StringBounder stringBounder) { final FtileGeometry dimStop = optionalStop.calculateDimension(stringBounder); final double val1 = getEastLabelWidth(stringBounder); final double stopWidth = dimStop.getWidth(); return Math.max(stopWidth, val1 + stopWidth / 2); } private double getSouthLabelHeight(StringBounder stringBounder) { if (diamond1 instanceof FtileDiamondInside) { return ((FtileDiamondInside) diamond1).getSouthLabelHeight(stringBounder); } if (diamond1 instanceof FtileDiamond) { return ((FtileDiamond) diamond1).getSouthLabelHeight(stringBounder); } return 0; } private double getEastLabelWidth(StringBounder stringBounder) { if (diamond1 instanceof FtileDiamondInside) { return ((FtileDiamondInside) diamond1).getEastLabelWidth(stringBounder); } if (diamond1 instanceof FtileDiamond) { return ((FtileDiamond) diamond1).getEastLabelWidth(stringBounder); } return 0; } @Override public UTranslate getTranslateFor(Ftile child, StringBounder stringBounder) { if (child == thenBlock) { return getTranslateForThen(stringBounder); } if (child == diamond1) { return getTranslateDiamond1(stringBounder); } if (child == optionalStop) { return getTranslateOptionalStop(stringBounder); } if (child == diamond2) { return getTranslateDiamond2(stringBounder); } throw new UnsupportedOperationException(); } private UTranslate getTranslateForThen(StringBounder stringBounder) { final FtileGeometry dimDiamond1 = diamond1.calculateDimension(stringBounder); final FtileGeometry dimDiamond2 = diamond2.calculateDimension(stringBounder); final FtileGeometry dimTotal = calculateDimension(stringBounder); final FtileGeometry dimThen = thenBlock.calculateDimension(stringBounder); final double y = dimDiamond1.getHeight() + (dimTotal.getHeight() - dimDiamond1.getHeight() - dimDiamond2.getHeight() - dimThen.getHeight()) / 2; final double x = dimTotal.getLeft() - dimThen.getLeft(); return new UTranslate(x, y); } private UTranslate getTranslateDiamond1(StringBounder stringBounder) { final FtileGeometry dimTotal = calculateDimension(stringBounder); final FtileGeometry dimDiamond1 = diamond1.calculateDimension(stringBounder); final double y1 = 0; final double x1 = dimTotal.getLeft() - dimDiamond1.getLeft(); return new UTranslate(x1, y1); } private UTranslate getTranslateOptionalStop(StringBounder stringBounder) { final FtileGeometry dimTotal = calculateDimension(stringBounder); final FtileGeometry dimDiamond1 = diamond1.calculateDimension(stringBounder); final FtileGeometry dimStop = optionalStop.calculateDimension(stringBounder); final double labelNorth = dimDiamond1.getInY(); final double y1 = labelNorth + (dimDiamond1.getHeight() - labelNorth - dimStop.getHeight()) / 2; final double x1 = dimTotal.getLeft() - dimDiamond1.getLeft() + dimDiamond1.getWidth() + getAdditionalWidth(stringBounder); return new UTranslate(x1, y1); } private UTranslate getTranslateDiamond2(StringBounder stringBounder) { final FtileGeometry dimTotal = calculateDimension(stringBounder); final FtileGeometry dimDiamond2 = diamond2.calculateDimension(stringBounder); final double y2 = dimTotal.getHeight() - dimDiamond2.getHeight(); final double x2 = dimTotal.getLeft() - dimDiamond2.getLeft(); return new UTranslate(x2, y2); } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileIfLongHorizontal.java��������������������������������������������������������������������������0000664�0000000�0000000�00000051610�13400053436�0035205�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import java.awt.geom.Point2D; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; import net.sourceforge.plantuml.Dimension2DDouble; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.Branch; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractConnection; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Arrows; import net.sourceforge.plantuml.activitydiagram3.ftile.Connection; import net.sourceforge.plantuml.activitydiagram3.ftile.ConnectionTranslatable; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileAssemblySimple; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileMinWidth; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; import net.sourceforge.plantuml.activitydiagram3.ftile.MergeStrategy; import net.sourceforge.plantuml.activitydiagram3.ftile.Snake; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.cond.FtileIfWithLinks; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamondInside2; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.svek.ConditionStyle; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; class FtileIfLongHorizontal extends AbstractFtile { private final double xSeparation = 20; private final List tiles; private final Ftile tile2; private final List diamonds; private final List couples = new ArrayList(); private final Rainbow arrowColor; private FtileIfLongHorizontal(List diamonds, List inlabelSizes, List tiles, Ftile tile2, Rainbow arrowColor) { super(tiles.get(0).skinParam()); if (diamonds.size() != tiles.size()) { throw new IllegalArgumentException(); } for (int i = 0; i < diamonds.size(); i++) { final Ftile diamond = diamonds.get(i); final FtileAssemblySimple tmp = new FtileAssemblySimple(diamond, tiles.get(i)); couples.add(FtileUtils.addHorizontalMargin(tmp, inlabelSizes.get(i), 0)); } this.tile2 = tile2; this.diamonds = new ArrayList(diamonds); this.tiles = new ArrayList(tiles); this.arrowColor = arrowColor; } private static List alignDiamonds(List diamonds, StringBounder stringBounder) { double maxOutY = 0; for (Ftile diamond : diamonds) { maxOutY = Math.max(maxOutY, diamond.calculateDimension(stringBounder).getOutY()); } final List result = new ArrayList(); for (int i = 0; i < diamonds.size(); i++) { Ftile diamond = diamonds.get(i); final double missing = maxOutY - diamond.calculateDimension(stringBounder).getOutY(); assert missing >= 0; diamond = FtileUtils.addVerticalMargin(diamond, missing / 2, 20); result.add(diamond); } return result; } public Set getSwimlanes() { final Set result = new HashSet(); if (getSwimlaneIn() != null) { result.add(getSwimlaneIn()); } for (Ftile tile : couples) { result.addAll(tile.getSwimlanes()); } result.addAll(tile2.getSwimlanes()); return Collections.unmodifiableSet(result); } public Swimlane getSwimlaneIn() { return couples.get(0).getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return getSwimlaneIn(); } static Ftile create(Swimlane swimlane, HtmlColor borderColor, HtmlColor backColor, Rainbow arrowColor, FtileFactory ftileFactory, ConditionStyle conditionStyle, List thens, Branch branch2, FontConfiguration fcArrow, LinkRendering topInlinkRendering, LinkRendering afterEndwhile, FontConfiguration fcTest) { if (afterEndwhile == null) { throw new IllegalArgumentException(); } final List tiles = new ArrayList(); for (Branch branch : thens) { tiles.add(new FtileMinWidth(branch.getFtile(), 30)); } final Ftile tile2 = new FtileMinWidth(branch2.getFtile(), 30); List diamonds = new ArrayList(); List inlabelSizes = new ArrayList(); for (Branch branch : thens) { final TextBlock tb1 = branch.getLabelPositive().create(fcArrow, HorizontalAlignment.LEFT, ftileFactory.skinParam()); final TextBlock tbTest = branch.getLabelTest().create(fcTest, HorizontalAlignment.LEFT, ftileFactory.skinParam()); final HtmlColor diamondColor = branch.getColor() == null ? backColor : branch.getColor(); FtileDiamondInside2 diamond = new FtileDiamondInside2(branch.skinParam(), diamondColor, borderColor, swimlane, tbTest); TextBlock tbInlabel = null; if (Display.isNull(branch.getInlabel())) { inlabelSizes.add(0.0); } else { tbInlabel = branch.getInlabel().create(fcArrow, HorizontalAlignment.LEFT, ftileFactory.skinParam()); inlabelSizes.add(tbInlabel.calculateDimension(ftileFactory.getStringBounder()).getWidth()); diamond = diamond.withWest(tbInlabel); } diamond = diamond.withNorth(tb1); diamonds.add(diamond); } final TextBlock tb2 = branch2.getLabelPositive().create(fcArrow, HorizontalAlignment.LEFT, ftileFactory.skinParam()); final int last = diamonds.size() - 1; diamonds.set(last, ((FtileDiamondInside2) diamonds.get(last)).withEast(tb2)); diamonds = alignDiamonds(diamonds, ftileFactory.getStringBounder()); final FtileIfLongHorizontal result = new FtileIfLongHorizontal(diamonds, inlabelSizes, tiles, tile2, arrowColor); final List conns = new ArrayList(); for (int i = 0; i < thens.size(); i++) { final Ftile ftile = tiles.get(i); final Ftile diam = diamonds.get(i); final Rainbow rainbowIn = FtileIfWithLinks.getInColor(thens.get(i), arrowColor); final Branch branch = thens.get(i); final Rainbow rainbowOut = branch.getInlinkRenderingColorAndStyle(); TextBlock out2 = null; if (branch.getSpecial() != null) { out2 = branch.getSpecial().getDisplay() .create(fcTest, HorizontalAlignment.LEFT, ftileFactory.skinParam()); } conns.add(result.new ConnectionVerticalIn(diam, ftile, rainbowIn.size() == 0 ? arrowColor : rainbowIn)); conns.add(result.new ConnectionVerticalOut(ftile, rainbowOut.size() == 0 ? arrowColor : rainbowOut, out2)); } final Rainbow topInColor = topInlinkRendering.getRainbow(arrowColor); for (int i = 0; i < diamonds.size() - 1; i++) { final Ftile diam1 = diamonds.get(i); final Ftile diam2 = diamonds.get(i + 1); conns.add(result.new ConnectionHorizontal(diam1, diam2, arrowColor)); } conns.add(result.new ConnectionIn(topInColor)); TextBlock out2 = null; if (branch2.getSpecial() != null) { out2 = branch2.getSpecial().getDisplay().create(fcTest, HorizontalAlignment.LEFT, ftileFactory.skinParam()); } conns.add(result.new ConnectionLastElseIn(FtileIfWithLinks.getInColor(branch2, arrowColor))); conns.add(result.new ConnectionLastElseOut(arrowColor, out2)); final Rainbow horizontalOutColor = afterEndwhile.getRainbow(arrowColor); conns.add(result.new ConnectionHline(horizontalOutColor)); // conns.add(result.new ConnectionHline(HtmlColorUtils.BLUE)); return FtileUtils.addConnection(result, conns); } static private TextBlock getSpecial(Branch branch, FontConfiguration fcTest, ISkinParam skinParam) { if (branch.getSpecial() == null) { return null; } return branch.getSpecial().getDisplay().create(fcTest, HorizontalAlignment.LEFT, skinParam); } class ConnectionHorizontal extends AbstractConnection { private final Rainbow color; public ConnectionHorizontal(Ftile diam1, Ftile diam2, Rainbow color) { super(diam1, diam2); this.color = color; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Point2D p1 = getP1(stringBounder); final Point2D p2 = getP2(stringBounder); final Snake snake = new Snake(arrowHorizontalAlignment(), color, Arrows.asToRight()); snake.addPoint(p1); snake.addPoint(p2); ug.draw(snake); } private Point2D getP1(StringBounder stringBounder) { final FtileGeometry dimDiamond1 = getFtile1().calculateDimension(stringBounder); final Point2D p = new Point2D.Double(dimDiamond1.getLeft() * 2, getYdiamontOutToLeft(dimDiamond1, stringBounder)); return getTranslateDiamond1(getFtile1(), stringBounder).getTranslated(p); } private Point2D getP2(StringBounder stringBounder) { final FtileGeometry dimDiamond1 = getFtile2().calculateDimension(stringBounder); final Point2D p = new Point2D.Double(0, getYdiamontOutToLeft(dimDiamond1, stringBounder)); return getTranslateDiamond1(getFtile2(), stringBounder).getTranslated(p); } } static private double getYdiamontOutToLeft(FtileGeometry dimDiamond1, StringBounder stringBounder) { return (dimDiamond1.getInY() + dimDiamond1.getOutY()) / 2; } class ConnectionIn extends AbstractConnection { private final Rainbow arrowColor; public ConnectionIn(Rainbow arrowColor) { super(null, diamonds.get(0)); this.arrowColor = arrowColor; } public void drawU(UGraphic ug) { final UTranslate tr = getTranslateDiamond1(getFtile2(), ug.getStringBounder()); final Point2D p2 = tr.getTranslated(getFtile2().calculateDimension(ug.getStringBounder()).getPointIn()); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); final Point2D p1 = calculateDimensionInternal(ug.getStringBounder()).getPointIn(); snake.addPoint(p1); snake.addPoint(p2.getX(), p1.getY()); snake.addPoint(p2); ug.draw(snake); } } class ConnectionLastElseIn extends AbstractConnection { private final Rainbow arrowColor; public ConnectionLastElseIn(Rainbow arrowColor) { super(diamonds.get(diamonds.size() - 1), tile2); this.arrowColor = arrowColor; } public void drawU(UGraphic ug) { final Point2D p1 = getP1(ug.getStringBounder()); final UTranslate tr2 = getTranslate2(ug.getStringBounder()); final Point2D p2 = tr2.getTranslated(getFtile2().calculateDimension(ug.getStringBounder()).getPointIn()); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); snake.addPoint(p1); snake.addPoint(p2.getX(), p1.getY()); snake.addPoint(p2); ug.draw(snake); } private Point2D getP1(StringBounder stringBounder) { final FtileGeometry dimDiamond1 = getFtile1().calculateDimension(stringBounder); final Point2D p = new Point2D.Double(dimDiamond1.getLeft() * 2, getYdiamontOutToLeft(dimDiamond1, stringBounder)); return getTranslateDiamond1(getFtile1(), stringBounder).getTranslated(p); } } class ConnectionLastElseOut extends AbstractConnection { private final Rainbow arrowColor; private final TextBlock out2; public ConnectionLastElseOut(Rainbow arrowColor, TextBlock out2) { super(tile2, null); this.arrowColor = arrowColor; this.out2 = out2; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final UTranslate tr1 = getTranslate2(stringBounder); final FtileGeometry dim = getFtile1().calculateDimension(stringBounder); if (dim.hasPointOut() == false) { return; } final Point2D p1 = tr1.getTranslated(dim.getPointOut()); final double totalHeight = calculateDimensionInternal(stringBounder).getHeight(); final Point2D p2 = new Point2D.Double(p1.getX(), totalHeight); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); snake.setLabel(out2); snake.addPoint(p1); snake.addPoint(p2); ug.draw(snake); } } class ConnectionVerticalIn extends AbstractConnection implements ConnectionTranslatable { private final Rainbow color; public ConnectionVerticalIn(Ftile diamond, Ftile tile, Rainbow color) { super(diamond, tile); this.color = color; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Point2D p1 = getP1(stringBounder); final Point2D p2 = getP2(stringBounder); final Snake snake = new Snake(arrowHorizontalAlignment(), color, Arrows.asToDown()); snake.addPoint(p1); snake.addPoint(p2); ug.draw(snake); } private Point2D getP1(StringBounder stringBounder) { final Point2D p = getFtile1().calculateDimension(stringBounder).getPointOut(); return getTranslateDiamond1(getFtile1(), stringBounder).getTranslated(p); } private Point2D getP2(StringBounder stringBounder) { final Point2D p = getFtile2().calculateDimension(stringBounder).getPointIn(); return getTranslate1(getFtile2(), stringBounder).getTranslated(p); } public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2) { final Point2D p1 = getP1(ug.getStringBounder()); final Point2D p2 = getP2(ug.getStringBounder()); final Snake snake = new Snake(arrowHorizontalAlignment(), color, Arrows.asToDown()); final Point2D mp1a = translate1.getTranslated(p1); final Point2D mp2b = translate2.getTranslated(p2); final double middle = mp1a.getY() + 4; snake.addPoint(mp1a); snake.addPoint(mp1a.getX(), middle); snake.addPoint(mp2b.getX(), middle); snake.addPoint(mp2b); ug.draw(snake); } } class ConnectionVerticalOut extends AbstractConnection { private final Rainbow color; private final TextBlock out2; public ConnectionVerticalOut(Ftile tile, Rainbow color, TextBlock out2) { super(tile, null); this.color = color; this.out2 = out2; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final double totalHeight = calculateDimensionInternal(stringBounder).getHeight(); final Point2D p1 = getP1(stringBounder); if (p1 == null) { return; } final Point2D p2 = new Point2D.Double(p1.getX(), totalHeight); final Snake snake = new Snake(arrowHorizontalAlignment(), color, Arrows.asToDown()); snake.setLabel(out2); snake.addPoint(p1); snake.addPoint(p2); ug.draw(snake); } private Point2D getP1(StringBounder stringBounder) { final FtileGeometry geo = getFtile1().calculateDimension(stringBounder); if (geo.hasPointOut() == false) { return null; } final Point2D p = geo.getPointOut(); return getTranslate1(getFtile1(), stringBounder).getTranslated(p); } } class ConnectionHline extends AbstractConnection { private final Rainbow arrowColor; public ConnectionHline(Rainbow arrowColor) { super(null, null); this.arrowColor = arrowColor; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Dimension2D totalDim = calculateDimensionInternal(stringBounder); final Swimlane intoSw; if (ug instanceof UGraphicInterceptorOneSwimlane) { intoSw = ((UGraphicInterceptorOneSwimlane) ug).getSwimlane(); } else { intoSw = null; } final List all = new ArrayList(couples); all.add(tile2); double minX = totalDim.getWidth() / 2; double maxX = totalDim.getWidth() / 2; boolean atLeastOne = false; for (Ftile tmp : all) { if (tmp.calculateDimension(stringBounder).hasPointOut() == false) { continue; } if (intoSw != null && tmp.getSwimlanes().contains(intoSw) == false) { continue; } if (intoSw != null && tmp.getSwimlaneOut() != intoSw) { continue; } atLeastOne = true; final UTranslate ut = getTranslateFor(tmp, stringBounder); final double out = tmp.calculateDimension(stringBounder).translate(ut).getLeft(); minX = Math.min(minX, out); maxX = Math.max(maxX, out); } if (atLeastOne == false) { return; } final Snake s = new Snake(arrowHorizontalAlignment(), arrowColor); s.goUnmergeable(MergeStrategy.NONE); final double height = totalDim.getHeight(); s.addPoint(minX, height); s.addPoint(maxX, height); ug.draw(s); } } @Override public Collection getMyChildren() { final List result = new ArrayList(tiles); result.add(tile2); return Collections.unmodifiableList(result); } @Override public UTranslate getTranslateFor(Ftile child, StringBounder stringBounder) { if (child == tile2) { return getTranslate2(stringBounder); } if (couples.contains(child)) { return getTranslateCouple1(child, stringBounder); } if (tiles.contains(child)) { return getTranslate1(child, stringBounder); } throw new UnsupportedOperationException(); } private UTranslate getTranslate2(StringBounder stringBounder) { final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); final Dimension2D dim2 = tile2.calculateDimension(stringBounder); final double x2 = dimTotal.getWidth() - dim2.getWidth(); final double h = 0; // getAllDiamondsHeight(stringBounder); final double y2 = (dimTotal.getHeight() - h * 2 - dim2.getHeight()) / 2 + h; return new UTranslate(x2, y2); } private UTranslate getTranslateDiamond1(Ftile diamond, StringBounder stringBounder) { final int idx = diamonds.indexOf(diamond); if (idx == -1) { throw new IllegalArgumentException(); } final UTranslate trCouple = getTranslateCouple1(couples.get(idx), stringBounder); final UTranslate in = couples.get(idx).getTranslateFor(diamond, stringBounder); return trCouple.compose(in); } public UTranslate getTranslate1(Ftile tile, StringBounder stringBounder) { final int idx = tiles.indexOf(tile); if (idx == -1) { throw new IllegalArgumentException(); } final UTranslate trCouple = getTranslateCouple1(couples.get(idx), stringBounder); final UTranslate in = couples.get(idx).getTranslateFor(tile, stringBounder); return trCouple.compose(in); } private UTranslate getTranslateCouple1(Ftile candidat, StringBounder stringBounder) { double x1 = 0; for (Ftile couple : couples) { final FtileGeometry dim1 = couple.calculateDimension(stringBounder); if (couple == candidat) { return new UTranslate(x1, 25); } x1 += dim1.getWidth() + xSeparation; } throw new IllegalArgumentException(); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); for (Ftile couple : couples) { ug.apply(getTranslateCouple1(couple, stringBounder)).draw(couple); } ug.apply(getTranslate2(stringBounder)).draw(tile2); } private FtileGeometry calculateDimensionInternal(StringBounder stringBounder) { Dimension2D result = new Dimension2DDouble(0, 0); for (Ftile couple : couples) { result = Dimension2DDouble.mergeLR(result, couple.calculateDimension(stringBounder)); } final FtileGeometry dimTile2 = tile2.calculateDimension(stringBounder); result = Dimension2DDouble.mergeLR(result, dimTile2); result = Dimension2DDouble.delta(result, xSeparation * couples.size(), 100); return new FtileGeometry(result, result.getWidth() / 2, 0); } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); final List all = new ArrayList(tiles); all.add(tile2); for (Ftile tmp : all) { if (tmp.calculateDimension(stringBounder).hasPointOut()) { return new FtileGeometry(dimTotal, dimTotal.getWidth() / 2, 0, dimTotal.getHeight()); } } return new FtileGeometry(dimTotal, dimTotal.getWidth() / 2, 0); } } ������������������������������������������������������������������������������������������������������������������������FtileIfLongVertical.java����������������������������������������������������������������������������0000664�0000000�0000000�00000052425�13400053436�0034632�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import java.awt.geom.Point2D; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; import net.sourceforge.plantuml.activitydiagram3.Branch; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractConnection; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Arrows; import net.sourceforge.plantuml.activitydiagram3.ftile.Connection; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileMinWidth; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileOverpassing; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; import net.sourceforge.plantuml.activitydiagram3.ftile.Snake; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.cond.FtileIfWithLinks; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamond; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamondInside3; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.svek.ConditionStyle; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; class FtileIfLongVertical extends AbstractFtile { private final double ySeparation = 20; private final double marginy1 = 30; private final List tiles; private final Ftile tile2; private final List diamonds; private final Ftile lastDiamond; // private final List couples = new ArrayList(); private final Rainbow arrowColor; private FtileIfLongVertical(List diamonds, List tiles, Ftile tile2, Rainbow arrowColor, Ftile lastDiamond) { super(tiles.get(0).skinParam()); if (diamonds.size() != tiles.size()) { throw new IllegalArgumentException(); } this.lastDiamond = lastDiamond; // for (int i = 0; i < diamonds.size(); i++) { // couples.add(new FtileAssemblySimple(diamonds.get(i), tiles.get(i))); // } this.tile2 = tile2; this.diamonds = new ArrayList(diamonds); this.tiles = new ArrayList(tiles); this.arrowColor = arrowColor; } // private static List alignDiamonds(List diamonds, StringBounder stringBounder) { // double maxOutY = 0; // for (Ftile diamond : diamonds) { // maxOutY = Math.max(maxOutY, diamond.calculateDimension(stringBounder).getOutY()); // } // final List result = new ArrayList(); // for (int i = 0; i < diamonds.size(); i++) { // Ftile diamond = diamonds.get(i); // final double missing = maxOutY - diamond.calculateDimension(stringBounder).getOutY(); // assert missing >= 0; // diamond = FtileUtils.addVerticalMargin(diamond, missing / 2, 20); // result.add(diamond); // } // return result; // } public Set getSwimlanes() { final Set result = new HashSet(); if (getSwimlaneIn() != null) { result.add(getSwimlaneIn()); } for (Ftile tile : tiles) { result.addAll(tile.getSwimlanes()); } result.addAll(tile2.getSwimlanes()); return Collections.unmodifiableSet(result); } public Swimlane getSwimlaneIn() { return tiles.get(0).getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return getSwimlaneIn(); } static Ftile create(Swimlane swimlane, HtmlColor borderColor, HtmlColor backColor, Rainbow arrowColor, FtileFactory ftileFactory, ConditionStyle conditionStyle, List thens, Branch branch2, FontConfiguration fc, LinkRendering topInlinkRendering, LinkRendering afterEndwhile) { final List tiles = new ArrayList(); for (Branch branch : thens) { tiles.add(new FtileMinWidth(branch.getFtile(), 30)); } final Ftile tile2 = new FtileMinWidth(branch2.getFtile(), 30); List diamonds = new ArrayList(); for (Branch branch : thens) { final TextBlock tb1 = branch.getLabelPositive().create(fc, HorizontalAlignment.LEFT, ftileFactory.skinParam()); final TextBlock tbTest = branch.getLabelTest().create(fc, HorizontalAlignment.LEFT, ftileFactory.skinParam()); FtileDiamondInside3 diamond = new FtileDiamondInside3(branch.skinParam(), backColor, borderColor, swimlane, tbTest); diamond = diamond.withEast(tb1); diamonds.add(diamond); } final TextBlock tb2 = branch2.getLabelPositive().create(fc, HorizontalAlignment.LEFT, ftileFactory.skinParam()); final int last = diamonds.size() - 1; diamonds.set(last, ((FtileDiamondInside3) diamonds.get(last)).withSouth(tb2)); // diamonds = alignDiamonds(diamonds, ftileFactory.getStringBounder()); final Ftile lastDiamond = new FtileDiamond(tiles.get(0).skinParam(), backColor, borderColor, swimlane); final FtileIfLongVertical result = new FtileIfLongVertical(diamonds, tiles, tile2, arrowColor, lastDiamond); final List conns = new ArrayList(); for (int i = 0; i < thens.size(); i++) { final Ftile ftile = tiles.get(i); final Ftile diam = diamonds.get(i); final Rainbow color = FtileIfWithLinks.getInColor(thens.get(i), arrowColor); conns.add(result.new ConnectionVerticalIn(diam, ftile, color == null ? arrowColor : color)); // conns.add(result.new ConnectionVerticalOut(ftile, arrowColor)); } for (int i = 0; i < diamonds.size() - 1; i++) { conns.add(result.new ConnectionVertical(diamonds.get(i), diamonds.get(i + 1), arrowColor)); } conns.add(result.new ConnectionThenOut(tiles.get(0), arrowColor)); for (int i = 1; i < tiles.size(); i++) { conns.add(result.new ConnectionThenOutConnect(tiles.get(i), arrowColor)); } final Rainbow topInColor = topInlinkRendering.getRainbow(arrowColor); // for (int i = 0; i < diamonds.size() - 1; i++) { // final Ftile diam1 = diamonds.get(i); // final Ftile diam2 = diamonds.get(i + 1); // conns.add(result.new ConnectionHorizontal(diam1, diam2, topInColor)); // } conns.add(result.new ConnectionIn(topInColor)); // conns.add(result.new ConnectionLastElseIn(FtileIfWithLinks.getInColor(branch2, arrowColor))); // conns.add(result.new ConnectionLastElseOut(arrowColor)); // final HtmlColor horizontalOutColor = LinkRendering.getColor(afterEndwhile, arrowColor); // conns.add(result.new ConnectionHline(horizontalOutColor)); conns.add(result.new ConnectionLastElse(topInColor)); conns.add(result.new ConnectionLastElseOut(arrowColor)); return FtileUtils.addConnection(result, conns); } static private double getYdiamontOutToLeft(FtileGeometry dimDiamond1, StringBounder stringBounder) { return (dimDiamond1.getInY() + dimDiamond1.getOutY()) / 2; } class ConnectionIn extends AbstractConnection { private final Rainbow arrowColor; public ConnectionIn(Rainbow arrowColor) { super(null, diamonds.get(0)); this.arrowColor = arrowColor; } public void drawU(UGraphic ug) { final UTranslate tr = getTranslateDiamond(getFtile2(), ug.getStringBounder()); final Point2D p2 = tr.getTranslated(getFtile2().calculateDimension(ug.getStringBounder()).getPointIn()); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); final Point2D p1 = calculateDimensionInternal(ug.getStringBounder()).getPointIn(); snake.addPoint(p1); snake.addPoint(p1.getX(), (p1.getY() + p2.getY()) / 2); snake.addPoint(p2.getX(), (p1.getY() + p2.getY()) / 2); snake.addPoint(p2); ug.draw(snake); } } class ConnectionVerticalIn extends AbstractConnection { private final Rainbow color; public ConnectionVerticalIn(Ftile diamond, Ftile tile, Rainbow color) { super(diamond, tile); this.color = color; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Point2D p1 = getP1(stringBounder); final Point2D p2 = getP2(stringBounder); final Snake snake = new Snake(arrowHorizontalAlignment(), color, Arrows.asToDown()); snake.addPoint(p1); snake.addPoint(p2.getX(), p1.getY()); snake.addPoint(p2); ug.draw(snake); } private Point2D getP1(StringBounder stringBounder) { final Dimension2D dimDiamond1 = getFtile1().calculateDimension(stringBounder); final double diamondWidth = dimDiamond1.getWidth(); return getTranslateDiamond(getFtile1(), stringBounder).getTranslated( new Point2D.Double(diamondWidth, dimDiamond1.getHeight() / 2)); } private Point2D getP2(StringBounder stringBounder) { final Point2D p = getFtile2().calculateDimension(stringBounder).getPointIn(); return getTranslate1(getFtile2(), stringBounder).getTranslated(p); } } class ConnectionVertical extends AbstractConnection { private final Rainbow color; public ConnectionVertical(Ftile diamond1, Ftile diamond2, Rainbow color) { super(diamond1, diamond2); this.color = color; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Point2D p1 = getP1(stringBounder); final Point2D p2 = getP2(stringBounder); final Snake snake = new Snake(arrowHorizontalAlignment(), color, Arrows.asToDown()); snake.addPoint(p1); snake.addPoint(p2); ug.draw(snake); } private Point2D getP1(StringBounder stringBounder) { final Point2D p = getFtile1().calculateDimension(stringBounder).getPointOut(); return getTranslateFor(getFtile1(), stringBounder).getTranslated(p); } private Point2D getP2(StringBounder stringBounder) { final Point2D p = getFtile2().calculateDimension(stringBounder).getPointIn(); return getTranslateFor(getFtile2(), stringBounder).getTranslated(p); } } class ConnectionLastElse extends AbstractConnection { private final Rainbow arrowColor; public ConnectionLastElse(Rainbow arrowColor) { super(diamonds.get(diamonds.size() - 1), tile2); this.arrowColor = arrowColor; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final UTranslate tr1 = getTranslateDiamond(getFtile1(), stringBounder); final FtileGeometry dimDiamond = getFtile1().calculateDimension(stringBounder); final Point2D p1 = tr1.getTranslated(dimDiamond.getPointOut()); final Point2D p2 = getTranslate2(stringBounder).getTranslated( getFtile2().calculateDimension(stringBounder).getPointIn()); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); snake.addPoint(p1); snake.addPoint(p1.getX(), p2.getY() - 15); snake.addPoint(p2.getX(), p2.getY() - 15); snake.addPoint(p2); ug.draw(snake); } } class ConnectionLastElseOut extends AbstractConnection { private final Rainbow arrowColor; public ConnectionLastElseOut(Rainbow arrowColor) { super(tile2, lastDiamond); this.arrowColor = arrowColor; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final FtileGeometry dim1 = getFtile1().calculateDimension(stringBounder); if (dim1.hasPointOut() == false) { return; } final Point2D p1 = getTranslate2(stringBounder).getTranslated(dim1.getPointOut()); final Point2D p2 = getTranslateLastDiamond(stringBounder).getTranslated( getFtile2().calculateDimension(stringBounder).getPointIn()); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); snake.addPoint(p1); snake.addPoint(p1.getX(), p2.getY() - 15); snake.addPoint(p2.getX(), p2.getY() - 15); snake.addPoint(p2); ug.draw(snake); } } class ConnectionThenOut extends AbstractConnection { private final Rainbow arrowColor; public ConnectionThenOut(Ftile tile1, Rainbow arrowColor) { super(tile1, lastDiamond); this.arrowColor = arrowColor; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final FtileGeometry dim1 = getFtile1().calculateDimension(stringBounder); if (dim1.hasPointOut() == false) { return; } final Point2D p1 = getTranslate1(getFtile1(), stringBounder).getTranslated(dim1.getPointOut()); final FtileGeometry dimLastDiamond = getFtile2().calculateDimension(stringBounder); Point2D p2 = getTranslateLastDiamond(stringBounder).getTranslated( getFtile2().calculateDimension(stringBounder).getPointIn()); p2 = new UTranslate(dimLastDiamond.getWidth() / 2, dimLastDiamond.getHeight() / 2).getTranslated(p2); final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToLeft()); snake.addPoint(p1); snake.addPoint(p1.getX(), p1.getY() + 15); snake.addPoint(dimTotal.getWidth(), p1.getY() + 15); snake.addPoint(dimTotal.getWidth(), p2.getY()); snake.addPoint(p2); ug.draw(snake); } } class ConnectionThenOutConnect extends AbstractConnection { private final Rainbow arrowColor; public ConnectionThenOutConnect(Ftile tile1, Rainbow arrowColor) { super(tile1, lastDiamond); this.arrowColor = arrowColor; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final FtileGeometry dim1 = getFtile1().calculateDimension(stringBounder); if (dim1.hasPointOut() == false) { return; } final Point2D p1 = getTranslate1(getFtile1(), stringBounder).getTranslated(dim1.getPointOut()); final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); final Point2D p2 = new Point2D.Double(dimTotal.getWidth(), p1.getY() + 15); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToRight()); snake.addPoint(p1); snake.addPoint(p1.getX(), p2.getY()); snake.addPoint(p2); ug.draw(snake); } } @Override public UTranslate getTranslateFor(Ftile child, StringBounder stringBounder) { if (child == tile2) { return getTranslate2(stringBounder); } if (child == lastDiamond) { return getTranslateLastDiamond(stringBounder); } if (tiles.contains(child)) { return getTranslate1(child, stringBounder); } if (diamonds.contains(child)) { return getTranslateDiamond(child, stringBounder); } throw new UnsupportedOperationException(); } private UTranslate getTranslateDiamond(Ftile diamond, StringBounder stringBounder) { final double allDiamondsWidth = allDiamondsWidth(stringBounder); final int idx = diamonds.indexOf(diamond); if (idx == -1) { throw new IllegalArgumentException(); } final double y1 = getTranslateDy(idx, stringBounder); return new UTranslate((allDiamondsWidth - diamond.calculateDimension(stringBounder).getWidth()) / 2, y1); } private UTranslate getTranslateLastDiamond(StringBounder stringBounder) { final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); final FtileGeometry dimLast = lastDiamond.calculateDimension(stringBounder); final double x = (dimTotal.getWidth() - dimLast.getWidth()) / 2; return new UTranslate(x, dimTotal.getHeight() - dimLast.getHeight()); } private UTranslate getTranslate1(Ftile candidat, StringBounder stringBounder) { final int idx = tiles.indexOf(candidat); if (idx == -1) { throw new IllegalArgumentException(); } final double y1 = getTranslateDy(idx, stringBounder); final FtileGeometry diam = diamonds.get(idx).calculateDimension(stringBounder); final FtileGeometry dim1 = candidat.calculateDimension(stringBounder); final FtileGeometry dimTotal = calculateDimensionInternal(stringBounder); final double allDiamondsWidth = allDiamondsWidth(stringBounder); final double x = allDiamondsWidth + (dimTotal.getWidth() - allDiamondsWidth - dim1.getWidth()) / 2; return new UTranslate(x, y1 + diam.getHeight()); } private double getTranslateDy(int idx, StringBounder stringBounder) { double y1 = marginy1; for (int i = 0; i < idx; i++) { final FtileGeometry dim1 = tiles.get(i).calculateDimension(stringBounder); final FtileGeometry diam = diamonds.get(i).calculateDimension(stringBounder); y1 += dim1.getHeight() + diam.getHeight() + ySeparation; } return y1; } private UTranslate getTranslate2(StringBounder stringBounder) { final double y1 = getTranslateDy(tiles.size(), stringBounder); final FtileGeometry dim2 = tile2.calculateDimension(stringBounder); final FtileGeometry dimTotal = calculateDimensionInternal(stringBounder); final double x = (dimTotal.getWidth() - dim2.getWidth()) / 2; return new UTranslate(x, y1); // final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); // final Dimension2D dim2 = tile2.calculateDimension(stringBounder); // // final double x2 = dimTotal.getWidth() - dim2.getWidth(); // // final double h = 0; // getAllDiamondsHeight(stringBounder); // final double y2 = (dimTotal.getHeight() - h * 2 - dim2.getHeight()) / 2 + h; // // return new UTranslate(x2, y2); } // private UTranslate getTranslateCouple1(Ftile candidat, StringBounder stringBounder) { // double x1 = 0; // // for (Ftile couple : couples) { // final FtileGeometry dim1 = couple.calculateDimension(stringBounder); // if (couple == candidat) { // return new UTranslate(x1, 25); // } // x1 += dim1.getWidth() + xSeparation; // } // throw new IllegalArgumentException(); // // } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); for (Ftile tile1 : tiles) { ug.apply(getTranslate1(tile1, stringBounder)).draw(tile1); } for (Ftile diam : diamonds) { ug.apply(getTranslateDiamond(diam, stringBounder)).draw(diam); } ug.apply(getTranslate2(stringBounder)).draw(tile2); ug.apply(getTranslateLastDiamond(stringBounder)).draw(lastDiamond); } private FtileGeometry calculateDimensionInternal(StringBounder stringBounder) { // FtileGeometry result = new FtileGeometry(0, marginy1, 0, 0); double col1 = 0; double col1overpass = 0; double col2 = 0; double height = marginy1; for (int i = 0; i < tiles.size(); i++) { final FtileGeometry dim1 = tiles.get(i).calculateDimension(stringBounder); final FtileGeometry diamondOverpassing = ((FtileOverpassing) diamonds.get(i)) .getOverpassDimension(stringBounder); final FtileGeometry diamondDim = diamonds.get(i).calculateDimension(stringBounder); height += diamondDim.getHeight() + dim1.getHeight(); col1 = Math.max(col1, diamondDim.getWidth()); col1overpass = Math.max(col1overpass, diamondOverpassing.getWidth()); col2 = Math.max(col2, dim1.getWidth()); } final double width = Math.max(col1 + col2, col1overpass); FtileGeometry result = new FtileGeometry(width, height, width / 2, 0); final FtileGeometry dimTile2 = tile2.calculateDimension(stringBounder); result = result.appendBottom(dimTile2); final FtileGeometry dimLastDiamond = lastDiamond.calculateDimension(stringBounder); final double lastElseArrowHeight = 40; result = result.addDim(0, ySeparation * tiles.size() + lastElseArrowHeight + dimLastDiamond.getHeight()); return new FtileGeometry(result, result.getWidth() / 2, 0); } private double allDiamondsWidth(StringBounder stringBounder) { double width = 0; for (Ftile diam : diamonds) { width = Math.max(width, diam.calculateDimension(stringBounder).getWidth()); } return width; } private double allTile1Width(StringBounder stringBounder) { double width = 0; for (Ftile tile1 : tiles) { width = Math.max(width, tile1.calculateDimension(stringBounder).getWidth()); } return width; } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); final List all = new ArrayList(tiles); all.add(tile2); for (Ftile tmp : all) { if (tmp.calculateDimension(stringBounder).hasPointOut()) { return new FtileGeometry(dimTotal, dimTotal.getWidth() / 2, 0, dimTotal.getHeight()); } } return new FtileGeometry(dimTotal, dimTotal.getWidth() / 2, 0); } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileNoteAlone.java���������������������������������������������������������������������������������0000664�0000000�0000000�00000011517�13400053436�0033643�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import java.util.Collection; import java.util.Collections; import java.util.Set; import net.sourceforge.plantuml.ColorParam; import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.LineBreakStrategy; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.creole.CreoleMode; import net.sourceforge.plantuml.creole.CreoleParser; import net.sourceforge.plantuml.creole.Sheet; import net.sourceforge.plantuml.creole.SheetBlock1; import net.sourceforge.plantuml.creole.SheetBlock2; import net.sourceforge.plantuml.creole.Stencil; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.skin.rose.Rose; import net.sourceforge.plantuml.svek.image.Opale; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UStroke; public class FtileNoteAlone extends AbstractFtile implements Stencil { private final Opale opale; private final boolean withOutPoint; private final Swimlane swimlane; @Override public Collection getMyChildren() { return Collections.emptyList(); } public Set getSwimlanes() { if (swimlane == null) { return Collections.emptySet(); } return Collections.singleton(swimlane); } public Swimlane getSwimlaneIn() { return swimlane; } public Swimlane getSwimlaneOut() { return swimlane; } public FtileNoteAlone(boolean shadow, Display note, ISkinParam skinParam, boolean withOutPoint, Swimlane swimlane) { super(skinParam); this.swimlane = swimlane; this.withOutPoint = withOutPoint; final Rose rose = new Rose(); final HtmlColor noteBackgroundColor = rose.getHtmlColor(skinParam, ColorParam.noteBackground); final HtmlColor borderColor = rose.getHtmlColor(skinParam, ColorParam.noteBorder); final FontConfiguration fc = new FontConfiguration(skinParam, FontParam.NOTE, null); final Sheet sheet = new CreoleParser(fc, skinParam.getDefaultTextAlignment(HorizontalAlignment.LEFT), skinParam, CreoleMode.FULL).createSheet(note); final TextBlock text = new SheetBlock2(new SheetBlock1(sheet, LineBreakStrategy.NONE, skinParam.getPadding()), this, new UStroke(1)); opale = new Opale(borderColor, noteBackgroundColor, text, skinParam.shadowing(null), false); } public void drawU(UGraphic ug) { opale.drawU(ug); } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); if (withOutPoint) { return new FtileGeometry(dimTotal, dimTotal.getWidth() / 2, 0, dimTotal.getHeight()); } return new FtileGeometry(dimTotal, dimTotal.getWidth() / 2, 0); } private Dimension2D calculateDimensionInternal(StringBounder stringBounder) { return opale.calculateDimension(stringBounder); } public double getStartingX(StringBounder stringBounder, double y) { return -opale.getMarginX1(); } public double getEndingX(StringBounder stringBounder, double y) { return opale.calculateDimension(stringBounder).getWidth() - opale.getMarginX1(); } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileRepeat.java�0000664�0000000�0000000�00000054560�13400053436�0033263�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import java.awt.geom.Point2D; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; import java.util.Set; import net.sourceforge.plantuml.Dimension2DDouble; import net.sourceforge.plantuml.Direction; import net.sourceforge.plantuml.ISkinSimple; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractConnection; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Arrows; import net.sourceforge.plantuml.activitydiagram3.ftile.Connection; import net.sourceforge.plantuml.activitydiagram3.ftile.ConnectionTranslatable; import net.sourceforge.plantuml.activitydiagram3.ftile.Diamond; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileEmpty; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; import net.sourceforge.plantuml.activitydiagram3.ftile.Snake; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamond; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamondFoo1; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamondInside; import net.sourceforge.plantuml.creole.CreoleMode; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.TextBlockUtils; import net.sourceforge.plantuml.svek.ConditionStyle; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; class FtileRepeat extends AbstractFtile { private final Ftile repeat; private final Ftile diamond1; private final Ftile diamond2; private final Ftile backward; private final TextBlock tbTest; @Override public Collection getMyChildren() { return Arrays.asList(repeat, diamond1, diamond2); } private FtileRepeat(Ftile repeat, Ftile diamond1, Ftile diamond2, TextBlock tbTest, Ftile backward) { super(repeat.skinParam()); this.repeat = repeat; this.diamond1 = diamond1; this.diamond2 = diamond2; this.tbTest = tbTest; this.backward = backward; } public Swimlane getSwimlaneIn() { return repeat.getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return diamond2.getSwimlaneOut(); } public Set getSwimlanes() { return repeat.getSwimlanes(); } public static Ftile create(LinkRendering backRepeatLinkRendering, Swimlane swimlane, Swimlane swimlaneOut, Ftile backStart, Ftile repeat, Display test, Display yes, Display out, HtmlColor borderColor, HtmlColor backColor, Rainbow arrowColor, Rainbow endRepeatLinkColor, ConditionStyle conditionStyle, ISkinSimple spriteContainer, FontConfiguration fcDiamond, FontConfiguration fcArrow, Ftile backward, boolean noOut) { final FontConfiguration fontConfiguration1 = conditionStyle == ConditionStyle.INSIDE ? fcDiamond : fcArrow; final TextBlock tbTest = (Display.isNull(test) || test.isWhite()) ? TextBlockUtils.empty(0, 0) : test.create( fontConfiguration1, repeat.skinParam().getDefaultTextAlignment(HorizontalAlignment.LEFT), spriteContainer); final TextBlock yesTb = yes.create(fcArrow, HorizontalAlignment.LEFT, spriteContainer); final TextBlock outTb = out.create(fcArrow, HorizontalAlignment.LEFT, spriteContainer); final Ftile diamond1; if (backStart == null) { diamond1 = new FtileDiamond(repeat.skinParam(), backColor, borderColor, repeat.getSwimlaneIn()); } else { diamond1 = backStart; } final FtileRepeat result; if (conditionStyle == ConditionStyle.INSIDE) { final Ftile diamond2; if (noOut && Display.isNull(test)) { diamond2 = new FtileEmpty(repeat.skinParam()); } else { diamond2 = new FtileDiamondInside(repeat.skinParam(), backColor, borderColor, swimlaneOut, tbTest) .withEast(yesTb).withSouth(outTb); } result = new FtileRepeat(repeat, diamond1, diamond2, TextBlockUtils.empty(0, 0), backward); } else if (conditionStyle == ConditionStyle.DIAMOND) { final Ftile diamond2 = new FtileDiamond(repeat.skinParam(), backColor, borderColor, swimlane) .withEast(tbTest); result = new FtileRepeat(repeat, diamond1, diamond2, tbTest, backward); } else if (conditionStyle == ConditionStyle.FOO1) { final Ftile diamond2 = new FtileDiamondFoo1(repeat.skinParam(), backColor, borderColor, swimlane, tbTest); result = new FtileRepeat(repeat, diamond1, diamond2, TextBlockUtils.empty(0, 0), backward); } else { throw new IllegalStateException(); } final List conns = new ArrayList(); final Display in1 = repeat.getInLinkRendering().getDisplay(); final TextBlock tbin1 = in1 == null ? null : in1.create(fcArrow, HorizontalAlignment.LEFT, spriteContainer, CreoleMode.SIMPLE_LINE); conns.add(result.new ConnectionIn(repeat.getInLinkRendering().getRainbow(arrowColor), tbin1)); final Display backLink1 = backRepeatLinkRendering.getDisplay(); final TextBlock tbbackLink1 = backLink1 == null ? null : backLink1.create(fcArrow, HorizontalAlignment.LEFT, spriteContainer, CreoleMode.SIMPLE_LINE); if (repeat.getSwimlaneIn() == repeat.getSwimlaneOut()) { if (backward == null) { conns.add(result.new ConnectionBackSimple(backRepeatLinkRendering.getRainbow(arrowColor), tbbackLink1)); } else { conns.add(result.new ConnectionBackBackward1(backRepeatLinkRendering.getRainbow(arrowColor), tbbackLink1)); conns.add(result.new ConnectionBackBackward2(backRepeatLinkRendering.getRainbow(arrowColor))); } } else { conns.add(result.new ConnectionBackComplex1(backRepeatLinkRendering.getRainbow(arrowColor))); conns.add(result.new ConnectionBackComplexHorizontalOnly(backRepeatLinkRendering.getRainbow(arrowColor), tbbackLink1)); } final Display out1 = repeat.getOutLinkRendering().getDisplay(); final TextBlock tbout1 = out1 == null ? null : out1.create(fcArrow, HorizontalAlignment.LEFT, spriteContainer, CreoleMode.SIMPLE_LINE); final Rainbow tmpColor = endRepeatLinkColor.withDefault(arrowColor); conns.add(result.new ConnectionOut(tmpColor, tbout1)); return FtileUtils.addConnection(result, conns); } class ConnectionIn extends AbstractConnection { private final Rainbow arrowColor; private final TextBlock tbin; public ConnectionIn(Rainbow arrowColor, TextBlock tbin) { super(diamond1, repeat); this.arrowColor = arrowColor; this.tbin = tbin; } private Point2D getP1(final StringBounder stringBounder) { return getFtile1().calculateDimension(stringBounder).translate(getTranslateDiamond1(stringBounder)) .getPointOut(); } private Point2D getP2(final StringBounder stringBounder) { return getFtile2().calculateDimension(stringBounder).translate(getTranslateForRepeat(stringBounder)) .getPointIn(); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); snake.setLabel(tbin); snake.addPoint(getP1(stringBounder)); snake.addPoint(getP2(stringBounder)); ug.draw(snake); } } class ConnectionOut extends AbstractConnection implements ConnectionTranslatable { private final Rainbow arrowColor; private final TextBlock tbout; public ConnectionOut(Rainbow arrowColor, TextBlock tbout) { super(repeat, diamond2); this.arrowColor = arrowColor; this.tbout = tbout; } private Point2D getP1(final StringBounder stringBounder) { return getTranslateForRepeat(stringBounder).getTranslated( getFtile1().calculateDimension(stringBounder).getPointOut()); } private Point2D getP2(final StringBounder stringBounder) { return getTranslateDiamond2(stringBounder).getTranslated( getFtile2().calculateDimension(stringBounder).getPointIn()); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); if (getFtile1().calculateDimension(stringBounder).hasPointOut() == false) { return; } final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); snake.setLabel(tbout); snake.addPoint(getP1(stringBounder)); snake.addPoint(getP2(stringBounder)); ug.draw(snake); } public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2) { final StringBounder stringBounder = ug.getStringBounder(); if (getFtile1().calculateDimension(stringBounder).hasPointOut() == false) { return; } final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor); snake.setLabel(tbout); final Point2D mp1a = translate1.getTranslated(getP1(stringBounder)); final Point2D mp2b = translate2.getTranslated(getP2(stringBounder)); final double middle = (mp1a.getY() + mp2b.getY()) / 2.0; snake.addPoint(mp1a); snake.addPoint(mp1a.getX(), middle); snake.addPoint(mp2b.getX(), middle); // snake.addPoint(mp2b); ug.draw(snake); final Snake small = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); small.addPoint(mp2b.getX(), middle); small.addPoint(mp2b); ug.draw(small); } } class ConnectionBackComplex1 extends AbstractConnection implements ConnectionTranslatable { private final Rainbow arrowColor; public ConnectionBackComplex1(Rainbow arrowColor) { super(diamond2, repeat); this.arrowColor = arrowColor; } private Point2D getP1(final StringBounder stringBounder) { return getTranslateDiamond2(stringBounder).getTranslated(new Point2D.Double(0, 0)); } private Point2D getP2(final StringBounder stringBounder) { return getTranslateDiamond1(stringBounder).getTranslated(new Point2D.Double(0, 0)); } public void drawU(UGraphic ug) { // throw new UnsupportedOperationException(); } public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2) { final StringBounder stringBounder = ug.getStringBounder(); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToLeft()); snake.emphasizeDirection(Direction.UP); final Dimension2D dimRepeat = repeat.calculateDimension(stringBounder); Point2D p1 = getP1(stringBounder); Point2D p2 = getP2(stringBounder); p1 = translate1.getTranslated(p1); p2 = translate2.getTranslated(p2); final Dimension2D dimDiamond1 = diamond1.calculateDimension(stringBounder); final Dimension2D dimDiamond2 = diamond2.calculateDimension(stringBounder); final double y1 = p1.getY() + dimDiamond2.getHeight() / 2; final double x2 = p2.getX() + dimDiamond1.getWidth(); final double y2 = p2.getY() + dimDiamond1.getHeight() / 2; final double xmax = p1.getX() + dimDiamond2.getWidth() / 2 + dimRepeat.getWidth() / 2 + Diamond.diamondHalfSize; snake.addPoint(xmax, y1); snake.addPoint(xmax, y2); snake.addPoint(x2, y2); ug.draw(snake); } } class ConnectionBackComplexHorizontalOnly extends AbstractConnection { private final Rainbow arrowColor; private final TextBlock tbback; public ConnectionBackComplexHorizontalOnly(Rainbow arrowColor, TextBlock tbback) { super(diamond2, diamond2); this.arrowColor = arrowColor; this.tbback = tbback; } private Point2D getP1(final StringBounder stringBounder) { return getTranslateDiamond2(stringBounder).getTranslated(new Point2D.Double(0, 0)); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, null); snake.setLabel(tbback); final Dimension2D dimRepeat = repeat.calculateDimension(stringBounder); final Point2D p1 = getP1(stringBounder); final Dimension2D dimDiamond2 = diamond2.calculateDimension(stringBounder); final double x1 = p1.getX() + dimDiamond2.getWidth(); final double y1 = p1.getY() + dimDiamond2.getHeight() / 2; snake.addPoint(x1, y1); final double xmax = p1.getX() + dimDiamond2.getWidth() / 2 + dimRepeat.getWidth() / 2 + Diamond.diamondHalfSize; snake.addPoint(xmax, y1); ug.draw(snake); } } class ConnectionBackBackward1 extends AbstractConnection { private final Rainbow arrowColor; private final TextBlock tbback; public ConnectionBackBackward1(Rainbow arrowColor, TextBlock tbback) { super(diamond2, backward); this.arrowColor = arrowColor; this.tbback = tbback; } private Point2D getP1(final StringBounder stringBounder) { return getTranslateDiamond2(stringBounder).getTranslated(new Point2D.Double(0, 0)); } private Point2D getP2(final StringBounder stringBounder) { final FtileGeometry dim = backward.calculateDimension(stringBounder); return getTranslateBackward(stringBounder).getTranslated(new Point2D.Double(dim.getLeft(), dim.getOutY())); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToUp()); snake.setLabel(tbback); final Point2D p1 = getP1(stringBounder); final Point2D p2 = getP2(stringBounder); final Dimension2D dimDiamond2 = diamond2.calculateDimension(stringBounder); final double x1 = p1.getX() + dimDiamond2.getWidth(); final double y1 = p1.getY() + dimDiamond2.getHeight() / 2; final double x2 = p2.getX(); final double y2 = p2.getY(); snake.addPoint(x1, y1); snake.addPoint(x2, y1); snake.addPoint(x2, y2); ug.draw(snake); } } class ConnectionBackBackward2 extends AbstractConnection { private final Rainbow arrowColor; public ConnectionBackBackward2(Rainbow arrowColor) { super(backward, diamond1); this.arrowColor = arrowColor; } private Point2D getP1(final StringBounder stringBounder) { final FtileGeometry dim = backward.calculateDimension(stringBounder); return getTranslateBackward(stringBounder).getTranslated(new Point2D.Double(dim.getLeft(), dim.getInY())); } private Point2D getP2(final StringBounder stringBounder) { return getTranslateDiamond1(stringBounder).getTranslated(new Point2D.Double(0, 0)); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToLeft()); snake.emphasizeDirection(Direction.UP); final Point2D p1 = getP1(stringBounder); final Point2D p2 = getP2(stringBounder); final Dimension2D dimDiamond1 = diamond1.calculateDimension(stringBounder); final double x1 = p1.getX(); final double y1 = p1.getY(); final double x2 = p2.getX() + dimDiamond1.getWidth(); final double y2 = p2.getY() + dimDiamond1.getHeight() / 2; snake.addPoint(x1, y1); snake.addPoint(x1, y2); snake.addPoint(x2, y2); ug.draw(snake); } } class ConnectionBackSimple extends AbstractConnection { private final Rainbow arrowColor; private final TextBlock tbback; public ConnectionBackSimple(Rainbow arrowColor, TextBlock tbback) { super(diamond2, repeat); this.arrowColor = arrowColor; this.tbback = tbback; } private Point2D getP1(final StringBounder stringBounder) { return getTranslateDiamond2(stringBounder).getTranslated(new Point2D.Double(0, 0)); } private Point2D getP2(final StringBounder stringBounder) { return getTranslateDiamond1(stringBounder).getTranslated(new Point2D.Double(0, 0)); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToLeft()); snake.setLabel(tbback); snake.emphasizeDirection(Direction.UP); final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); final Point2D p1 = getP1(stringBounder); final Point2D p2 = getP2(stringBounder); final Dimension2D dimDiamond1 = diamond1.calculateDimension(stringBounder); final Dimension2D dimDiamond2 = diamond2.calculateDimension(stringBounder); final double x1 = p1.getX() + dimDiamond2.getWidth(); final double y1 = p1.getY() + dimDiamond2.getHeight() / 2; final double x2 = p2.getX() + dimDiamond1.getWidth(); final double y2 = p2.getY() + dimDiamond1.getHeight() / 2; snake.addPoint(x1, y1); final double xmax = dimTotal.getWidth() - Diamond.diamondHalfSize; snake.addPoint(xmax, y1); snake.addPoint(xmax, y2); snake.addPoint(x2, y2); ug.draw(snake); } } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); ug.apply(getTranslateForRepeat(stringBounder)).draw(repeat); ug.apply(getTranslateDiamond1(stringBounder)).draw(diamond1); ug.apply(getTranslateDiamond2(stringBounder)).draw(diamond2); if (backward != null) { ug.apply(getTranslateBackward(stringBounder)).draw(backward); } } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); return new FtileGeometry(dimTotal, getLeft(stringBounder), 0, dimTotal.getHeight()); } private Dimension2D calculateDimensionInternal(StringBounder stringBounder) { final Dimension2D dimDiamond1 = diamond1.calculateDimension(stringBounder); final Dimension2D dimDiamond2 = diamond2.calculateDimension(stringBounder); final Dimension2D dimRepeat = repeat.calculateDimension(stringBounder); final double w = tbTest.calculateDimension(stringBounder).getWidth(); double width = getLeft(stringBounder) + getRight(stringBounder); width = Math.max(width, w + 2 * Diamond.diamondHalfSize); if (backward != null) { width += backward.calculateDimension(stringBounder).getWidth(); } final double height = dimDiamond1.getHeight() + dimRepeat.getHeight() + dimDiamond2.getHeight() + 8 * Diamond.diamondHalfSize; return new Dimension2DDouble(width + 2 * Diamond.diamondHalfSize, height); } @Override public UTranslate getTranslateFor(Ftile child, StringBounder stringBounder) { if (child == repeat) { return getTranslateForRepeat(stringBounder); } if (child == diamond1) { return getTranslateDiamond1(stringBounder); } throw new UnsupportedOperationException(); } private UTranslate getTranslateForRepeat(StringBounder stringBounder) { final Dimension2D dimDiamond1 = diamond1.calculateDimension(stringBounder); final Dimension2D dimDiamond2 = diamond2.calculateDimension(stringBounder); final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); final Dimension2D dimRepeat = repeat.calculateDimension(stringBounder); final double space = dimTotal.getHeight() - dimDiamond1.getHeight() - dimDiamond2.getHeight() - dimRepeat.getHeight(); final double y = dimDiamond1.getHeight() + space / 2; final double left = getLeft(stringBounder); return new UTranslate(left - repeat.calculateDimension(stringBounder).getLeft(), y); } private UTranslate getTranslateDiamond1(StringBounder stringBounder) { final Dimension2D dimDiamond1 = diamond1.calculateDimension(stringBounder); final double left = getLeft(stringBounder); return new UTranslate(left - dimDiamond1.getWidth() / 2, 0); } private UTranslate getTranslateBackward(StringBounder stringBounder) { final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); final Dimension2D dimBackward = backward.calculateDimension(stringBounder); final double x = dimTotal.getWidth() - dimBackward.getWidth(); final double y = (dimTotal.getHeight() - dimBackward.getHeight()) / 2; return new UTranslate(x, y); } private UTranslate getTranslateDiamond2(StringBounder stringBounder) { final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); final Dimension2D dimDiamond2 = diamond2.calculateDimension(stringBounder); final double y2 = dimTotal.getHeight() - dimDiamond2.getHeight(); final double left = getLeft(stringBounder); return new UTranslate(left - dimDiamond2.getWidth() / 2, y2); } private double getLeft(StringBounder stringBounder) { final Dimension2D dimDiamond1 = diamond1.calculateDimension(stringBounder); final Dimension2D dimDiamond2 = diamond2.calculateDimension(stringBounder); double left1 = repeat.calculateDimension(stringBounder).getLeft(); left1 = Math.max(left1, dimDiamond1.getWidth() / 2); double left2 = repeat.calculateDimension(stringBounder).getLeft(); left2 = Math.max(left2, dimDiamond2.getWidth() / 2); return Math.max(left1, left2); } private double getRight(StringBounder stringBounder) { final Dimension2D dimDiamond1 = diamond1.calculateDimension(stringBounder); final Dimension2D dimDiamond2 = diamond2.calculateDimension(stringBounder); final Dimension2D dimRepeat = repeat.calculateDimension(stringBounder); double right1 = dimRepeat.getWidth() - repeat.calculateDimension(stringBounder).getLeft(); right1 = Math.max(right1, dimDiamond1.getWidth() / 2); double right2 = dimRepeat.getWidth() - repeat.calculateDimension(stringBounder).getLeft(); right2 = Math.max(right2, dimDiamond2.getWidth() / 2); return Math.max(right1, right2); } } ������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileSplit1.java�0000664�0000000�0000000�00000007154�13400053436�0033214�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; import net.sourceforge.plantuml.Dimension2DDouble; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; class FtileSplit1 extends AbstractFtile { private final List forks = new ArrayList(); public FtileSplit1(List forks) { super(forks.get(0).skinParam()); for (Ftile ftile : forks) { this.forks.add(ftile); } } public Swimlane getSwimlaneIn() { return forks.get(0).getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return null; // return getSwimlaneIn(); } public Set getSwimlanes() { return mergeSwimlanes(forks); } public static Set mergeSwimlanes(List tiles) { final Set result = new HashSet(); for (Ftile tile : tiles) { result.addAll(tile.getSwimlanes()); } return Collections.unmodifiableSet(result); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); for (Ftile ftile : forks) { ug.apply(getTranslateFor(ftile, stringBounder)).draw(ftile); } } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { double height = 0; double width = 0; for (Ftile ftile : forks) { final Dimension2D dim = ftile.calculateDimension(stringBounder); if (dim.getWidth() > width) { width = dim.getWidth(); } if (dim.getHeight() > height) { height = dim.getHeight(); } } final Dimension2D dimTotal = new Dimension2DDouble(width, height); return new FtileGeometry(dimTotal, dimTotal.getWidth() / 2, 0, dimTotal.getHeight()); } public UTranslate getTranslateFor(Ftile searched, StringBounder stringBounder) { final Dimension2D dim = searched.calculateDimension(stringBounder); final double xpos = calculateDimension(stringBounder).getWidth() - dim.getWidth(); return new UTranslate(xpos / 2, 0); } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileWhile.java��0000664�0000000�0000000�00000047765�13400053436�0033124�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import java.awt.geom.Point2D; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Set; import net.sourceforge.plantuml.Direction; import net.sourceforge.plantuml.activitydiagram3.Instruction; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractConnection; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Arrows; import net.sourceforge.plantuml.activitydiagram3.ftile.Connection; import net.sourceforge.plantuml.activitydiagram3.ftile.ConnectionTranslatable; import net.sourceforge.plantuml.activitydiagram3.ftile.Diamond; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; import net.sourceforge.plantuml.activitydiagram3.ftile.MergeStrategy; import net.sourceforge.plantuml.activitydiagram3.ftile.Snake; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamond; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamondFoo1; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamondInside; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.svek.ConditionStyle; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UEmpty; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; class FtileWhile extends AbstractFtile { private final Ftile whileBlock; private final Ftile diamond1; private final Ftile specialOut; @Override public Collection getMyChildren() { if (specialOut == null) { return Arrays.asList(whileBlock, diamond1); } return Arrays.asList(whileBlock, diamond1, specialOut); } public Set getSwimlanes() { final Set result = new HashSet(whileBlock.getSwimlanes()); result.add(getSwimlaneIn()); return result; } public Swimlane getSwimlaneIn() { return diamond1.getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return getSwimlaneIn(); } private FtileWhile(Ftile whileBlock, Ftile diamond1, Ftile specialOut) { super(whileBlock.skinParam()); this.whileBlock = whileBlock; this.diamond1 = diamond1; this.specialOut = specialOut; } public static Ftile create(Swimlane swimlane, Ftile whileBlock, Display test, HtmlColor borderColor, HtmlColor backColor, Rainbow arrowColor, Display yes, Display out2, Rainbow endInlinkColor, LinkRendering afterEndwhile, FontConfiguration fontArrow, FtileFactory ftileFactory, ConditionStyle conditionStyle, FontConfiguration fcTest, Instruction specialOut) { final TextBlock yesTb = yes.create(fontArrow, HorizontalAlignment.LEFT, ftileFactory.skinParam()); final TextBlock testTb = test.create(fcTest, whileBlock.skinParam().getDefaultTextAlignment(HorizontalAlignment.LEFT), ftileFactory.skinParam()); final TextBlock out = out2.create(fontArrow, HorizontalAlignment.LEFT, ftileFactory.skinParam()); final Ftile diamond1; if (conditionStyle == ConditionStyle.INSIDE) { diamond1 = new FtileDiamondInside(whileBlock.skinParam(), backColor, borderColor, swimlane, testTb) .withNorth(yesTb).withWest(out); } else if (conditionStyle == ConditionStyle.FOO1) { diamond1 = new FtileDiamondFoo1(whileBlock.skinParam(), backColor, borderColor, swimlane, testTb) .withNorth(yesTb).withWest(out); } else if (conditionStyle == ConditionStyle.DIAMOND) { diamond1 = new FtileDiamond(whileBlock.skinParam(), backColor, borderColor, swimlane).withNorth(testTb) .withSouth(yesTb).withWest(out); } else { throw new IllegalStateException(); } final Ftile special = specialOut == null ? null : specialOut.createFtile(ftileFactory); final FtileWhile result = new FtileWhile(whileBlock, diamond1, special); Rainbow afterEndwhileColor = arrowColor; if (afterEndwhile != null && afterEndwhile.getRainbow() != null && afterEndwhile.getRainbow().size() != 0) { afterEndwhileColor = afterEndwhile.getRainbow(); } final Dimension2D dim = whileBlock.calculateDimension(ftileFactory.getStringBounder()); final Display backDisplay = whileBlock.getOutLinkRendering().getDisplay(); final TextBlock back = backDisplay.create(fontArrow, HorizontalAlignment.LEFT, ftileFactory.skinParam()); final List conns = new ArrayList(); if (dim.getWidth() == 0 || dim.getHeight() == 0) { conns.add(result.new ConnectionBackEmpty(endInlinkColor)); } else { conns.add(result.new ConnectionIn(whileBlock.getInLinkRendering().getRainbow(arrowColor))); conns.add(result.new ConnectionBack(endInlinkColor, back)); } if (specialOut == null) { conns.add(result.new ConnectionOut(afterEndwhileColor)); } else { conns.add(result.new ConnectionOutSpecial(afterEndwhileColor)); } return FtileUtils.addConnection(result, conns); } class ConnectionIn extends AbstractConnection implements ConnectionTranslatable { private final Rainbow arrowColor; public ConnectionIn(Rainbow arrowColor) { super(diamond1, whileBlock); this.arrowColor = arrowColor; } private Point2D getP1(final StringBounder stringBounder) { return getTranslateDiamond1(stringBounder).getTranslated( getFtile1().calculateDimension(stringBounder).getPointOut()); } private Point2D getP2(final StringBounder stringBounder) { return getTranslateForWhile(stringBounder).getTranslated( getFtile2().calculateDimension(stringBounder).getPointIn()); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); snake.addPoint(getP1(stringBounder)); snake.addPoint(getP2(stringBounder)); ug.draw(snake); } public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2) { final StringBounder stringBounder = ug.getStringBounder(); final Point2D p1 = getP1(stringBounder); final Point2D p2 = getP2(stringBounder); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); final Point2D mp1a = translate1.getTranslated(p1); final Point2D mp2b = translate2.getTranslated(p2); final double middle = (mp1a.getY() + mp2b.getY()) / 2.0; snake.addPoint(mp1a); snake.addPoint(mp1a.getX(), middle); snake.addPoint(mp2b.getX(), middle); snake.addPoint(mp2b); snake.goUnmergeable(MergeStrategy.LIMITED); ug.draw(snake); } } class ConnectionBack extends AbstractConnection implements ConnectionTranslatable { private final Rainbow endInlinkColor; private final TextBlock back; public ConnectionBack(Rainbow endInlinkColor, TextBlock back) { super(whileBlock, diamond1); this.endInlinkColor = endInlinkColor; this.back = back; } private Point2D getP1(final StringBounder stringBounder) { final FtileGeometry geo = whileBlock.calculateDimension(stringBounder); if (geo.hasPointOut() == false) { return null; } return getTranslateForWhile(stringBounder).getTranslated(geo.getPointOut()); } private double getBottom(final StringBounder stringBounder) { final FtileGeometry geo = whileBlock.calculateDimension(stringBounder); return getTranslateForWhile(stringBounder).getDy() + geo.getHeight(); } private Point2D getP2(final StringBounder stringBounder) { return getTranslateDiamond1(stringBounder).getTranslated(new Point2D.Double(0, 0)); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Snake snake = new Snake(arrowHorizontalAlignment(), endInlinkColor, Arrows.asToLeft()); final Dimension2D dimTotal = calculateDimension(stringBounder); final Point2D p1 = getP1(stringBounder); if (p1 == null) { return; } final Point2D p2 = getP2(stringBounder); final FtileGeometry dimDiamond1 = diamond1.calculateDimension(stringBounder); final double x1 = p1.getX(); final double y1 = p1.getY(); final double x2 = p2.getX() + dimDiamond1.getWidth(); final double half = (dimDiamond1.getOutY() - dimDiamond1.getInY()) / 2; final double y2 = p2.getY() + dimDiamond1.getInY() + half; snake.setLabel(back); snake.addPoint(x1, y1); final double y1bis = Math.max(y1, getBottom(stringBounder)) + Diamond.diamondHalfSize; snake.addPoint(x1, y1bis); final double xx = dimTotal.getWidth(); snake.addPoint(xx, y1bis); snake.addPoint(xx, y2); snake.addPoint(x2, y2); snake.emphasizeDirection(Direction.UP); ug.draw(snake); ug.apply(new UTranslate(x1, y1bis)).draw(new UEmpty(5, Diamond.diamondHalfSize)); } public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2) { final StringBounder stringBounder = ug.getStringBounder(); final Snake snake = new Snake(arrowHorizontalAlignment(), endInlinkColor, Arrows.asToLeft()); final Dimension2D dimTotal = calculateDimension(stringBounder); final Point2D ap1 = getP1(stringBounder); final Point2D ap2 = getP2(stringBounder); final Point2D p1 = translate1.getTranslated(ap1); final Point2D p2 = translate2.getTranslated(ap2); final FtileGeometry dimDiamond1 = diamond1.calculateDimension(stringBounder); final double x1 = p1.getX(); final double y1 = p1.getY(); final double x2 = p2.getX() + dimDiamond1.getWidth(); final double half = (dimDiamond1.getOutY() - dimDiamond1.getInY()) / 2; final double y2 = p2.getY() + dimDiamond1.getInY() + half; snake.addPoint(x1, y1); snake.addPoint(x1, y1 + Diamond.diamondHalfSize); final double xx = Math.max(translate1.getDx(), translate2.getDx()) + dimTotal.getWidth(); snake.addPoint(xx, y1 + Diamond.diamondHalfSize); snake.addPoint(xx, y2); snake.addPoint(x2, y2); snake.goUnmergeable(MergeStrategy.LIMITED); ug.draw(snake); ug.apply(new UTranslate(x1, y1 + Diamond.diamondHalfSize)).draw(new UEmpty(5, Diamond.diamondHalfSize)); ug = ug.apply(new UChangeColor(endInlinkColor.getColor())).apply( new UChangeBackColor(endInlinkColor.getColor())); ug.apply(new UTranslate(xx, (y1 + y2) / 2)).draw(Arrows.asToUp()); } } class ConnectionBackEmpty extends AbstractConnection { private final Rainbow endInlinkColor; public ConnectionBackEmpty(Rainbow endInlinkColor) { super(diamond1, diamond1); this.endInlinkColor = endInlinkColor; } private Point2D getP1(final StringBounder stringBounder) { return getTranslateDiamond1(stringBounder).getTranslated( diamond1.calculateDimension(stringBounder).getPointOut()); } private double getBottom(final StringBounder stringBounder) { final FtileGeometry geo = whileBlock.calculateDimension(stringBounder); return getTranslateForWhile(stringBounder).getDy() + geo.getHeight(); } private Point2D getP2(final StringBounder stringBounder) { return getTranslateDiamond1(stringBounder).getTranslated(new Point2D.Double(0, 0)); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Snake snake = new Snake(arrowHorizontalAlignment(), endInlinkColor, Arrows.asToLeft()); final Dimension2D dimTotal = calculateDimension(stringBounder); final Point2D p1 = getP1(stringBounder); final Point2D p2 = getP2(stringBounder); final FtileGeometry dimDiamond1 = diamond1.calculateDimension(stringBounder); final double x1 = p1.getX(); final double y1 = p1.getY(); final double x2 = p2.getX() + dimDiamond1.getWidth(); // final double y2 = p2.getY() + dimDiamond1.getOutY() / 2; final double half = (dimDiamond1.getOutY() - dimDiamond1.getInY()) / 2; final double y2 = p2.getY() + dimDiamond1.getInY() + half; snake.addPoint(x1, y1); final double y1bis = Math.max(y1, getBottom(stringBounder)) + Diamond.diamondHalfSize; snake.addPoint(x1, y1bis); final double xx = dimTotal.getWidth(); snake.addPoint(xx, y1bis); snake.addPoint(xx, y2); snake.addPoint(x2, y2); snake.emphasizeDirection(Direction.UP); ug.draw(snake); ug.apply(new UTranslate(x1, y1bis)).draw(new UEmpty(5, Diamond.diamondHalfSize)); } } class ConnectionOut extends AbstractConnection { private final Rainbow afterEndwhileColor; public ConnectionOut(Rainbow afterEndwhileColor) { super(diamond1, null); this.afterEndwhileColor = afterEndwhileColor; } private Point2D getP1(final StringBounder stringBounder) { return getTranslateDiamond1(stringBounder).getTranslated(new Point2D.Double(0, 0)); } private Point2D getP2(final StringBounder stringBounder) { final FtileGeometry dimTotal = calculateDimension(stringBounder); return new Point2D.Double(dimTotal.getLeft(), dimTotal.getHeight()); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Snake snake = new Snake(arrowHorizontalAlignment(), afterEndwhileColor); final FtileGeometry dimDiamond1 = diamond1.calculateDimension(stringBounder); final Point2D p1 = getP1(stringBounder); final Point2D p2 = getP2(stringBounder); final double x1 = p1.getX(); final double half = (dimDiamond1.getOutY() - dimDiamond1.getInY()) / 2; final double y1 = p1.getY() + dimDiamond1.getInY() + half; final double x2 = p2.getX(); final double y2 = p2.getY(); snake.addPoint(x1, y1); snake.addPoint(Diamond.diamondHalfSize, y1); snake.addPoint(Diamond.diamondHalfSize, y2); snake.emphasizeDirection(Direction.DOWN); snake.goUnmergeable(MergeStrategy.LIMITED); ug.draw(snake); final Snake snake2 = new Snake(arrowHorizontalAlignment(), afterEndwhileColor); snake2.addPoint(Diamond.diamondHalfSize, y2); snake2.addPoint(x2, y2); // snake2.goUnmergeable(MergeStrategy.LIMITED); ug.draw(snake2); } } class ConnectionOutSpecial extends AbstractConnection { private final Rainbow afterEndwhileColor; public ConnectionOutSpecial(Rainbow afterEndwhileColor) { super(diamond1, specialOut); this.afterEndwhileColor = afterEndwhileColor; } private Point2D getP1(final StringBounder stringBounder) { return getTranslateDiamond1(stringBounder).getTranslated(new Point2D.Double(0, 0)); } private Point2D getP2(final StringBounder stringBounder) { return getTranslateForSpecial(stringBounder).getTranslated( specialOut.calculateDimension(stringBounder).getPointIn()); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Snake snake = new Snake(arrowHorizontalAlignment(), afterEndwhileColor, Arrows.asToDown()); final FtileGeometry dimDiamond1 = diamond1.calculateDimension(stringBounder); final Point2D p1 = getP1(stringBounder); final Point2D p2 = getP2(stringBounder); final double x1 = p1.getX(); final double half = (dimDiamond1.getOutY() - dimDiamond1.getInY()) / 2; final double y1 = p1.getY() + dimDiamond1.getInY() + half; final double x2 = p2.getX(); final double y2 = p2.getY(); snake.addPoint(x1, y1); snake.addPoint(x2, y1); snake.addPoint(x2, y2); ug.draw(snake); } } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); ug.apply(getTranslateForWhile(stringBounder)).draw(whileBlock); ug.apply(getTranslateDiamond1(stringBounder)).draw(diamond1); if (specialOut != null) { ug.apply(getTranslateForSpecial(stringBounder)).draw(specialOut); } } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { final FtileGeometry geoDiamond1 = diamond1.calculateDimension(stringBounder); FtileGeometry geoWhile = whileBlock.calculateDimension(stringBounder); final double diff = -geoWhile.getWidth(); if (diff > 0) { geoWhile = geoWhile.addMarginX(diff / 2); assert false; } final FtileGeometry geo = geoDiamond1.appendBottom(geoWhile); final double height = geo.getHeight() + 4 * Diamond.diamondHalfSize; final double dx = 2 * Diamond.diamondHalfSize; return new FtileGeometry(xDeltaBecauseSpecial(stringBounder) + geo.getWidth() + dx + Diamond.diamondHalfSize, height, xDeltaBecauseSpecial(stringBounder) + geo.getLeft() + dx, geoDiamond1.getInY(), height); } private double xDeltaBecauseSpecial(StringBounder stringBounder) { if (specialOut == null) { return 0; } return specialOut.calculateDimension(stringBounder).getWidth(); } @Override public UTranslate getTranslateFor(Ftile child, StringBounder stringBounder) { if (child == whileBlock) { return getTranslateForWhile(stringBounder); } if (child == diamond1) { return getTranslateDiamond1(stringBounder); } throw new UnsupportedOperationException(); } private UTranslate getTranslateForWhile(StringBounder stringBounder) { final FtileGeometry dimDiamond1 = diamond1.calculateDimension(stringBounder); final FtileGeometry dimTotal = calculateDimension(stringBounder); final FtileGeometry dimWhile = whileBlock.calculateDimension(stringBounder); final double y = dimDiamond1.getHeight() + (dimTotal.getHeight() - dimDiamond1.getHeight() - dimWhile.getHeight()) / 2; final double x = dimTotal.getLeft() - dimWhile.getLeft(); return new UTranslate(x, y); } private UTranslate getTranslateDiamond1(StringBounder stringBounder) { final FtileGeometry dimTotal = calculateDimension(stringBounder); final FtileGeometry dimDiamond1 = diamond1.calculateDimension(stringBounder); final double y1 = 0; final double x1 = dimTotal.getLeft() - dimDiamond1.getLeft(); return new UTranslate(x1, y1); } private UTranslate getTranslateForSpecial(StringBounder stringBounder) { final FtileGeometry dimDiamond1 = diamond1.calculateDimension(stringBounder); final double half = (dimDiamond1.getOutY() - dimDiamond1.getInY()) / 2; final double y1 = Math.max(3 * half, 4 * Diamond.diamondHalfSize); final double xWhile = getTranslateForWhile(stringBounder).getDx() - Diamond.diamondHalfSize; final double xDiamond = getTranslateDiamond1(stringBounder).getDx(); // final double x1 = xWhile - xDeltaBecauseSpecial(stringBounder); final double x1 = Math.min(xWhile, xDiamond) - xDeltaBecauseSpecial(stringBounder); // final double x1 = getTranslateForWhile(stringBounder).getDx() - dimDiamond1.getWidth() // - xDeltaBecauseSpecial(stringBounder); return new UTranslate(x1, y1); } } �����������FtileWithNoteOpale.java�����������������������������������������������������������������������������0000664�0000000�0000000�00000021010�13400053436�0034466�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import java.awt.geom.Point2D; import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.Set; import net.sourceforge.plantuml.ColorParam; import net.sourceforge.plantuml.Dimension2DDouble; import net.sourceforge.plantuml.Direction; import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.LineBreakStrategy; import net.sourceforge.plantuml.activitydiagram3.PositionedNote; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.creole.CreoleMode; import net.sourceforge.plantuml.creole.CreoleParser; import net.sourceforge.plantuml.creole.Sheet; import net.sourceforge.plantuml.creole.SheetBlock1; import net.sourceforge.plantuml.creole.SheetBlock2; import net.sourceforge.plantuml.creole.Stencil; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.sequencediagram.NotePosition; import net.sourceforge.plantuml.sequencediagram.NoteType; import net.sourceforge.plantuml.skin.rose.Rose; import net.sourceforge.plantuml.svek.image.Opale; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UStroke; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileWithNoteOpale extends AbstractFtile implements Stencil { private final Ftile tile; private final Opale opale; // private final HtmlColor arrowColor; private final NotePosition notePosition; private final double suppSpace = 20; private final Swimlane swimlaneNote; public Set getSwimlanes() { if (swimlaneNote != null) { final Set result = new HashSet(tile.getSwimlanes()); result.add(swimlaneNote); return Collections.unmodifiableSet(result); } return tile.getSwimlanes(); } public Swimlane getSwimlaneIn() { return tile.getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return tile.getSwimlaneOut(); } @Override public Collection getMyChildren() { return Collections.singleton(tile); } public static Ftile create(Ftile tile, Collection notes, ISkinParam skinParam, boolean withLink) { if (notes.size() > 1) { return new FtileWithNotes(tile, notes, skinParam); } if (notes.size() == 0) { throw new IllegalArgumentException(); } return new FtileWithNoteOpale(tile, notes.iterator().next(), skinParam, withLink); } private FtileWithNoteOpale(Ftile tile, PositionedNote note, ISkinParam skinParam, boolean withLink) { super(tile.skinParam()); this.swimlaneNote = note.getSwimlaneNote(); if (note.getColors() != null) { skinParam = note.getColors().mute(skinParam); } this.tile = tile; this.notePosition = note.getNotePosition(); if (note.getType() == NoteType.FLOATING_NOTE) { withLink = false; } final Rose rose = new Rose(); final HtmlColor noteBackgroundColor = rose.getHtmlColor(skinParam, ColorParam.noteBackground); final HtmlColor borderColor = rose.getHtmlColor(skinParam, ColorParam.noteBorder); final FontConfiguration fc = new FontConfiguration(skinParam, FontParam.NOTE, null); final Sheet sheet = new CreoleParser(fc, skinParam.getDefaultTextAlignment(HorizontalAlignment.LEFT), skinParam, CreoleMode.FULL).createSheet(note.getDisplay()); final TextBlock text = new SheetBlock2(new SheetBlock1(sheet, skinParam.wrapWidth() , skinParam.getPadding()), this, new UStroke(1)); opale = new Opale(borderColor, noteBackgroundColor, text, skinParam.shadowing(null), withLink); } private UTranslate getTranslate(StringBounder stringBounder) { final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); final Dimension2D dimNote = opale.calculateDimension(stringBounder); final Dimension2D dimTile = tile.calculateDimension(stringBounder); final double yForFtile = (dimTotal.getHeight() - dimTile.getHeight()) / 2; final double marge; if (notePosition == NotePosition.LEFT) { marge = dimNote.getWidth() + suppSpace; } else { marge = 0; } return new UTranslate(marge, yForFtile); } private UTranslate getTranslateForOpale(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Dimension2D dimTotal = calculateDimension(stringBounder); final Dimension2D dimNote = opale.calculateDimension(stringBounder); final double yForNote = (dimTotal.getHeight() - dimNote.getHeight()) / 2; if (notePosition == NotePosition.LEFT) { return new UTranslate(0, yForNote); } final double dx = dimTotal.getWidth() - dimNote.getWidth(); return new UTranslate(dx, yForNote); } public void drawU(UGraphic ug) { final Swimlane intoSw; if (ug instanceof UGraphicInterceptorOneSwimlane) { intoSw = ((UGraphicInterceptorOneSwimlane) ug).getSwimlane(); } else { intoSw = null; } final StringBounder stringBounder = ug.getStringBounder(); final Dimension2D dimNote = opale.calculateDimension(stringBounder); if (notePosition == NotePosition.LEFT) { final Direction strategy = Direction.RIGHT; final Point2D pp1 = new Point2D.Double(dimNote.getWidth(), dimNote.getHeight() / 2); final Point2D pp2 = new Point2D.Double(dimNote.getWidth() + suppSpace, dimNote.getHeight() / 2); opale.setOpale(strategy, pp1, pp2); } else { final Direction strategy = Direction.LEFT; final Point2D pp1 = new Point2D.Double(0, dimNote.getHeight() / 2); final Point2D pp2 = new Point2D.Double(-suppSpace, dimNote.getHeight() / 2); opale.setOpale(strategy, pp1, pp2); } if (swimlaneNote == null || intoSw == swimlaneNote) { opale.drawU(ug.apply(getTranslateForOpale(ug))); } ug.apply(getTranslate(stringBounder)).draw(tile); } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); final FtileGeometry orig = tile.calculateDimension(stringBounder); final UTranslate translate = getTranslate(stringBounder); if (orig.hasPointOut()) { return new FtileGeometry(dimTotal, orig.getLeft() + translate.getDx(), orig.getInY() + translate.getDy(), orig.getOutY() + translate.getDy()); } return new FtileGeometry(dimTotal, orig.getLeft() + translate.getDx(), orig.getInY() + translate.getDy()); } private Dimension2D calculateDimensionInternal(StringBounder stringBounder) { final Dimension2D dimNote = opale.calculateDimension(stringBounder); final Dimension2D dimTile = tile.calculateDimension(stringBounder); final double height = Math.max(dimNote.getHeight(), dimTile.getHeight()); return new Dimension2DDouble(dimTile.getWidth() + 1 * dimNote.getWidth() + suppSpace, height); } public double getStartingX(StringBounder stringBounder, double y) { return -opale.getMarginX1(); } public double getEndingX(StringBounder stringBounder, double y) { return opale.calculateDimension(stringBounder).getWidth() - opale.getMarginX1(); } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileWithNotes.java���������������������������������������������������������������������������������0000664�0000000�0000000�00000017053�13400053436�0033704�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import java.util.Collection; import java.util.Set; import net.sourceforge.plantuml.ColorParam; import net.sourceforge.plantuml.Dimension2DDouble; import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.LineBreakStrategy; import net.sourceforge.plantuml.activitydiagram3.PositionedNote; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.creole.CreoleMode; import net.sourceforge.plantuml.creole.CreoleParser; import net.sourceforge.plantuml.creole.Sheet; import net.sourceforge.plantuml.creole.SheetBlock1; import net.sourceforge.plantuml.creole.SheetBlock2; import net.sourceforge.plantuml.creole.Stencil; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.TextBlockUtils; import net.sourceforge.plantuml.sequencediagram.NotePosition; import net.sourceforge.plantuml.skin.rose.Rose; import net.sourceforge.plantuml.svek.image.Opale; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UStroke; import net.sourceforge.plantuml.ugraphic.UTranslate; import net.sourceforge.plantuml.utils.MathUtils; public class FtileWithNotes extends AbstractFtile { private final Ftile tile; private TextBlock left; private TextBlock right; private final double suppSpace = 20; public Set getSwimlanes() { return tile.getSwimlanes(); } public Swimlane getSwimlaneIn() { return tile.getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return tile.getSwimlaneOut(); } public FtileWithNotes(Ftile tile, Collection notes, ISkinParam skinParam) { super(tile.skinParam()); this.tile = tile; final Rose rose = new Rose(); final HtmlColor noteBackgroundColor = rose.getHtmlColor(skinParam, ColorParam.noteBackground); final HtmlColor borderColor = rose.getHtmlColor(skinParam, ColorParam.noteBorder); final FontConfiguration fc = new FontConfiguration(skinParam, FontParam.NOTE, null); for (PositionedNote note : notes) { final Sheet sheet = new CreoleParser(fc, skinParam.getDefaultTextAlignment(HorizontalAlignment.LEFT), skinParam, CreoleMode.FULL).createSheet(note.getDisplay()); final SheetBlock1 sheet1 = new SheetBlock1(sheet, LineBreakStrategy.NONE, skinParam.getPadding()); final SheetBlock2 sheet2 = new SheetBlock2(sheet1, new Stencil() { // -6 and 15 value comes from Opale: this is very ugly! public double getStartingX(StringBounder stringBounder, double y) { return -6; } public double getEndingX(StringBounder stringBounder, double y) { return sheet1.getEndingX(stringBounder, y) + 15; } }, new UStroke()); final Opale opale = new Opale(borderColor, noteBackgroundColor, sheet2, skinParam.shadowing(null), false); final TextBlock opaleMarged = TextBlockUtils.withMargin(opale, 10, 10); if (note.getNotePosition() == NotePosition.LEFT) { if (left == null) { left = opaleMarged; } else { left = TextBlockUtils.mergeTB(left, opaleMarged, HorizontalAlignment.CENTER); } } else { if (right == null) { right = opaleMarged; } else { right = TextBlockUtils.mergeTB(right, opaleMarged, HorizontalAlignment.CENTER); } } } if (left == null) { left = TextBlockUtils.empty(0, 0); } if (right == null) { right = TextBlockUtils.empty(0, 0); } } private UTranslate getTranslate(StringBounder stringBounder) { final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); final Dimension2D dimTile = tile.calculateDimension(stringBounder); final double xDelta = left.calculateDimension(stringBounder).getWidth(); final double yDelta = (dimTotal.getHeight() - dimTile.getHeight()) / 2; return new UTranslate(xDelta, yDelta); } private UTranslate getTranslateForLeft(StringBounder stringBounder) { final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); final Dimension2D dimLeft = left.calculateDimension(stringBounder); final double xDelta = 0; final double yDelta = (dimTotal.getHeight() - dimLeft.getHeight()) / 2; return new UTranslate(xDelta, yDelta); } private UTranslate getTranslateForRight(StringBounder stringBounder) { final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); final Dimension2D dimRight = right.calculateDimension(stringBounder); final double xDelta = dimTotal.getWidth() - dimRight.getWidth(); final double yDelta = (dimTotal.getHeight() - dimRight.getHeight()) / 2; return new UTranslate(xDelta, yDelta); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); left.drawU(ug.apply(getTranslateForLeft(stringBounder))); right.drawU(ug.apply(getTranslateForRight(stringBounder))); ug.apply(getTranslate(stringBounder)).draw(tile); } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); final FtileGeometry orig = tile.calculateDimension(stringBounder); final UTranslate translate = getTranslate(stringBounder); if (orig.hasPointOut()) { return new FtileGeometry(dimTotal, orig.getLeft() + translate.getDx(), orig.getInY() + translate.getDy(), orig.getOutY() + translate.getDy()); } return new FtileGeometry(dimTotal, orig.getLeft() + translate.getDx(), orig.getInY() + translate.getDy()); } private Dimension2D calculateDimensionInternal(StringBounder stringBounder) { final Dimension2D dimTile = tile.calculateDimension(stringBounder); final Dimension2D dimLeft = left.calculateDimension(stringBounder); final Dimension2D dimRight = right.calculateDimension(stringBounder); final double height = MathUtils.max(dimLeft.getHeight(), dimRight.getHeight(), dimTile.getHeight()); return new Dimension2DDouble(dimTile.getWidth() + dimLeft.getWidth() + dimRight.getWidth(), height); } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ParallelBuilderFork.java����������������������������������������������������������������������������0000664�0000000�0000000�00000020551�13400053436�0034656�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import java.awt.geom.Point2D; import java.util.ArrayList; import java.util.List; import net.sourceforge.plantuml.ColorParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractConnection; import net.sourceforge.plantuml.activitydiagram3.ftile.Arrows; import net.sourceforge.plantuml.activitydiagram3.ftile.Connection; import net.sourceforge.plantuml.activitydiagram3.ftile.ConnectionTranslatable; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileAssemblySimple; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; import net.sourceforge.plantuml.activitydiagram3.ftile.Snake; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileBlackBlock; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColorAndStyle; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class ParallelBuilderFork extends ParallelFtilesBuilder { private final String label; public ParallelBuilderFork(ISkinParam skinParam, StringBounder stringBounder, final List list, Ftile inner, Swimlane swimlane, String label) { super(skinParam, stringBounder, list, inner, swimlane); this.label = label; } @Override protected Ftile doStep1() { Ftile result = getMiddle(); final List conns = new ArrayList(); final Ftile black = new FtileBlackBlock(skinParam(), getRose() .getHtmlColor(skinParam(), ColorParam.activityBar), getList().get(0).getSwimlaneIn()); double x = 0; for (Ftile tmp : getList()) { final Dimension2D dim = tmp.calculateDimension(getStringBounder()); conns.add(new ConnectionIn(black, tmp, x, tmp.getInLinkRendering().getRainbow( HtmlColorAndStyle.build(skinParam())))); x += dim.getWidth(); } result = FtileUtils.addConnection(result, conns); ((FtileBlackBlock) black).setBlackBlockDimension(result.calculateDimension(getStringBounder()).getWidth(), barHeight); return new FtileAssemblySimple(black, result); } @Override protected Ftile doStep2(Ftile result) { final Ftile out = new FtileBlackBlock(skinParam(), getRose().getHtmlColor(skinParam(), ColorParam.activityBar), getList().get(0).getSwimlaneIn()); ((FtileBlackBlock) out).setBlackBlockDimension(result.calculateDimension(getStringBounder()).getWidth(), barHeight); if (label != null) { ((FtileBlackBlock) out).setLabel(getTextBlock(Display.getWithNewlines(label))); } result = new FtileAssemblySimple(result, out); final List conns = new ArrayList(); double x = 0; for (Ftile tmp : getList()) { final UTranslate translate0 = new UTranslate(0, barHeight); final Dimension2D dim = tmp.calculateDimension(getStringBounder()); conns.add(new ConnectionOut(translate0, tmp, out, x, tmp.getOutLinkRendering().getRainbow( HtmlColorAndStyle.build(skinParam())), getHeightOfMiddle())); x += dim.getWidth(); } result = FtileUtils.addConnection(result, conns); return result; } class ConnectionIn extends AbstractConnection implements ConnectionTranslatable { private final double x; private final Rainbow arrowColor; private final Display label; public ConnectionIn(Ftile ftile1, Ftile ftile2, double x, Rainbow arrowColor) { super(ftile1, ftile2); label = ftile2.getInLinkRendering().getDisplay(); this.x = x; this.arrowColor = arrowColor; } public void drawU(UGraphic ug) { ug = ug.apply(new UTranslate(x, 0)); final FtileGeometry geo = getFtile2().calculateDimension(getStringBounder()); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); if (Display.isNull(label) == false) { snake.setLabel(getTextBlock(label)); } snake.addPoint(geo.getLeft(), 0); snake.addPoint(geo.getLeft(), geo.getInY()); ug.draw(snake); } public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2) { ug = ug.apply(new UTranslate(x, 0)); final FtileGeometry geo = getFtile2().calculateDimension(getStringBounder()); final Point2D p1 = new Point2D.Double(geo.getLeft(), 0); final Point2D p2 = new Point2D.Double(geo.getLeft(), geo.getInY()); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); if (Display.isNull(label) == false) { snake.setLabel(getTextBlock(label)); } final Point2D mp1a = translate1.getTranslated(p1); final Point2D mp2b = translate2.getTranslated(p2); final double middle = mp1a.getY() + 4; snake.addPoint(mp1a); snake.addPoint(mp1a.getX(), middle); snake.addPoint(mp2b.getX(), middle); snake.addPoint(mp2b); ug.draw(snake); } } class ConnectionOut extends AbstractConnection implements ConnectionTranslatable { private final double x; private final Rainbow arrowColor; private final double height; private final Display label; private final UTranslate translate0; public ConnectionOut(UTranslate translate0, Ftile ftile1, Ftile ftile2, double x, Rainbow arrowColor, double height) { super(ftile1, ftile2); this.translate0 = translate0; this.label = ftile1.getOutLinkRendering().getDisplay(); this.x = x; this.arrowColor = arrowColor; this.height = height; } public void drawU(UGraphic ug) { ug = ug.apply(new UTranslate(x, 0)); final FtileGeometry geo = getFtile1().calculateDimension(getStringBounder()); if (geo.hasPointOut() == false) { return; } final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); if (Display.isNull(label) == false) { snake.setLabel(getTextBlock(label)); } final Point2D p1 = translate0.getTranslated(new Point2D.Double(geo.getLeft(), geo.getOutY())); final Point2D p2 = translate0.getTranslated(new Point2D.Double(geo.getLeft(), height)); snake.addPoint(p1); snake.addPoint(p2); ug.draw(snake); } public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2) { ug = ug.apply(new UTranslate(x, 0)); final FtileGeometry geo = getFtile1().calculateDimension(getStringBounder()); if (geo.hasPointOut() == false) { return; } final Point2D p1 = translate0.getTranslated(new Point2D.Double(geo.getLeft(), geo.getOutY())); final Point2D p2 = translate0.getTranslated(new Point2D.Double(geo.getLeft(), height)); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); if (Display.isNull(label) == false) { snake.setLabel(getTextBlock(label)); } final Point2D mp1a = translate1.getTranslated(p1); final Point2D mp2b = translate2.getTranslated(p2); final double middle = mp2b.getY() - 14; snake.addPoint(mp1a); snake.addPoint(mp1a.getX(), middle); snake.addPoint(mp2b.getX(), middle); snake.addPoint(mp2b); ug.draw(snake); } } } �������������������������������������������������������������������������������������������������������������������������������������������������������ParallelBuilderMerge.java���������������������������������������������������������������������������0000664�0000000�0000000�00000020534�13400053436�0035015�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import java.awt.geom.Point2D; import java.util.ArrayList; import java.util.List; import net.sourceforge.plantuml.ColorParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractConnection; import net.sourceforge.plantuml.activitydiagram3.ftile.Arrows; import net.sourceforge.plantuml.activitydiagram3.ftile.Connection; import net.sourceforge.plantuml.activitydiagram3.ftile.ConnectionTranslatable; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileAssemblySimple; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; import net.sourceforge.plantuml.activitydiagram3.ftile.Snake; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileBlackBlock; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamond; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.HtmlColorAndStyle; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UPolygon; import net.sourceforge.plantuml.ugraphic.UTranslate; public class ParallelBuilderMerge extends ParallelFtilesBuilder { public ParallelBuilderMerge(ISkinParam skinParam, StringBounder stringBounder, final List list, Ftile inner, Swimlane swimlane) { super(skinParam, stringBounder, list, inner, swimlane); } @Override protected Ftile doStep1() { Ftile result = getMiddle(); final List conns = new ArrayList(); final HtmlColor colorBar = getRose().getHtmlColor(skinParam(), ColorParam.activityBar); final Ftile black = new FtileBlackBlock(skinParam(), colorBar, getList().get(0).getSwimlaneIn()); double x = 0; for (Ftile tmp : getList()) { final Dimension2D dim = tmp.calculateDimension(getStringBounder()); conns.add(new ConnectionIn(black, tmp, x, tmp.getInLinkRendering().getRainbow( HtmlColorAndStyle.build(skinParam())))); x += dim.getWidth(); } result = FtileUtils.addConnection(result, conns); ((FtileBlackBlock) black).setBlackBlockDimension(result.calculateDimension(getStringBounder()).getWidth(), barHeight); return new FtileAssemblySimple(black, result); } @Override protected Ftile doStep2(Ftile result) { final HtmlColor borderColor = getRose().getHtmlColor(skinParam(), ColorParam.activityDiamondBorder); final HtmlColor backColor = getRose().getHtmlColor(skinParam(), ColorParam.activityDiamondBackground); final Ftile out = new FtileDiamond(skinParam(), backColor, borderColor, swimlane()); result = new FtileAssemblySimple(result, out); final List conns = new ArrayList(); final UTranslate diamondTranslate = result.getTranslateFor(out, getStringBounder()); int i = 0; double x = 0; for (Ftile tmp : getList()) { final Dimension2D dim = tmp.calculateDimension(getStringBounder()); final UTranslate translate0 = new UTranslate(x, barHeight); conns.add(new ConnectionHorizontalThenVertical(tmp, out, tmp.getOutLinkRendering().getRainbow( HtmlColorAndStyle.build(skinParam())), translate0, diamondTranslate, i)); x += dim.getWidth(); i++; } return FtileUtils.addConnection(result, conns); } class ConnectionHorizontalThenVertical extends AbstractConnection /* implements ConnectionTranslatable */{ private final Rainbow arrowColor; private final UTranslate diamondTranslate; private final UTranslate translate0; private final int counter; public ConnectionHorizontalThenVertical(Ftile tile, Ftile diamond, Rainbow arrowColor, UTranslate translate0, UTranslate diamondTranslate, int counter) { super(tile, diamond); this.arrowColor = arrowColor; this.diamondTranslate = diamondTranslate; this.translate0 = translate0; this.counter = counter; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Point2D p1 = getP1(stringBounder); final Point2D p2 = getP2(stringBounder); final double x1 = p1.getX(); final double y1 = p1.getY(); final double x2 = p2.getX(); final double y2 = p2.getY(); UPolygon endDecoration = null; if (counter == 0) { endDecoration = Arrows.asToRight(); } else if (counter == 1) { endDecoration = Arrows.asToLeft(); } final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, endDecoration); snake.addPoint(x1, y1); snake.addPoint(x1, y2); snake.addPoint(x2, y2); ug.draw(snake); } private Point2D getP1(StringBounder stringBounder) { return translate0.getTranslated(getFtile1().calculateDimension(stringBounder).getPointOut()); } private Point2D getP2(final StringBounder stringBounder) { final Point2D result = diamondTranslate.getTranslated(getFtile2().calculateDimension(stringBounder) .getPointOut()); final Dimension2D dim = getFtile2().calculateDimension(stringBounder); UTranslate arrival = new UTranslate(); if (counter == 0) { arrival = new UTranslate(-dim.getWidth() / 2, -dim.getHeight() / 2); } else if (counter == 1) { arrival = new UTranslate(dim.getWidth() / 2, -dim.getHeight() / 2); } return arrival.getTranslated(result); } } class ConnectionIn extends AbstractConnection implements ConnectionTranslatable { private final double x; private final Rainbow arrowColor; private final Display label; public ConnectionIn(Ftile ftile1, Ftile ftile2, double x, Rainbow arrowColor) { super(ftile1, ftile2); label = ftile2.getInLinkRendering().getDisplay(); this.x = x; this.arrowColor = arrowColor; } public void drawU(UGraphic ug) { ug = ug.apply(new UTranslate(x, 0)); final FtileGeometry geo = getFtile2().calculateDimension(getStringBounder()); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); if (Display.isNull(label) == false) { snake.setLabel(getTextBlock(label)); } snake.addPoint(geo.getLeft(), 0); snake.addPoint(geo.getLeft(), geo.getInY()); ug.draw(snake); } public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2) { ug = ug.apply(new UTranslate(x, 0)); final FtileGeometry geo = getFtile2().calculateDimension(getStringBounder()); final Point2D p1 = new Point2D.Double(geo.getLeft(), 0); final Point2D p2 = new Point2D.Double(geo.getLeft(), geo.getInY()); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); if (Display.isNull(label) == false) { snake.setLabel(getTextBlock(label)); } final Point2D mp1a = translate1.getTranslated(p1); final Point2D mp2b = translate2.getTranslated(p2); final double middle = mp1a.getY() + 4; snake.addPoint(mp1a); snake.addPoint(mp1a.getX(), middle); snake.addPoint(mp2b.getX(), middle); snake.addPoint(mp2b); ug.draw(snake); } } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������ParallelBuilderSplit.java���������������������������������������������������������������������������0000664�0000000�0000000�00000022236�13400053436�0035052�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Dimension2D; import java.util.ArrayList; import java.util.List; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractConnection; import net.sourceforge.plantuml.activitydiagram3.ftile.Arrows; import net.sourceforge.plantuml.activitydiagram3.ftile.Connection; import net.sourceforge.plantuml.activitydiagram3.ftile.ConnectionTranslatable; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileKilled; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; import net.sourceforge.plantuml.activitydiagram3.ftile.MergeStrategy; import net.sourceforge.plantuml.activitydiagram3.ftile.Snake; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.graphic.HtmlColorAndStyle; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class ParallelBuilderSplit extends ParallelFtilesBuilder { public ParallelBuilderSplit(ISkinParam skinParam, StringBounder stringBounder, final List list, Ftile inner, Swimlane swimlane) { super(skinParam, stringBounder, list, inner, swimlane); } @Override protected Ftile doStep1() { Ftile result = getMiddle(); final List conns = new ArrayList(); double x1 = 0; for (Ftile tmp : getList()) { final Dimension2D dim = tmp.calculateDimension(getStringBounder()); conns.add(new ConnectionIn(tmp, x1, tmp.getInLinkRendering().getRainbow( HtmlColorAndStyle.build(skinParam())), getTextBlock(tmp.getInLinkRendering()))); x1 += dim.getWidth(); } final double totalWidth1 = result.calculateDimension(getStringBounder()).getWidth(); conns.add(new ConnectionHline2(result, HtmlColorAndStyle.build(skinParam()), 0, getList(), totalWidth1)); result = FtileUtils.addConnection(result, conns); return result; } @Override protected Ftile doStep2(Ftile result) { final List conns2 = new ArrayList(); double x2 = 0; boolean hasOut = false; for (Ftile tmp : getList()) { final Dimension2D dim = tmp.calculateDimension(getStringBounder()); final boolean hasOutTmp = tmp.calculateDimension(getStringBounder()).hasPointOut(); if (hasOutTmp) { conns2.add(new ConnectionOut(tmp, x2, tmp.getOutLinkRendering().getRainbow( HtmlColorAndStyle.build(skinParam())), getHeightOfMiddle(), getTextBlock(tmp .getOutLinkRendering()))); hasOut = true; } x2 += dim.getWidth(); } if (hasOut) { final double totalWidth2 = result.calculateDimension(getStringBounder()).getWidth(); conns2.add(new ConnectionHline2(result, HtmlColorAndStyle.build(skinParam()), getHeightOfMiddle(), getList(), totalWidth2)); result = FtileUtils.addConnection(result, conns2); } else { result = new FtileKilled(result); } return result; } static class ConnectionHline2 extends AbstractConnection { private final Ftile inner; private final double y; private final Rainbow arrowColor; private final List list; private final double totalWidth; public ConnectionHline2(Ftile inner, Rainbow arrowColor, double y, List list, double totalWidth) { super(null, null); this.inner = inner; this.y = y; this.arrowColor = arrowColor; this.list = list; this.totalWidth = totalWidth; } public void drawU(UGraphic ug) { double minX = Double.MAX_VALUE; double maxX = 0; if (y == 0 && ug instanceof UGraphicInterceptorOneSwimlane) { final Swimlane intoSw = ((UGraphicInterceptorOneSwimlane) ug).getSwimlane(); boolean found = false; for (Ftile tmp : list) { if (tmp.getSwimlaneIn() == intoSw) { found = true; } } if (found == false) { return; } } final StringBounder stringBounder = ug.getStringBounder(); for (Ftile tmp : list) { if (y > 0 && tmp.calculateDimension(stringBounder).hasPointOut() == false) { continue; } final UTranslate ut = inner.getTranslateFor(tmp, stringBounder); if (ut == null) { continue; } final double middle = tmp.calculateDimension(stringBounder).translate(ut).getLeft(); minX = Math.min(minX, middle); maxX = Math.max(maxX, middle); } if (minX > totalWidth / 2) { minX = totalWidth / 2; } if (maxX < totalWidth / 2) { maxX = totalWidth / 2; } final Snake s = new Snake(arrowHorizontalAlignment(), arrowColor); s.goUnmergeable(MergeStrategy.NONE); s.addPoint(minX, y); s.addPoint(maxX, y); ug.draw(s); } } static class ConnectionHline3 extends AbstractConnection implements ConnectionTranslatable { private final Ftile inner; private final double y; private final Rainbow arrowColor; private final List list; private final double totalWidth; public ConnectionHline3(Ftile inner, Rainbow arrowColor, double y, List list, double totalWidth) { super(null, null); this.inner = inner; this.y = y; this.arrowColor = arrowColor; this.list = list; this.totalWidth = totalWidth; } public void drawU(UGraphic ug) { throw new UnsupportedOperationException(); } public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2) { final StringBounder stringBounder = ug.getStringBounder(); final UTranslate left = inner.getSwimlaneIn().getTranslate(); double minX = inner.calculateDimension(stringBounder).getLeft() + left.getDx(); double maxX = minX; for (Ftile tmp : list) { final FtileGeometry tmpGeom = tmp.calculateDimension(stringBounder); final UTranslate tpos = inner.getTranslateFor(tmp, stringBounder); for (Swimlane sw : tmp.getSwimlanes()) { final double x = tmpGeom.translate(sw.getTranslate().compose(tpos)).getLeft(); minX = Math.min(minX, x); maxX = Math.max(maxX, x); } } final Dimension2D dimInner = inner.calculateDimension(stringBounder); final Snake s = new Snake(arrowHorizontalAlignment(), arrowColor); // final Snake s = new Snake(HtmlColorUtils.GREEN); s.goUnmergeable(MergeStrategy.LIMITED); s.addPoint(minX, y); s.addPoint(maxX, y); ug.draw(s); } } static class ConnectionIn extends AbstractConnection { private final double x; private final Rainbow arrowColor; private final TextBlock text; public ConnectionIn(Ftile tmp, double x, Rainbow arrowColor, TextBlock text) { super(null, tmp); this.x = x; this.arrowColor = arrowColor; this.text = text; } public void drawU(UGraphic ug) { ug = ug.apply(new UTranslate(x, 0)); final FtileGeometry geo = getFtile2().calculateDimension(ug.getStringBounder()); final double left = geo.getLeft(); final Snake s = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); s.setLabel(text); s.addPoint(left, 0); s.addPoint(left, geo.getInY()); ug.draw(s); } } static class ConnectionOut extends AbstractConnection { private final double x; private final Rainbow arrowColor; private final double height; private final TextBlock text; public ConnectionOut(Ftile tmp, double x, Rainbow arrowColor, double height, TextBlock text) { super(tmp, null); this.x = x; this.arrowColor = arrowColor; this.height = height; this.text = text; } public void drawU(UGraphic ug) { ug = ug.apply(new UTranslate(x, 0)); final FtileGeometry geo = getFtile1().calculateDimension(ug.getStringBounder()); if (geo.hasPointOut() == false) { assert false; return; } final Snake s = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); s.setLabel(text); s.goUnmergeable(MergeStrategy.NONE); s.addPoint(geo.getLeft(), geo.getOutY()); s.addPoint(geo.getLeft(), height); ug.draw(s); } } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ParallelBuilderSplit2.java��������������������������������������������������������������������������0000664�0000000�0000000�00000022074�13400053436�0035134�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.awt.geom.Point2D; import java.util.ArrayList; import java.util.List; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractConnection; import net.sourceforge.plantuml.activitydiagram3.ftile.Arrows; import net.sourceforge.plantuml.activitydiagram3.ftile.Connection; import net.sourceforge.plantuml.activitydiagram3.ftile.ConnectionTranslatable; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileAssemblySimple; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileKilled; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; import net.sourceforge.plantuml.activitydiagram3.ftile.Snake; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileThinSplit; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColorAndStyle; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class ParallelBuilderSplit2 extends ParallelFtilesBuilder { public ParallelBuilderSplit2(ISkinParam skinParam, StringBounder stringBounder, final List list, Ftile inner, Swimlane swimlane) { super(skinParam, stringBounder, list, inner, swimlane); } @Override protected Ftile doStep1() { Ftile result = getMiddle(); final List conns = new ArrayList(); final Rainbow thinColor = result.getInLinkRendering().getRainbow(HtmlColorAndStyle.build(skinParam())); final Ftile thin = new FtileThinSplit(skinParam(), thinColor.getColor(), getList().get(0).getSwimlaneIn()); double x = 0; double first = 0; double last = 0; for (Ftile tmp : getList()) { final FtileGeometry dim = tmp.calculateDimension(getStringBounder()); if (first == 0) { first = x + dim.getLeft(); } last = x + dim.getLeft(); conns.add(new ConnectionIn(thin, tmp, x, tmp.getInLinkRendering().getRainbow( HtmlColorAndStyle.build(skinParam())))); x += dim.getWidth(); } result = FtileUtils.addConnection(result, conns); ((FtileThinSplit) thin).setGeom(first, last, result.calculateDimension(getStringBounder()).getWidth()); return new FtileAssemblySimple(thin, result); } private boolean hasOut() { for (Ftile tmp : getList()) { final boolean hasOutTmp = tmp.calculateDimension(getStringBounder()).hasPointOut(); if (hasOutTmp) { return true; } } return false; } @Override protected Ftile doStep2(Ftile result) { final FtileGeometry geom = result.calculateDimension(getStringBounder()); if (hasOut() == false) { return new FtileKilled(result); } final Rainbow thinColor = result.getInLinkRendering().getRainbow(HtmlColorAndStyle.build(skinParam())); // final Ftile out = new FtileThinSplit(skinParam(), thinColor.getColor(), getList().get(0).getSwimlaneIn()); final Ftile out = new FtileThinSplit(skinParam(), thinColor.getColor(), swimlane()); result = new FtileAssemblySimple(result, out); final List conns = new ArrayList(); double x = 0; double first = 0; double last = 0; for (Ftile tmp : getList()) { final UTranslate translate0 = new UTranslate(0, 1.5); final FtileGeometry dim = tmp.calculateDimension(getStringBounder()); if (dim.hasPointOut()) { if (first == 0) { first = x + dim.getLeft(); } last = x + dim.getLeft(); } conns.add(new ConnectionOut(translate0, tmp, out, x, tmp.getOutLinkRendering().getRainbow( HtmlColorAndStyle.build(skinParam())), getHeightOfMiddle())); x += dim.getWidth(); } if (last < geom.getLeft()) { last = geom.getLeft(); } if (first > geom.getLeft()) { first = geom.getLeft(); } ((FtileThinSplit) out).setGeom(first, last, geom.getWidth()); result = FtileUtils.addConnection(result, conns); return result; } class ConnectionIn extends AbstractConnection implements ConnectionTranslatable { private final double x; private final Rainbow arrowColor; private final Display label; public ConnectionIn(Ftile ftile1, Ftile ftile2, double x, Rainbow arrowColor) { super(ftile1, ftile2); label = ftile2.getInLinkRendering().getDisplay(); this.x = x; this.arrowColor = arrowColor; } public void drawU(UGraphic ug) { ug = ug.apply(new UTranslate(x, 0)); final FtileGeometry geo = getFtile2().calculateDimension(getStringBounder()); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); if (Display.isNull(label) == false) { snake.setLabel(getTextBlock(label)); } snake.addPoint(geo.getLeft(), 0); snake.addPoint(geo.getLeft(), geo.getInY()); ug.draw(snake); } public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2) { ug = ug.apply(new UTranslate(x, 0)); final FtileGeometry geo = getFtile2().calculateDimension(getStringBounder()); final Point2D p1 = new Point2D.Double(geo.getLeft(), 0); final Point2D p2 = new Point2D.Double(geo.getLeft(), geo.getInY()); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); if (Display.isNull(label) == false) { snake.setLabel(getTextBlock(label)); } final Point2D mp1a = translate1.getTranslated(p1); final Point2D mp2b = translate2.getTranslated(p2); final double middle = mp1a.getY() + 4; snake.addPoint(mp1a); snake.addPoint(mp1a.getX(), middle); snake.addPoint(mp2b.getX(), middle); snake.addPoint(mp2b); ug.draw(snake); } } class ConnectionOut extends AbstractConnection implements ConnectionTranslatable { private final double x; private final Rainbow arrowColor; private final double height; private final Display label; private final UTranslate translate0; public ConnectionOut(UTranslate translate0, Ftile ftile1, Ftile ftile2, double x, Rainbow arrowColor, double height) { super(ftile1, ftile2); this.translate0 = translate0; this.label = ftile1.getOutLinkRendering().getDisplay(); this.x = x; this.arrowColor = arrowColor; this.height = height; } public void drawU(UGraphic ug) { ug = ug.apply(new UTranslate(x, 0)); final FtileGeometry geo = getFtile1().calculateDimension(getStringBounder()); if (geo.hasPointOut() == false) { return; } final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); if (Display.isNull(label) == false) { snake.setLabel(getTextBlock(label)); } final Point2D p1 = translate0.getTranslated(new Point2D.Double(geo.getLeft(), geo.getOutY())); final Point2D p2 = translate0.getTranslated(new Point2D.Double(geo.getLeft(), height)); snake.addPoint(p1); snake.addPoint(p2); ug.draw(snake); } public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2) { ug = ug.apply(new UTranslate(x, 0)); final FtileGeometry geo = getFtile1().calculateDimension(getStringBounder()); if (geo.hasPointOut() == false) { return; } final Point2D p1 = translate0.getTranslated(new Point2D.Double(geo.getLeft(), geo.getOutY())); final Point2D p2 = translate0.getTranslated(new Point2D.Double(geo.getLeft(), height)); final Snake snake = new Snake(arrowHorizontalAlignment(), arrowColor, Arrows.asToDown()); if (Display.isNull(label) == false) { snake.setLabel(getTextBlock(label)); } final Point2D mp1a = translate1.getTranslated(p1); final Point2D mp2b = translate2.getTranslated(p2); final double middle = mp2b.getY() - 14; snake.addPoint(mp1a); snake.addPoint(mp1a.getX(), middle); snake.addPoint(mp2b.getX(), middle); snake.addPoint(mp2b); ug.draw(snake); } } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ParallelFtilesBuilder.java��������������������������������������������������������������������������0000664�0000000�0000000�00000007612�13400053436�0035206�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.util.Collections; import java.util.List; import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.creole.CreoleMode; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.skin.rose.Rose; public abstract class ParallelFtilesBuilder { protected final double barHeight = 6; private final Rose rose = new Rose(); private final ISkinParam skinParam; private final StringBounder stringBounder; private final List list; private final Ftile middle; private final FtileGeometry middleDimension; private final Swimlane swimlane; public ParallelFtilesBuilder(ISkinParam skinParam, StringBounder stringBounder, final List list, Ftile middle, Swimlane swimlane) { this.skinParam = skinParam; this.stringBounder = stringBounder; this.list = list; this.middle = middle; this.middleDimension = middle.calculateDimension(getStringBounder()); this.swimlane = swimlane; } public final Ftile build() { final Ftile step1 = doStep1(); return doStep2(step1); } protected abstract Ftile doStep1(); protected abstract Ftile doStep2(Ftile step1); protected StringBounder getStringBounder() { return stringBounder; } protected Rose getRose() { return rose; } protected ISkinParam skinParam() { return skinParam; } protected final TextBlock getTextBlock(Display display) { // DUP3945 if (Display.isNull(display)) { return null; } final FontConfiguration fontConfiguration = new FontConfiguration(skinParam(), FontParam.ARROW, null); return display.create(fontConfiguration, HorizontalAlignment.LEFT, skinParam(), CreoleMode.SIMPLE_LINE); } protected TextBlock getTextBlock(LinkRendering linkRendering) { // DUP1433 final Display display = linkRendering.getDisplay(); return getTextBlock(display); } protected final List getList() { return Collections.unmodifiableList(list); } protected final Ftile getMiddle() { return middle; } protected final double getHeightOfMiddle() { return middleDimension.getHeight(); } protected final Swimlane swimlane() { return swimlane; } } ����������������������������������������������������������������������������������������������������������������������UGraphicInterceptorGoto.java������������������������������������������������������������������������0000664�0000000�0000000�00000004050�13400053436�0035537�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.graphic.UGraphicDelegator; import net.sourceforge.plantuml.ugraphic.UChange; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UShape; public class UGraphicInterceptorGoto extends UGraphicDelegator { public UGraphicInterceptorGoto(UGraphic ug) { super(ug); } public void draw(UShape shape) { System.err.println("inter=" + shape.getClass()); if (shape instanceof Ftile) { final Ftile foo = (Ftile) shape; foo.drawU(this); } else { getUg().draw(shape); System.err.println("Drawing " + shape); } } public UGraphic apply(UChange change) { return new UGraphicInterceptorGoto(getUg().apply(change)); } }����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������UGraphicInterceptorOneSwimlane.java�����������������������������������������������������������������0000664�0000000�0000000�00000006664�13400053436�0037065�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.util.Set; import net.sourceforge.plantuml.activitydiagram3.ftile.Connection; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.graphic.HtmlColorUtils; import net.sourceforge.plantuml.graphic.UGraphicDelegator; import net.sourceforge.plantuml.ugraphic.UChange; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.ULine; import net.sourceforge.plantuml.ugraphic.UShape; public class UGraphicInterceptorOneSwimlane extends UGraphicDelegator { private final Swimlane swimlane; public UGraphicInterceptorOneSwimlane(UGraphic ug, Swimlane swimlane) { super(ug); this.swimlane = swimlane; } public void draw(UShape shape) { // System.err.println("inter=" + shape.getClass()); if (shape instanceof Ftile) { final Ftile tile = (Ftile) shape; final Set swinlanes = tile.getSwimlanes(); final boolean contained = swinlanes.contains(swimlane); if (contained) { tile.drawU(this); // drawGoto(); } } else if (shape instanceof Connection) { final Connection connection = (Connection) shape; final Ftile tile1 = connection.getFtile1(); final Ftile tile2 = connection.getFtile2(); final boolean contained1 = tile1 == null || tile1.getSwimlaneOut() == null || tile1.getSwimlaneOut() == swimlane; final boolean contained2 = tile2 == null || tile2.getSwimlaneIn() == null || tile2.getSwimlaneIn() == swimlane; if (contained1 && contained2) { connection.drawU(this); } } else { getUg().draw(shape); // System.err.println("Drawing " + shape); } } private void drawGoto() { final UGraphic ugGoto = getUg().apply(new UChangeColor(HtmlColorUtils.GREEN)).apply( new UChangeBackColor(HtmlColorUtils.GREEN)); ugGoto.draw(new ULine(100, 100)); } public UGraphic apply(UChange change) { return new UGraphicInterceptorOneSwimlane(getUg().apply(change), swimlane); } public final Swimlane getSwimlane() { return swimlane; } }����������������������������������������������������������������������������VCompactFactory.java��������������������������������������������������������������������������������0000664�0000000�0000000�00000015151�13400053436�0034035�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; import java.util.ArrayList; import java.util.Collection; import java.util.List; import net.sourceforge.plantuml.ColorParam; import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.Url; import net.sourceforge.plantuml.activitydiagram3.Branch; import net.sourceforge.plantuml.activitydiagram3.ForkStyle; import net.sourceforge.plantuml.activitydiagram3.Instruction; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.PositionedNote; import net.sourceforge.plantuml.activitydiagram3.ftile.BoxStyle; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileAssemblySimple; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileBox; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileCircleEnd; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileCircleSpot; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileCircleStart; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileCircleStop; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDecorateIn; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDecorateOut; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.USymbol; import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.skin.rose.Rose; import net.sourceforge.plantuml.ugraphic.UFont; public class VCompactFactory implements FtileFactory { private final ISkinParam skinParam; private final Rose rose = new Rose(); private final StringBounder stringBounder; public StringBounder getStringBounder() { return stringBounder; } public VCompactFactory(ISkinParam skinParam, StringBounder stringBounder) { this.skinParam = skinParam; this.stringBounder = stringBounder; } public Ftile start(Swimlane swimlane) { final HtmlColor color = rose.getHtmlColor(skinParam, ColorParam.activityStart); return new FtileCircleStart(skinParam(), color, swimlane); } public Ftile stop(Swimlane swimlane) { final HtmlColor color = rose.getHtmlColor(skinParam, ColorParam.activityEnd); return new FtileCircleStop(skinParam(), color, swimlane); } public Ftile spot(Swimlane swimlane, String spot) { // final HtmlColor color = rose.getHtmlColor(skinParam, ColorParam.activityBackground); final UFont font = skinParam.getFont(null, false, FontParam.ACTIVITY); return new FtileCircleSpot(skinParam(), swimlane, spot, font); } public Ftile end(Swimlane swimlane) { final HtmlColor color = rose.getHtmlColor(skinParam, ColorParam.activityEnd); return new FtileCircleEnd(skinParam(), color, swimlane); } public Ftile activity(Display label, Swimlane swimlane, BoxStyle style, Colors colors) { // final HtmlColor borderColor = rose.getHtmlColor(skinParam, ColorParam.activityBorder); // final HtmlColor backColor = color == null ? rose.getHtmlColor(skinParam, ColorParam.activityBackground) : // color; final UFont font = skinParam.getFont(null, false, FontParam.ACTIVITY); return new FtileBox(colors.mute(skinParam), label, font, swimlane, style); } public Ftile addNote(Ftile ftile, Swimlane swimlane, Collection notes) { return ftile; } public Ftile addUrl(Ftile ftile, Url url) { return ftile; } public Ftile assembly(Ftile tile1, Ftile tile2) { return new FtileAssemblySimple(tile1, tile2); } public Ftile repeat(Swimlane swimlane, Swimlane swimlaneOut, Display startLabel, Ftile repeat, Display test, Display yes, Display out, HtmlColor color, LinkRendering backRepeatLinkRendering, Ftile backward, boolean noOut) { return repeat; } public Ftile createWhile(Swimlane swimlane, Ftile whileBlock, Display test, Display yes, Display out, LinkRendering afterEndwhile, HtmlColor color, Instruction specialOut) { return whileBlock; } public Ftile createIf(Swimlane swimlane, List thens, Branch elseBranch, LinkRendering afterEndwhile, LinkRendering topInlinkRendering) { final List ftiles = new ArrayList(); for (Branch branch : thens) { ftiles.add(branch.getFtile()); } ftiles.add(elseBranch.getFtile()); return new FtileForkInner(ftiles); } public Ftile createParallel(Swimlane swimlane, List all, ForkStyle style, String label) { return new FtileForkInner(all); } public Ftile createGroup(Ftile list, Display name, HtmlColor backColor, HtmlColor titleColor, PositionedNote note, HtmlColor borderColor, USymbol type, double roundCorner) { return list; } public Ftile decorateIn(final Ftile ftile, final LinkRendering linkRendering) { return new FtileDecorateIn(ftile, linkRendering); } public Ftile decorateOut(final Ftile ftile, final LinkRendering linkRendering) { // if (ftile instanceof FtileWhile) { // if (linkRendering != null) { // ((FtileWhile) ftile).changeAfterEndwhileColor(linkRendering.getColor()); // } // return ftile; // } return new FtileDecorateOut(ftile, linkRendering); } public ISkinParam skinParam() { return skinParam; } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/������������0000775�0000000�0000000�00000000000�13400053436�0031125�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ConditionalBuilder.java�����������������������������������������������������������������������������0000664�0000000�0000000�00000027042�13400053436�0035470�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond��������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.cond; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.LineBreakStrategy; import net.sourceforge.plantuml.activitydiagram3.Branch; import net.sourceforge.plantuml.activitydiagram3.ftile.Diamond; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileEmpty; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileMinWidth; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.FtileIfDown; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamond; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamondInside; import net.sourceforge.plantuml.creole.CreoleMode; import net.sourceforge.plantuml.creole.CreoleParser; import net.sourceforge.plantuml.creole.Sheet; import net.sourceforge.plantuml.creole.SheetBlock1; import net.sourceforge.plantuml.creole.SheetBlock2; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.svek.ConditionStyle; public class ConditionalBuilder { private final Swimlane swimlane; private final HtmlColor borderColor; private final HtmlColor backColor; private final Rainbow arrowColor; private final FtileFactory ftileFactory; private final ConditionStyle conditionStyle; private final Branch branch1; private final Branch branch2; private final ISkinParam skinParam; private final StringBounder stringBounder; private final FontConfiguration fontArrow; private final FontConfiguration fontTest; private final Ftile tile1; private final Ftile tile2; public ConditionalBuilder(Swimlane swimlane, HtmlColor borderColor, HtmlColor backColor, Rainbow arrowColor, FtileFactory ftileFactory, ConditionStyle conditionStyle, Branch branch1, Branch branch2, ISkinParam skinParam, StringBounder stringBounder, FontConfiguration fontArrow, FontConfiguration fontTest) { this.swimlane = swimlane; this.borderColor = borderColor; this.backColor = backColor; this.arrowColor = arrowColor; this.ftileFactory = ftileFactory; this.conditionStyle = conditionStyle; this.branch1 = branch1; this.branch2 = branch2; this.skinParam = skinParam; this.stringBounder = stringBounder; this.fontArrow = fontArrow; this.fontTest = fontTest; this.tile1 = new FtileMinWidth(branch1.getFtile(), 30); this.tile2 = new FtileMinWidth(branch2.getFtile(), 30); } static public Ftile create(Swimlane swimlane, HtmlColor borderColor, HtmlColor backColor, Rainbow arrowColor, FtileFactory ftileFactory, ConditionStyle conditionStyle, Branch branch1, Branch branch2, ISkinParam skinParam, StringBounder stringBounder, FontConfiguration fcArrow, FontConfiguration fcTest) { final ConditionalBuilder builder = new ConditionalBuilder(swimlane, borderColor, backColor, arrowColor, ftileFactory, conditionStyle, branch1, branch2, skinParam, stringBounder, fcArrow, fcTest); if (isEmptyOrOnlySingleStopOrSpot(branch2) && isEmptyOrOnlySingleStopOrSpot(branch1) == false) { return builder.createDown(builder.branch1, builder.branch2); } if (branch1.isEmpty() && branch2.isOnlySingleStopOrSpot()) { return builder.createDown(builder.branch1, builder.branch2); } if (isEmptyOrOnlySingleStopOrSpot(branch1) && isEmptyOrOnlySingleStopOrSpot(branch2) == false) { return builder.createDown(builder.branch2, builder.branch1); } if (branch2.isEmpty() && branch1.isOnlySingleStopOrSpot()) { return builder.createDown(builder.branch2, builder.branch1); } return builder.createWithLinks(); // return builder.createWithDiamonds(); // return builder.createNude(); } private static boolean isEmptyOrOnlySingleStopOrSpot(Branch branch) { return branch.isEmpty() || branch.isOnlySingleStopOrSpot(); } private Ftile createDown(Branch branch1, Branch branch2) { final Ftile tile1 = new FtileMinWidth(branch1.getFtile(), 30); final Ftile tile2 = new FtileMinWidth(branch2.getFtile(), 30); final TextBlock tb1 = getLabelPositive(branch1); final TextBlock tb2 = getLabelPositive(branch2); final Ftile diamond1 = getDiamond1(false, tb1, tb2); final Ftile diamond2 = getDiamond2(branch1, branch2, true); if (branch2.isOnlySingleStopOrSpot()) { return FtileIfDown.create(diamond1, diamond2, swimlane, FtileUtils.addHorizontalMargin(tile1, 10), arrowColor, ftileFactory, branch2.getFtile(), branch2.getInlinkRenderingColorAndStyle()); } if (branch1.isOnlySingleStopOrSpot()) { return FtileIfDown.create(diamond1, diamond2, swimlane, FtileUtils.addHorizontalMargin(tile2, 10), arrowColor, ftileFactory, branch1.getFtile(), branch1.getInlinkRenderingColorAndStyle()); } if (branch1.isEmpty()) { return FtileIfDown.create(diamond1, diamond2, swimlane, FtileUtils.addHorizontalMargin(tile2, 10), arrowColor, ftileFactory, null, null); } return FtileIfDown.create(diamond1, diamond2, swimlane, FtileUtils.addHorizontalMargin(tile1, 10), arrowColor, ftileFactory, null, branch2.getInlinkRenderingColorAndStyle()); } private Ftile createNude() { return new FtileIfNude(tile1, tile2, swimlane); } private Ftile createWithDiamonds() { final Ftile diamond1 = getDiamond1(true); final Ftile diamond2 = getDiamond2(branch1, branch2, false); final FtileIfWithDiamonds ftile = new FtileIfWithDiamonds(diamond1, tile1, tile2, diamond2, swimlane, stringBounder); final Dimension2D label1 = getLabelPositive(branch1).calculateDimension(stringBounder); final Dimension2D label2 = getLabelPositive(branch2).calculateDimension(stringBounder); final double diff1 = ftile.computeMarginNeedForBranchLabe1(stringBounder, label1); final double diff2 = ftile.computeMarginNeedForBranchLabe2(stringBounder, label2); Ftile result = FtileUtils.addHorizontalMargin(ftile, diff1, diff2); final double suppHeight = ftile.computeVerticalMarginNeedForBranchs(stringBounder, label1, label2); result = FtileUtils.addVerticalMargin(result, suppHeight, 0); return result; } private Ftile createWithLinks() { final Ftile diamond1 = getDiamond1(true); final Ftile diamond2 = getDiamond2(branch1, branch2, false); final Ftile tmp1 = FtileUtils.addHorizontalMargin(tile1, 10); final Ftile tmp2 = FtileUtils.addHorizontalMargin(tile2, 10); final FtileIfWithLinks ftile = new FtileIfWithLinks(diamond1, tmp1, tmp2, diamond2, swimlane, arrowColor, stringBounder); final Dimension2D label1 = getLabelPositive(branch1).calculateDimension(stringBounder); final Dimension2D label2 = getLabelPositive(branch2).calculateDimension(stringBounder); final double diff1 = ftile.computeMarginNeedForBranchLabe1(stringBounder, label1); final double diff2 = ftile.computeMarginNeedForBranchLabe2(stringBounder, label2); final double suppHeight = ftile.computeVerticalMarginNeedForBranchs(stringBounder, label1, label2); Ftile result = ftile.addLinks(branch1, branch2, stringBounder); result = FtileUtils.addHorizontalMargin(result, diff1, diff2); result = FtileUtils.addVerticalMargin(result, suppHeight, 0); return result; } private Ftile getDiamond1(boolean eastWest) { return getDiamond1(eastWest, getLabelPositive(branch1), getLabelPositive(branch2)); } private Ftile getDiamond1(boolean eastWest, TextBlock tb1, TextBlock tb2) { final Display labelTest = branch1.getLabelTest(); final Sheet sheet = new CreoleParser(fontTest, skinParam.getDefaultTextAlignment(HorizontalAlignment.LEFT), skinParam, CreoleMode.FULL).createSheet(labelTest); final SheetBlock1 sheetBlock1 = new SheetBlock1(sheet, LineBreakStrategy.NONE, skinParam.getPadding()); final TextBlock tbTest = new SheetBlock2(sheetBlock1, Diamond.asStencil(sheetBlock1), tile1.getThickness()); final Ftile diamond1; if (conditionStyle == ConditionStyle.INSIDE) { if (eastWest) { diamond1 = new FtileDiamondInside(tile1.skinParam(), backColor, borderColor, swimlane, tbTest) .withWestAndEast(tb1, tb2); } else { diamond1 = new FtileDiamondInside(tile1.skinParam(), backColor, borderColor, swimlane, tbTest) .withSouth(tb1).withEast(tb2); } } else if (conditionStyle == ConditionStyle.DIAMOND) { if (eastWest) { diamond1 = new FtileDiamond(tile1.skinParam(), backColor, borderColor, swimlane).withNorth(tbTest) .withWestAndEast(tb1, tb2); } else { diamond1 = new FtileDiamond(tile1.skinParam(), backColor, borderColor, swimlane).withNorth(tbTest) .withSouth(tb1).withEast(tb2); } } else { throw new IllegalStateException(); } return diamond1; } private TextBlock getLabelPositive(Branch branch) { return branch.getLabelPositive().create(fontArrow, HorizontalAlignment.LEFT, ftileFactory.skinParam(), CreoleMode.SIMPLE_LINE); } private Ftile getDiamond2(Branch branch1, Branch branch2, boolean useNorth) { final Ftile diamond2; if (hasTwoBranches()) { final Display out1 = branch1.getFtile().getOutLinkRendering().getDisplay(); final TextBlock tbout1 = out1 == null ? null : out1.create(fontArrow, HorizontalAlignment.LEFT, ftileFactory.skinParam(), CreoleMode.SIMPLE_LINE); final Display out2 = branch2.getFtile().getOutLinkRendering().getDisplay(); final TextBlock tbout2 = out2 == null ? null : out2.create(fontArrow, HorizontalAlignment.LEFT, ftileFactory.skinParam(), CreoleMode.SIMPLE_LINE); FtileDiamond tmp = new FtileDiamond(tile1.skinParam(), backColor, borderColor, swimlane); tmp = useNorth ? tmp.withNorth(tbout1) : tmp.withWest(tbout1); tmp = tmp.withEast(tbout2); diamond2 = tmp; } else { diamond2 = new FtileEmpty(tile1.skinParam(), 0, Diamond.diamondHalfSize / 2, swimlane, swimlane); } return diamond2; } public boolean hasTwoBranches() { return tile1.calculateDimension(stringBounder).hasPointOut() && tile2.calculateDimension(stringBounder).hasPointOut(); } // private HtmlColor fontColor() { // return skinParam.getFontHtmlColor(FontParam.ACTIVITY_DIAMOND, null); // } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileDimensionMemoize.java��������������������������������������������������������������������������0000664�0000000�0000000�00000004103�13400053436�0036146�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond��������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.cond; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.graphic.StringBounder; public abstract class FtileDimensionMemoize extends AbstractFtile { public FtileDimensionMemoize(ISkinParam skinParam) { super(skinParam); } private FtileGeometry calculateDimensionInternal; protected final FtileGeometry calculateDimensionInternal(StringBounder stringBounder) { if (calculateDimensionInternal == null) { calculateDimensionInternal = calculateDimensionInternalSlow(stringBounder); } return calculateDimensionInternal; } abstract protected FtileGeometry calculateDimensionInternalSlow(StringBounder stringBounder); } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileIfNude.java������������������������������������������������������������������������������������0000664�0000000�0000000�00000012571�13400053436�0034055�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond��������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.cond; import java.awt.geom.Dimension2D; import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.Set; import net.sourceforge.plantuml.Dimension2DDouble; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileIfNude extends FtileDimensionMemoize { protected final Ftile tile1; protected final Ftile tile2; private final Swimlane in; FtileIfNude(Ftile tile1, Ftile tile2, Swimlane in) { super(tile1.skinParam()); this.tile1 = tile1; this.tile2 = tile2; this.in = in; } @Override public Collection getMyChildren() { return Arrays.asList(tile1, tile2); } public boolean hasTwoBranches(StringBounder stringBounder) { return tile1.calculateDimension(stringBounder).hasPointOut() && tile2.calculateDimension(stringBounder).hasPointOut(); } public Set getSwimlanes() { final Set result = new HashSet(); if (getSwimlaneIn() != null) { result.add(getSwimlaneIn()); } result.addAll(tile1.getSwimlanes()); result.addAll(tile2.getSwimlanes()); return Collections.unmodifiableSet(result); } public Swimlane getSwimlaneIn() { return in; } public Swimlane getSwimlaneOut() { return getSwimlaneIn(); } protected UTranslate getTranslate1(StringBounder stringBounder) { final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); final Dimension2D dim1 = tile1.calculateDimension(stringBounder); final double x1 = 0; final double y1 = 0; return new UTranslate(x1, y1); } protected UTranslate getTranslate2(StringBounder stringBounder) { final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); final Dimension2D dim2 = tile2.calculateDimension(stringBounder); final double x2 = dimTotal.getWidth() - dim2.getWidth(); final double y2 = 0; return new UTranslate(x2, y2); } @Override public UTranslate getTranslateFor(Ftile child, StringBounder stringBounder) { if (child == tile1) { return getTranslate1(stringBounder); } if (child == tile2) { return getTranslate2(stringBounder); } throw new UnsupportedOperationException(); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); ug.apply(getTranslate1(stringBounder)).draw(tile1); ug.apply(getTranslate2(stringBounder)).draw(tile2); } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { final FtileGeometry dimTotal = calculateDimensionInternal(stringBounder); if (tile1.calculateDimension(stringBounder).hasPointOut() || tile2.calculateDimension(stringBounder).hasPointOut()) { return dimTotal; } return dimTotal.withoutPointOut(); } @Override protected FtileGeometry calculateDimensionInternalSlow(StringBounder stringBounder) { final FtileGeometry dim1 = tile1.calculateDimension(stringBounder); final FtileGeometry dim2 = tile2.calculateDimension(stringBounder); final double innerMargin = withInner(stringBounder); final double width = dim1.getLeft() + innerMargin + (dim2.getWidth() - dim2.getLeft()); final Dimension2D dim12 = Dimension2DDouble.mergeLR(dim1, dim2); return new FtileGeometry(width, dim12.getHeight(), dim1.getLeft() + innerMargin / 2, 0); } protected double withInner(StringBounder stringBounder) { final FtileGeometry dim1 = tile1.calculateDimension(stringBounder); final FtileGeometry dim2 = tile2.calculateDimension(stringBounder); return (dim1.getWidth() - dim1.getLeft()) + dim2.getLeft(); } // protected double getLeft(StringBounder stringBounder) { // final double left1 = tile1.calculateDimension(stringBounder).translate(getTranslate1(stringBounder)).getLeft(); // final double left2 = tile2.calculateDimension(stringBounder).translate(getTranslate2(stringBounder)).getLeft(); // return (left1 + left2) / 2; // } } ���������������������������������������������������������������������������������������������������������������������������������������FtileIfWithDiamonds.java����������������������������������������������������������������������������0000664�0000000�0000000�00000014651�13400053436�0035555�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond��������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.cond; import java.awt.geom.Dimension2D; import java.util.Arrays; import java.util.Collection; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileIfWithDiamonds extends FtileIfNude { private final double SUPP_WITH = 20; protected final Ftile diamond1; protected final Ftile diamond2; public FtileIfWithDiamonds(Ftile diamond1, Ftile tile1, Ftile tile2, Ftile diamond2, Swimlane in, StringBounder stringBounder) { super(tile1, tile2, in); this.diamond1 = diamond1; this.diamond2 = diamond2; } @Override public Collection getMyChildren() { return Arrays.asList(diamond1, diamond2, tile1, tile2); } public int getYdelta1a(StringBounder stringBounder) { // if (getSwimlanes().size() > 1 && hasTwoBranches(stringBounder)) { if (getSwimlanes().size() > 1) { return 20; } return 10; // return hasTwoBranches(stringBounder) ? 6 : 6; } public int getYdelta1b(StringBounder stringBounder) { // if (getSwimlanes().size() > 1 && hasTwoBranches(stringBounder)) { if (getSwimlanes().size() > 1) { return 10; } return hasTwoBranches(stringBounder) ? 6 : 0; } @Override protected double withInner(StringBounder stringBounder) { final FtileGeometry dim1 = diamond1.calculateDimension(stringBounder); return Math.max(super.withInner(stringBounder), dim1.getWidth() + SUPP_WITH); } @Override protected FtileGeometry calculateDimensionInternalSlow(StringBounder stringBounder) { final FtileGeometry dim1 = diamond1.calculateDimension(stringBounder); final FtileGeometry dim2 = diamond2.calculateDimension(stringBounder); final FtileGeometry dimNude = super.calculateDimensionInternalSlow(stringBounder); final FtileGeometry all = dim1.appendBottom(dimNude).appendBottom(dim2); return all.addDim(0, getYdelta1a(stringBounder) + getYdelta1b(stringBounder)); // final double height = dimNude.getHeight() + dim1.getHeight() + dim2.getHeight() + getYdelta1a(stringBounder) // + getYdelta1b(stringBounder); // return new Dimension2DDouble(width, height); } @Override public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); ug.apply(getTranslateDiamond1(stringBounder)).draw(diamond1); super.drawU(ug); ug.apply(getTranslateDiamond2(stringBounder)).draw(diamond2); } @Override protected UTranslate getTranslate1(StringBounder stringBounder) { final FtileGeometry dimDiamond1 = diamond1.calculateDimension(stringBounder); return super.getTranslate1(stringBounder).compose( new UTranslate(0, dimDiamond1.getHeight() + getYdelta1a(stringBounder))); } @Override protected UTranslate getTranslate2(StringBounder stringBounder) { final FtileGeometry dimDiamond1 = diamond1.calculateDimension(stringBounder); return super.getTranslate2(stringBounder).compose( new UTranslate(0, dimDiamond1.getHeight() + getYdelta1a(stringBounder))); } protected UTranslate getTranslateDiamond1(StringBounder stringBounder) { final double y1 = 0; final FtileGeometry dimTotal = calculateDimensionInternal(stringBounder); final FtileGeometry dimDiamond1 = diamond1.calculateDimension(stringBounder); // final double x1 = getLeft(stringBounder) - dimDiamond1.getWidth() / 2; final double x1 = dimTotal.getLeft() - dimDiamond1.getLeft(); return new UTranslate(x1, y1); } protected UTranslate getTranslateDiamond2(StringBounder stringBounder) { final FtileGeometry dimTotal = calculateDimensionInternal(stringBounder); final FtileGeometry dimDiamond2 = diamond2.calculateDimension(stringBounder); final double y2 = dimTotal.getHeight() - dimDiamond2.getHeight(); final double x2 = dimTotal.getLeft() - dimDiamond2.getWidth() / 2; return new UTranslate(x2, y2); } public double computeMarginNeedForBranchLabe1(StringBounder stringBounder, Dimension2D label1) { final double widthLabelBranch1 = label1.getWidth(); final double dxDiamond = getTranslateDiamond1(stringBounder).getDx(); final double diff = widthLabelBranch1 - dxDiamond; if (diff > 0) { return diff; } return 0; } public double computeMarginNeedForBranchLabe2(StringBounder stringBounder, Dimension2D label2) { final double widthLabelBranch2 = label2.getWidth(); final double theoricalEndNeeded = getTranslateDiamond1(stringBounder).getDx() + diamond1.calculateDimension(stringBounder).getWidth() + widthLabelBranch2; final double diff = theoricalEndNeeded - calculateDimension(stringBounder).getWidth(); if (diff > 0) { return diff; } return 0; } public double computeVerticalMarginNeedForBranchs(StringBounder stringBounder, Dimension2D label1, Dimension2D label2) { final double heightLabels = Math.max(label1.getHeight(), label2.getHeight()); final FtileGeometry dimDiamond1 = diamond1.calculateDimension(stringBounder); final double dyDiamond = dimDiamond1.getHeight(); final double diff = heightLabels - dyDiamond; if (diff > 0) { return diff; } return 0; } } ���������������������������������������������������������������������������������������FtileIfWithLinks.java�������������������������������������������������������������������������������0000664�0000000�0000000�00000034701�13400053436�0035075�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond��������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.cond; import java.awt.geom.Dimension2D; import java.awt.geom.Point2D; import java.util.ArrayList; import java.util.List; import net.sourceforge.plantuml.Direction; import net.sourceforge.plantuml.activitydiagram3.Branch; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractConnection; import net.sourceforge.plantuml.activitydiagram3.ftile.Arrows; import net.sourceforge.plantuml.activitydiagram3.ftile.Connection; import net.sourceforge.plantuml.activitydiagram3.ftile.ConnectionTranslatable; import net.sourceforge.plantuml.activitydiagram3.ftile.Diamond; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; import net.sourceforge.plantuml.activitydiagram3.ftile.MergeStrategy; import net.sourceforge.plantuml.activitydiagram3.ftile.Snake; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.graphic.Rainbow; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UPolygon; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileIfWithLinks extends FtileIfWithDiamonds { private final Rainbow arrowColor; public FtileIfWithLinks(Ftile diamond1, Ftile tile1, Ftile tile2, Ftile diamond2, Swimlane in, Rainbow arrowColor, StringBounder stringBounder) { super(diamond1, tile1, tile2, diamond2, in, stringBounder); this.arrowColor = arrowColor; if (arrowColor.size() == 0) { throw new IllegalArgumentException(); } } public static Rainbow getInColor(Branch branch, Rainbow arrowColor) { if (branch.isEmpty()) { return branch.getFtile().getOutLinkRendering().getRainbow(arrowColor); } final LinkRendering linkIn = branch.getFtile().getInLinkRendering(); final Rainbow color = linkIn == null ? arrowColor : linkIn.getRainbow(); if (color.size() == 0) { return arrowColor; } return color; } class ConnectionHorizontalThenVertical extends AbstractConnection implements ConnectionTranslatable { private final Rainbow color; private final UPolygon usingArrow; public ConnectionHorizontalThenVertical(Ftile tile, Branch branch) { super(diamond1, tile); color = getInColor(branch, arrowColor); if (color.size() == 0) { getInColor(branch, arrowColor); throw new IllegalArgumentException(); } usingArrow = branch.isEmpty() ? null : Arrows.asToDown(); } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Point2D p1 = getP1(stringBounder); final Point2D p2 = getP2(stringBounder); final double x1 = p1.getX(); final double y1 = p1.getY(); final double x2 = p2.getX(); final double y2 = p2.getY(); final Snake snake = new Snake(arrowHorizontalAlignment(), color, usingArrow); snake.addPoint(x1, y1); snake.addPoint(x2, y1); snake.addPoint(x2, y2); ug.draw(snake); } private Point2D getP1(StringBounder stringBounder) { final FtileGeometry dimDiamond1 = diamond1.calculateDimension(stringBounder); final double diamondWidth = dimDiamond1.getWidth(); final double x; if (getFtile2() == tile1) { x = 0; } else if (getFtile2() == tile2) { x = diamondWidth; } else { throw new IllegalStateException(); } final double half = (dimDiamond1.getOutY() - dimDiamond1.getInY()) / 2; return getTranslateDiamond1(stringBounder) .getTranslated(new Point2D.Double(x, dimDiamond1.getInY() + half)); } private Point2D getP2(final StringBounder stringBounder) { return translate(stringBounder).getTranslated(getFtile2().calculateDimension(stringBounder).getPointIn()); } private UTranslate translate(StringBounder stringBounder) { if (getFtile2() == tile1) { return getTranslate1(stringBounder); } if (getFtile2() == tile2) { return getTranslate2(stringBounder); } throw new IllegalStateException(); } public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2) { final StringBounder stringBounder = ug.getStringBounder(); Point2D p1 = getP1(stringBounder); Point2D p2 = getP2(stringBounder); final Direction originalDirection = Direction.leftOrRight(p1, p2); p1 = translate1.getTranslated(p1); p2 = translate2.getTranslated(p2); final Direction newDirection = Direction.leftOrRight(p1, p2); if (originalDirection != newDirection) { final double delta = (originalDirection == Direction.RIGHT ? -1 : 1) * Diamond.diamondHalfSize; final Dimension2D dimDiamond1 = diamond1.calculateDimension(stringBounder); final Snake small = new Snake(arrowHorizontalAlignment(), color); small.addPoint(p1); small.addPoint(p1.getX() + delta, p1.getY()); small.addPoint(p1.getX() + delta, p1.getY() + dimDiamond1.getHeight() * .75); ug.draw(small); p1 = small.getLast(); } final Snake snake = new Snake(arrowHorizontalAlignment(), color, usingArrow); snake.addPoint(p1); snake.addPoint(p2.getX(), p1.getY()); snake.addPoint(p2); snake.goUnmergeable(MergeStrategy.LIMITED); ug.draw(snake); } } class ConnectionVerticalThenHorizontal extends AbstractConnection implements ConnectionTranslatable { private final Rainbow myArrowColor; private final boolean branchEmpty; public ConnectionVerticalThenHorizontal(Ftile tile, Rainbow myArrowColor, boolean branchEmpty) { super(tile, diamond2); this.myArrowColor = myArrowColor == null || myArrowColor.size() == 0 ? arrowColor : myArrowColor; this.branchEmpty = branchEmpty; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final FtileGeometry geo = getFtile1().calculateDimension(stringBounder); if (geo.hasPointOut() == false) { return; } final Point2D p1 = geo.translate(translate(stringBounder)).getPointOut(); final Point2D p2 = getP2(stringBounder); final double x1 = p1.getX(); final double y1 = p1.getY(); final double x2 = p2.getX(); final double y2 = p2.getY(); final UPolygon arrow = x2 > x1 ? Arrows.asToRight() : Arrows.asToLeft(); final Snake snake = new Snake(arrowHorizontalAlignment(), myArrowColor, arrow); if (branchEmpty) { snake.emphasizeDirection(Direction.DOWN); } snake.addPoint(x1, y1); snake.addPoint(x1, y2); snake.addPoint(x2, y2); ug.draw(snake); } private Point2D getP2(StringBounder stringBounder) { final Dimension2D dimDiamond2 = diamond2.calculateDimension(stringBounder); final double diamondWidth = dimDiamond2.getWidth(); final double x; if (getFtile1() == tile1) { x = 0; } else if (getFtile1() == tile2) { x = diamondWidth; } else { throw new IllegalStateException(); } return getTranslateDiamond2(stringBounder) .getTranslated(new Point2D.Double(x, dimDiamond2.getHeight() / 2)); } private UTranslate translate(StringBounder stringBounder) { if (getFtile1() == tile1) { return getTranslate1(stringBounder); } if (getFtile1() == tile2) { return getTranslate2(stringBounder); } throw new IllegalStateException(); } public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2) { final StringBounder stringBounder = ug.getStringBounder(); final FtileGeometry geo = getFtile1().calculateDimension(stringBounder); if (geo.hasPointOut() == false) { return; } final Point2D p2 = getP2(stringBounder); final Point2D p1 = geo.translate(translate(stringBounder)).getPointOut(); final Direction originalDirection = Direction.leftOrRight(p1, p2); final double x1 = p1.getX(); final double x2 = p2.getX(); final Point2D mp1a = translate1.getTranslated(p1); final Point2D mp2b = translate2.getTranslated(p2); final Direction newDirection = Direction.leftOrRight(mp1a, mp2b); final UPolygon arrow = x2 > x1 ? Arrows.asToRight() : Arrows.asToLeft(); if (originalDirection == newDirection) { final double delta = (x2 > x1 ? -1 : 1) * 1.5 * Diamond.diamondHalfSize; final Point2D mp2bc = new Point2D.Double(mp2b.getX() + delta, mp2b.getY()); final Snake snake = new Snake(arrowHorizontalAlignment(), myArrowColor); final double middle = (mp1a.getY() + mp2b.getY()) / 2.0; snake.addPoint(mp1a); snake.addPoint(mp1a.getX(), middle); snake.addPoint(mp2bc.getX(), middle); snake.addPoint(mp2bc); snake.goUnmergeable(MergeStrategy.LIMITED); ug.draw(snake); final Snake small = new Snake(arrowHorizontalAlignment(), myArrowColor, arrow); small.addPoint(mp2bc); small.addPoint(mp2bc.getX(), mp2b.getY()); small.addPoint(mp2b); small.goUnmergeable(MergeStrategy.LIMITED); ug.draw(small); } else { final double delta = (x2 > x1 ? -1 : 1) * 1.5 * Diamond.diamondHalfSize; final Point2D mp2bb = new Point2D.Double(mp2b.getX() + delta, mp2b.getY() - 1.5 * Diamond.diamondHalfSize); final Snake snake = new Snake(arrowHorizontalAlignment(), myArrowColor); snake.addPoint(mp1a); snake.addPoint(mp1a.getX(), mp2bb.getY()); snake.addPoint(mp2bb); snake.goUnmergeable(MergeStrategy.LIMITED); ug.draw(snake); final Snake small = new Snake(arrowHorizontalAlignment(), myArrowColor, arrow); small.addPoint(mp2bb); small.addPoint(mp2bb.getX(), mp2b.getY()); small.addPoint(mp2b); small.goUnmergeable(MergeStrategy.LIMITED); ug.draw(small); } } } class ConnectionVerticalThenHorizontalDirect extends AbstractConnection implements ConnectionTranslatable { private final Rainbow myArrowColor; private final boolean branchEmpty; public ConnectionVerticalThenHorizontalDirect(Ftile tile, Rainbow myArrowColor, boolean branchEmpty) { super(tile, diamond2); this.myArrowColor = myArrowColor == null || myArrowColor.size() == 0 ? arrowColor : myArrowColor; this.branchEmpty = branchEmpty; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final FtileGeometry dimTotal = calculateDimensionInternal(stringBounder); final FtileGeometry geo = getFtile1().calculateDimension(stringBounder); if (geo.hasPointOut() == false) { return; } final Point2D p1 = geo.translate(translate(stringBounder)).getPointOut(); final Point2D p2 = new Point2D.Double(dimTotal.getLeft(), dimTotal.getHeight()); final double x1 = p1.getX(); final double y1 = p1.getY(); final double x2 = p2.getX(); final double y2 = p2.getY(); final Snake snake = new Snake(arrowHorizontalAlignment(), myArrowColor); if (branchEmpty) { snake.emphasizeDirection(Direction.DOWN); } snake.addPoint(x1, y1); snake.addPoint(x1, y2); snake.addPoint(x2, y2); snake.addPoint(x2, dimTotal.getHeight()); ug.draw(snake); } public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2) { final StringBounder stringBounder = ug.getStringBounder(); final FtileGeometry dimTotal = calculateDimensionInternal(stringBounder); final FtileGeometry geo = getFtile1().calculateDimension(stringBounder); if (geo.hasPointOut() == false) { return; } final Point2D p1 = geo.translate(translate(stringBounder)).getPointOut(); final Point2D p2 = new Point2D.Double(dimTotal.getLeft(), dimTotal.getHeight() - Diamond.diamondHalfSize); final Point2D mp1a = translate1.getTranslated(p1); final Point2D mp2b = translate2.getTranslated(p2); final Snake snake = new Snake(arrowHorizontalAlignment(), myArrowColor); // snake.emphasizeDirection(Direction.DOWN); final double x1 = mp1a.getX(); final double x2 = mp2b.getX(); final double y2 = mp2b.getY(); snake.addPoint(mp1a); snake.addPoint(x1, y2); snake.addPoint(mp2b); snake.addPoint(x2, dimTotal.getHeight()); snake.goUnmergeable(MergeStrategy.LIMITED); ug.draw(snake); } private UTranslate translate(StringBounder stringBounder) { if (getFtile1() == tile1) { return getTranslate1(stringBounder); } if (getFtile1() == tile2) { return getTranslate2(stringBounder); } throw new IllegalStateException(); } } public Ftile addLinks(Branch branch1, Branch branch2, StringBounder stringBounder) { final List conns = new ArrayList(); conns.add(new ConnectionHorizontalThenVertical(tile1, branch1)); conns.add(new ConnectionHorizontalThenVertical(tile2, branch2)); final boolean hasPointOut1 = tile1.calculateDimension(stringBounder).hasPointOut(); final boolean hasPointOut2 = tile2.calculateDimension(stringBounder).hasPointOut(); if (hasPointOut1 && hasPointOut2) { conns.add(new ConnectionVerticalThenHorizontal(tile1, branch1.getInlinkRenderingColorAndStyle(), branch1 .isEmpty())); conns.add(new ConnectionVerticalThenHorizontal(tile2, branch2.getInlinkRenderingColorAndStyle(), branch2 .isEmpty())); } else if (hasPointOut1 && hasPointOut2 == false) { conns.add(new ConnectionVerticalThenHorizontalDirect(tile1, branch1.getInlinkRenderingColorAndStyle(), branch1.isEmpty())); } else if (hasPointOut1 == false && hasPointOut2) { conns.add(new ConnectionVerticalThenHorizontalDirect(tile2, branch2.getInlinkRenderingColorAndStyle(), branch2.isEmpty())); } return FtileUtils.addConnection(this, conns); } } ���������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/�����������������0000775�0000000�0000000�00000000000�13400053436�0030177�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileBlackBlock.java��������������������������������������������������������������������������������0000664�0000000�0000000�00000007227�13400053436�0033746�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vertical; import java.awt.geom.Dimension2D; import java.util.Collections; import java.util.Set; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.TextBlockUtils; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.URectangle; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileBlackBlock extends AbstractFtile { private final double labelMargin = 5; private double width; private double height; private TextBlock label = TextBlockUtils.empty(0, 0); private final HtmlColor colorBar; private final Swimlane swimlane; public FtileBlackBlock(ISkinParam skinParam, HtmlColor colorBar, Swimlane swimlane) { super(skinParam); this.colorBar = colorBar; this.swimlane = swimlane; } public void setBlackBlockDimension(double width, double height) { this.height = height; this.width = width; } public void setLabel(TextBlock label) { if (label == null) { throw new IllegalArgumentException(); } this.label = label; } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { double supp = label.calculateDimension(stringBounder).getWidth(); if (supp > 0) { supp += labelMargin; } return new FtileGeometry(width + supp, height, width / 2, 0, height); } public void drawU(UGraphic ug) { final URectangle rect = new URectangle(width, height, 5, 5); if (skinParam().shadowing(null)) { rect.setDeltaShadow(3); } ug.apply(new UChangeColor(colorBar)).apply(new UChangeBackColor(colorBar)).draw(rect); final Dimension2D dimLabel = label.calculateDimension(ug.getStringBounder()); label.drawU(ug.apply(new UTranslate(width + labelMargin, -dimLabel.getHeight() / 2))); } public Set getSwimlanes() { return Collections.singleton(swimlane); } public Swimlane getSwimlaneIn() { return swimlane; } public Swimlane getSwimlaneOut() { return swimlane; } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileBox.java����0000664�0000000�0000000�00000013516�13400053436�0032564�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vertical; import java.awt.geom.Dimension2D; import java.util.Collection; import java.util.Collections; import java.util.Set; import net.sourceforge.plantuml.ColorParam; import net.sourceforge.plantuml.Dimension2DDouble; import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.LineBreakStrategy; import net.sourceforge.plantuml.SkinParamUtils; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.BoxStyle; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.creole.CreoleMode; import net.sourceforge.plantuml.creole.CreoleParser; import net.sourceforge.plantuml.creole.Sheet; import net.sourceforge.plantuml.creole.SheetBlock1; import net.sourceforge.plantuml.creole.SheetBlock2; import net.sourceforge.plantuml.creole.Stencil; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.HtmlColorAndStyle; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.UDrawable; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UFont; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UStroke; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileBox extends AbstractFtile { private static final int MARGIN = 10; private final TextBlock tb; private final LinkRendering inRenreding; private final Swimlane swimlane; private final BoxStyle style; // private final ISkinParam skinParam; final public LinkRendering getInLinkRendering() { return inRenreding; } public Set getSwimlanes() { if (swimlane == null) { return Collections.emptySet(); } return Collections.singleton(swimlane); } public Swimlane getSwimlaneIn() { return swimlane; } public Swimlane getSwimlaneOut() { return swimlane; } class MyStencil implements Stencil { public double getStartingX(StringBounder stringBounder, double y) { return -MARGIN; } public double getEndingX(StringBounder stringBounder, double y) { final Dimension2D dim = calculateDimension(stringBounder); return dim.getWidth() - MARGIN; } } public FtileBox(ISkinParam skinParam, Display label, UFont font, Swimlane swimlane, BoxStyle style) { super(skinParam); this.style = style; // this.skinParam = skinParam; this.swimlane = swimlane; this.inRenreding = new LinkRendering(HtmlColorAndStyle.build(skinParam)); final FontConfiguration fc = new FontConfiguration(skinParam, FontParam.ACTIVITY, null); final Sheet sheet = new CreoleParser(fc, skinParam.getDefaultTextAlignment(HorizontalAlignment.LEFT), skinParam, CreoleMode.FULL).createSheet(label); this.tb = new SheetBlock2(new SheetBlock1(sheet, skinParam.wrapWidth(), skinParam.getPadding()), new MyStencil(), new UStroke(1)); this.print = label.toString(); } final private String print; @Override public String toString() { return print; } public void drawU(UGraphic ug) { final Dimension2D dimTotal = calculateDimension(ug.getStringBounder()); final double widthTotal = dimTotal.getWidth(); final double heightTotal = dimTotal.getHeight(); final UDrawable rect = style.getUDrawable(widthTotal, heightTotal, skinParam().shadowing(null)); final HtmlColor borderColor = SkinParamUtils.getColor(skinParam(), ColorParam.activityBorder, null); final HtmlColor backColor = SkinParamUtils.getColor(skinParam(), ColorParam.activityBackground, null); ug = ug.apply(new UChangeColor(borderColor)).apply(new UChangeBackColor(backColor)).apply(getThickness()); rect.drawU(ug); tb.drawU(ug.apply(new UTranslate(MARGIN, MARGIN))); } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { final Dimension2D dim = tb.calculateDimension(stringBounder); return new FtileGeometry(Dimension2DDouble.delta(dim, 2 * MARGIN, 2 * MARGIN), dim.getWidth() / 2 + MARGIN, 0, dim.getHeight() + 2 * MARGIN); } public Collection getMyChildren() { return Collections.emptyList(); } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileCircleEnd.java���������������������������������������������������������������������������������0000664�0000000�0000000�00000007560�13400053436�0033607�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vertical; import java.util.Collection; import java.util.Collections; import java.util.Set; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.HtmlColorUtils; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UEllipse; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.ULine; import net.sourceforge.plantuml.ugraphic.UStroke; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileCircleEnd extends AbstractFtile { private static final int SIZE = 20; private final HtmlColor backColor; private final Swimlane swimlane; @Override public Collection getMyChildren() { return Collections.emptyList(); } public FtileCircleEnd(ISkinParam skinParam, HtmlColor backColor, Swimlane swimlane) { super(skinParam); this.backColor = backColor; this.swimlane = swimlane; } public Set getSwimlanes() { if (swimlane == null) { return Collections.emptySet(); } return Collections.singleton(swimlane); } public Swimlane getSwimlaneIn() { return swimlane; } public Swimlane getSwimlaneOut() { return swimlane; } public void drawU(UGraphic ug) { double xTheoricalPosition = 0; double yTheoricalPosition = 0; xTheoricalPosition = Math.round(xTheoricalPosition); yTheoricalPosition = Math.round(yTheoricalPosition); final UEllipse circle = new UEllipse(SIZE, SIZE); if (skinParam().shadowing(null)) { circle.setDeltaShadow(3); } ug = ug.apply(new UChangeColor(backColor)); final double thickness = 2.5; ug.apply(new UChangeBackColor(HtmlColorUtils.WHITE)).apply(new UStroke(1.5)) .apply(new UTranslate(xTheoricalPosition, yTheoricalPosition)).draw(circle); final double size2 = (SIZE - thickness) / Math.sqrt(2); final double delta = (SIZE - size2) / 2; ug = ug.apply(new UStroke(thickness)); ug.apply(new UTranslate(delta, delta)).draw(new ULine(size2, size2)); ug.apply(new UTranslate(delta, SIZE - delta)).draw(new ULine(size2, -size2)); } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { return new FtileGeometry(SIZE, SIZE, SIZE / 2, 0); } } ������������������������������������������������������������������������������������������������������������������������������������������������FtileCircleSpot.java��������������������������������������������������������������������������������0000664�0000000�0000000�00000007641�13400053436�0034026�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vertical; import java.util.Collection; import java.util.Collections; import java.util.Set; import net.sourceforge.plantuml.ColorParam; import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.SkinParamUtils; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UCenteredCharacter; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UEllipse; import net.sourceforge.plantuml.ugraphic.UFont; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileCircleSpot extends AbstractFtile { private static final int SIZE = 20; private final Swimlane swimlane; private final String spot; private final FontConfiguration fc; public FtileCircleSpot(ISkinParam skinParam, Swimlane swimlane, String spot, UFont font) { super(skinParam); this.spot = spot; this.swimlane = swimlane; // this.font = font; this.fc = new FontConfiguration(skinParam, FontParam.ACTIVITY, null); } @Override public Collection getMyChildren() { return Collections.emptyList(); } public Set getSwimlanes() { if (swimlane == null) { return Collections.emptySet(); } return Collections.singleton(swimlane); } public Swimlane getSwimlaneIn() { return swimlane; } public Swimlane getSwimlaneOut() { return swimlane; } public void drawU(UGraphic ug) { final HtmlColor borderColor = SkinParamUtils.getColor(skinParam(), ColorParam.activityBorder, null); final HtmlColor backColor = SkinParamUtils.getColor(skinParam(), ColorParam.activityBackground, null); final UEllipse circle = new UEllipse(SIZE, SIZE); if (skinParam().shadowing(null)) { circle.setDeltaShadow(3); } ug.apply(new UChangeColor(borderColor)).apply(new UChangeBackColor(backColor)).apply(getThickness()) .draw(circle); ug.apply(new UChangeColor(fc.getColor())).apply(new UTranslate(SIZE / 2, SIZE / 2)) .draw(new UCenteredCharacter(spot.charAt(0), fc.getFont())); } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { return new FtileGeometry(SIZE, SIZE, SIZE / 2, 0, SIZE); } } �����������������������������������������������������������������������������������������������FtileCircleStart.java�������������������������������������������������������������������������������0000664�0000000�0000000�00000006074�13400053436�0034175�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vertical; import java.util.Collection; import java.util.Collections; import java.util.Set; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UEllipse; import net.sourceforge.plantuml.ugraphic.UGraphic; public class FtileCircleStart extends AbstractFtile { private static final int SIZE = 20; private final HtmlColor backColor; private final Swimlane swimlane; public FtileCircleStart(ISkinParam skinParam, HtmlColor backColor, Swimlane swimlane) { super(skinParam); this.backColor = backColor; this.swimlane = swimlane; } @Override public Collection getMyChildren() { return Collections.emptyList(); } public Set getSwimlanes() { if (swimlane == null) { return Collections.emptySet(); } return Collections.singleton(swimlane); } public Swimlane getSwimlaneIn() { return swimlane; } public Swimlane getSwimlaneOut() { return swimlane; } public void drawU(UGraphic ug) { final UEllipse circle = new UEllipse(SIZE, SIZE); if (skinParam().shadowing(null)) { circle.setDeltaShadow(3); } ug.apply(new UChangeColor(null)).apply(new UChangeBackColor(backColor)).draw(circle); } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { return new FtileGeometry(SIZE, SIZE, SIZE / 2, 0, SIZE); } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileCircleStop.java��������������������������������������������������������������������������������0000664�0000000�0000000�00000007323�13400053436�0034023�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vertical; import java.util.Collection; import java.util.Collections; import java.util.Set; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UEllipse; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileCircleStop extends AbstractFtile { private static final int SIZE = 20; private final HtmlColor backColor; private final Swimlane swimlane; @Override public Collection getMyChildren() { return Collections.emptyList(); } public FtileCircleStop(ISkinParam skinParam, HtmlColor backColor, Swimlane swimlane) { super(skinParam); this.backColor = backColor; this.swimlane = swimlane; } public Set getSwimlanes() { if (swimlane == null) { return Collections.emptySet(); } return Collections.singleton(swimlane); } public Swimlane getSwimlaneIn() { return swimlane; } public Swimlane getSwimlaneOut() { return swimlane; } public void drawU(UGraphic ug) { double xTheoricalPosition = 0; double yTheoricalPosition = 0; xTheoricalPosition = Math.round(xTheoricalPosition); yTheoricalPosition = Math.round(yTheoricalPosition); final UEllipse circle = new UEllipse(SIZE, SIZE); if (skinParam().shadowing(null)) { circle.setDeltaShadow(3); } ug.apply(new UChangeColor(backColor)).apply(new UChangeBackColor(null)) .apply(new UTranslate(xTheoricalPosition, yTheoricalPosition)).draw(circle); final double delta = 4; final UEllipse circleSmall = new UEllipse(SIZE - delta * 2, SIZE - delta * 2); if (skinParam().shadowing(null)) { circleSmall.setDeltaShadow(3); } ug.apply(new UChangeColor(null)).apply(new UChangeBackColor(backColor)) .apply(new UTranslate(xTheoricalPosition + delta + .5, yTheoricalPosition + delta + .5)) .draw(circleSmall); } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { return new FtileGeometry(SIZE, SIZE, SIZE / 2, 0); } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileDecorate.java����������������������������������������������������������������������������������0000664�0000000�0000000�00000007432�13400053436�0033503�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vertical; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Set; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.ftile.Connection; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.activitydiagram3.ftile.WeldingPoint; import net.sourceforge.plantuml.graphic.AbstractTextBlock; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UStroke; import net.sourceforge.plantuml.ugraphic.UTranslate; public abstract class FtileDecorate extends AbstractTextBlock implements Ftile { final private Ftile ftile; public FtileDecorate(final Ftile ftile) { this.ftile = ftile; } @Override public String toString() { return "" + getClass() + " " + ftile; } public LinkRendering getOutLinkRendering() { return ftile.getOutLinkRendering(); } public LinkRendering getInLinkRendering() { return ftile.getInLinkRendering(); } public void drawU(UGraphic ug) { ftile.drawU(ug); } public FtileGeometry calculateDimension(StringBounder stringBounder) { return ftile.calculateDimension(stringBounder); } public Collection getInnerConnections() { return ftile.getInnerConnections(); } public Set getSwimlanes() { return ftile.getSwimlanes(); } public Swimlane getSwimlaneIn() { return ftile.getSwimlaneIn(); } public Swimlane getSwimlaneOut() { return ftile.getSwimlaneOut(); } public ISkinParam skinParam() { return ftile.skinParam(); } public UStroke getThickness() { return ftile.getThickness(); } protected final Ftile getFtileDelegated() { return ftile; } public List getWeldingPoints() { return ftile.getWeldingPoints(); } public UTranslate getTranslateFor(Ftile child, StringBounder stringBounder) { if (child == ftile) { return new UTranslate(); } return ftile.getTranslateFor(child, stringBounder); } public Collection getMyChildren() { if (this == ftile) { throw new IllegalStateException(); } return Collections.singleton(ftile); } public HorizontalAlignment arrowHorizontalAlignment() { return ftile.arrowHorizontalAlignment(); } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileDecorateIn.java��������������������������������������������������������������������������������0000664�0000000�0000000�00000003450�13400053436�0033766�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vertical; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; public class FtileDecorateIn extends FtileDecorate { final private LinkRendering linkRendering; public FtileDecorateIn(final Ftile ftile, final LinkRendering linkRendering) { super(ftile); this.linkRendering = linkRendering; if (linkRendering == null) { throw new IllegalArgumentException(); } } public LinkRendering getInLinkRendering() { return linkRendering; } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileDecorateOut.java�������������������������������������������������������������������������������0000664�0000000�0000000�00000003453�13400053436�0034172�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vertical; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; public class FtileDecorateOut extends FtileDecorate { final private LinkRendering linkRendering; public FtileDecorateOut(final Ftile ftile, final LinkRendering linkRendering) { super(ftile); if (linkRendering == null) { throw new IllegalArgumentException(); } this.linkRendering = linkRendering; } public LinkRendering getOutLinkRendering() { return linkRendering; } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileDecoratePointOut.java��������������������������������������������������������������������������0000664�0000000�0000000�00000004037�13400053436�0035203�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vertical; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.graphic.StringBounder; public class FtileDecoratePointOut extends FtileDecorate { final private double dx; final private double dy; public FtileDecoratePointOut(final Ftile ftile, final double dx, double dy) { super(ftile); this.dx = dx; if (dx != 0) { throw new IllegalArgumentException(); } this.dy = dy; } @Override public FtileGeometry calculateDimension(StringBounder stringBounder) { final FtileGeometry geo = super.calculateDimension(stringBounder); return new FtileGeometry(geo.getWidth(), geo.getHeight(), geo.getLeft(), geo.getInY(), geo.getOutY() + dy); } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamond.java0000664�0000000�0000000�00000014304�13400053436�0033403�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vertical; import java.awt.geom.Dimension2D; import java.util.Collection; import java.util.Collections; import java.util.Set; import net.sourceforge.plantuml.Dimension2DDouble; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Diamond; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.TextBlockUtils; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileDiamond extends AbstractFtile { private final HtmlColor backColor; private final HtmlColor borderColor; private final Swimlane swimlane; private final TextBlock north; private final TextBlock south; private final TextBlock west1; private final TextBlock east1; public FtileDiamond(ISkinParam skinParam, HtmlColor backColor, HtmlColor borderColor, Swimlane swimlane) { this(skinParam, backColor, borderColor, swimlane, TextBlockUtils.empty(0, 0), TextBlockUtils.empty(0, 0), TextBlockUtils.empty(0, 0), TextBlockUtils.empty(0, 0)); } @Override public Collection getMyChildren() { return Collections.emptyList(); } public FtileDiamond withNorth(TextBlock north) { return new FtileDiamond(skinParam(), backColor, borderColor, swimlane, north, south, east1, west1); } public FtileDiamond withWest(TextBlock west1) { if (west1 == null) { return this; } return new FtileDiamond(skinParam(), backColor, borderColor, swimlane, north, south, east1, west1); } public FtileDiamond withEast(TextBlock east1) { if (east1 == null) { return this; } return new FtileDiamond(skinParam(), backColor, borderColor, swimlane, north, south, east1, west1); } public FtileDiamond withSouth(TextBlock south) { return new FtileDiamond(skinParam(), backColor, borderColor, swimlane, north, south, east1, west1); } private FtileDiamond(ISkinParam skinParam, HtmlColor backColor, HtmlColor borderColor, Swimlane swimlane, TextBlock north, TextBlock south, TextBlock east1, TextBlock west1) { super(skinParam); this.backColor = backColor; this.swimlane = swimlane; this.borderColor = borderColor; this.north = north; this.west1 = west1; this.east1 = east1; this.south = south; } public Set getSwimlanes() { if (swimlane == null) { return Collections.emptySet(); } return Collections.singleton(swimlane); } public Swimlane getSwimlaneIn() { return swimlane; } public Swimlane getSwimlaneOut() { return swimlane; } public void drawU(UGraphic ug) { final double suppY1 = north.calculateDimension(ug.getStringBounder()).getHeight(); ug = ug.apply(new UTranslate(0, suppY1)); ug.apply(new UChangeColor(borderColor)).apply(getThickness()).apply(new UChangeBackColor(backColor)) .draw(Diamond.asPolygon(skinParam().shadowing(null))); // final Dimension2D dimNorth = north.calculateDimension(ug.getStringBounder()); north.drawU(ug.apply(new UTranslate(Diamond.diamondHalfSize * 1.5, -suppY1))); // final Dimension2D dimSouth = south.calculateDimension(ug.getStringBounder()); south.drawU(ug.apply(new UTranslate(Diamond.diamondHalfSize * 1.5, 2 * Diamond.diamondHalfSize))); // south.drawU(ug.apply(new UTranslate(-(dimSouth.getWidth() - 2 * Diamond.diamondHalfSize) / 2, // 2 * Diamond.diamondHalfSize))); final Dimension2D dimWeat1 = west1.calculateDimension(ug.getStringBounder()); west1.drawU(ug.apply(new UTranslate(-dimWeat1.getWidth(), -dimWeat1.getHeight() + Diamond.diamondHalfSize))); final Dimension2D dimEast1 = east1.calculateDimension(ug.getStringBounder()); east1.drawU(ug.apply(new UTranslate(Diamond.diamondHalfSize * 2, -dimEast1.getHeight() + Diamond.diamondHalfSize))); } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { final double suppY1 = north.calculateDimension(stringBounder).getHeight(); final Dimension2D dim = new Dimension2DDouble(Diamond.diamondHalfSize * 2, Diamond.diamondHalfSize * 2 + suppY1); return new FtileGeometry(dim, dim.getWidth() / 2, suppY1, dim.getHeight()); } public Ftile withWestAndEast(TextBlock tb1, TextBlock tb2) { return withWest(tb1).withEast(tb2); } public double getEastLabelWidth(StringBounder stringBounder) { final Dimension2D dimEast = east1.calculateDimension(stringBounder); return dimEast.getWidth(); } public double getSouthLabelHeight(StringBounder stringBounder) { final Dimension2D dimSouth = south.calculateDimension(stringBounder); return dimSouth.getHeight(); } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileDiamondFoo1.java�������������������������������������������������������������������������������0000664�0000000�0000000�00000013121�13400053436�0034045�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vertical; import java.awt.geom.Dimension2D; import java.util.Collections; import java.util.Set; import net.sourceforge.plantuml.Dimension2DDouble; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Diamond; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.TextBlockUtils; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileDiamondFoo1 extends AbstractFtile { private final HtmlColor backColor; private final HtmlColor borderColor; private final Swimlane swimlane; private final TextBlock label; private final TextBlock west; private final TextBlock east; private final TextBlock north; public FtileDiamondFoo1(ISkinParam skinParam, HtmlColor backColor, HtmlColor borderColor, Swimlane swimlane, TextBlock label) { this(skinParam, backColor, borderColor, swimlane, label, TextBlockUtils.empty(0, 0), TextBlockUtils.empty(0, 0), TextBlockUtils.empty(0, 0)); } public FtileDiamondFoo1 withNorth(TextBlock north) { return new FtileDiamondFoo1(skinParam(), backColor, borderColor, swimlane, label, north, west, east); } public FtileDiamondFoo1 withWest(TextBlock west) { return new FtileDiamondFoo1(skinParam(), backColor, borderColor, swimlane, label, north, west, east); } public FtileDiamondFoo1 withEast(TextBlock east) { return new FtileDiamondFoo1(skinParam(), backColor, borderColor, swimlane, label, north, west, east); } private FtileDiamondFoo1(ISkinParam skinParam, HtmlColor backColor, HtmlColor borderColor, Swimlane swimlane, TextBlock label, TextBlock north, TextBlock west, TextBlock east) { super(skinParam); this.backColor = backColor; this.swimlane = swimlane; this.borderColor = borderColor; this.label = label; this.west = west; this.east = east; this.north = north; } public Set getSwimlanes() { if (swimlane == null) { return Collections.emptySet(); } return Collections.singleton(swimlane); } public Swimlane getSwimlaneIn() { return swimlane; } public Swimlane getSwimlaneOut() { return swimlane; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Dimension2D dimLabel = label.calculateDimension(stringBounder); final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); ug = ug.apply(new UChangeColor(borderColor)).apply(getThickness()).apply(new UChangeBackColor(backColor)); ug.draw(Diamond.asPolygonFoo1(skinParam().shadowing(null), dimTotal.getWidth(), dimTotal.getHeight())); north.drawU(ug.apply(new UTranslate(4 + dimTotal.getWidth() / 2, dimTotal.getHeight()))); final double lx = (dimTotal.getWidth() - dimLabel.getWidth()) / 2; final double ly = (dimTotal.getHeight() - dimLabel.getHeight()) / 2; label.drawU(ug.apply(new UTranslate(lx, ly))); final Dimension2D dimWeat = west.calculateDimension(stringBounder); west.drawU(ug.apply(new UTranslate(-dimWeat.getWidth(), -dimWeat.getHeight() + Diamond.diamondHalfSize))); final Dimension2D dimEast = east.calculateDimension(stringBounder); east.drawU(ug.apply(new UTranslate(dimTotal.getWidth(), -dimEast.getHeight() + Diamond.diamondHalfSize))); } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { final Dimension2D dim = calculateDimensionInternal(stringBounder); return new FtileGeometry(dim, dim.getWidth() / 2, 0, dim.getHeight()); } private Dimension2D calculateDimensionInternal(StringBounder stringBounder) { final Dimension2D dimLabel = label.calculateDimension(stringBounder); if (dimLabel.getWidth() == 0 || dimLabel.getHeight() == 0) { return new Dimension2DDouble(Diamond.diamondHalfSize * 2, Diamond.diamondHalfSize * 2); } Dimension2D result = dimLabel; result = Dimension2DDouble.delta(result, Diamond.diamondHalfSize * 2, Diamond.diamondHalfSize * 2); return result; } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileDiamondInside.java�����������������������������������������������������������������������������0000664�0000000�0000000�00000016007�13400053436�0034462�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vertical; import java.awt.geom.Dimension2D; import java.util.Collection; import java.util.Collections; import java.util.Set; import net.sourceforge.plantuml.Dimension2DDouble; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Diamond; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.TextBlockUtils; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileDiamondInside extends AbstractFtile { private final HtmlColor backColor; private final HtmlColor borderColor; private final Swimlane swimlane; private final TextBlock label; private final TextBlock west; private final TextBlock east; private final TextBlock north; private final TextBlock south; @Override public Collection getMyChildren() { return Collections.emptyList(); } public FtileDiamondInside(ISkinParam skinParam, HtmlColor backColor, HtmlColor borderColor, Swimlane swimlane, TextBlock label) { this(skinParam, backColor, borderColor, swimlane, label, TextBlockUtils.empty(0, 0), TextBlockUtils.empty(0, 0), TextBlockUtils.empty(0, 0), TextBlockUtils.empty(0, 0)); } public FtileDiamondInside withNorth(TextBlock north) { return new FtileDiamondInside(skinParam(), backColor, borderColor, swimlane, label, north, south, west, east); } public FtileDiamondInside withWest(TextBlock west) { return new FtileDiamondInside(skinParam(), backColor, borderColor, swimlane, label, north, south, west, east); } public FtileDiamondInside withEast(TextBlock east) { return new FtileDiamondInside(skinParam(), backColor, borderColor, swimlane, label, north, south, west, east); } public Ftile withWestAndEast(TextBlock tb1, TextBlock tb2) { return withWest(tb1).withEast(tb2); } public FtileDiamondInside withSouth(TextBlock south) { return new FtileDiamondInside(skinParam(), backColor, borderColor, swimlane, label, north, south, west, east); } private FtileDiamondInside(ISkinParam skinParam, HtmlColor backColor, HtmlColor borderColor, Swimlane swimlane, TextBlock label, TextBlock north, TextBlock south, TextBlock west, TextBlock east) { super(skinParam); this.backColor = backColor; this.swimlane = swimlane; this.borderColor = borderColor; this.label = label; this.west = west; this.east = east; this.north = north; this.south = south; } public Set getSwimlanes() { if (swimlane == null) { return Collections.emptySet(); } return Collections.singleton(swimlane); } public Swimlane getSwimlaneIn() { return swimlane; } public Swimlane getSwimlaneOut() { return swimlane; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Dimension2D dimLabel = label.calculateDimension(stringBounder); final Dimension2D dimTotal = calculateDimensionAlone(stringBounder); ug = ug.apply(new UChangeColor(borderColor)).apply(getThickness()).apply(new UChangeBackColor(backColor)); ug.draw(Diamond.asPolygon(skinParam().shadowing(null), dimTotal.getWidth(), dimTotal.getHeight())); north.drawU(ug.apply(new UTranslate(4 + dimTotal.getWidth() / 2, dimTotal.getHeight()))); south.drawU(ug.apply(new UTranslate(4 + dimTotal.getWidth() / 2, dimTotal.getHeight()))); final double lx = (dimTotal.getWidth() - dimLabel.getWidth()) / 2; final double ly = (dimTotal.getHeight() - dimLabel.getHeight()) / 2; label.drawU(ug.apply(new UTranslate(lx, ly))); final Dimension2D dimWest = west.calculateDimension(stringBounder); west.drawU(ug.apply(new UTranslate(-dimWest.getWidth(), -dimWest.getHeight() + dimTotal.getHeight() / 2))); final Dimension2D dimEast = east.calculateDimension(stringBounder); east.drawU(ug.apply(new UTranslate(dimTotal.getWidth(), -dimEast.getHeight() + dimTotal.getHeight() / 2))); } private FtileGeometry calculateDimensionAlone(StringBounder stringBounder) { final Dimension2D dimLabel = label.calculateDimension(stringBounder); final Dimension2D dim; if (dimLabel.getWidth() == 0 || dimLabel.getHeight() == 0) { dim = new Dimension2DDouble(Diamond.diamondHalfSize * 2, Diamond.diamondHalfSize * 2); } else { dim = Dimension2DDouble.delta( Dimension2DDouble.atLeast(dimLabel, Diamond.diamondHalfSize * 2, Diamond.diamondHalfSize * 2), Diamond.diamondHalfSize * 2, 0); } return new FtileGeometry(dim, dim.getWidth() / 2, 0, dim.getHeight()); } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { final FtileGeometry dimDiamonAlone = calculateDimensionAlone(stringBounder); final Dimension2D dimWest = west.calculateDimension(stringBounder); final Dimension2D dimEast = east.calculateDimension(stringBounder); final double northHeight = north.calculateDimension(stringBounder).getHeight(); return dimDiamonAlone.incHeight(northHeight); // return dimDiamonAlone.incHeight(northHeight).addMarginX(dimWest.getWidth(), dimEast.getWidth()); } public double getEastLabelWidth(StringBounder stringBounder) { final Dimension2D dimEast = east.calculateDimension(stringBounder); return dimEast.getWidth(); } public double getSouthLabelHeight(StringBounder stringBounder) { final Dimension2D dimSouth = south.calculateDimension(stringBounder); return dimSouth.getHeight(); } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileDiamondInside2.java����������������������������������������������������������������������������0000664�0000000�0000000�00000014602�13400053436�0034543�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vertical; import java.awt.geom.Dimension2D; import java.util.Collections; import java.util.Set; import net.sourceforge.plantuml.Dimension2DDouble; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Diamond; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.TextBlockUtils; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileDiamondInside2 extends AbstractFtile { private final HtmlColor backColor; private final HtmlColor borderColor; private final Swimlane swimlane; private final TextBlock label; private final TextBlock west; private final TextBlock east; private final TextBlock north; private final TextBlock south; public FtileDiamondInside2(ISkinParam skinParam, HtmlColor backColor, HtmlColor borderColor, Swimlane swimlane, TextBlock label) { this(skinParam, backColor, borderColor, swimlane, label, TextBlockUtils.empty(0, 0), TextBlockUtils.empty(0, 0), TextBlockUtils.empty(0, 0), TextBlockUtils.empty(0, 0)); } public FtileDiamondInside2 withNorth(TextBlock north) { return new FtileDiamondInside2(skinParam(), backColor, borderColor, swimlane, label, north, south, west, east); } public FtileDiamondInside2 withWest(TextBlock west) { return new FtileDiamondInside2(skinParam(), backColor, borderColor, swimlane, label, north, south, west, east); } public FtileDiamondInside2 withEast(TextBlock east) { return new FtileDiamondInside2(skinParam(), backColor, borderColor, swimlane, label, north, south, west, east); } public FtileDiamondInside2 withSouth(TextBlock south) { return new FtileDiamondInside2(skinParam(), backColor, borderColor, swimlane, label, north, south, west, east); } private FtileDiamondInside2(ISkinParam skinParam, HtmlColor backColor, HtmlColor borderColor, Swimlane swimlane, TextBlock label, TextBlock north, TextBlock south, TextBlock west, TextBlock east) { super(skinParam); this.backColor = backColor; this.swimlane = swimlane; this.borderColor = borderColor; this.label = label; this.west = west; this.east = east; this.north = north; this.south = south; } public Set getSwimlanes() { if (swimlane == null) { return Collections.emptySet(); } return Collections.singleton(swimlane); } public Swimlane getSwimlaneIn() { return swimlane; } public Swimlane getSwimlaneOut() { return swimlane; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Dimension2D dimLabel = label.calculateDimension(stringBounder); final Dimension2D dimTotal = calculateDimensionAlone(stringBounder); ug = ug.apply(new UChangeColor(borderColor)).apply(getThickness()).apply(new UChangeBackColor(backColor)); ug.draw(Diamond.asPolygon(skinParam().shadowing(null), dimTotal.getWidth(), dimTotal.getHeight())); north.drawU(ug.apply(new UTranslate(4 + dimTotal.getWidth() / 2, dimTotal.getHeight()))); south.drawU(ug.apply(new UTranslate(4 + dimTotal.getWidth() / 2, dimTotal.getHeight()))); final double lx = (dimTotal.getWidth() - dimLabel.getWidth()) / 2; final double ly = (dimTotal.getHeight() - dimLabel.getHeight()) / 2; label.drawU(ug.apply(new UTranslate(lx, ly))); final Dimension2D dimWeat = west.calculateDimension(stringBounder); west.drawU(ug.apply(new UTranslate(-dimWeat.getWidth(), -dimWeat.getHeight() + dimTotal.getHeight() / 2))); final Dimension2D dimEast = east.calculateDimension(stringBounder); east.drawU(ug.apply(new UTranslate(dimTotal.getWidth(), -dimEast.getHeight() + dimTotal.getHeight() / 2))); } private FtileGeometry calculateDimensionAlone(StringBounder stringBounder) { final Dimension2D dimLabel = label.calculateDimension(stringBounder); final Dimension2D dim; if (dimLabel.getWidth() == 0 || dimLabel.getHeight() == 0) { dim = new Dimension2DDouble(Diamond.diamondHalfSize * 2, Diamond.diamondHalfSize * 2); } else { dim = Dimension2DDouble.delta( Dimension2DDouble.atLeast(dimLabel, Diamond.diamondHalfSize * 2, Diamond.diamondHalfSize * 2), Diamond.diamondHalfSize * 2, 0); } return new FtileGeometry(dim, dim.getWidth() / 2, 0, dim.getHeight()); } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { final Dimension2D diamond = calculateDimensionAlone(stringBounder); final Dimension2D north = this.north.calculateDimension(stringBounder); final double height = diamond.getHeight() + north.getHeight(); final double left = diamond.getWidth() / 2; final double width = north.getWidth() > left ? left + north.getWidth() : diamond.getWidth(); return new FtileGeometry(width, height, left, 0, diamond.getHeight()); } } ������������������������������������������������������������������������������������������������������������������������������FtileDiamondInside3.java����������������������������������������������������������������������������0000664�0000000�0000000�00000016472�13400053436�0034553�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vertical; import java.awt.geom.Dimension2D; import java.util.Collections; import java.util.Set; import net.sourceforge.plantuml.Dimension2DDouble; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Diamond; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileOverpassing; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.TextBlockUtils; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; import net.sourceforge.plantuml.utils.MathUtils; public class FtileDiamondInside3 extends AbstractFtile implements FtileOverpassing { private final HtmlColor backColor; private final HtmlColor borderColor; private final Swimlane swimlane; private final TextBlock label; private final TextBlock west; private final TextBlock east; private final TextBlock north; private final TextBlock south; public FtileDiamondInside3(ISkinParam skinParam, HtmlColor backColor, HtmlColor borderColor, Swimlane swimlane, TextBlock label) { this(skinParam, backColor, borderColor, swimlane, label, TextBlockUtils.empty(0, 0), TextBlockUtils.empty(0, 0), TextBlockUtils.empty(0, 0), TextBlockUtils.empty(0, 0)); } public FtileDiamondInside3 withNorth(TextBlock north) { return new FtileDiamondInside3(skinParam(), backColor, borderColor, swimlane, label, north, south, west, east); } public FtileDiamondInside3 withWest(TextBlock west) { return new FtileDiamondInside3(skinParam(), backColor, borderColor, swimlane, label, north, south, west, east); } public FtileDiamondInside3 withEast(TextBlock east) { return new FtileDiamondInside3(skinParam(), backColor, borderColor, swimlane, label, north, south, west, east); } public FtileDiamondInside3 withSouth(TextBlock south) { return new FtileDiamondInside3(skinParam(), backColor, borderColor, swimlane, label, north, south, west, east); } private FtileDiamondInside3(ISkinParam skinParam, HtmlColor backColor, HtmlColor borderColor, Swimlane swimlane, TextBlock label, TextBlock north, TextBlock south, TextBlock west, TextBlock east) { super(skinParam); this.backColor = backColor; this.swimlane = swimlane; this.borderColor = borderColor; this.label = label; this.west = west; this.east = east; this.north = north; this.south = south; } public Set getSwimlanes() { if (swimlane == null) { return Collections.emptySet(); } return Collections.singleton(swimlane); } public Swimlane getSwimlaneIn() { return swimlane; } public Swimlane getSwimlaneOut() { return swimlane; } public void drawU(UGraphic ug) { final StringBounder stringBounder = ug.getStringBounder(); final Dimension2D dimLabel = label.calculateDimension(stringBounder); final Dimension2D dimTotal = calculateDimensionAlone(stringBounder); ug = ug.apply(new UChangeColor(borderColor)).apply(getThickness()).apply(new UChangeBackColor(backColor)); ug.draw(Diamond.asPolygon(skinParam().shadowing(null), dimTotal.getWidth(), dimTotal.getHeight())); north.drawU(ug.apply(new UTranslate(4 + dimTotal.getWidth() / 2, dimTotal.getHeight()))); south.drawU(ug.apply(new UTranslate(4 + dimTotal.getWidth() / 2, dimTotal.getHeight()))); final double lx = (dimTotal.getWidth() - dimLabel.getWidth()) / 2; final double ly = (dimTotal.getHeight() - dimLabel.getHeight()) / 2; label.drawU(ug.apply(new UTranslate(lx, ly))); final Dimension2D dimWeat = west.calculateDimension(stringBounder); west.drawU(ug.apply(new UTranslate(-dimWeat.getWidth(), -dimWeat.getHeight() + dimTotal.getHeight() / 2))); final Dimension2D dimEast = east.calculateDimension(stringBounder); east.drawU(ug.apply(new UTranslate(dimTotal.getWidth(), -dimEast.getHeight() + dimTotal.getHeight() / 2))); } private FtileGeometry calculateDimensionAlone(StringBounder stringBounder) { final Dimension2D dimLabel = label.calculateDimension(stringBounder); final Dimension2D dim; if (dimLabel.getWidth() == 0 || dimLabel.getHeight() == 0) { dim = new Dimension2DDouble(Diamond.diamondHalfSize * 2, Diamond.diamondHalfSize * 2); } else { dim = Dimension2DDouble.delta( Dimension2DDouble.atLeast(dimLabel, Diamond.diamondHalfSize * 2, Diamond.diamondHalfSize * 2), Diamond.diamondHalfSize * 2, 0); } return new FtileGeometry(dim, dim.getWidth() / 2, 0, dim.getHeight()); } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { final Dimension2D diamond = calculateDimensionAlone(stringBounder); final Dimension2D north = this.north.calculateDimension(stringBounder); final double height = diamond.getHeight() + north.getHeight(); final double left = diamond.getWidth() / 2; // final double width = north.getWidth() > left ? left + north.getWidth() : diamond.getWidth(); final double width = diamond.getWidth(); return new FtileGeometry(width, height, left, 0, diamond.getHeight()); } public FtileGeometry getOverpassDimension(StringBounder stringBounder) { final Dimension2D total = calculateDimension(stringBounder); final Dimension2D north = this.north.calculateDimension(stringBounder); final Dimension2D east = this.east.calculateDimension(stringBounder); final Dimension2D west = this.west.calculateDimension(stringBounder); final double height = total.getHeight(); // + north.getHeight(); final double left = total.getWidth() / 2; final double supp = MathUtils.max(north.getWidth(), east.getWidth(), west.getWidth()); // final double width = supp > left ? left + supp : diamond.getWidth(); final double width = total.getWidth() + supp; return new FtileGeometry(width, height, left, 0, total.getHeight()); } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������FtileThinSplit.java���������������������������������������������������������������������������������0000664�0000000�0000000�00000006163�13400053436�0033673�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical�������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.activitydiagram3.ftile.vertical; import java.util.Collections; import java.util.Set; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.ULine; import net.sourceforge.plantuml.ugraphic.UShape; import net.sourceforge.plantuml.ugraphic.UStroke; import net.sourceforge.plantuml.ugraphic.UTranslate; public class FtileThinSplit extends AbstractFtile { private double width; private double first; private double last; private final double height = 1.5; private final HtmlColor colorBar; private final Swimlane swimlane; public FtileThinSplit(ISkinParam skinParam, HtmlColor colorBar, Swimlane swimlane) { super(skinParam); this.colorBar = colorBar; this.swimlane = swimlane; } public void setGeom(double first, double last, double width) { this.width = width; this.first = first; this.last = last; } @Override protected FtileGeometry calculateDimensionFtile(StringBounder stringBounder) { return new FtileGeometry(width, height, width / 2, 0, height); } public void drawU(UGraphic ug) { // final URectangle rect = new URectangle(width, height); final UShape rect = new ULine(last - first, 0); ug = ug.apply(new UTranslate(first, 0)); ug.apply(new UChangeColor(colorBar)).apply(new UStroke(1.5)).draw(rect); } public Set getSwimlanes() { return Collections.singleton(swimlane); } public Swimlane getSwimlaneIn() { return swimlane; } public Swimlane getSwimlaneOut() { return swimlane; } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/anim/��������������������������������������������0000775�0000000�0000000�00000000000�13400053436�0022743�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/anim/AffineTransformation.java�������������������0000664�0000000�0000000�00000012412�13400053436�0027725�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.anim; import java.awt.geom.AffineTransform; import java.awt.geom.Dimension2D; import java.awt.geom.Point2D; import java.util.StringTokenizer; import java.util.regex.Matcher; import java.util.regex.Pattern; import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.ugraphic.MinMax; public class AffineTransformation { static private final Pattern rotate = Pattern.compile("rotate\\s+(-?\\d+\\.?\\d*)"); static private final Pattern shear = Pattern.compile("shear\\s+(-?\\d+\\.?\\d*)\\s+(-?\\d+\\.?\\d*)"); static private final Pattern translate = Pattern.compile("translate\\s+(-?\\d+\\.?\\d*)\\s+(-?\\d+\\.?\\d*)"); static private final Pattern scale = Pattern.compile("scale\\s+(-?\\d+\\.?\\d*)\\s+(-?\\d+\\.?\\d*)"); static private final Pattern color = Pattern.compile("color\\s+.*"); private final AffineTransform affineTransform; private Dimension2D dimension; private AffineTransformation(AffineTransform affineTransform) { this.affineTransform = affineTransform; if (affineTransform == null) { throw new IllegalArgumentException(); } } private AffineTransformation compose(AffineTransformation other) { final AffineTransform tmp = new AffineTransform(this.affineTransform); tmp.concatenate(other.affineTransform); return new AffineTransformation(tmp); } public static AffineTransformation from(AffineTransform affineTransform) { return new AffineTransformation(affineTransform); } static AffineTransformation create(String value) { final StringTokenizer st = new StringTokenizer(value, "|"); AffineTransformation result = null; while (st.hasMoreTokens()) { final String s = st.nextToken(); final AffineTransformation tmp = createSimple(s); if (tmp != null) { if (result == null) { result = tmp; } else { result = result.compose(tmp); } } } return result; } private static AffineTransformation createSimple(String value) { Matcher m = rotate.matcher(StringUtils.trin(value)); if (m.find()) { final double angle = Double.parseDouble(m.group(1)); return new AffineTransformation(AffineTransform.getRotateInstance(angle * Math.PI / 180.0)); } m = shear.matcher(value); if (m.find()) { final double shx = Double.parseDouble(m.group(1)); final double shy = Double.parseDouble(m.group(2)); return new AffineTransformation(AffineTransform.getShearInstance(shx, shy)); } m = translate.matcher(value); if (m.find()) { final double tx = Double.parseDouble(m.group(1)); final double ty = Double.parseDouble(m.group(2)); return new AffineTransformation(AffineTransform.getTranslateInstance(tx, ty)); } m = scale.matcher(value); if (m.find()) { final double scalex = Double.parseDouble(m.group(1)); final double scaley = Double.parseDouble(m.group(2)); return new AffineTransformation(AffineTransform.getScaleInstance(scalex, scaley)); } m = color.matcher(value); if (m.find()) { return new AffineTransformation(new AffineTransform()); } return null; } public final AffineTransform getAffineTransform() { return getAffineTransform(dimension); } private AffineTransform getAffineTransform(Dimension2D dimension) { if (dimension == null) { throw new IllegalStateException(); } final AffineTransform at = AffineTransform.getTranslateInstance(dimension.getWidth() / 2, dimension.getHeight() / 2); at.concatenate(affineTransform); at.translate(-dimension.getWidth() / 2, -dimension.getHeight() / 2); return at; } public void setDimension(Dimension2D dim) { this.dimension = dim; } public MinMax getMinMax(Dimension2D rect) { MinMax result = MinMax.getEmpty(false); final AffineTransform tmp = getAffineTransform(rect); result = result.addPoint(tmp.transform(new Point2D.Double(0, 0), null)); result = result.addPoint(tmp.transform(new Point2D.Double(0, rect.getHeight()), null)); result = result.addPoint(tmp.transform(new Point2D.Double(rect.getWidth(), 0), null)); result = result.addPoint(tmp.transform(new Point2D.Double(rect.getWidth(), rect.getHeight()), null)); return result; } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/anim/Animation.java������������������������������0000664�0000000�0000000�00000005375�13400053436�0025537�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.anim; import java.awt.geom.Dimension2D; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; import net.sourceforge.plantuml.ugraphic.MinMax; public class Animation { private final List all; private Animation(List all) { if (all.size() == 0) { throw new IllegalArgumentException(); } this.all = all; } public static Animation singleton(AffineTransformation affineTransformation) { if (affineTransformation == null) { return null; } return new Animation(Collections.singletonList(affineTransformation)); } public static Animation create(List descriptions) { final List all = new ArrayList(); for (String s : descriptions) { final AffineTransformation tmp = AffineTransformation.create(s); if (tmp != null) { all.add(tmp); } } return new Animation(all); } public Collection getAll() { return Collections.unmodifiableCollection(all); } public void setDimension(Dimension2D dim) { for (AffineTransformation affineTransform : all) { affineTransform.setDimension(dim); } } public AffineTransformation getFirst() { return all.get(0); } public MinMax getMinMax(Dimension2D dim) { MinMax result = MinMax.getEmpty(false); for (AffineTransformation affineTransform : all) { final MinMax m = affineTransform.getMinMax(dim); result = result.addMinMax(m); } return result; } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/anim/AnimationDecoder.java�����������������������0000664�0000000�0000000�00000004642�13400053436�0027021�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.anim; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.StringTokenizer; import javax.script.ScriptException; public class AnimationDecoder { private final List result = new ArrayList(); public AnimationDecoder(Iterable data) throws ScriptException { for (final Iterator it = data.iterator(); it.hasNext();) { String line = it.next().toString(); if (line.matches("^\\s*\\[script\\]\\s*$")) { final StringBuilder scriptText = new StringBuilder(); while (true) { line = it.next().toString(); if (line.matches("^\\s*\\[/script\\]\\s*$")) { final AnimationScript script = new AnimationScript(); final String out = script.eval(scriptText.toString()); for (final StringTokenizer st = new StringTokenizer(out, "\n"); st.hasMoreTokens();) { result.add(st.nextToken()); } break; } else { scriptText.append(line); scriptText.append("\n"); } } } else { result.add(line); } } } public List decode() { return Collections.unmodifiableList(result); } } ����������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/anim/AnimationScript.java������������������������0000664�0000000�0000000�00000005160�13400053436�0026714�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.anim; import java.io.PrintWriter; import java.io.StringWriter; import javax.script.ScriptContext; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; public class AnimationScript { private final ScriptEngine engine; public AnimationScript() { final ScriptEngineManager manager = new ScriptEngineManager(); engine = manager.getEngineByName("js"); // ScriptEngineManager manager = new ScriptEngineManager(); // List factories = manager.getEngineFactories(); // for (ScriptEngineFactory factory : factories) { // System.out.println("Name : " + factory.getEngineName()); // System.out.println("Version : " + factory.getEngineVersion()); // System.out.println("Language name : " + factory.getLanguageName()); // System.out.println("Language version : " + factory.getLanguageVersion()); // System.out.println("Extensions : " + factory.getExtensions()); // System.out.println("Mime types : " + factory.getMimeTypes()); // System.out.println("Names : " + factory.getNames()); // // } } public String eval(String line) throws ScriptException { final ScriptContext context = engine.getContext(); final StringWriter sw = new StringWriter(); context.setWriter(new PrintWriter(sw)); engine.eval(line, context); final String result = sw.toString(); return result; } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/ant/���������������������������������������������0000775�0000000�0000000�00000000000�13400053436�0022601�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/ant/CheckZipTask.java����������������������������0000664�0000000�0000000�00000006764�13400053436�0026004�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.ant; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Task; import org.apache.tools.ant.types.FileList; import org.apache.tools.ant.types.FileSet; public class CheckZipTask extends Task { private String zipfile = null; private List filesets = new ArrayList(); private List filelists = new ArrayList(); /** * Add a set of files to touch */ public void addFileset(FileSet set) { filesets.add(set); } /** * Add a filelist to touch */ public void addFilelist(FileList list) { filelists.add(list); } // The method executing the task @Override public void execute() throws BuildException { myLog("Check " + zipfile); try { loadZipFile(new File(zipfile)); for (FileList fileList : filelists) { manageFileList(fileList); } } catch (IOException e) { e.printStackTrace(); throw new BuildException(e.toString()); } } private void manageFileList(FileList fileList) { boolean error = false; final String[] srcFiles = fileList.getFiles(getProject()); for (String s : srcFiles) { if (isPresentInFile(s) == false) { myLog("Missing " + s); error = true; } } if (error) { throw new BuildException("Some entries are missing in the zipfile"); } } private boolean isPresentInFile(String s) { return entries.contains(s); } private final List entries = new ArrayList(); private void loadZipFile(File file) throws IOException { this.entries.clear(); final PrintWriter pw = new PrintWriter("tmp.txt"); final ZipInputStream zis = new ZipInputStream(new FileInputStream(file)); ZipEntry ze = zis.getNextEntry(); while (ze != null) { final String fileName = ze.getName(); this.entries.add(fileName); if (fileName.endsWith("/") == false) { pw.println(""); } ze = zis.getNextEntry(); } pw.close(); zis.close(); } private synchronized void myLog(String s) { this.log(s); } public void setZipfile(String s) { this.zipfile = s; } } ������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/ant/PlantUmlTask.java����������������������������0000664�0000000�0000000�00000030024�13400053436�0026022�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.ant; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import net.sourceforge.plantuml.FileFormat; import net.sourceforge.plantuml.FileFormatOption; import net.sourceforge.plantuml.GeneratedImage; import net.sourceforge.plantuml.Option; import net.sourceforge.plantuml.OptionFlags; import net.sourceforge.plantuml.SourceFileReader; import net.sourceforge.plantuml.Splash; import net.sourceforge.plantuml.cucadiagram.dot.GraphvizUtils; import net.sourceforge.plantuml.preproc.Defines; import net.sourceforge.plantuml.stats.StatsUtils; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.DirectoryScanner; import org.apache.tools.ant.Task; import org.apache.tools.ant.types.FileList; import org.apache.tools.ant.types.FileSet; // // // // // // // // // // Carriage Return in UTF-8 XML: // Line Feed in UTF-8 XML: public class PlantUmlTask extends Task { private String dir = null; private final Option option = new Option(); private List filesets = new ArrayList(); private List filelists = new ArrayList(); private AtomicInteger nbFiles = new AtomicInteger(0); private ExecutorService executorService; /** * Add a set of files to touch */ public void addFileset(FileSet set) { filesets.add(set); } /** * Add a filelist to touch */ public void addFilelist(FileList list) { filelists.add(list); } // The method executing the task @Override public void execute() throws BuildException { if (option.isSplash()) { Splash.createSplash(); } this.log("Starting PlantUML"); try { if (dir != null) { final File error = processingSingleDirectory(new File(dir)); eventuallyFailfast(error); } for (FileSet fileSet : filesets) { final File error = manageFileSet(fileSet); eventuallyFailfast(error); } for (FileList fileList : filelists) { final File error = manageFileList(fileList); eventuallyFailfast(error); } if (executorService != null) { executorService.shutdown(); executorService.awaitTermination(Long.MAX_VALUE, TimeUnit.MILLISECONDS); if (option.isSplash()) { Splash.disposeSplash(); } } this.log("Nb images generated: " + nbFiles.get()); } catch (IOException e) { e.printStackTrace(); throw new BuildException(e.toString()); } catch (InterruptedException e) { e.printStackTrace(); throw new BuildException(e.toString()); } } private void eventuallyFailfast(final File error) throws IOException { if (error != null && option.isFailfastOrFailfast2()) { this.log("Error in file " + error.getCanonicalPath()); throw new BuildException("Error in file " + error.getCanonicalPath()); } } private File manageFileList(FileList fl) throws IOException, InterruptedException { final File fromDir = fl.getDir(getProject()); final String[] srcFiles = fl.getFiles(getProject()); for (String src : srcFiles) { final File f = new File(fromDir, src); final boolean error = processingSingleFile(f); if (error) { return f; } } return null; } private File manageFileSet(FileSet fs) throws IOException, InterruptedException { final DirectoryScanner ds = fs.getDirectoryScanner(getProject()); final File fromDir = fs.getDir(getProject()); final String[] srcFiles = ds.getIncludedFiles(); final String[] srcDirs = ds.getIncludedDirectories(); for (String src : srcFiles) { final File f = new File(fromDir, src); final boolean error = processingSingleFile(f); if (error) { return f; } } for (String src : srcDirs) { final File dir = new File(fromDir, src); final File errorFile = processingSingleDirectory(dir); if (errorFile != null) { return errorFile; } } return null; } private boolean processingSingleFile(final File f) throws IOException, InterruptedException { if (OptionFlags.getInstance().isVerbose()) { this.log("Processing " + f.getAbsolutePath()); } final SourceFileReader sourceFileReader = new SourceFileReader(Defines.createWithFileName(f), f, option.getOutputDir(), option.getConfig(), option.getCharset(), option.getFileFormatOption()); if (option.isCheckOnly()) { return sourceFileReader.hasError(); } if (executorService == null) { return doFile(f, sourceFileReader); } Splash.incTotal(1); executorService.submit(new Callable() { public Boolean call() throws Exception { return doFile(f, sourceFileReader); } }); return false; } private boolean doFile(final File f, final SourceFileReader sourceFileReader) throws IOException, InterruptedException { final Collection result = sourceFileReader.getGeneratedImages(); boolean error = false; for (GeneratedImage g : result) { if (OptionFlags.getInstance().isVerbose()) { myLog(g + " " + g.getDescription()); } nbFiles.addAndGet(1); if (g.lineErrorRaw() != -1) { error = true; } } Splash.incDone(error); if (error) { myLog("Error: " + f.getCanonicalPath()); } if (error && option.isFailfastOrFailfast2()) { return true; } return false; } private synchronized void myLog(String s) { this.log(s); } private File processingSingleDirectory(File dir) throws IOException, InterruptedException { if (dir.exists() == false) { final String s = "The file " + dir.getAbsolutePath() + " does not exists."; this.log(s); throw new BuildException(s); } for (File f : dir.listFiles()) { if (f.isFile() == false) { continue; } if (fileToProcess(f.getName()) == false) { continue; } final boolean error = processingSingleFile(f); if (error) { return f; } } return null; } private boolean fileToProcess(String name) { return name.matches(Option.getPattern()); } public void setDir(String s) { this.dir = s; } public void setOutput(String s) { option.setOutputDir(new File(s)); } public void setCharset(String s) { option.setCharset(s); } public void setConfig(String s) { try { option.initConfig(s); } catch (IOException e) { log("Error reading " + s); } } public void setKeepTmpFiles(String s) { // Deprecated } public void setDebugSvek(String s) { if ("true".equalsIgnoreCase(s)) { option.setDebugSvek(true); } } public void setVerbose(String s) { if ("true".equalsIgnoreCase(s)) { OptionFlags.getInstance().setVerbose(true); } } public void setFormat(String s) { if ("scxml".equalsIgnoreCase(s)) { option.setFileFormatOption(new FileFormatOption(FileFormat.SCXML)); } if ("xmi".equalsIgnoreCase(s)) { option.setFileFormatOption(new FileFormatOption(FileFormat.XMI_STANDARD)); } if ("xmi:argo".equalsIgnoreCase(s)) { option.setFileFormatOption(new FileFormatOption(FileFormat.XMI_ARGO)); } if ("xmi:start".equalsIgnoreCase(s)) { option.setFileFormatOption(new FileFormatOption(FileFormat.XMI_STAR)); } if ("eps".equalsIgnoreCase(s)) { option.setFileFormatOption(new FileFormatOption(FileFormat.EPS)); } if ("braille".equalsIgnoreCase(s)) { option.setFileFormatOption(new FileFormatOption(FileFormat.BRAILLE_PNG)); } if ("pdf".equalsIgnoreCase(s)) { option.setFileFormatOption(new FileFormatOption(FileFormat.PDF)); } if ("latex".equalsIgnoreCase(s)) { option.setFileFormatOption(new FileFormatOption(FileFormat.LATEX)); } if ("latex:nopreamble".equalsIgnoreCase(s)) { option.setFileFormatOption(new FileFormatOption(FileFormat.LATEX_NO_PREAMBLE)); } if ("eps:text".equalsIgnoreCase(s)) { option.setFileFormatOption(new FileFormatOption(FileFormat.EPS_TEXT)); } if ("svg".equalsIgnoreCase(s)) { option.setFileFormatOption(new FileFormatOption(FileFormat.SVG)); } if ("txt".equalsIgnoreCase(s)) { option.setFileFormatOption(new FileFormatOption(FileFormat.ATXT)); } if ("utxt".equalsIgnoreCase(s)) { option.setFileFormatOption(new FileFormatOption(FileFormat.UTXT)); } } public void setGraphvizDot(String s) { GraphvizUtils.setDotExecutable(s); } public void setNbThread(String s) { if (s != null && s.matches("\\d+")) { option.setNbThreads(Integer.parseInt(s)); final int nbThreads = option.getNbThreads(); this.executorService = Executors.newFixedThreadPool(nbThreads); } if ("auto".equalsIgnoreCase(s)) { option.setNbThreads(Option.defaultNbThreads()); final int nbThreads = option.getNbThreads(); this.executorService = Executors.newFixedThreadPool(nbThreads); } } public void setNbThreads(String s) { setNbThread(s); } // public void setSuggestEngine(String s) { // OptionFlags.getInstance().setUseSuggestEngine( // "true".equalsIgnoreCase(s) || "yes".equalsIgnoreCase(s) || "on".equalsIgnoreCase(s)); // } public void setFailFast(String s) { final boolean flag = "true".equalsIgnoreCase(s) || "yes".equalsIgnoreCase(s) || "on".equalsIgnoreCase(s); option.setFailfast(flag); } public void setFailFast2(String s) { final boolean flag = "true".equalsIgnoreCase(s) || "yes".equalsIgnoreCase(s) || "on".equalsIgnoreCase(s); option.setFailfast2(flag); } public void setCheckOnly(String s) { final boolean flag = "true".equalsIgnoreCase(s) || "yes".equalsIgnoreCase(s) || "on".equalsIgnoreCase(s); option.setCheckOnly(flag); } public void setOverwrite(String s) { final boolean flag = "true".equalsIgnoreCase(s) || "yes".equalsIgnoreCase(s) || "on".equalsIgnoreCase(s); OptionFlags.getInstance().setOverwrite(flag); } public void setFileSeparator(String s) { OptionFlags.getInstance().setFileSeparator(s); } public void setHtmlStats(String s) { final boolean flag = "true".equalsIgnoreCase(s) || "yes".equalsIgnoreCase(s) || "on".equalsIgnoreCase(s); StatsUtils.setHtmlStats(flag); } public void setXmlStats(String s) { final boolean flag = "true".equalsIgnoreCase(s) || "yes".equalsIgnoreCase(s) || "on".equalsIgnoreCase(s); StatsUtils.setXmlStats(flag); } public void setRealTimeStats(String s) { final boolean flag = "true".equalsIgnoreCase(s) || "yes".equalsIgnoreCase(s) || "on".equalsIgnoreCase(s); StatsUtils.setRealTimeStats(flag); } public void setEnableStats(String s) { final boolean flag = "true".equalsIgnoreCase(s) || "yes".equalsIgnoreCase(s) || "on".equalsIgnoreCase(s); OptionFlags.getInstance().setEnableStats(flag); } public void setSplash(String s) { final boolean flag = "true".equalsIgnoreCase(s) || "yes".equalsIgnoreCase(s) || "on".equalsIgnoreCase(s); option.setSplash(flag); } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/api/���������������������������������������������0000775�0000000�0000000�00000000000�13400053436�0022570�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/api/ApiWarning.java������������������������������0000664�0000000�0000000�00000000553�13400053436�0025475�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������package net.sourceforge.plantuml.api; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Retention(RetentionPolicy.SOURCE) @Target({ ElementType.CONSTRUCTOR, ElementType.METHOD }) public @interface ApiWarning { String willBeRemoved() default ""; } �����������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/api/INumberAnalyzed.java�������������������������0000664�0000000�0000000�00000002562�13400053436�0026471�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU General Public * License aint with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. */ package net.sourceforge.plantuml.api; public interface INumberAnalyzed { public long getNb(); public long getSum(); public long getMin(); public long getMax(); public long getMean(); public long getSliddingMean(); } ����������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/api/ImageDataAbstract.java�����������������������0000664�0000000�0000000�00000003631�13400053436�0026736�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.api; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.core.ImageData; public abstract class ImageDataAbstract implements ImageData { private final int width; private final int height; private int status; public ImageDataAbstract(int width, int height) { this.width = width; this.height = height; } public ImageDataAbstract(Dimension2D dim) { this((int) dim.getWidth(), (int) dim.getHeight()); } public final int getWidth() { return width; } public final int getHeight() { return height; } public final int getStatus() { return status; } public final void setStatus(int status) { this.status = status; } } �������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/api/ImageDataComplex.java������������������������0000664�0000000�0000000�00000003544�13400053436�0026605�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.api; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.CMapData; public class ImageDataComplex extends ImageDataAbstract { private final CMapData cmap; private final String warningOrError; public ImageDataComplex(Dimension2D info, CMapData cmap, String warningOrError) { super(info); this.cmap = cmap; this.warningOrError = warningOrError; } public boolean containsCMapData() { return cmap != null && cmap.containsData(); } public String getCMapData(String nameId) { return cmap.asString(nameId); } public String getWarningOrError() { return warningOrError; } } ������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/api/ImageDataSimple.java�������������������������0000664�0000000�0000000�00000003755�13400053436�0026433�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.api; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.core.ImageData; public class ImageDataSimple extends ImageDataAbstract { public ImageDataSimple(int width, int height) { super(width, height); } public ImageDataSimple(Dimension2D dim) { super(dim); } private ImageDataSimple() { this(0, 0); } public boolean containsCMapData() { return false; } public String getCMapData(String nameId) { throw new UnsupportedOperationException(); } public String getWarningOrError() { return null; } public static ImageData error() { final ImageDataSimple result = new ImageDataSimple(); result.setStatus(503); return result; } public static ImageData ok() { return new ImageDataSimple(); } } �������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/api/MyRunnable.java������������������������������0000664�0000000�0000000�00000002570�13400053436�0025513�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.api; public interface MyRunnable { public void runJob() throws InterruptedException; public void cancelJob(); } ����������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/api/NumberAnalyzed.java��������������������������0000664�0000000�0000000�00000013677�13400053436�0026371�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU General Public * License aint with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. */ package net.sourceforge.plantuml.api; import java.util.StringTokenizer; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; import java.util.prefs.Preferences; import net.sourceforge.plantuml.Log; public class NumberAnalyzed implements INumberAnalyzed { private static final int SLIDING_WINDOW = 1024; private long nb; private long sum; private long min; private long max; private long sumOfSquare; // See https://fossies.org/linux/haproxy/include/proto/freq_ctr.h private long sliddingSum; private final String name; private final Lock saveLock = new ReentrantLock(); public NumberAnalyzed(String name) { this.name = name; } public synchronized void reset() { this.nb = 0; this.sum = 0; this.min = 0; this.max = 0; this.sumOfSquare = 0; this.sliddingSum = 0; } public NumberAnalyzed() { this(""); } public final void save(Preferences prefs) { if (name.length() == 0) { throw new UnsupportedOperationException(); } if (saveLock.tryLock()) try { prefs.put(name + ".saved", getSavedString()); } finally { saveLock.unlock(); } } private String getSavedString() { final long nb1; final long sum1; final long min1; final long max1; final long sumOfSquare1; final long sliddingSum1; final String supp1; synchronized (this) { nb1 = nb; sum1 = sum; min1 = min; max1 = max; sumOfSquare1 = sumOfSquare; sliddingSum1 = sliddingSum; } supp1 = getSavedSupplementatyData(); return longToString(nb1) + ";" + longToString(sum1) + ";" + longToString(min1) + ";" + longToString(max1) + ";" + longToString(sumOfSquare1) + ";" + longToString(sliddingSum1) + ";" + supp1 + ";"; } protected String getSavedSupplementatyData() { return ""; } protected final String longToString(long val) { return Long.toString(val, 36); } public static NumberAnalyzed load(String name, Preferences prefs) { final String value = prefs.get(name + ".saved", ""); if (value.length() == 0) { Log.info("Cannot load " + name); return null; } try { final StringTokenizer st = new StringTokenizer(value, ";"); return new NumberAnalyzed(name, Long.parseLong(st.nextToken(), 36), Long.parseLong(st.nextToken(), 36), Long.parseLong(st.nextToken(), 36), Long.parseLong(st.nextToken(), 36), Long.parseLong( st.nextToken(), 36), Long.parseLong(st.nextToken(), 36)); } catch (Exception e) { e.printStackTrace(); Log.info("Error reading " + value); return null; } } @Override public synchronized String toString() { return "sum=" + sum + " nb=" + nb + " min=" + min + " max=" + max + " mean=" + getMean(); } protected NumberAnalyzed(String name, long nb, long sum, long min, long max, long sumOfSquare, long sliddingSum) { this(name); this.nb = nb; this.sum = sum; this.min = min; this.max = max; this.sumOfSquare = sumOfSquare; this.sliddingSum = sliddingSum; } public synchronized INumberAnalyzed getCopyImmutable() { final NumberAnalyzed copy = new NumberAnalyzed(name, nb, sum, min, max, sumOfSquare, sliddingSum); return copy; } public synchronized void addValue(long v) { nb++; if (nb == 1) { min = v; max = v; } else if (v > max) { max = v; } else if (v < min) { min = v; } sum += v; sumOfSquare += v * v; sliddingSum = sliddingSum * (SLIDING_WINDOW - 1) / SLIDING_WINDOW + v; } public void add(NumberAnalyzed other) { final long nb1; final long sum1; final long min1; final long max1; final long sumOfSquare1; final long sliddingSum1; synchronized (other) { nb1 = other.nb; sum1 = other.sum; min1 = other.min; max1 = other.max; sumOfSquare1 = other.sumOfSquare; sliddingSum1 = other.sliddingSum; } synchronized (this) { this.sum += sum1; this.nb += nb1; this.min = Math.min(this.min, min1); this.max = Math.max(this.max, max1); this.sumOfSquare += sumOfSquare1; // Not good! this.sliddingSum += sliddingSum1; } } synchronized public final long getNb() { return nb; } synchronized public final long getSum() { return sum; } synchronized public final long getMin() { return min; } synchronized public final long getMax() { return max; } synchronized public final long getMean() { if (nb == 0) { return 0; } return sum / nb; } synchronized public final long getSliddingMean() { if (nb == 0) { return 0; } if (nb < SLIDING_WINDOW) { return sum / nb; } return sliddingSum / nb; } public final long getStandardDeviation() { final long sum1; final long sumOfSquare1; final long nb1; synchronized (this) { sum1 = this.sum; sumOfSquare1 = this.sumOfSquare; nb1 = this.nb; } if (nb1 == 0) { return 0; } final long mean = sum1 / nb1; return Math.round(Math.sqrt(sumOfSquare1 / nb1 - mean * mean)); } final public String getName() { return name; } } �����������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/api/NumberAnalyzedDated.java���������������������0000664�0000000�0000000�00000007311�13400053436�0027317�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU General Public * License aint with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. */ package net.sourceforge.plantuml.api; import java.util.StringTokenizer; import java.util.concurrent.atomic.AtomicLong; import java.util.prefs.Preferences; import net.sourceforge.plantuml.Log; public class NumberAnalyzedDated extends NumberAnalyzed { private final AtomicLong created = new AtomicLong(); private final AtomicLong modified = new AtomicLong(); private String comment; private NumberAnalyzedDated(String name, long nb, long sum, long min, long max, long sumOfSquare, long sliddingSum, long created, long modified, String comment) { super(name, nb, sum, min, max, sumOfSquare, sliddingSum); this.created.set(created); this.modified.set(modified); this.comment = comment; } @Override public synchronized void reset() { super.reset(); resetCreatedModifiedComment(); } public NumberAnalyzedDated() { super(); resetCreatedModifiedComment(); } public NumberAnalyzedDated(String name) { super(name); resetCreatedModifiedComment(); } private void resetCreatedModifiedComment() { final long now = System.currentTimeMillis(); this.created.set(now); this.modified.set(now); this.comment = " "; }; @Override public void addValue(long v) { super.addValue(v); this.modified.set(System.currentTimeMillis()); } @Override public void add(NumberAnalyzed other) { super.add(other); this.modified.set(System.currentTimeMillis()); } @Override protected String getSavedSupplementatyData() { return longToString(created.get()) + ";" + longToString(modified.get()) + ";" + comment; } public static NumberAnalyzedDated load(String name, Preferences prefs) { final String value = prefs.get(name + ".saved", ""); if (value.length() == 0) { Log.info("Cannot load " + name); return null; } try { final StringTokenizer st = new StringTokenizer(value, ";"); return new NumberAnalyzedDated(name, Long.parseLong(st.nextToken(), 36), Long.parseLong(st.nextToken(), 36), Long.parseLong(st.nextToken(), 36), Long.parseLong( st.nextToken(), 36), Long.parseLong(st.nextToken(), 36), Long.parseLong(st.nextToken(), 36), Long.parseLong(st.nextToken(), 36), Long.parseLong( st.nextToken(), 36), st.nextToken()); } catch (Exception e) { e.printStackTrace(); Log.info("Error reading " + value); return null; } } final public long getCreationTime() { return created.get(); } final public long getModificationTime() { return modified.get(); } final public synchronized String getComment() { return comment; } final public synchronized void setComment(String comment) { this.comment = comment; } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/api/PSystemFactory.java��������������������������0000664�0000000�0000000�00000003011�13400053436�0026362�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.api; import net.sourceforge.plantuml.core.Diagram; import net.sourceforge.plantuml.core.DiagramType; import net.sourceforge.plantuml.core.UmlSource; public interface PSystemFactory { Diagram createSystem(UmlSource source); DiagramType getDiagramType(); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/api/TimeoutExecutor.java�������������������������0000664�0000000�0000000�00000004407�13400053436�0026605�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.api; import java.util.concurrent.atomic.AtomicBoolean; public final class TimeoutExecutor { private final long ms; public TimeoutExecutor(long ms) { this.ms = ms; } public boolean executeNow(MyRunnable task) { final MyThread mainThread = new MyThread(task); boolean done = false; try { mainThread.start(); mainThread.join(ms); } catch (InterruptedException e) { System.err.println("TimeoutExecutorA " + e); e.printStackTrace(); return false; } finally { done = mainThread.done.get(); if (done == false) { task.cancelJob(); mainThread.interrupt(); } } return done; } class MyThread extends Thread { private final MyRunnable task; private final AtomicBoolean done = new AtomicBoolean(false); private MyThread(MyRunnable task) { this.task = task; } @Override public void run() { try { task.runJob(); done.set(true); } catch (InterruptedException e) { System.err.println("TimeoutExecutorB " + e); e.printStackTrace(); } } } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/api/doc-files/�����������������������������������0000775�0000000�0000000�00000000000�13400053436�0024435�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/api/doc-files/umls.html��������������������������0000664�0000000�0000000�00000002255�13400053436�0026307�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ @startuml img1.png title API component API @enduml ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/api/package.html���������������������������������0000664�0000000�0000000�00000002472�13400053436�0025056�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������

Public API for calling PlantUML from Java.

Overview

This package provides an API for generating UML diagram from Java application.

plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/000077500000000000000000000000001340005343600236165ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/AbstractComponentText.java000066400000000000000000000033661340005343600307640ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.Dimension2DDouble; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.skin.Component; public abstract class AbstractComponentText implements Component { public final Dimension2D getPreferredDimension(StringBounder stringBounder) { final double w = getPreferredWidth(stringBounder); final double h = getPreferredHeight(stringBounder); return new Dimension2DDouble(w, h); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/AsciiShape.java000066400000000000000000000066371340005343600265060ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; public enum AsciiShape { // int STICKMAN_HEIGHT = 5; // int STICKMAN_UNICODE_HEIGHT = 6; STICKMAN(3, 5), STICKMAN_UNICODE(3, 6), BOUNDARY(8, 3), DATABASE(10, 6); private final int width; private final int height; private AsciiShape(int width, int height) { this.width = width; this.height = height; } public void draw(BasicCharArea area, int x, int y) { if (this == STICKMAN) { drawStickMan(area, x, y); } else if (this == STICKMAN_UNICODE) { drawStickManUnicode(area, x, y); } else if (this == BOUNDARY) { drawBoundary(area, x, y); } else if (this == DATABASE) { drawDatabase(area, x, y); } } private void drawDatabase(BasicCharArea area, int x, int y) { area.drawStringLR(" ,.-^^-._", x, y++); area.drawStringLR("|-.____.-|", x, y++); area.drawStringLR("| |", x, y++); area.drawStringLR("| |", x, y++); area.drawStringLR("| |", x, y++); area.drawStringLR("'-.____.-'", x, y++); } private void drawDatabaseSmall(BasicCharArea area, int x, int y) { area.drawStringLR(" ,.-\"-._ ", x, y++); area.drawStringLR("|-.___.-|", x, y++); area.drawStringLR("| |", x, y++); area.drawStringLR("| |", x, y++); area.drawStringLR("| |", x, y++); area.drawStringLR("'-.___.-'", x, y++); } private void drawBoundary(BasicCharArea area, int x, int y) { area.drawStringLR("| ,-.", x, y++); area.drawStringLR("+--{ )", x, y++); area.drawStringLR("| `-'", x, y++); } private void drawStickMan(BasicCharArea area, int x, int y) { area.drawStringLR(",-.", x, y++); area.drawStringLR("`-'", x, y++); area.drawStringLR("/|\\", x, y++); area.drawStringLR(" | ", x, y++); area.drawStringLR("/ \\", x, y++); } private void drawStickManUnicode(BasicCharArea area, int x, int y) { area.drawStringLR("\u250c\u2500\u2510", x, y++); area.drawStringLR("\u2551\"\u2502", x, y++); area.drawStringLR("\u2514\u252c\u2518", x, y++); area.drawStringLR("\u250c\u253c\u2510", x, y++); area.drawStringLR(" \u2502 ", x, y++); area.drawStringLR("\u250c\u2534\u2510", x, y++); } public final int getHeight() { return height; } public final int getWidth() { return width; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/BasicCharArea.java000066400000000000000000000035541340005343600271000ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.io.PrintStream; import java.util.List; public interface BasicCharArea { int getWidth(); int getHeight(); void drawChar(char c, int x, int y); void fillRect(char c, int x, int y, int width, int height); void drawStringLR(String string, int x, int y); void drawStringTB(String string, int x, int y); String getLine(int line); void print(PrintStream ps); List getLines(); void drawHLine(char c, int line, int col1, int col2); void drawHLine(char c, int line, int col1, int col2, char ifFound, char thenUse); void drawVLine(char c, int col, int line1, int line2); }plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/BasicCharAreaImpl.java000066400000000000000000000112551340005343600277170ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.io.PrintStream; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class BasicCharAreaImpl implements BasicCharArea { private int charSize1 = 160; private int charSize2 = 160; private int width; private int height; private char chars[][]; public BasicCharAreaImpl() { this.chars = new char[charSize1][charSize2]; for (int i = 0; i < charSize1; i++) { for (int j = 0; j < charSize2; j++) { chars[i][j] = ' '; } } } public final int getWidth() { return width; } public final int getHeight() { return height; } public void drawChar(char c, int x, int y) { ensurePossible(x, y); chars[x][y] = c; if (x >= width) { width = x + 1; } if (y >= height) { height = y + 1; } } private boolean isLong(char c) { final int wc = Wcwidth.of(c); if (wc == 1) { return false; } if (wc == 2) { return true; } return false; // throw new IllegalArgumentException("warning width=" + wc + " char=" + ((int) c)); } private void ensurePossible(int x, int y) { int newCharSize1 = charSize1; int newCharSize2 = charSize2; while (x >= newCharSize1) { newCharSize1 *= 2; } while (y >= newCharSize2) { newCharSize2 *= 2; } if (newCharSize1 != charSize1 || newCharSize2 != charSize2) { final char newChars[][] = new char[newCharSize1][newCharSize2]; for (int i = 0; i < newCharSize1; i++) { for (int j = 0; j < newCharSize2; j++) { char c = ' '; if (i < charSize1 && j < charSize2) { c = chars[i][j]; } newChars[i][j] = c; } } this.chars = newChars; this.charSize1 = newCharSize1; this.charSize2 = newCharSize2; } } public void drawStringLR(String string, int x, int y) { int pos = x; for (int i = 0; i < string.length(); i++) { final char c = string.charAt(i); drawChar(c, pos, y); pos++; if (isLong(c)) { drawChar('\0', pos, y); pos++; } } } public void drawStringTB(String string, int x, int y) { for (int i = 0; i < string.length(); i++) { drawChar(string.charAt(i), x, y + i); } } public String getLine(int line) { final StringBuilder sb = new StringBuilder(charSize1); for (int x = 0; x < width; x++) { final char c = chars[x][line]; if (c != '\0') { sb.append(c); } } return sb.toString(); } public void print(PrintStream ps) { for (String s : getLines()) { ps.println(s); } } public List getLines() { final List result = new ArrayList(height); for (int y = 0; y < height; y++) { result.add(getLine(y)); } return Collections.unmodifiableList(result); } public void drawHLine(char c, int line, int col1, int col2) { for (int x = col1; x < col2; x++) { this.drawChar(c, x, line); } } public void drawHLine(char c, int line, int col1, int col2, char ifFound, char thenUse) { for (int x = col1; x < col2; x++) { ensurePossible(x, line); if (this.chars[x][line] == ifFound) { this.drawChar(thenUse, x, line); } else { this.drawChar(c, x, line); } } } public void drawVLine(char c, int col, int line1, int line2) { for (int y = line1; y < line2; y++) { this.drawChar(c, col, y); } } @Override public String toString() { return getLines().toString(); } public void fillRect(char c, int x, int y, int width, int height) { for (int i = 0; i < width; i++) { for (int j = 0; j < height; j++) { drawChar(c, x + i, y + j); } } } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/ComponentTextActiveLine.java000066400000000000000000000051261340005343600312400ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.FileFormat; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.skin.Area; import net.sourceforge.plantuml.skin.Context2D; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.txt.UGraphicTxt; public class ComponentTextActiveLine extends AbstractComponentText { private final FileFormat fileFormat; public ComponentTextActiveLine(FileFormat fileFormat) { this.fileFormat = fileFormat; } public void drawU(UGraphic ug, Area area, Context2D context) { final Dimension2D dimensionToUse = area.getDimensionToUse(); final UmlCharArea charArea = ((UGraphicTxt) ug).getCharArea(); final int width = (int) dimensionToUse.getWidth(); final int height = (int) dimensionToUse.getHeight(); if (fileFormat == FileFormat.UTXT) { charArea.fillRect(' ', 0, 0, width, height); charArea.drawBoxSimpleUnicode(0, 0, width, height); charArea.drawChar('\u2534', width/2, 0); charArea.drawChar('\u252c', width/2, height-1); } else { charArea.fillRect('X', 0, 0, width, height); charArea.drawBoxSimple(0, 0, width, height); } } public double getPreferredHeight(StringBounder stringBounder) { return 0; } public double getPreferredWidth(StringBounder stringBounder) { return 3; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/ComponentTextActor.java000066400000000000000000000070601340005343600302640ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.FileFormat; import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.skin.Area; import net.sourceforge.plantuml.skin.ComponentType; import net.sourceforge.plantuml.skin.Context2D; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.txt.UGraphicTxt; public class ComponentTextActor extends AbstractComponentText { private final ComponentType type; private final Display stringsToDisplay; private final FileFormat fileFormat; private final AsciiShape shape; public ComponentTextActor(ComponentType type, Display stringsToDisplay, FileFormat fileFormat, AsciiShape shape) { this.type = type; this.stringsToDisplay = stringsToDisplay; this.fileFormat = fileFormat; this.shape = shape; } public void drawU(UGraphic ug, Area area, Context2D context) { final Dimension2D dimensionToUse = area.getDimensionToUse(); final UmlCharArea charArea = ((UGraphicTxt) ug).getCharArea(); final int width = (int) dimensionToUse.getWidth(); final int height = (int) dimensionToUse.getHeight(); charArea.fillRect(' ', 0, 0, width, height); final int xman = width / 2 - 1; if (type == ComponentType.ACTOR_HEAD) { charArea.drawStringsLR(stringsToDisplay.as(), 1, getHeight()); if (fileFormat == FileFormat.UTXT) { charArea.drawShape(AsciiShape.STICKMAN_UNICODE, xman, 0); } else { charArea.drawShape(AsciiShape.STICKMAN, xman, 0); } } else if (type == ComponentType.ACTOR_TAIL) { charArea.drawStringsLR(stringsToDisplay.as(), 1, 0); if (fileFormat == FileFormat.UTXT) { charArea.drawShape(AsciiShape.STICKMAN_UNICODE, xman, 1); } else { charArea.drawShape(AsciiShape.STICKMAN, xman, 1); } } else { assert false; } } private int getHeight() { if (fileFormat == FileFormat.UTXT) { return AsciiShape.STICKMAN_UNICODE.getHeight(); } return AsciiShape.STICKMAN.getHeight(); } public double getPreferredHeight(StringBounder stringBounder) { return StringUtils.getHeight(stringsToDisplay) + getHeight(); } public double getPreferredWidth(StringBounder stringBounder) { return StringUtils.getWcWidth(stringsToDisplay) + 2; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/ComponentTextArrow.java000066400000000000000000000111241340005343600303020ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.FileFormat; import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.sequencediagram.MessageNumber; import net.sourceforge.plantuml.skin.Area; import net.sourceforge.plantuml.skin.ArrowConfiguration; import net.sourceforge.plantuml.skin.ArrowDirection; import net.sourceforge.plantuml.skin.ComponentType; import net.sourceforge.plantuml.skin.Context2D; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.txt.UGraphicTxt; public class ComponentTextArrow extends AbstractComponentText { private final ComponentType type; private final Display stringsToDisplay; private final FileFormat fileFormat; private final ArrowConfiguration config; private final int maxAsciiMessageLength; public ComponentTextArrow(ComponentType type, ArrowConfiguration config, Display stringsToDisplay, FileFormat fileFormat, int maxAsciiMessageLength) { this.maxAsciiMessageLength = maxAsciiMessageLength; this.type = type; this.config = config; this.stringsToDisplay = clean(stringsToDisplay); this.fileFormat = fileFormat; } private static Display clean(Display orig) { if (orig.size() == 0 || orig.get(0) instanceof MessageNumber == false) { return orig; } Display result = Display.empty(); for (int i = 0; i < orig.size(); i++) { CharSequence element = orig.get(i); if (i == 1) { element = removeTag(orig.get(0).toString()) + " " + element; } if (i != 0) { result = result.add(element); } } return result; } private static String removeTag(String s) { return s.replaceAll("\\<[^<>]+\\>", ""); } public void drawU(UGraphic ug, Area area, Context2D context) { if (config.isHidden()) { return; } final Dimension2D dimensionToUse = area.getDimensionToUse(); final UmlCharArea charArea = ((UGraphicTxt) ug).getCharArea(); final int width = (int) dimensionToUse.getWidth(); final int height = (int) dimensionToUse.getHeight(); final int textWidth = StringUtils.getWcWidth(stringsToDisplay); final int yarrow = height - 2; charArea.drawHLine(fileFormat == FileFormat.UTXT ? '\u2500' : '-', yarrow, 1, width); if (config.isDotted()) { for (int i = 1; i < width; i += 2) { charArea.drawChar(' ', i, yarrow); } } if (config.getArrowDirection() == ArrowDirection.LEFT_TO_RIGHT_NORMAL) { charArea.drawChar('>', width - 1, yarrow); } else if (config.getArrowDirection() == ArrowDirection.RIGHT_TO_LEFT_REVERSE) { charArea.drawChar('<', 1, yarrow); } else if (config.getArrowDirection() == ArrowDirection.BOTH_DIRECTION) { charArea.drawChar('>', width - 1, yarrow); charArea.drawChar('<', 1, yarrow); } else { throw new UnsupportedOperationException(); } // final int position = Math.max(0, (width - textWidth) / 2); charArea.drawStringsLR(stringsToDisplay.as(), (width - textWidth) / 2, 0); } public double getPreferredHeight(StringBounder stringBounder) { return StringUtils.getHeight(stringsToDisplay) + 2; } public double getPreferredWidth(StringBounder stringBounder) { final int width = StringUtils.getWcWidth(stringsToDisplay) + 2; if (maxAsciiMessageLength > 0) { return Math.min(maxAsciiMessageLength, width); } return width; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/ComponentTextDelay.java000066400000000000000000000053541340005343600302560ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.FileFormat; import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.skin.Area; import net.sourceforge.plantuml.skin.ComponentType; import net.sourceforge.plantuml.skin.Context2D; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.txt.UGraphicTxt; public class ComponentTextDelay extends AbstractComponentText { private final Display stringsToDisplay; public ComponentTextDelay(ComponentType type, Display stringsToDisplay, FileFormat fileFormat) { this.stringsToDisplay = stringsToDisplay; } public void drawU(UGraphic ug, Area area, Context2D context) { final Dimension2D dimensionToUse = area.getDimensionToUse(); final UmlCharArea charArea = ((UGraphicTxt) ug).getCharArea(); final int width = (int) dimensionToUse.getWidth(); final int textWidth = StringUtils.getWcWidth(stringsToDisplay); final int textPos = (width - textWidth) / 2; if (stringsToDisplay.isWhite()) { return; } final String desc = stringsToDisplay.get(0).toString(); charArea.drawStringLR(desc, textPos, 1); } public double getPreferredHeight(StringBounder stringBounder) { return StringUtils.getHeight(stringsToDisplay) + 4; } public double getPreferredWidth(StringBounder stringBounder) { return StringUtils.getWcWidth(stringsToDisplay) + 2; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/ComponentTextDestroy.java000066400000000000000000000041241340005343600306430ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.skin.Area; import net.sourceforge.plantuml.skin.Context2D; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.txt.UGraphicTxt; public class ComponentTextDestroy extends AbstractComponentText { public ComponentTextDestroy() { } public void drawU(UGraphic ug, Area area, Context2D context) { final UmlCharArea charArea = ((UGraphicTxt) ug).getCharArea(); charArea.drawStringLR("/", 2, 0); charArea.drawStringLR("\\", 0, 0); charArea.drawStringLR("X", 1, 1); charArea.drawStringLR("\\", 2, 2); charArea.drawStringLR("/", 0, 2); } public double getPreferredHeight(StringBounder stringBounder) { return 5; } public double getPreferredWidth(StringBounder stringBounder) { return 3; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/ComponentTextDivider.java000066400000000000000000000070661340005343600306100ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.FileFormat; import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.skin.Area; import net.sourceforge.plantuml.skin.ComponentType; import net.sourceforge.plantuml.skin.Context2D; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.txt.UGraphicTxt; public class ComponentTextDivider extends AbstractComponentText { private final ComponentType type; private final Display stringsToDisplay; private final FileFormat fileFormat; public ComponentTextDivider(ComponentType type, Display stringsToDisplay, FileFormat fileFormat) { this.type = type; this.stringsToDisplay = stringsToDisplay; this.fileFormat = fileFormat; } public void drawU(UGraphic ug, Area area, Context2D context) { final Dimension2D dimensionToUse = area.getDimensionToUse(); final UmlCharArea charArea = ((UGraphicTxt) ug).getCharArea(); final int width = (int) dimensionToUse.getWidth(); final int textWidth = StringUtils.getWcWidth(stringsToDisplay); // final int height = (int) dimensionToUse.getHeight(); final int textPos = (width - textWidth - 1) / 2; final String desc = " " + stringsToDisplay.get(0).toString(); if (fileFormat == FileFormat.UTXT) { charArea.drawHLine('\u2550', 2, 0, width, '\u2502', '\u256a'); charArea.drawStringLR(desc, textPos, 2); charArea.drawHLine('\u2550', 1, textPos - 1, textPos + desc.length() + 1, '\u2502', '\u2567'); charArea.drawHLine('\u2550', 3, textPos - 1, textPos + desc.length() + 1, '\u2502', '\u2564'); charArea.drawStringTB("\u2554\u2563\u255a", textPos - 1, 1); charArea.drawStringTB("\u2557\u2560\u255d", textPos + desc.length(), 1); } else { charArea.drawHLine('=', 2, 0, width); charArea.drawStringLR(desc, textPos, 2); charArea.drawHLine('=', 1, textPos - 1, textPos + desc.length() + 1); charArea.drawHLine('=', 3, textPos - 1, textPos + desc.length() + 1); } } public double getPreferredHeight(StringBounder stringBounder) { return StringUtils.getHeight(stringsToDisplay) + 4; } public double getPreferredWidth(StringBounder stringBounder) { return StringUtils.getWcWidth(stringsToDisplay) + 2; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/ComponentTextGroupingBody.java000066400000000000000000000060241340005343600316230ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.awt.geom.Dimension2D; import java.util.List; import net.sourceforge.plantuml.FileFormat; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.skin.Area; import net.sourceforge.plantuml.skin.ComponentType; import net.sourceforge.plantuml.skin.Context2D; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.txt.UGraphicTxt; public class ComponentTextGroupingBody extends AbstractComponentText { private final ComponentType type; private final List stringsToDisplay; private final FileFormat fileFormat; public ComponentTextGroupingBody(ComponentType type, List stringsToDisplay, FileFormat fileFormat) { this.type = type; this.stringsToDisplay = stringsToDisplay; this.fileFormat = fileFormat; } public void drawU(UGraphic ug, Area area, Context2D context) { final Dimension2D dimensionToUse = area.getDimensionToUse(); final UmlCharArea charArea = ((UGraphicTxt) ug).getCharArea(); final int width = (int) dimensionToUse.getWidth(); final int height = (int) dimensionToUse.getHeight(); if (fileFormat == FileFormat.UTXT) { charArea.drawVLine('\u2551', 0, 0, height); charArea.drawVLine('\u2551', width - 1, 0, height); charArea.drawHLine('\u2550', height - 1, 1, width - 1, '\u2502', '\u256a'); charArea.drawChar('\u2560', 0, height - 1); charArea.drawChar('\u2563', width - 1, height - 1); } else { charArea.drawVLine('!', 0, 0, height); charArea.drawVLine('!', width - 1, 0, height); charArea.drawHLine('~', height - 1, 1, width - 1); } } public double getPreferredHeight(StringBounder stringBounder) { return 1; } public double getPreferredWidth(StringBounder stringBounder) { return 1; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/ComponentTextGroupingElse.java000066400000000000000000000056241340005343600316230ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.FileFormat; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.skin.Area; import net.sourceforge.plantuml.skin.ComponentType; import net.sourceforge.plantuml.skin.Context2D; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.txt.UGraphicTxt; public class ComponentTextGroupingElse extends AbstractComponentText { private final ComponentType type; private final Display stringsToDisplay; private final FileFormat fileFormat; public ComponentTextGroupingElse(ComponentType type, Display stringsToDisplay, FileFormat fileFormat) { this.type = type; this.stringsToDisplay = stringsToDisplay; this.fileFormat = fileFormat; } public void drawU(UGraphic ug, Area area, Context2D context) { final Dimension2D dimensionToUse = area.getDimensionToUse(); final UmlCharArea charArea = ((UGraphicTxt) ug).getCharArea(); final int width = (int) dimensionToUse.getWidth(); if (stringsToDisplay.get(0) != null) { charArea.drawStringLR("[" + stringsToDisplay.get(0) + "]", 2, 0); } if (fileFormat == FileFormat.UTXT) { charArea.drawChar('\u2560', 0, -1); charArea.drawChar('\u2563', width - 1, -1); charArea.drawHLine('\u2550', -1, 1, width - 1, '\u2502', '\u256a'); } else { charArea.drawHLine('~', -1, 1, width - 1); } // charArea.fillRect('E', 0, 0, width, height); } public double getPreferredHeight(StringBounder stringBounder) { return 1; } public double getPreferredWidth(StringBounder stringBounder) { return 1; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/ComponentTextGroupingHeader.java000066400000000000000000000100461340005343600321150ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.FileFormat; import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.skin.Area; import net.sourceforge.plantuml.skin.ComponentType; import net.sourceforge.plantuml.skin.Context2D; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.txt.UGraphicTxt; public class ComponentTextGroupingHeader extends AbstractComponentText { private final ComponentType type; private final Display stringsToDisplay; private final FileFormat fileFormat; public ComponentTextGroupingHeader(ComponentType type, Display stringsToDisplay, FileFormat fileFormat) { this.type = type; this.stringsToDisplay = stringsToDisplay; this.fileFormat = fileFormat; } public void drawU(UGraphic ug, Area area, Context2D context) { final Dimension2D dimensionToUse = area.getDimensionToUse(); final UmlCharArea charArea = ((UGraphicTxt) ug).getCharArea(); final int width = (int) dimensionToUse.getWidth(); final int height = (int) dimensionToUse.getHeight(); // charArea.fillRect('G', 0, 0, width, height); final String text = stringsToDisplay.get(0).toString(); if (fileFormat == FileFormat.UTXT) { charArea.drawHLine('\u2550', 0, 1, width - 1, '\u2502', '\u256a'); charArea.drawStringLR(StringUtils.goUpperCase(text) + " /", 2, 1); charArea.drawHLine('\u2500', 2, 1, text.length() + 4); charArea.drawVLine('\u2551', 0, 1, height - 1); charArea.drawVLine('\u2551', width - 1, 1, height - 1); charArea.drawChar('\u255f', 0, 2); charArea.drawStringTB("\u2564\u2502\u2518", text.length() + 4, 0); charArea.drawChar('\u2554', 0, 0); charArea.drawChar('\u2557', width - 1, 0); charArea.drawHLine('\u2550', height - 1, 1, width - 1, '\u2502', '\u256a'); charArea.drawChar('\u255a', 0, height - 1); charArea.drawChar('\u255d', width - 1, height - 1); } else { charArea.drawHLine('_', 0, 0, width - 1); charArea.drawStringLR(StringUtils.goUpperCase(text) + " /", 2, 1); charArea.drawHLine('_', 2, 1, text.length() + 3); charArea.drawChar('/', text.length() + 3, 2); charArea.drawVLine('!', 0, 1, height); charArea.drawVLine('!', width - 1, 1, height); charArea.drawHLine('~', height - 1, 1, width - 1); } if (stringsToDisplay.size() > 1 && stringsToDisplay.get(1) != null) { final String comment = stringsToDisplay.get(1).toString(); charArea.drawStringLR(comment, text.length() + 7, 1); } } public double getPreferredHeight(StringBounder stringBounder) { return StringUtils.getHeight(stringsToDisplay) + 1; } public double getPreferredWidth(StringBounder stringBounder) { return StringUtils.getWcWidth(stringsToDisplay) + 2; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/ComponentTextGroupingTail.java000066400000000000000000000053641340005343600316250ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.awt.geom.Dimension2D; import java.util.List; import net.sourceforge.plantuml.FileFormat; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.skin.Area; import net.sourceforge.plantuml.skin.ComponentType; import net.sourceforge.plantuml.skin.Context2D; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.txt.UGraphicTxt; public class ComponentTextGroupingTail extends AbstractComponentText { private final ComponentType type; private final List stringsToDisplay; private final FileFormat fileFormat; public ComponentTextGroupingTail(ComponentType type, List stringsToDisplay, FileFormat fileFormat) { this.type = type; this.stringsToDisplay = stringsToDisplay; this.fileFormat = fileFormat; } public void drawU(UGraphic ug, Area area, Context2D context) { final Dimension2D dimensionToUse = area.getDimensionToUse(); final UmlCharArea charArea = ((UGraphicTxt) ug).getCharArea(); final int width = (int) dimensionToUse.getWidth(); final int height = (int) dimensionToUse.getHeight(); // charArea.fillRect('T', 0, 0, width, height); if (fileFormat == FileFormat.UTXT) { charArea.drawChar('\u255a', 0, height - 1); charArea.drawChar('\u255d', width - 1, height - 1); } } public double getPreferredHeight(StringBounder stringBounder) { return 1; } public double getPreferredWidth(StringBounder stringBounder) { return 1; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/ComponentTextLine.java000066400000000000000000000052631340005343600301060ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.FileFormat; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.skin.Area; import net.sourceforge.plantuml.skin.ComponentType; import net.sourceforge.plantuml.skin.Context2D; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.txt.UGraphicTxt; public class ComponentTextLine extends AbstractComponentText { private static final int MAGIC_NUMBER = -3; private char using; public ComponentTextLine(ComponentType type, FileFormat fileFormat) { if (fileFormat == FileFormat.UTXT) { using = '\u2502'; } else { using = '|'; } if (type == ComponentType.DELAY_LINE) { using = '.'; } } public void drawU(UGraphic ug, Area area, Context2D context) { final Dimension2D dimensionToUse = area.getDimensionToUse(); final UmlCharArea charArea = ((UGraphicTxt) ug).getCharArea(); final int width = (int) dimensionToUse.getWidth(); final int height = (int) dimensionToUse.getHeight(); charArea.drawVLine(using, (width - 1) / 2, MAGIC_NUMBER, height); // if (using == '.') { // charArea.drawVLine(using, (width - 1) / 2, -3, height); // } else { // charArea.drawVLine(using, (width - 1) / 2, 0, height); // } } public double getPreferredHeight(StringBounder stringBounder) { return 0; } public double getPreferredWidth(StringBounder stringBounder) { return 3; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/ComponentTextNewpage.java000066400000000000000000000045371340005343600306100ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.FileFormat; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.skin.Area; import net.sourceforge.plantuml.skin.Context2D; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.txt.UGraphicTxt; public class ComponentTextNewpage extends AbstractComponentText { private final FileFormat fileFormat; public ComponentTextNewpage(FileFormat fileFormat) { this.fileFormat = fileFormat; } public void drawU(UGraphic ug, Area area, Context2D context) { final Dimension2D dimensionToUse = area.getDimensionToUse(); final UmlCharArea charArea = ((UGraphicTxt) ug).getCharArea(); final int width = (int) dimensionToUse.getWidth(); if (fileFormat == FileFormat.UTXT) { charArea.drawHLine('\u2550', 0, 0, width, '\u2502', '\u256a'); } else { charArea.drawHLine('=', 0, 0, width); } } public double getPreferredHeight(StringBounder stringBounder) { return 2; } public double getPreferredWidth(StringBounder stringBounder) { return 2; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/ComponentTextNote.java000066400000000000000000000062621340005343600301240ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.FileFormat; import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.skin.Area; import net.sourceforge.plantuml.skin.ComponentType; import net.sourceforge.plantuml.skin.Context2D; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.txt.UGraphicTxt; public class ComponentTextNote extends AbstractComponentText { private final ComponentType type; private final Display stringsToDisplay; private final FileFormat fileFormat; public ComponentTextNote(ComponentType type, Display stringsToDisplay, FileFormat fileFormat) { this.type = type; this.stringsToDisplay = stringsToDisplay; this.fileFormat = fileFormat; } public void drawU(UGraphic ug, Area area, Context2D context) { final Dimension2D dimensionToUse = area.getDimensionToUse(); final UmlCharArea charArea = ((UGraphicTxt) ug).getCharArea(); final int width = (int) dimensionToUse.getWidth() - 1; final int height = (int) dimensionToUse.getHeight(); charArea.fillRect(' ', 2, 1, width - 3, height - 2); if (type == ComponentType.NOTE) { if (fileFormat == FileFormat.UTXT) { charArea.drawNoteSimpleUnicode(2, 0, width - 2, height); } else { charArea.drawNoteSimple(2, 0, width - 2, height); } } else if (type == ComponentType.NOTE_BOX) { if (fileFormat == FileFormat.UTXT) { charArea.drawBoxSimpleUnicode(2, 0, width - 2, height); } else { charArea.drawBoxSimple(2, 0, width - 2, height); } } charArea.drawStringsLR(stringsToDisplay.as(), 3, 1); } public double getPreferredHeight(StringBounder stringBounder) { return StringUtils.getHeight(stringsToDisplay) + 2; } public double getPreferredWidth(StringBounder stringBounder) { return StringUtils.getWcWidth(stringsToDisplay) + 7; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/ComponentTextParticipant.java000066400000000000000000000065331340005343600314760ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.FileFormat; import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.skin.Area; import net.sourceforge.plantuml.skin.ComponentType; import net.sourceforge.plantuml.skin.Context2D; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.txt.UGraphicTxt; public class ComponentTextParticipant extends AbstractComponentText { private final ComponentType type; private final Display stringsToDisplay; private final FileFormat fileFormat; public ComponentTextParticipant(ComponentType type, Display stringsToDisplay, FileFormat fileFormat) { this.type = type; this.stringsToDisplay = stringsToDisplay; this.fileFormat = fileFormat; } public void drawU(UGraphic ug, Area area, Context2D context) { final Dimension2D dimensionToUse = area.getDimensionToUse(); final UmlCharArea charArea = ((UGraphicTxt) ug).getCharArea(); final int width = (int) dimensionToUse.getWidth(); final int height = (int) dimensionToUse.getHeight(); charArea.fillRect(' ', 0, 0, width, height); if (fileFormat == FileFormat.UTXT) { charArea.drawBoxSimpleUnicode(0, 0, width, height); if (type == ComponentType.PARTICIPANT_TAIL) { charArea.drawChar('\u2534', (width - 1) / 2, 0); } if (type == ComponentType.PARTICIPANT_HEAD) { charArea.drawChar('\u252c', (width - 1) / 2, height - 1); } } else { charArea.drawBoxSimple(0, 0, width, height); if (type == ComponentType.PARTICIPANT_TAIL) { charArea.drawChar('+', (width - 1) / 2, 0); } if (type == ComponentType.PARTICIPANT_HEAD) { charArea.drawChar('+', (width - 1) / 2, height - 1); } } charArea.drawStringsLR(stringsToDisplay.as(), 1, 1); } public double getPreferredHeight(StringBounder stringBounder) { return StringUtils.getHeight(stringsToDisplay) + 2; } public double getPreferredWidth(StringBounder stringBounder) { return StringUtils.getWcWidth(stringsToDisplay) + 2; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/ComponentTextSelfArrow.java000066400000000000000000000071771340005343600311310ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.FileFormat; import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.skin.Area; import net.sourceforge.plantuml.skin.ArrowConfiguration; import net.sourceforge.plantuml.skin.ComponentType; import net.sourceforge.plantuml.skin.Context2D; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.txt.UGraphicTxt; public class ComponentTextSelfArrow extends AbstractComponentText { private final ComponentType type; private final Display stringsToDisplay; private final FileFormat fileFormat; private final ArrowConfiguration config; public ComponentTextSelfArrow(ComponentType type, ArrowConfiguration config, Display stringsToDisplay, FileFormat fileFormat) { this.type = type; this.stringsToDisplay = stringsToDisplay; this.fileFormat = fileFormat; this.config = config; } public void drawU(UGraphic ug, Area area, Context2D context) { if (config.isHidden()) { return; } final Dimension2D dimensionToUse = area.getDimensionToUse(); final UmlCharArea charArea = ((UGraphicTxt) ug).getCharArea(); final int width = (int) dimensionToUse.getWidth(); final int height = (int) dimensionToUse.getHeight() - 1; charArea.fillRect(' ', 0, 0, width, height); if (fileFormat == FileFormat.UTXT) { if (config.isDotted()) { charArea.drawStringLR("\u2500 \u2500 \u2510", 0, 0); charArea.drawStringLR("|", 4, 1); charArea.drawStringLR("< \u2500 \u2518", 0, 2); } else { charArea.drawStringLR("\u2500\u2500\u2500\u2500\u2510", 0, 0); charArea.drawStringLR("\u2502", 4, 1); charArea.drawStringLR("<\u2500\u2500\u2500\u2518", 0, 2); } } else if (config.isDotted()) { charArea.drawStringLR("- - .", 0, 0); charArea.drawStringLR("|", 4, 1); charArea.drawStringLR("< - '", 0, 2); } else { charArea.drawStringLR("----.", 0, 0); charArea.drawStringLR("|", 4, 1); charArea.drawStringLR("<---'", 0, 2); } charArea.drawStringsLR(stringsToDisplay.as(), 6, 1); } public double getPreferredHeight(StringBounder stringBounder) { return StringUtils.getHeight(stringsToDisplay) + 3; } public double getPreferredWidth(StringBounder stringBounder) { return StringUtils.getWcWidth(stringsToDisplay) + 6; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/ComponentTextShape.java000066400000000000000000000060011340005343600302460ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.skin.Area; import net.sourceforge.plantuml.skin.ComponentType; import net.sourceforge.plantuml.skin.Context2D; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.txt.UGraphicTxt; public class ComponentTextShape extends AbstractComponentText { private final ComponentType type; private final Display stringsToDisplay; private final AsciiShape shape; public ComponentTextShape(ComponentType type, Display stringsToDisplay, AsciiShape shape) { this.type = type; this.stringsToDisplay = stringsToDisplay; this.shape = shape; } public void drawU(UGraphic ug, Area area, Context2D context) { final Dimension2D dimensionToUse = area.getDimensionToUse(); final UmlCharArea charArea = ((UGraphicTxt) ug).getCharArea(); final int width = (int) dimensionToUse.getWidth(); final int height = (int) dimensionToUse.getHeight(); charArea.fillRect(' ', 0, 0, width, height); final int xman = width / 2 - shape.getWidth() / 2 + 1; if (type.name().endsWith("_HEAD")) { charArea.drawStringsLR(stringsToDisplay.as(), 1, getHeight()); charArea.drawShape(shape, xman, 0); } else { charArea.drawStringsLR(stringsToDisplay.as(), 1, 0); charArea.drawShape(shape, xman, 1); } } private int getHeight() { return shape.getHeight(); } public double getPreferredHeight(StringBounder stringBounder) { return StringUtils.getHeight(stringsToDisplay) + getHeight(); } public double getPreferredWidth(StringBounder stringBounder) { return StringUtils.getWcWidth(stringsToDisplay) + 2; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/TextSkin.java000066400000000000000000000116221340005343600262340ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import net.sourceforge.plantuml.FileFormat; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.skin.ArrowConfiguration; import net.sourceforge.plantuml.skin.ArrowDirection; import net.sourceforge.plantuml.skin.Component; import net.sourceforge.plantuml.skin.ComponentType; import net.sourceforge.plantuml.skin.Skin; import net.sourceforge.plantuml.skin.rose.ComponentRoseGroupingSpace; public class TextSkin implements Skin { private final FileFormat fileFormat; public TextSkin(FileFormat fileFormat) { this.fileFormat = fileFormat; } public Component createComponent(ComponentType type, ArrowConfiguration config, ISkinParam param, Display stringsToDisplay) { if (type == ComponentType.ACTOR_HEAD || type == ComponentType.ACTOR_TAIL) { return new ComponentTextActor(type, stringsToDisplay, fileFormat, fileFormat == FileFormat.UTXT ? AsciiShape.STICKMAN_UNICODE : AsciiShape.STICKMAN); } if (type == ComponentType.BOUNDARY_HEAD || type == ComponentType.BOUNDARY_TAIL) { return new ComponentTextShape(type, stringsToDisplay, AsciiShape.BOUNDARY); } if (type == ComponentType.DATABASE_HEAD || type == ComponentType.DATABASE_TAIL) { return new ComponentTextShape(type, stringsToDisplay, AsciiShape.DATABASE); } if (type.name().endsWith("_HEAD") || type.name().endsWith("_TAIL")) { return new ComponentTextParticipant(type, stringsToDisplay, fileFormat); } if (type.isArrow() && (config.getArrowDirection() == ArrowDirection.LEFT_TO_RIGHT_NORMAL || config.getArrowDirection() == ArrowDirection.RIGHT_TO_LEFT_REVERSE || config .getArrowDirection() == ArrowDirection.BOTH_DIRECTION)) { return new ComponentTextArrow(type, config, stringsToDisplay, fileFormat, param.maxAsciiMessageLength()); } if (type.isArrow() && config.isSelfArrow()) { return new ComponentTextSelfArrow(type, config, stringsToDisplay, fileFormat); } if (type == ComponentType.PARTICIPANT_LINE) { return new ComponentTextLine(type, fileFormat); } if (type == ComponentType.CONTINUE_LINE) { return new ComponentTextLine(type, fileFormat); } if (type == ComponentType.DELAY_LINE) { return new ComponentTextLine(type, fileFormat); } if (type == ComponentType.ALIVE_BOX_CLOSE_CLOSE) { return new ComponentTextActiveLine(fileFormat); } if (type == ComponentType.ALIVE_BOX_CLOSE_OPEN) { return new ComponentTextActiveLine(fileFormat); } if (type == ComponentType.ALIVE_BOX_OPEN_CLOSE) { return new ComponentTextActiveLine(fileFormat); } if (type == ComponentType.ALIVE_BOX_OPEN_OPEN) { return new ComponentTextActiveLine(fileFormat); } if (type == ComponentType.NOTE || type == ComponentType.NOTE_BOX) { return new ComponentTextNote(type, stringsToDisplay, fileFormat); } if (type == ComponentType.DIVIDER) { return new ComponentTextDivider(type, stringsToDisplay, fileFormat); } if (type == ComponentType.GROUPING_HEADER) { return new ComponentTextGroupingHeader(type, stringsToDisplay, fileFormat); } if (type == ComponentType.GROUPING_SPACE) { return new ComponentRoseGroupingSpace(1); } if (type == ComponentType.GROUPING_ELSE) { return new ComponentTextGroupingElse(type, stringsToDisplay, fileFormat); } if (type == ComponentType.NEWPAGE) { return new ComponentTextNewpage(fileFormat); } if (type == ComponentType.DELAY_TEXT) { return new ComponentTextDelay(type, stringsToDisplay, fileFormat); } if (type == ComponentType.DESTROY) { return new ComponentTextDestroy(); } throw new UnsupportedOperationException(type.toString()); } public Object getProtocolVersion() { return 1; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/TextStringBounder.java000066400000000000000000000032011340005343600301070ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.Dimension2DDouble; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.ugraphic.UFont; public class TextStringBounder implements StringBounder { public Dimension2D calculateDimension(UFont font, String text) { return new Dimension2DDouble(text.length(), 1); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/TranslatedCharArea.java000066400000000000000000000070531340005343600301560ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.io.PrintStream; import java.util.Collection; import java.util.List; public class TranslatedCharArea implements UmlCharArea { private final int dx; private final int dy; private final UmlCharArea charArea; public TranslatedCharArea(UmlCharArea charArea, int dx, int dy) { this.charArea = charArea; this.dx = dx; this.dy = dy; } public void drawBoxSimple(int x, int y, int width, int height) { charArea.drawBoxSimple(x + dx, y + dy, width, height); } public void drawBoxSimpleUnicode(int x, int y, int width, int height) { charArea.drawBoxSimpleUnicode(x + dx, y + dy, width, height); } public void drawNoteSimple(int x, int y, int width, int height) { charArea.drawNoteSimple(x + dx, y + dy, width, height); } public void drawNoteSimpleUnicode(int x, int y, int width, int height) { charArea.drawNoteSimpleUnicode(x + dx, y + dy, width, height); } public void drawShape(AsciiShape shape, int x, int y) { charArea.drawShape(shape, x + dx, y + dy); } public void drawChar(char c, int x, int y) { charArea.drawChar(c, x + dx, y + dy); } public void drawHLine(char c, int line, int col1, int col2) { charArea.drawHLine(c, line + dy, col1 + dx, col2 + dx); } public void drawHLine(char c, int line, int col1, int col2, char ifFound, char thenUse) { charArea.drawHLine(c, line + dy, col1 + dx, col2 + dx, ifFound, thenUse); } public void drawStringLR(String string, int x, int y) { charArea.drawStringLR(string, x + dx, y + dy); } public void drawStringTB(String string, int x, int y) { charArea.drawStringTB(string, x + dx, y + dy); } public void drawVLine(char c, int col, int line1, int line2) { charArea.drawVLine(c, col + dx, line1 + dy, line2 + dy); } public int getHeight() { return charArea.getHeight(); } public int getWidth() { return charArea.getWidth(); } public String getLine(int line) { return charArea.getLine(line); } public List getLines() { return charArea.getLines(); } public void print(PrintStream ps) { charArea.print(ps); } public void drawStringsLR(Collection strings, int x, int y) { charArea.drawStringsLR(strings, x + dx, y + dy); } public void fillRect(char c, int x, int y, int width, int height) { charArea.fillRect(c, x + dx, y + dy, width, height); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/UmlCharArea.java000066400000000000000000000033411340005343600266060ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.util.Collection; public interface UmlCharArea extends BasicCharArea { void drawBoxSimple(int x, int y, int width, int height); void drawBoxSimpleUnicode(int x, int y, int width, int height); void drawNoteSimple(int x, int y, int width, int height); void drawNoteSimpleUnicode(int x, int y, int width, int height); void drawShape(AsciiShape shape, int x, int y); void drawStringsLR(Collection strings, int x, int y); }plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/UmlCharAreaImpl.java000066400000000000000000000073031340005343600274320ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.asciiart; import java.util.Collection; public class UmlCharAreaImpl extends BasicCharAreaImpl implements UmlCharArea { public void drawBoxSimple(int x, int y, int width, int height) { this.drawHLine('-', y, x + 1, x + width - 1); this.drawHLine('-', y + height - 1, x + 1, x + width - 1); this.drawVLine('|', x, y + 1, y + height - 1); this.drawVLine('|', x + width - 1, y + 1, y + height - 1); this.drawChar(',', x, y); this.drawChar('.', x + width - 1, y); this.drawChar('`', x, y + height - 1); this.drawChar('\'', x + width - 1, y + height - 1); } public void drawBoxSimpleUnicode(int x, int y, int width, int height) { this.drawHLine('\u2500', y, x + 1, x + width - 1); this.drawHLine('\u2500', y + height - 1, x + 1, x + width - 1); this.drawVLine('\u2502', x, y + 1, y + height - 1); this.drawVLine('\u2502', x + width - 1, y + 1, y + height - 1); this.drawChar('\u250c', x, y); this.drawChar('\u2510', x + width - 1, y); this.drawChar('\u2514', x, y + height - 1); this.drawChar('\u2518', x + width - 1, y + height - 1); } public void drawShape(AsciiShape shape, int x, int y) { shape.draw(this, x, y); } public void drawStringsLR(Collection strings, int x, int y) { int i = 0; if (x < 0) { x = 0; } for (CharSequence s : strings) { this.drawStringLR(s.toString(), x, y + i); i++; } } public void drawNoteSimple(int x, int y, int width, int height) { this.drawHLine('-', y, x + 1, x + width - 1); this.drawHLine('-', y + height - 1, x + 1, x + width - 1); this.drawVLine('|', x, y + 1, y + height - 1); this.drawVLine('|', x + width - 1, y + 1, y + height - 1); this.drawChar(',', x, y); this.drawStringLR("!. ", x + width - 3, y); this.drawStringLR("|_\\", x + width - 3, y + 1); this.drawChar('`', x, y + height - 1); this.drawChar('\'', x + width - 1, y + height - 1); } public void drawNoteSimpleUnicode(int x, int y, int width, int height) { this.drawChar('\u2591', x + width - 2, y + 1); this.drawHLine('\u2550', y, x + 1, x + width - 1, '\u2502', '\u2567'); this.drawHLine('\u2550', y + height - 1, x + 1, x + width - 1, '\u2502', '\u2564'); this.drawVLine('\u2551', x, y + 1, y + height - 1); this.drawVLine('\u2551', x + width - 1, y + 1, y + height - 1); this.drawChar('\u2554', x, y); this.drawChar('\u2557', x + width - 1, y); this.drawChar('\u255a', x, y + height - 1); this.drawChar('\u255d', x + width - 1, y + height - 1); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/asciiart/Wcwidth.java000066400000000000000000000254351340005343600261030ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * Source code provided by Yasuhiro Matsumoto * */ /** * Source code provided by Yasuhiro Matsumoto. * See: * https://github.com/plantuml/plantuml/issues/74 * * Many thanks for his help! */ /** *

See wcwidth.c

* *

This is an implementation of wcwidth() and wcswidth() (defined in * IEEE Std 1002.1-2001) for Unicode.

* * http://www.opengroup.org/onlinepubs/007904975/functions/wcwidth.html * http://www.opengroup.org/onlinepubs/007904975/functions/wcswidth.html * *

In fixed-width output devices, Latin characters all occupy a single * "cell" position of equal width, whereas ideographic CJK characters * occupy two such cells. Interoperability between terminal-line * applications and (teletype-style) character terminals using the * UTF-8 encoding requires agreement on which character should advance * the cursor by how many cell positions. No established formal * standards exist at present on which Unicode character shall occupy * how many cell positions on character terminals. These routines are * a first attempt of defining such behavior based on simple rules * applied to data provided by the Unicode Consortium.

* *

For some graphical characters, the Unicode standard explicitly * defines a character-cell width via the definition of the East Asian * FullWidth (F), Wide (W), Half-width (H), and Narrow (Na) classes. * In all these cases, there is no ambiguity about which width a * terminal shall use. For characters in the East Asian Ambiguous (A) * class, the width choice depends purely on a preference of backward * compatibility with either historic CJK or Western practice. * Choosing single-width for these characters is easy to justify as * the appropriate long-term solution, as the CJK practice of * displaying these characters as double-width comes from historic * implementation simplicity (8-bit encoded characters were displayed * single-width and 16-bit ones double-width, even for Greek, * Cyrillic, etc.) and not any typographic considerations.

* *

Much less clear is the choice of width for the Not East Asian * (Neutral) class. Existing practice does not dictate a width for any * of these characters. It would nevertheless make sense * typographically to allocate two character cells to characters such * as for instance EM SPACE or VOLUME INTEGRAL, which cannot be * represented adequately with a single-width glyph. The following * routines at present merely assign a single-cell width to all * neutral characters, in the interest of simplicity. This is not * entirely satisfactory and should be reconsidered before * establishing a formal standard in this area. At the moment, the * decision which Not East Asian (Neutral) characters should be * represented by double-width glyphs cannot yet be answered by * applying a simple rule from the Unicode database content. Setting * up a proper standard for the behavior of UTF-8 character terminals * will require a careful analysis not only of each Unicode character, * but also of each presentation form, something the author of these * routines has avoided to do so far.

* *

http://www.unicode.org/unicode/reports/tr11/

*/ package net.sourceforge.plantuml.asciiart; public class Wcwidth { /** * sorted list of non-overlapping intervals of non-spacing characters * generated by "uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c" */ private static final int[][] COMBINING = { {0x0300, 0x036F}, {0x0483, 0x0486}, {0x0488, 0x0489}, {0x0591, 0x05BD}, {0x05BF, 0x05BF}, {0x05C1, 0x05C2}, {0x05C4, 0x05C5}, {0x05C7, 0x05C7}, {0x0600, 0x0603}, {0x0610, 0x0615}, {0x064B, 0x065E}, {0x0670, 0x0670}, {0x06D6, 0x06E4}, {0x06E7, 0x06E8}, {0x06EA, 0x06ED}, {0x070F, 0x070F}, {0x0711, 0x0711}, {0x0730, 0x074A}, {0x07A6, 0x07B0}, {0x07EB, 0x07F3}, {0x0901, 0x0902}, {0x093C, 0x093C}, {0x0941, 0x0948}, {0x094D, 0x094D}, {0x0951, 0x0954}, {0x0962, 0x0963}, {0x0981, 0x0981}, {0x09BC, 0x09BC}, {0x09C1, 0x09C4}, {0x09CD, 0x09CD}, {0x09E2, 0x09E3}, {0x0A01, 0x0A02}, {0x0A3C, 0x0A3C}, {0x0A41, 0x0A42}, {0x0A47, 0x0A48}, {0x0A4B, 0x0A4D}, {0x0A70, 0x0A71}, {0x0A81, 0x0A82}, {0x0ABC, 0x0ABC}, {0x0AC1, 0x0AC5}, {0x0AC7, 0x0AC8}, {0x0ACD, 0x0ACD}, {0x0AE2, 0x0AE3}, {0x0B01, 0x0B01}, {0x0B3C, 0x0B3C}, {0x0B3F, 0x0B3F}, {0x0B41, 0x0B43}, {0x0B4D, 0x0B4D}, {0x0B56, 0x0B56}, {0x0B82, 0x0B82}, {0x0BC0, 0x0BC0}, {0x0BCD, 0x0BCD}, {0x0C3E, 0x0C40}, {0x0C46, 0x0C48}, {0x0C4A, 0x0C4D}, {0x0C55, 0x0C56}, {0x0CBC, 0x0CBC}, {0x0CBF, 0x0CBF}, {0x0CC6, 0x0CC6}, {0x0CCC, 0x0CCD}, {0x0CE2, 0x0CE3}, {0x0D41, 0x0D43}, {0x0D4D, 0x0D4D}, {0x0DCA, 0x0DCA}, {0x0DD2, 0x0DD4}, {0x0DD6, 0x0DD6}, {0x0E31, 0x0E31}, {0x0E34, 0x0E3A}, {0x0E47, 0x0E4E}, {0x0EB1, 0x0EB1}, {0x0EB4, 0x0EB9}, {0x0EBB, 0x0EBC}, {0x0EC8, 0x0ECD}, {0x0F18, 0x0F19}, {0x0F35, 0x0F35}, {0x0F37, 0x0F37}, {0x0F39, 0x0F39}, {0x0F71, 0x0F7E}, {0x0F80, 0x0F84}, {0x0F86, 0x0F87}, {0x0F90, 0x0F97}, {0x0F99, 0x0FBC}, {0x0FC6, 0x0FC6}, {0x102D, 0x1030}, {0x1032, 0x1032}, {0x1036, 0x1037}, {0x1039, 0x1039}, {0x1058, 0x1059}, {0x1160, 0x11FF}, {0x135F, 0x135F}, {0x1712, 0x1714}, {0x1732, 0x1734}, {0x1752, 0x1753}, {0x1772, 0x1773}, {0x17B4, 0x17B5}, {0x17B7, 0x17BD}, {0x17C6, 0x17C6}, {0x17C9, 0x17D3}, {0x17DD, 0x17DD}, {0x180B, 0x180D}, {0x18A9, 0x18A9}, {0x1920, 0x1922}, {0x1927, 0x1928}, {0x1932, 0x1932}, {0x1939, 0x193B}, {0x1A17, 0x1A18}, {0x1B00, 0x1B03}, {0x1B34, 0x1B34}, {0x1B36, 0x1B3A}, {0x1B3C, 0x1B3C}, {0x1B42, 0x1B42}, {0x1B6B, 0x1B73}, {0x1DC0, 0x1DCA}, {0x1DFE, 0x1DFF}, {0x200B, 0x200F}, {0x202A, 0x202E}, {0x2060, 0x2063}, {0x206A, 0x206F}, {0x20D0, 0x20EF}, {0x302A, 0x302F}, {0x3099, 0x309A}, {0xA806, 0xA806}, {0xA80B, 0xA80B}, {0xA825, 0xA826}, {0xFB1E, 0xFB1E}, {0xFE00, 0xFE0F}, {0xFE20, 0xFE23}, {0xFEFF, 0xFEFF}, {0xFFF9, 0xFFFB}, {0x10A01, 0x10A03}, {0x10A05, 0x10A06}, {0x10A0C, 0x10A0F}, {0x10A38, 0x10A3A}, {0x10A3F, 0x10A3F}, {0x1D167, 0x1D169}, {0x1D173, 0x1D182}, {0x1D185, 0x1D18B}, {0x1D1AA, 0x1D1AD}, {0x1D242, 0x1D244}, {0xE0001, 0xE0001}, {0xE0020, 0xE007F}, {0xE0100, 0xE01EF} }; static boolean bisearch(int ucs) { int min = 0; int mid; int max = COMBINING.length - 1; if (ucs < COMBINING[0][0] || ucs > COMBINING[max][1]) { return false; } while (max >= min) { mid = (min + max) / 2; if (ucs > COMBINING[mid][1]) { min = mid + 1; } else if (ucs < COMBINING[mid][0]) { max = mid - 1; } else { return true; } } return false; } /** * See : http://www.cl.cam.ac.uk/%7Emgk25/ucs/wcwidth.c * * The following two functions define the column width of an ISO 10646 * character as follows: * * - The null character (U+0000) has a column width of 0. * * - Other C0/C1 control characters and DEL will lead to a return * value of -1. * * - Non-spacing and enclosing combining characters (general * category code Mn or Me in the Unicode database) have a * column width of 0. * * - SOFT HYPHEN (U+00AD) has a column width of 1. * * - Other format characters (general category code Cf in the Unicode * database) and ZERO WIDTH SPACE (U+200B) have a column width of 0. * * - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF) * have a column width of 0. * * - Spacing characters in the East Asian Wide (W) or East Asian * Full-width (F) category as defined in Unicode Technical * Report #11 have a column width of 2. * * - All remaining characters (including all printable * ISO 8859-1 and WGL4 characters, Unicode control characters, * etc.) have a column width of 1. * * This implementation assumes that wchar_t characters are encoded * in ISO 10646. */ public static int of(int codePoint) { // test for 8-bit control characters if (codePoint == 0) { return 0; } if (codePoint < 32 || (codePoint >= 0x7f && codePoint < 0xa0)) { return -1; } // Added by Arnaud : Usual 8 bit char if (codePoint < 127) { return 1; } // binary search in table of non-spacing characters if (bisearch(codePoint)) { return 0; } // if we arrive here, ucs is not a combining or C0/C1 control character return 1 + ((codePoint >= 0x1100 && (codePoint <= 0x115f || // Hangul Jamo init. consonants codePoint == 0x2329 || codePoint == 0x232a || (codePoint >= 0x2e80 && codePoint <= 0xa4cf && codePoint != 0x303f) || // CJK ... Yi (codePoint >= 0xac00 && codePoint <= 0xd7a3) || // Hangul Syllables (codePoint >= 0xf900 && codePoint <= 0xfaff) || // CJK Compatibility Ideographs (codePoint >= 0xfe10 && codePoint <= 0xfe19) || // Vertical forms (codePoint >= 0xfe30 && codePoint <= 0xfe6f) || // CJK Compatibility Forms (codePoint >= 0xff00 && codePoint <= 0xff60) || // Fullwidth Forms (codePoint >= 0xffe0 && codePoint <= 0xffe6) || (codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd))) ? 1 : 0); } public static int length(CharSequence s) { int result = 0; for (int i = 0; i < s.length(); i++) { result += of(s.charAt(i)); } return result; } }plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/000077500000000000000000000000001340005343600225755ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/AbstractConnectorPuzzle.java000066400000000000000000000037211340005343600302730ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; import java.util.EnumSet; import java.util.Set; abstract class AbstractConnectorPuzzle implements ConnectorPuzzle { private final EnumSet connections = EnumSet.noneOf(Where.class); public final boolean have(Where where) { return connections.contains(where); } public final void append(Where where) { this.connections.add(where); } public final void remove(Where where) { final boolean ok = connections.remove(where); if (ok == false) { throw new IllegalArgumentException(); } } public final void append(ConnectorPuzzle other) { this.connections.addAll(((AbstractConnectorPuzzle) other).connections); } protected final Set connections() { return connections; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/BpmBranch.java000066400000000000000000000037121340005343600252770ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * */ package net.sourceforge.plantuml.bpm; public class BpmBranch { private final int uid; private int counter = 1; public BpmBranch(int uid) { this.uid = uid; } public int incAndGetCounter() { counter++; return counter; } private String getEntryId() { return "$branchA" + uid; } private String getExitId() { return "$branchB" + uid; } public BpmElement getEntryElement() { return new BpmElement(getEntryId(), BpmElementType.MERGE, null); } public BpmElement getElseElement() { return new BpmElement(getExitId(), BpmElementType.MERGE, null); } public BpmEvent getResumeEntryEvent() { return new BpmEventResume(getEntryId()); } public BpmEvent getGoToEndEvent() { return new BpmEventGoto(getExitId()); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/BpmDiagram.java000066400000000000000000000142641340005343600254520ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * */ package net.sourceforge.plantuml.bpm; import java.io.IOException; import java.io.OutputStream; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Deque; import java.util.List; import net.sourceforge.plantuml.FileFormatOption; import net.sourceforge.plantuml.SkinParam; import net.sourceforge.plantuml.UmlDiagram; import net.sourceforge.plantuml.UmlDiagramType; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.core.DiagramDescription; import net.sourceforge.plantuml.core.ImageData; import net.sourceforge.plantuml.graphic.UDrawable; import net.sourceforge.plantuml.ugraphic.ImageBuilder; public class BpmDiagram extends UmlDiagram { private void cleanGrid(Grid grid) { while (true) { final boolean v1 = new CleanerEmptyLine().clean(grid); final boolean v2 = new CleanerInterleavingLines().clean(grid); final boolean v3 = new CleanerMoveBlock().clean(grid); if (v1 == false && v2 == false && v3 == false) { return; } } } private final BpmElement start = new BpmElement(null, BpmElementType.START); private List events = new ArrayList(); private Deque branches = new ArrayDeque(); public DiagramDescription getDescription() { return new DiagramDescription("(Bpm Diagram)"); } @Override public UmlDiagramType getUmlDiagramType() { return UmlDiagramType.BPM; } @Override protected ImageData exportDiagramInternal(OutputStream os, int index, FileFormatOption fileFormatOption) throws IOException { final double dpiFactor = 1; final double margin = 10; final ImageBuilder imageBuilder = new ImageBuilder(getSkinParam(), dpiFactor, fileFormatOption.isWithMetadata() ? getMetadata() : null, getWarningOrError(), margin, margin, getAnimation()); imageBuilder.setUDrawable(getUDrawable()); return imageBuilder.writeImageTOBEMOVED(fileFormatOption, seed(), os); } private UDrawable getUDrawable() { final Grid grid = createGrid(); cleanGrid(grid); final GridArray gridArray = grid.toArray(SkinParam.create(getUmlDiagramType())); // gridArray.addEdges(edges); System.err.println("gridArray=" + gridArray); return gridArray; } public CommandExecutionResult addEvent(BpmEvent event) { this.events.add(event); return CommandExecutionResult.ok(); } private Coord current; private Cell last; private Grid createGrid() { final Grid grid = new Grid(); this.current = grid.getRoot(); // this.edges.clear(); last = grid.getCell(current); grid.getCell(current).setData(start); for (BpmEvent event : events) { if (event instanceof BpmEventAdd) { final BpmEventAdd tmp = (BpmEventAdd) event; addInGrid(grid, tmp.getElement()); } else if (event instanceof BpmEventResume) { final String idDestination = ((BpmEventResume) event).getId(); current = grid.getById(idDestination); last = grid.getCell(current); if (last == null) { throw new IllegalStateException(); } final Navigator nav = grid.linesOf(current); final Line newLine = new Line(); nav.insertAfter(newLine); final Col row = current.getCol(); current = new Coord(newLine, row); } else if (event instanceof BpmEventGoto) { final BpmEventGoto tmp = (BpmEventGoto) event; final String idDestination = tmp.getId(); current = grid.getById(idDestination); final Cell src = last; last = grid.getCell(current); if (last == null) { throw new IllegalStateException(); } final Navigator nav = grid.linesOf(current); final Line newLine = new Line(); nav.insertAfter(newLine); final Col row = current.getCol(); current = new Coord(newLine, row); src.addConnectionTo2(last.getData()); } else { throw new IllegalStateException(); } } grid.addConnections(); // for (GridEdge edge : edges) { // System.err.println("EDGE=" + edge.getEdgeDirection()); // edge.addLineIn(grid); // } // grid.addEdge(edges); return grid; } private void addInGrid(Grid grid, BpmElement element) { final Navigator nav = grid.colsOf(current); final Col newRow = new Col(); nav.insertAfter(newRow); current = new Coord(current.getLine(), newRow); grid.getCell(current).setData(element); last.addConnectionTo2(grid.getCell(current).getData()); last = grid.getCell(current); } public CommandExecutionResult newBranch() { final BpmBranch branch = new BpmBranch(events.size()); branches.addLast(branch); return addEvent(new BpmEventAdd(branch.getEntryElement())); } public CommandExecutionResult elseBranch() { final BpmBranch branch = branches.getLast(); final int counter = branch.incAndGetCounter(); if (counter == 2) { addEvent(new BpmEventAdd(branch.getElseElement())); return addEvent(branch.getResumeEntryEvent()); } addEvent(branch.getGoToEndEvent()); return addEvent(branch.getResumeEntryEvent()); } public CommandExecutionResult endBranch() { final BpmBranch branch = branches.removeLast(); return addEvent(branch.getGoToEndEvent()); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/BpmDiagramFactory.java000066400000000000000000000041671340005343600270030ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; import java.util.ArrayList; import java.util.List; import net.sourceforge.plantuml.AbstractPSystem; import net.sourceforge.plantuml.command.Command; import net.sourceforge.plantuml.command.UmlDiagramFactory; import net.sourceforge.plantuml.core.DiagramType; public class BpmDiagramFactory extends UmlDiagramFactory { public BpmDiagramFactory(DiagramType type) { super(DiagramType.BPM); } @Override protected List createCommands() { final List result = new ArrayList(); result.add(new CommandDockedEvent()); result.add(new CommandMerge()); result.add(new CommandResume()); result.add(new CommandGoto()); result.add(new CommandNewBranch()); result.add(new CommandElseBranch()); result.add(new CommandEndBranch()); return result; } @Override public AbstractPSystem createEmptyDiagram() { return new BpmDiagram(); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/BpmElement.java000066400000000000000000000134131340005343600254720ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * */ package net.sourceforge.plantuml.bpm; import java.awt.geom.Dimension2D; import java.awt.geom.Rectangle2D; import net.sourceforge.plantuml.ColorParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.SkinParamUtils; import net.sourceforge.plantuml.activitydiagram3.ftile.BoxStyle; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileBox; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileCircleStart; import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamond; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.HtmlColorUtils; import net.sourceforge.plantuml.graphic.InnerStrategy; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.ugraphic.MinMax; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UFont; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.ULine; import net.sourceforge.plantuml.ugraphic.UTranslate; public class BpmElement extends AbstractConnectorPuzzle implements ConnectorPuzzle { private final String id; private final BpmElementType type; private final Display display; public BpmElement(String id, BpmElementType type, String label) { this.id = id; this.type = type; this.display = Display.getWithNewlines(label); } public BpmElement(String id, BpmElementType type) { this(id, type, null); } @Override public String toString() { if (id == null) { return type.toString() + "(" + display + ")"; } return type.toString() + "(" + id + ")"; } public BpmElementType getType() { return type; } public final Display getDisplay() { return display; } public TextBlock toTextBlock(ISkinParam skinParam) { final TextBlock raw = toTextBlockInternal(skinParam); return new TextBlock() { public void drawU(UGraphic ug) { raw.drawU(ug); ug = ug.apply(new UChangeColor(HtmlColorUtils.RED)); for (Where w : Where.values()) { if (have(w)) { drawLine(ug, w, raw.calculateDimension(ug.getStringBounder())); } } } public Rectangle2D getInnerPosition(String member, StringBounder stringBounder, InnerStrategy strategy) { return raw.getInnerPosition(member, stringBounder, strategy); } public Dimension2D calculateDimension(StringBounder stringBounder) { return raw.calculateDimension(stringBounder); } public MinMax getMinMax(StringBounder stringBounder) { return raw.getMinMax(stringBounder); } }; } private void drawLine(UGraphic ug, Where w, Dimension2D total) { final double width = total.getWidth(); final double height = total.getHeight(); if (w == Where.WEST) { ug.apply(new UTranslate(-10, height / 2)).draw(new ULine(10, 0)); } if (w == Where.EAST) { ug.apply(new UTranslate(width, height / 2)).draw(new ULine(10, 0)); } if (w == Where.NORTH) { ug.apply(new UTranslate(width / 2, -10)).draw(new ULine(0, 10)); } if (w == Where.SOUTH) { ug.apply(new UTranslate(width / 2, height)).draw(new ULine(0, 10)); } } public TextBlock toTextBlockInternal(ISkinParam skinParam) { if (type == BpmElementType.START) { return new FtileCircleStart(skinParam, HtmlColorUtils.BLACK, null); } if (type == BpmElementType.MERGE) { final HtmlColor borderColor = SkinParamUtils.getColor(skinParam, ColorParam.activityBorder, null); final HtmlColor backColor = SkinParamUtils.getColor(skinParam, ColorParam.activityBackground, null); return new FtileDiamond(skinParam, backColor, borderColor, null); } if (type == BpmElementType.DOCKED_EVENT) { final UFont font = UFont.serif(14); return new FtileBox(skinParam, display, font, null, BoxStyle.PLAIN); } final UFont font = UFont.serif(14); final FontConfiguration fc = new FontConfiguration(font, HtmlColorUtils.RED, HtmlColorUtils.RED, false); if (Display.isNull(display)) { return Display.getWithNewlines(type.toString()).create(fc, HorizontalAlignment.LEFT, skinParam); } return display.create(fc, HorizontalAlignment.LEFT, skinParam); } private Dimension2D dimension; public Dimension2D getDimension(StringBounder stringBounder, ISkinParam skinParam) { if (dimension == null) { dimension = toTextBlock(skinParam).calculateDimension(stringBounder); } return dimension; } public final String getId() { return id; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/BpmElementType.java000066400000000000000000000025101340005343600263300ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * */ package net.sourceforge.plantuml.bpm; public enum BpmElementType { START, END, MERGE, DOCKED_EVENT } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/BpmEvent.java000066400000000000000000000024441340005343600251640ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * */ package net.sourceforge.plantuml.bpm; public interface BpmEvent { } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/BpmEventAdd.java000066400000000000000000000027421340005343600255760ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * */ package net.sourceforge.plantuml.bpm; public class BpmEventAdd implements BpmEvent { private final BpmElement element; public BpmEventAdd(BpmElement element) { this.element = element; } public final BpmElement getElement() { return element; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/BpmEventGoto.java000066400000000000000000000026711340005343600260170ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * */ package net.sourceforge.plantuml.bpm; public class BpmEventGoto implements BpmEvent { private final String id; public BpmEventGoto(String id) { this.id = id; } public final String getId() { return id; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/BpmEventResume.java000066400000000000000000000026751340005343600263530ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * */ package net.sourceforge.plantuml.bpm; public class BpmEventResume implements BpmEvent { private final String id; public BpmEventResume(String id) { this.id = id; } public final String getId() { return id; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/Cell.java000066400000000000000000000040121340005343600243140ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Cell { private Placeable data; private final List destinations = new ArrayList(); public final Placeable getData() { return data; } public final void setData(Placeable data) { this.data = data; } @Override public String toString() { if (data == null) { return super.toString(); } return super.toString() + " " + data; } public void addConnectionTo2(Placeable other) { // Should be an assert if (other instanceof BpmElement == false) { throw new IllegalArgumentException(); } this.destinations.add(other); } public List getDestinations2() { return Collections.unmodifiableList(destinations); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/Chain.java000066400000000000000000000027731340005343600244730ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; import java.util.Comparator; import java.util.List; public interface Chain extends Comparator { public Navigator navigator(O data); public boolean contains(O data); public List toList(); public boolean remove(O data); } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/ChainImpl.java000066400000000000000000000136211340005343600253070ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; import java.util.ArrayList; import java.util.Collections; import java.util.ConcurrentModificationException; import java.util.List; public class ChainImpl implements Chain { private final List positive = new ArrayList(); private final List negative = new ArrayList(); private int currentVersion; public boolean remove(O data) { updateStructuralVersion(); boolean result = positive.remove(data); if (result == false) { result = negative.remove(data); } return result; } public ChainImpl cloneMe() { final ChainImpl result = new ChainImpl(); result.currentVersion = this.currentVersion; result.positive.addAll(this.positive); result.negative.addAll(this.negative); return result; } public int compare(O a, O b) { if (a.equals(b)) { return 0; } for (int i = negative.size() - 1; i >= 0; i--) { if (a.equals(negative.get(i))) { return -1; } if (b.equals(negative.get(i))) { return 1; } } for (O cur : positive) { if (a.equals(cur)) { return -1; } if (b.equals(cur)) { return 1; } } throw new UnsupportedOperationException(); } public List toList() { final List result = new ArrayList(); for (O element : negative) { if (element != null) { result.add(0, element); } } for (O element : positive) { if (element != null) { result.add(element); } } return Collections.unmodifiableList(result); } private ChainImpl() { } public ChainImpl(O root) { if (root == null) { throw new IllegalArgumentException(); } this.positive.add(root); } private int updateStructuralVersion() { currentVersion++; return currentVersion; } public boolean contains(O data) { if (data == null) { throw new IllegalArgumentException(); } for (int i = 0; i < Math.max(positive.size(), negative.size()); i++) { if (i < positive.size() && data == positive.get(i)) { return true; } if (i < negative.size() && data == negative.get(i)) { return true; } } return false; } public Navigator navigator(O data) { if (data == null) { throw new IllegalArgumentException(); } for (int i = 0; i < Math.max(positive.size(), negative.size()); i++) { if (i < positive.size() && data == positive.get(i)) { final InternalNavigator result = new InternalNavigator(i, currentVersion); assert result.get() == data; return result; } if (i < negative.size() && data == negative.get(i)) { final InternalNavigator result = new InternalNavigator(-i - 1, currentVersion); assert result.get() == data; return result; } } throw new IllegalArgumentException(); } private O getInternal(int position) { ensure(position); if (position >= 0) { return positive.get(position); } else { return negative.get(-position - 1); } } private void setInternal(int position, O data) { if (data == null) { throw new IllegalArgumentException(); } ensure(position); if (position >= 0) { positive.set(position, data); } else { negative.set(-position - 1, data); } } private void insertInternal(int position, O data) { if (data == null) { throw new IllegalArgumentException(); } ensure(position); if (position >= 0) { positive.add(position, data); } else { negative.add(-position - 1, data); } } private void ensure(int position) { if (position >= 0) { ensureInternal(position, positive); } else { ensureInternal(-position - 1, negative); } } private void ensureInternal(int position, List list) { assert position >= 0 : "position=" + position; while (list.size() <= position) { list.add(null); } assert list.size() > position; // Just check that list.get(position) does not throw Exception assert list.get(position) != this; } class InternalNavigator implements Navigator { private int position = 0; private int version; private InternalNavigator(int position, int version) { this.position = position; this.version = version; } private void checkConsistency() { if (version != currentVersion) { throw new ConcurrentModificationException(); } } public O next() { checkConsistency(); position++; return get(); } public O previous() { checkConsistency(); position--; return get(); } public O get() { checkConsistency(); return getInternal(position); } public void set(O data) { checkConsistency(); setInternal(position, data); } public void insertBefore(O data) { version = updateStructuralVersion(); insertInternal(position, data); } public void insertAfter(O data) { version = updateStructuralVersion(); insertInternal(position + 1, data); } } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/CleanerEmptyLine.java000066400000000000000000000030431340005343600266400ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; public class CleanerEmptyLine implements GridCleaner { public boolean clean(Grid grid) { boolean result = false; for (Line line : grid.lines().toList()) { if (grid.usedColsOf(line).isEmpty()) { grid.removeLine(line); result = true; } } return result; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/CleanerInterleavingLines.java000066400000000000000000000116641340005343600303640ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; import net.sourceforge.plantuml.bpm.ConnectorPuzzle.Where; public class CleanerInterleavingLines implements GridCleaner { public boolean clean(Grid grid) { // System.err.println("running CleanerInterleavingLines"); boolean result = false; Line previous = null; for (Line line : grid.lines().toList()) { if (previous != null) { if (mergeable(grid, previous, line)) { // System.err.println("MERGEABLE! " + previous + " " + line); mergeLines(grid, previous, line); return true; } } previous = line; } return result; } private void mergeLines(Grid grid, Line line1, Line line2) { for (Col col : grid.cols().toList()) { final Cell cell1 = grid.getCell(line1, col); final Cell cell2 = grid.getCell(line2, col); cell1.setData(merge(cell1.getData(), cell2.getData())); cell2.setData(null); } grid.removeLine(line2); } private boolean mergeable(Grid grid, Line line1, Line line2) { // int c = 0; for (Col col : grid.cols().toList()) { // System.err.println("c=" + c); // c++; final Placeable cell1 = grid.getCell(line1, col).getData(); final Placeable cell2 = grid.getCell(line2, col).getData(); // System.err.println("cells=" + cell1 + " " + cell2 + " " + mergeable(cell1, cell2)); if (mergeable(cell1, cell2) == false) { return false; } } return true; } private Placeable merge(Placeable data1, Placeable data2) { if (data1 == null) { return data2; } if (data2 == null) { return data1; } assert data1 != null && data2 != null; if (data1 instanceof BpmElement) { return data1; } if (data2 instanceof BpmElement) { final ConnectorPuzzleEmpty puz1 = (ConnectorPuzzleEmpty) data1; if (puz1.checkDirections("SW")) { ((BpmElement) data2).remove(Where.NORTH); ((BpmElement) data2).append(Where.WEST); } return data2; } assert data1 instanceof ConnectorPuzzleEmpty && data2 instanceof ConnectorPuzzleEmpty; final ConnectorPuzzleEmpty puz1 = (ConnectorPuzzleEmpty) data1; final ConnectorPuzzleEmpty puz2 = (ConnectorPuzzleEmpty) data2; return puz2; } private boolean mergeable(Placeable data1, Placeable data2) { if (data1 == null || data2 == null) { return true; } assert data1 != null && data2 != null; if (data1 instanceof ConnectorPuzzleEmpty && data2 instanceof ConnectorPuzzleEmpty) { return mergeableCC((ConnectorPuzzleEmpty) data1, (ConnectorPuzzleEmpty) data2); } if (data1 instanceof ConnectorPuzzleEmpty && data2 instanceof BpmElement) { final boolean result = mergeablePuzzleSingle((ConnectorPuzzleEmpty) data1, (BpmElement) data2); // System.err.println("OTHER2=" + data2 + " " + data1 + " " + result); return result; } if (data2 instanceof ConnectorPuzzleEmpty && data1 instanceof BpmElement) { final boolean result = mergeablePuzzleSingle((BpmElement) data1, (ConnectorPuzzleEmpty) data2); // System.err.println("OTHER1=" + data1 + " " + data2 + " " + result); return result; } return false; } private boolean mergeablePuzzleSingle(ConnectorPuzzleEmpty data1, BpmElement data2) { if (data1.checkDirections("NS")) { return true; } if (data1.checkDirections("SW")) { return true; } return false; } private boolean mergeablePuzzleSingle(BpmElement data1, ConnectorPuzzleEmpty data2) { if (data2.checkDirections("NS")) { return true; } return false; } private boolean mergeableCC(ConnectorPuzzleEmpty puz1, ConnectorPuzzleEmpty puz2) { if (puz1.checkDirections("NS") && puz2.checkDirections("NS")) { return true; } if (puz1.checkDirections("NS") && puz2.checkDirections("NE")) { return true; } if (puz1.checkDirections("NS") && puz2.checkDirections("NW")) { return true; } return false; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/CleanerMoveBlock.java000066400000000000000000000052161340005343600266170ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; public class CleanerMoveBlock implements GridCleaner { public boolean clean(Grid grid) { System.err.println("CleanerMoveBlock"); for (Line line : grid.lines().toList()) { tryGrid(grid, line); } return false; } private void tryGrid(Grid grid, Line line) { // System.err.println("TRYING LINE " + line); for (Col col1 : grid.cols().toList()) { final Placeable cell1 = grid.getCell(line, col1).getData(); if (cell1 instanceof ConnectorPuzzleEmpty == false) { continue; } final ConnectorPuzzleEmpty puzzle1 = (ConnectorPuzzleEmpty) cell1; if (puzzle1.checkDirections("NS") == false) { continue; } final Navigator it2 = grid.cols().navigator(col1); int cpt = 0; while (true) { final Col col2 = it2.next(); cpt++; if (col2 == null) { break; } if (col1 == col2) { continue; } final Placeable cell2 = grid.getCell(line, col2).getData(); if (cell2 == null) { continue; } if (cell2 instanceof ConnectorPuzzleEmpty == false) { break; } final ConnectorPuzzleEmpty puzzle2 = (ConnectorPuzzleEmpty) cell2; if (puzzle2.checkDirections("NS") == false) { continue; } if (cpt > 1) { tryBridge(line, col1, col2); } break; } } } private void tryBridge(Line line, Col col1, final Col col2) { System.err.println("LINE=" + line + " " + col1 + " " + col2 + " "); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/Col.java000066400000000000000000000024371340005343600241630ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; public class Col { } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/CommandDockedEvent.java000066400000000000000000000043251340005343600271360ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandDockedEvent extends SingleLineCommand2 { public CommandDockedEvent() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf(":"), // new RegexLeaf("LABEL", "(.*)"), // new RegexLeaf("STYLE", ";"), // new RegexLeaf("$")); } @Override protected CommandExecutionResult executeArg(BpmDiagram diagram, RegexResult arg) { final String label = arg.get("LABEL", 0); final BpmElement element = new BpmElement(null, BpmElementType.DOCKED_EVENT, label); final BpmEvent event = new BpmEventAdd(element); return diagram.addEvent(event); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/CommandElseBranch.java000066400000000000000000000037211340005343600267500ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandElseBranch extends SingleLineCommand2 { public CommandElseBranch() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("else"), // new RegexLeaf("$")); } @Override protected CommandExecutionResult executeArg(BpmDiagram diagram, RegexResult arg) { return diagram.elseBranch(); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/CommandEndBranch.java000066400000000000000000000037241340005343600265710ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandEndBranch extends SingleLineCommand2 { public CommandEndBranch() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("end branch"), // new RegexLeaf("$")); } @Override protected CommandExecutionResult executeArg(BpmDiagram diagram, RegexResult arg) { return diagram.endBranch(); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/CommandGoto.java000066400000000000000000000041251340005343600256510ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandGoto extends SingleLineCommand2 { public CommandGoto() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("goto"), // new RegexLeaf("[%s]+"), // new RegexLeaf("ID", "([\\p{L}0-9_.@]+)"), // new RegexLeaf("$")); } @Override protected CommandExecutionResult executeArg(BpmDiagram diagram, RegexResult arg) { final BpmEvent event = new BpmEventGoto(arg.get("ID", 0)); return diagram.addEvent(event); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/CommandMerge.java000066400000000000000000000042041340005343600257760ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandMerge extends SingleLineCommand2 { public CommandMerge() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("ID", "([\\p{L}0-9_.@]+)"), // new RegexLeaf(":?"), // new RegexLeaf("\\<\\+\\>"), // new RegexLeaf("$")); } @Override protected CommandExecutionResult executeArg(BpmDiagram diagram, RegexResult arg) { final BpmEvent event = new BpmEventAdd(new BpmElement(arg.get("ID", 0), BpmElementType.MERGE, null)); return diagram.addEvent(event); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/CommandNewBranch.java000066400000000000000000000037241340005343600266140ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandNewBranch extends SingleLineCommand2 { public CommandNewBranch() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("new branch"), // new RegexLeaf("$")); } @Override protected CommandExecutionResult executeArg(BpmDiagram diagram, RegexResult arg) { return diagram.newBranch(); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/CommandResume.java000066400000000000000000000041351340005343600262020ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; public class CommandResume extends SingleLineCommand2 { public CommandResume() { super(getRegexConcat()); } static RegexConcat getRegexConcat() { return new RegexConcat(new RegexLeaf("^"), // new RegexLeaf("resume"), // new RegexLeaf("[%s]+"), // new RegexLeaf("ID", "([\\p{L}0-9_.@]+)"), // new RegexLeaf("$")); } @Override protected CommandExecutionResult executeArg(BpmDiagram diagram, RegexResult arg) { final BpmEvent event = new BpmEventResume(arg.get("ID", 0)); return diagram.addEvent(event); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/ConnectorPuzzle.java000066400000000000000000000032631340005343600266100ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; public interface ConnectorPuzzle extends Placeable { public static enum Where { NORTH(1), EAST(2), SOUTH(4), WEST(8); private int coding; private Where(int coding) { this.coding = coding; } String toShortString() { return name().substring(0, 1); } int getCoding() { return coding; } } public void append(Where where); public void remove(Where where); public boolean have(Where where); } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/ConnectorPuzzleEmpty.java000066400000000000000000000073461340005343600276350ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; import java.awt.geom.Dimension2D; import java.awt.geom.Rectangle2D; import net.sourceforge.plantuml.Dimension2DDouble; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.graphic.HtmlColorUtils; import net.sourceforge.plantuml.graphic.InnerStrategy; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.ugraphic.MinMax; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.ULine; import net.sourceforge.plantuml.ugraphic.UTranslate; public class ConnectorPuzzleEmpty extends AbstractConnectorPuzzle implements Placeable, TextBlock, ConnectorPuzzle { public static ConnectorPuzzleEmpty get(String value) { final ConnectorPuzzleEmpty result = new ConnectorPuzzleEmpty(); for (Where w : Where.values()) { if (value.contains(w.toShortString())) { result.append(w); } } return result; } public boolean checkDirections(String directions) { return connections().equals(get(directions).connections()); } @Override public String toString() { if (connections().size() == 0) { return "NONE"; } return connections().toString(); } public Dimension2D getDimension(StringBounder stringBounder, ISkinParam skinParam) { return new Dimension2DDouble(20, 20); } public TextBlock toTextBlock(ISkinParam skinParam) { return this; } public String getId() { throw new UnsupportedOperationException(); } public void drawU(UGraphic ug) { // System.err.println("DRAWING " + toString()); ug = ug.apply(new UChangeColor(HtmlColorUtils.BLUE)); for (Where w : Where.values()) { if (have(w)) { drawLine(ug, w); } } } private void drawLine(UGraphic ug, Where w) { if (w == Where.WEST) { ug.apply(new UTranslate(0, 10)).draw(new ULine(10, 0)); } if (w == Where.EAST) { ug.apply(new UTranslate(10, 10)).draw(new ULine(10, 0)); } if (w == Where.NORTH) { ug.apply(new UTranslate(10, 0)).draw(new ULine(0, 10)); } if (w == Where.SOUTH) { ug.apply(new UTranslate(10, 10)).draw(new ULine(0, 10)); } } public Dimension2D calculateDimension(StringBounder stringBounder) { return new Dimension2DDouble(20, 20); } public MinMax getMinMax(StringBounder stringBounder) { throw new UnsupportedOperationException(); } public Rectangle2D getInnerPosition(String member, StringBounder stringBounder, InnerStrategy strategy) { return null; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/Coord.java000066400000000000000000000036161340005343600245140ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; public class Coord { private final Line line; private final Col col; public Coord(Line line, Col row) { if (line == null || row == null) { throw new IllegalArgumentException(); } this.line = line; this.col = row; } public final Col getCol() { return col; } @Override public String toString() { return "line=" + line + " col=" + col; } public final Line getLine() { return line; } @Override public int hashCode() { return line.hashCode() + col.hashCode(); } @Override public boolean equals(Object obj) { final Coord other = (Coord) obj; return this.line == other.line && this.col == other.col; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/Grid.java000066400000000000000000000307441340005343600243350ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.bpm.ConnectorPuzzle.Where; public class Grid { private final Chain lines; private final Chain cols; private final Coord root; private final Map cells = new HashMap(); public Grid() { this.root = new Coord(new Line(), new Col()); this.lines = new ChainImpl(root.getLine()); this.cols = new ChainImpl(root.getCol()); this.cells.put(root, new Cell()); } private Grid(Grid other) { this.lines = ((ChainImpl) other.lines).cloneMe(); this.cols = ((ChainImpl) other.cols).cloneMe(); this.root = other.root; this.cells.putAll(other.cells); } public Grid cloneMe() { return new Grid(this); } public Cell getCell(Coord coord) { return getCell(coord.getLine(), coord.getCol()); } public Cell getCell(Line line, Col col) { if (lines.contains(line) == false) { throw new IllegalArgumentException(); } if (cols.contains(col) == false) { throw new IllegalArgumentException(); } final Coord coord = new Coord(line, col); Cell result = cells.get(coord); if (result == null) { result = new Cell(); cells.put(coord, result); } return result; } // private Set edgeWith(Cell someCell) { // // final Set result = new HashSet(); // // for (GridEdge edge : edges) { // // if (edge.match(someCell)) { // // result.add(edge); // // } // // } // // return Collections.unmodifiableSet(result); // throw new UnsupportedOperationException(); // // } // // private Collection getCellsConnectedTo(Cell someCell) { // final Set result = new HashSet(); // final Set myEdges = edgeWith(someCell); // for (Cell cell : cells.values()) { // for (GridEdge edge : myEdges) { // assert edge.match(someCell); // if (edge.match(cell)) { // result.add(cell); // } // } // } // return Collections.unmodifiableSet(result); // } // // private SortedSet getColsConnectedTo(Cell someCell) { // final SortedSet result = new TreeSet(cols); // final Set myEdges = edgeWith(someCell); // for (Map.Entry ent : cells.entrySet()) { // for (GridEdge edge : myEdges) { // assert edge.match(someCell); // if (edge.match(ent.getValue())) { // result.add(ent.getKey().getCol()); // } // } // } // return Collections.unmodifiableSortedSet(result); // } // public SortedSet colsConnectedTo(Line line) { // final SortedSet result = new TreeSet(cols); // for (Map.Entry ent : cells.entrySet()) { // final Cell cell = ent.getValue(); // if (cell == null || cell.getData() == null) { // continue; // } // if (ent.getKey().getLine() != line) { // continue; // } // result.addAll(getColsConnectedTo(ent.getValue())); // // } // return Collections.unmodifiableSortedSet(result); // } public Coord getById(String id) { for (Map.Entry ent : cells.entrySet()) { final Cell cell = ent.getValue(); if (cell == null || cell.getData() == null) { continue; } if (id.equals(cell.getData().getId())) { return ent.getKey(); } } return null; } public final Coord getRoot() { return root; } public final Chain lines() { return lines; } public final Chain cols() { return cols; } public final Coord getCoord(Cell cell) { for (Map.Entry ent : cells.entrySet()) { if (ent.getValue() == cell) { return ent.getKey(); } } throw new IllegalArgumentException(); } private Coord getCoord(Placeable placeable) { for (Map.Entry ent : cells.entrySet()) { if (ent.getValue().getData() == placeable) { return ent.getKey(); } } throw new IllegalArgumentException(); } public final Navigator linesOf(Coord coord) { return lines.navigator(coord.getLine()); } public final Navigator colsOf(Coord coord) { return cols.navigator(coord.getCol()); } public final Navigator linesOf(Cell cell) { return linesOf(getCoord(cell)); } public final Navigator colsOf(Cell cell) { return colsOf(getCoord(cell)); } public final GridArray toArray(ISkinParam skinParam) { final List lines = this.lines.toList(); final List cols = this.cols.toList(); final GridArray result = new GridArray(skinParam, lines.size(), cols.size()); for (Map.Entry ent : cells.entrySet()) { final int l = lines.indexOf(ent.getKey().getLine()); final int c = cols.indexOf(ent.getKey().getCol()); if (c == -1) { throw new IllegalStateException("col=" + ent.getKey().getCol()); } if (l == -1) { throw new IllegalStateException("line=" + ent.getKey().getLine()); } result.setData(l, c, ent.getValue().getData()); } return result; } // public boolean isRowEmpty(Col row) { // System.err.println("Testing Row " + row); // for (Map.Entry ent : cells.entrySet()) { // final Cell cell = ent.getValue(); // if (cell == null || cell.getData() == null) { // continue; // } // if (ent.getKey().getCol() == row) { // System.err.println("Not empty " + cell + " " + cell.getData()); // return false; // } // } // System.err.println("EMPTY!!!"); // return true; // } // public boolean isLineEmpty(Line line) { // for (Map.Entry ent : cells.entrySet()) { // final Cell cell = ent.getValue(); // if (cell == null || cell.getData() == null) { // continue; // } // if (ent.getKey().getLine() == line) { // return false; // } // } // return true; // } public Set usedColsOf(Line line) { final Set result = new HashSet(); for (Map.Entry ent : cells.entrySet()) { final Cell cell = ent.getValue(); if (cell == null || cell.getData() == null) { continue; } if (ent.getKey().getLine() == line) { result.add(ent.getKey().getCol()); } } return Collections.unmodifiableSet(result); } public void removeLine(Line line) { assert usedColsOf(line).isEmpty(); for (final Iterator> it = cells.entrySet().iterator(); it.hasNext();) { final Map.Entry ent = it.next(); if (ent.getKey().getLine() != line) { continue; } final Cell cell = ent.getValue(); if (cell == null || cell.getData() == null) { it.remove(); } else { throw new IllegalStateException(); } } final boolean done = lines.remove(line); if (done == false) { throw new IllegalArgumentException(); } } // public void addEdge(Collection other) { // this.edges.addAll(other); // } // public void mergeLines(Line line1, Line line2) { // final Map supp = new HashMap(); // // for (Iterator> it = cells.entrySet().iterator(); it.hasNext();) { // final Map.Entry ent = it.next(); // final Cell cell = ent.getValue(); // if (cell == null || cell.getData() == null) { // continue; // } // if (ent.getKey().getLine() == source) { // supp.put(new Coord(dest, ent.getKey().getCol()), cell); // it.remove(); // } // } // cells.putAll(supp); // removeLine(source); // } public void addConnections() { for (Map.Entry ent : new HashMap(cells).entrySet()) { final List dests2 = ent.getValue().getDestinations2(); final Coord src = ent.getKey(); for (int i = 0; i < dests2.size(); i++) { final Coord dest = getCoord(dests2.get(i)); final boolean startHorizontal = i == 0; if (startHorizontal) { // System.err.println("DrawingHorizontal " + ent.getValue() + " --> " + dests.get(i) + " " + i); drawStartHorizontal(src, dest); } else { drawStartVertical(src, dest); } } } } private void drawStartVertical(final Coord src, final Coord dest) { if (src.getLine() == dest.getLine() && src.getCol() == dest.getCol()) { throw new IllegalStateException(); } final BpmElement start = (BpmElement) getCell(src).getData(); final int compare = lines.compare(src.getLine(), dest.getLine()); if (compare == 0) { throw new IllegalStateException(); } start.append(compare < 0 ? Where.SOUTH : Where.NORTH); for (Navigator itLine = Navigators.iterate(lines, src.getLine(), dest.getLine()); itLine.get() != dest .getLine();) { final Line cur = itLine.next(); if (cur != dest.getLine()) { addPuzzle(cur, src.getCol(), "NS"); } } for (Navigator itCol = Navigators.iterate(cols, src.getCol(), dest.getCol()); itCol.get() != dest.getCol();) { final Col cur = itCol.next(); if (cur != dest.getCol()) { addPuzzle(dest.getLine(), cur, "EW"); } } final BpmElement end = (BpmElement) getCell(dest).getData(); if (src.getLine() == dest.getLine()) { end.append(compare < 0 ? Where.NORTH : Where.SOUTH); } if (src.getLine() != dest.getLine() && src.getCol() != dest.getCol()) { if (lines.compare(dest.getLine(), src.getLine()) > 0) { addPuzzle(dest.getLine(), src.getCol(), "N"); } else { addPuzzle(dest.getLine(), src.getCol(), "S"); } if (cols.compare(dest.getCol(), src.getCol()) > 0) { addPuzzle(dest.getLine(), src.getCol(), "E"); } else { addPuzzle(dest.getLine(), src.getCol(), "W"); } end.append(cols.compare(src.getCol(), dest.getCol()) > 0 ? Where.EAST : Where.WEST); } } private void drawStartHorizontal(final Coord src, final Coord dest) { if (src.getLine() == dest.getLine() && src.getCol() == dest.getCol()) { throw new IllegalStateException(); } final BpmElement start = (BpmElement) getCell(src).getData(); final int compare = cols.compare(src.getCol(), dest.getCol()); if (compare == 0) { throw new IllegalStateException(); } start.append(compare < 0 ? Where.EAST : Where.WEST); for (Navigator itCol = Navigators.iterate(cols, src.getCol(), dest.getCol()); itCol.get() != dest.getCol();) { final Col cur = itCol.next(); if (cur != dest.getCol()) { addPuzzle(src.getLine(), cur, "EW"); } } for (Navigator itLine = Navigators.iterate(lines, src.getLine(), dest.getLine()); itLine.get() != dest .getLine();) { final Line cur = itLine.next(); if (cur != dest.getLine()) { addPuzzle(cur, dest.getCol(), "NS"); } } final BpmElement end = (BpmElement) getCell(dest).getData(); if (src.getLine() == dest.getLine()) { end.append(compare < 0 ? Where.WEST : Where.EAST); } if (src.getLine() != dest.getLine() && src.getCol() != dest.getCol()) { if (cols.compare(dest.getCol(), src.getCol()) > 0) { addPuzzle(src.getLine(), dest.getCol(), "W"); } else { addPuzzle(src.getLine(), dest.getCol(), "E"); } if (lines.compare(dest.getLine(), src.getLine()) > 0) { addPuzzle(src.getLine(), dest.getCol(), "S"); } else { addPuzzle(src.getLine(), dest.getCol(), "N"); } end.append(lines.compare(src.getLine(), dest.getLine()) > 0 ? Where.SOUTH : Where.NORTH); } } private void addPuzzle(Line line, Col col, String direction) { final Cell cell = getCell(line, col); ConnectorPuzzleEmpty connector = (ConnectorPuzzleEmpty) cell.getData(); if (connector == null) { connector = new ConnectorPuzzleEmpty(); cell.setData(connector); } connector.append(ConnectorPuzzleEmpty.get(direction)); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/GridArray.java000066400000000000000000000144061340005343600253310ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; import java.awt.geom.Dimension2D; import java.awt.geom.Point2D; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.graphic.HtmlColorUtils; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.UDrawable; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.ULine; import net.sourceforge.plantuml.ugraphic.UTranslate; public class GridArray implements UDrawable { private final int lines; private final int cols; private final Placeable data[][]; private final ISkinParam skinParam; // private final List edges = new ArrayList(); public GridArray(ISkinParam skinParam, int lines, int cols) { this.skinParam = skinParam; this.lines = lines; this.cols = cols; this.data = new Placeable[lines][cols]; } @Override public String toString() { return "" + lines + "x" + cols; } public void setData(int l, int c, Placeable element) { data[l][c] = element; } public Placeable getData(int l, int c) { return data[l][c]; } public final int getRows() { return cols; } public final int getLines() { return lines; } private double getHeightOfLine(StringBounder stringBounder, int line) { double height = 0; for (int i = 0; i < cols; i++) { final Placeable cell = data[line][i]; if (cell == null) { continue; } height = Math.max(height, cell.getDimension(stringBounder, skinParam).getHeight()); } return height; } private double getWidthOfCol(StringBounder stringBounder, int col) { double width = 0; for (int i = 0; i < lines; i++) { final Placeable cell = data[i][col]; if (cell == null) { continue; } width = Math.max(width, cell.getDimension(stringBounder, skinParam).getWidth()); } return width; } private final double margin = 30; public void drawU(UGraphic ug) { // printMe(); final StringBounder stringBounder = ug.getStringBounder(); // for (GridEdge edge : edges) { // // System.err.println("Drawing " + edge); // final int from[] = getCoord(edge.getFrom()); // final int to[] = getCoord(edge.getTo()); // final Point2D pt1 = getCenterOf(stringBounder, from[0], from[1]); // final Point2D pt2 = getCenterOf(stringBounder, to[0], to[1]); // drawArrow(ug, pt1, pt2); // } double dy = 0; drawInternalGrid(ug); for (int l = 0; l < lines; l++) { double dx = 0; final double heightOfLine = getHeightOfLine(stringBounder, l); for (int r = 0; r < cols; r++) { final double widthOfCol = getWidthOfCol(stringBounder, r); final Placeable cell = data[l][r]; if (cell != null) { final Dimension2D dim = cell.getDimension(stringBounder, skinParam); cell.toTextBlock(skinParam).drawU( ug.apply(new UTranslate(dx + (widthOfCol + margin - dim.getWidth()) / 2, dy + (heightOfLine + margin - dim.getHeight()) / 2))); } dx += widthOfCol + margin; } dy += heightOfLine + margin; } } private void drawInternalGrid(UGraphic ug) { double heightMax = 0; for (int l = 0; l < lines; l++) { heightMax += getHeightOfLine(ug.getStringBounder(), l) + margin; } double widthMax = 0; for (int c = 0; c < cols; c++) { widthMax += getWidthOfCol(ug.getStringBounder(), c) + margin; } ug = ug.apply(new UChangeColor(HtmlColorUtils.BLACK)); double y = 0; for (int l = 0; l < lines; l++) { ug.apply(new UTranslate(0, y)).draw(new ULine(widthMax, 0)); y += getHeightOfLine(ug.getStringBounder(), l) + margin; } double x = 0; for (int c = 0; c < cols; c++) { ug.apply(new UTranslate(x, 0)).draw(new ULine(0, heightMax)); x += getWidthOfCol(ug.getStringBounder(), c) + margin; } } private void drawArrow(UGraphic ug, Point2D pt1, Point2D pt2) { ug = ug.apply(new UChangeColor(HtmlColorUtils.BLUE)); final ULine line = new ULine(pt2.getX() - pt1.getX(), pt2.getY() - pt1.getY()); ug.apply(new UTranslate(pt1)).draw(line); } private Point2D getCenterOf(StringBounder stringBounder, int c, int l) { double x = getWidthOfCol(stringBounder, c) / 2 + margin / 2; for (int i = 0; i < c; i++) { final double widthOfCol = getWidthOfCol(stringBounder, i); x += widthOfCol + margin; } double y = getHeightOfLine(stringBounder, l) / 2 + margin / 2; for (int i = 0; i < l; i++) { final double heightOfLine = getHeightOfLine(stringBounder, i); y += heightOfLine + margin; } return new Point2D.Double(x, y); } private int[] getCoord(Cell someCell) { for (int l = 0; l < lines; l++) { for (int c = 0; c < cols; c++) { final Placeable cell = data[l][c]; if (cell == someCell.getData()) { return new int[] { c, l }; } } } throw new IllegalArgumentException(); } private void printMe() { for (int l = 0; l < lines; l++) { for (int c = 0; c < cols; c++) { final Placeable cell = data[l][c]; System.err.print(cell); System.err.print(" ; "); } System.err.println(); } } // void addEdgesInternal(List edges) { // this.edges.addAll(edges); // } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/GridCleaner.java000066400000000000000000000025161340005343600256230ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; public interface GridCleaner { public boolean clean(Grid grid); } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/Line.java000066400000000000000000000024371340005343600243350ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; public class Line { } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/Navigator.java000066400000000000000000000027121340005343600253740ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; public interface Navigator { public O next(); public O previous(); public O get(); public void set(O data); public void insertBefore(O data); public void insertAfter(O data); } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/Navigators.java000066400000000000000000000040141340005343600255540ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; public final class Navigators { private Navigators() { } public static Navigator iterate(final Chain orig, final O from, final O to) { if (orig.compare(from, to) <= 0) { return orig.navigator(from); } return reverse(orig.navigator(from)); } public static Navigator reverse(final Navigator orig) { return new Navigator() { public O next() { return orig.previous(); } public O previous() { return orig.next(); } public O get() { return orig.get(); } public void set(O data) { orig.set(data); } public void insertBefore(O data) { throw new UnsupportedOperationException(); } public void insertAfter(O data) { throw new UnsupportedOperationException(); } }; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/bpm/Placeable.java000066400000000000000000000032101340005343600253040ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.bpm; import java.awt.geom.Dimension2D; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; public interface Placeable { public Dimension2D getDimension(StringBounder stringBounder, ISkinParam skinParam); public TextBlock toTextBlock(ISkinParam skinParam); public String getId(); } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/braille/000077500000000000000000000000001340005343600234315ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/braille/BrailleChar.java000066400000000000000000000107201340005343600264440ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.braille; public class BrailleChar { private final int id; private BrailleChar(int id) { this.id = id; } public void draw(BrailleGrid grid, double xv, double yv) { final int x = grid.toInt(xv); final int y = grid.toInt(yv); drawOneSpot(grid, x + 0, y + 0, 1); drawOneSpot(grid, x + 0, y + 1, 2); drawOneSpot(grid, x + 0, y + 2, 4); drawOneSpot(grid, x + 1, y + 0, 8); drawOneSpot(grid, x + 1, y + 1, 16); drawOneSpot(grid, x + 1, y + 2, 32); } private void drawOneSpot(BrailleGrid grid, int x, int y, int check) { if ((id & check) != 0) { grid.setState(x, y, true); } } public static BrailleChar fromChar(char c) { if (c == 'a' || c == 'A' || c == '1') { return new BrailleChar(1); } if (c == 'b' || c == 'B' || c == '2') { return new BrailleChar(1 + 2); } if (c == 'c' || c == 'C' || c == '3') { return new BrailleChar(1 + 8); } if (c == 'd' || c == 'D' || c == '4') { return new BrailleChar(1 + 8 + 16); } if (c == 'e' || c == 'E' || c == '5') { return new BrailleChar(1 + 16); } if (c == 'f' || c == 'F' || c == '6') { return new BrailleChar(1 + 8 + 2); } if (c == 'g' || c == 'G' || c == '7') { return new BrailleChar(1 + 2 + 8 + 16); } if (c == 'h' || c == 'H' || c == '8') { return new BrailleChar(1 + 2 + 16); } if (c == 'i' || c == 'I' || c == '9') { return new BrailleChar(2 + 8); } if (c == 'j' || c == 'J' || c == '0') { return new BrailleChar(2 + 8 + 16); } if (c == 'k' || c == 'K') { return new BrailleChar(1 + 4); } if (c == 'l' || c == 'L') { return new BrailleChar(1 + 2 + 4); } if (c == 'm' || c == 'M') { return new BrailleChar(1 + 4 + 8); } if (c == 'n' || c == 'N') { return new BrailleChar(1 + 4 + 8 + 16); } if (c == 'o' || c == 'O') { return new BrailleChar(1 + 4 + 16); } if (c == 'p' || c == 'P') { return new BrailleChar(1 + 2 + 4 + 8); } if (c == 'q' || c == 'Q') { return new BrailleChar(1 + 2 + 4 + 8 + 16); } if (c == 'r' || c == 'R') { return new BrailleChar(1 + 2 + 4 + 16); } if (c == 's' || c == 'S') { return new BrailleChar(2 + 4 + 8); } if (c == 't' || c == 'T') { return new BrailleChar(2 + 4 + 8 + 16); } if (c == 'u' || c == 'U') { return new BrailleChar(1 + 4 + 32); } if (c == 'v' || c == 'V') { return new BrailleChar(1 + 2 + 4 + 32); } if (c == 'w' || c == 'W') { return new BrailleChar(2 + 8 + 16 + 32); } if (c == 'x' || c == 'X') { return new BrailleChar(1 + 4 + 8 + 32); } if (c == 'y' || c == 'Y') { return new BrailleChar(1 + 4 + 8 + 16 + 32); } if (c == 'z' || c == 'Z') { return new BrailleChar(1 + 4 + 16 + 32); } if (c == ' ') { return new BrailleChar(0); } if (c == '\'') { return new BrailleChar(2); } if (c == ';') { return new BrailleChar(2 + 4); } if (c == ':') { return new BrailleChar(2 + 16); } if (c == '!') { return new BrailleChar(2 + 4 + 16); } if (c == '(' || c == ')') { return new BrailleChar(2 + 4 + 16 + 32); } if (c == '?' || c == '.' || c == '\"') { return new BrailleChar(2 + 4 + 32); } if (c == ',') { return new BrailleChar(4); } if (c == '-') { return new BrailleChar(4 + 32); } return new BrailleChar(63); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/braille/BrailleCharFactory.java000066400000000000000000000032121340005343600277720ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.braille; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class BrailleCharFactory { public static List build(String s) { final List result = new ArrayList(); for (int i = 0; i < s.length(); i++) { result.add(BrailleChar.fromChar(s.charAt(i))); } return Collections.unmodifiableList(result); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/braille/BrailleDrawer.java000066400000000000000000000056571340005343600270300ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.braille; import net.sourceforge.plantuml.graphic.HtmlColorSetSimple; import net.sourceforge.plantuml.graphic.HtmlColorUtils; import net.sourceforge.plantuml.graphic.UDrawable; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UChangeColor; import net.sourceforge.plantuml.ugraphic.UEllipse; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.ULine; import net.sourceforge.plantuml.ugraphic.UTranslate; public class BrailleDrawer implements UDrawable { private final BrailleGrid grid; private final double step = 9; private final double spotSize = 5; public BrailleDrawer(BrailleGrid grid) { this.grid = grid; } public void drawU(UGraphic ug) { ug = ug.apply(new UChangeColor(new HtmlColorSetSimple().getColorIfValid("#F0F0F0"))); for (int x = grid.getMinX(); x <= grid.getMaxX(); x++) { ug.apply(new UTranslate(x * step + spotSize + 1, 0)).draw( new ULine(0, (grid.getMaxY() - grid.getMinY()) * step)); } for (int y = grid.getMinY(); y <= grid.getMaxY(); y++) { ug.apply(new UTranslate(0, y * step + spotSize + 1)).draw( new ULine((grid.getMaxX() - grid.getMinX()) * step, 0)); } ug = ug.apply(new UChangeColor(HtmlColorUtils.BLACK)).apply(new UChangeBackColor(HtmlColorUtils.BLACK)); for (int x = grid.getMinX(); x <= grid.getMaxX(); x++) { for (int y = grid.getMinY(); y <= grid.getMaxY(); y++) { if (grid.getState(x, y)) { drawCircle(ug, x, y); } } } } private void drawCircle(UGraphic ug, int x, int y) { final double cx = x * step; final double cy = y * step; ug.apply(new UTranslate(cx, cy)).draw(new UEllipse(spotSize, spotSize)); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/braille/BrailleGrid.java000066400000000000000000000110061340005343600264520ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.braille; import java.awt.geom.CubicCurve2D; import java.awt.geom.Point2D; import java.util.HashSet; import java.util.List; import java.util.Set; import net.sourceforge.plantuml.posimo.DotPath; public class BrailleGrid { private int minX; private int minY; private int maxX; private int maxY; private final double quanta; private final Set on = new HashSet(); public BrailleGrid(double quanta) { this.quanta = quanta; } public boolean getState(int x, int y) { final Coords coords = new Coords(x, y); return on.contains(coords); } private void setStateDouble(double x, double y, boolean state) { setState(toInt(x), toInt(y), state); } public void setState(int x, int y, boolean state) { final Coords coords = new Coords(x, y); if (state) { on.add(coords); } else { on.remove(coords); } minX = Math.min(minX, x); maxX = Math.max(maxX, x); minY = Math.min(minY, y); maxY = Math.max(maxY, y); } public int getMinX() { return minX; } public int getMinY() { return minY; } public int getMaxX() { return maxX; } public int getMaxY() { return maxY; } public void rectangle(double x, double y, double width, double height) { hline(y, x, x + width); hline(y + height, x, x + width); vline(x, y, y + height); vline(x + width, y, y + height); } private void vline(double x, double y1, double y2) { final int i = toInt(x); final int j1 = toInt(y1); final int j2 = toInt(y2); for (int j = j1; j <= j2; j++) { setState(i, j, true); } } private void hline(double y, double x1, double x2) { final int j = toInt(y); final int i1 = toInt(x1); final int i2 = toInt(x2); for (int i = i1; i <= i2; i++) { setState(i, j, true); } } public int toInt(double value) { return (int) Math.round(value / quanta); } public void line(double x1, double y1, double x2, double y2) { if (x1 == x2) { vline(x1, y1, y2); } else if (y1 == y2) { hline(y1, x1, x2); } else { System.err.println("warning line"); } } public double getQuanta() { return quanta; } public void drawDotPath(double x, double y, DotPath shape) { for (CubicCurve2D.Double bez : shape.getBeziers()) { drawCubic(x, y, bez); } } private void drawCubic(double x, double y, CubicCurve2D.Double bez) { drawPointInternal(x, y, bez.getP1()); drawPointInternal(x, y, bez.getP2()); if (bez.getP1().distance(bez.getP2()) > quanta) { final CubicCurve2D.Double part1 = new CubicCurve2D.Double(); final CubicCurve2D.Double part2 = new CubicCurve2D.Double(); bez.subdivide(part1, part2); drawCubic(x, y, part1); drawCubic(x, y, part2); } } private void drawPointInternal(double x, double y, Point2D pt) { setStateDouble(x + pt.getX(), y + pt.getY(), true); } public void drawPolygon(List points) { for (int i = 0; i < points.size() - 1; i++) { drawLineInternal(points.get(i), points.get(i + 1)); } drawLineInternal(points.get(points.size() - 1), points.get(0)); } private void drawLineInternal(Point2D a, Point2D b) { drawPointInternal(0, 0, a); drawPointInternal(0, 0, b); if (a.distance(b) > quanta) { final Point2D middle = new Point2D.Double((a.getX() + b.getX()) / 2, (a.getY() + b.getY()) / 2); drawLineInternal(a, middle); drawLineInternal(middle, b); } } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/braille/BrailleUtils.java000066400000000000000000000026551340005343600266770ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.braille; public class BrailleUtils { public static boolean isBraille(char c) { return Character.UnicodeBlock.of(c) == Character.UnicodeBlock.BRAILLE_PATTERNS; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/braille/Coords.java000066400000000000000000000033661340005343600255350ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.braille; public class Coords { private final int x; private final int y; public Coords(int x, int y) { this.x = x; this.y = y; } @Override public boolean equals(Object obj) { final Coords other = (Coords) obj; return this.x == other.x && this.y == other.y; } @Override public int hashCode() { return x + y * 8192; } @Override public String toString() { return "( " + x + " ; " + y + " )"; } public int getX() { return x; } public int getY() { return y; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/braille/DriverCenteredCharacterBraille.java000066400000000000000000000037231340005343600323160ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.braille; import net.sourceforge.plantuml.ugraphic.ColorMapper; import net.sourceforge.plantuml.ugraphic.UCenteredCharacter; import net.sourceforge.plantuml.ugraphic.UDriver; import net.sourceforge.plantuml.ugraphic.UParam; import net.sourceforge.plantuml.ugraphic.UShape; public class DriverCenteredCharacterBraille implements UDriver { public void draw(UShape ushape, double x, double y, ColorMapper mapper, UParam param, BrailleGrid grid) { final UCenteredCharacter characterCircled = (UCenteredCharacter) ushape; final double xpos = x; final double ypos = y; final BrailleChar bchar = BrailleCharFactory.build("" + characterCircled.getChar()).get(0); bchar.draw(grid, xpos, ypos); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/braille/DriverDotPathBraille.java000066400000000000000000000034611340005343600303120ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * * */ package net.sourceforge.plantuml.braille; import net.sourceforge.plantuml.posimo.DotPath; import net.sourceforge.plantuml.ugraphic.ColorMapper; import net.sourceforge.plantuml.ugraphic.UDriver; import net.sourceforge.plantuml.ugraphic.UParam; import net.sourceforge.plantuml.ugraphic.UShape; public class DriverDotPathBraille implements UDriver { public void draw(UShape ushape, double x, double y, ColorMapper mapper, UParam param, BrailleGrid grid) { final DotPath shape = (DotPath) ushape; if (param.getColor() != null) { grid.drawDotPath(x, y, shape); } } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/braille/DriverLineBraille.java000066400000000000000000000045311340005343600276350ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * */ package net.sourceforge.plantuml.braille; import java.awt.geom.Line2D; import net.sourceforge.plantuml.ugraphic.ClipContainer; import net.sourceforge.plantuml.ugraphic.ColorMapper; import net.sourceforge.plantuml.ugraphic.UClip; import net.sourceforge.plantuml.ugraphic.UDriver; import net.sourceforge.plantuml.ugraphic.ULine; import net.sourceforge.plantuml.ugraphic.UParam; import net.sourceforge.plantuml.ugraphic.UShape; public class DriverLineBraille implements UDriver { private final ClipContainer clipContainer; public DriverLineBraille(ClipContainer clipContainer) { this.clipContainer = clipContainer; } public void draw(UShape ushape, double x, double y, ColorMapper mapper, UParam param, BrailleGrid grid) { final ULine shape = (ULine) ushape; double x2 = x + shape.getDX(); double y2 = y + shape.getDY(); final UClip clip = clipContainer.getClip(); if (clip != null) { final Line2D.Double line = clip.getClippedLine(new Line2D.Double(x, y, x2, y2)); if (line == null) { return; } x = line.x1; y = line.y1; x2 = line.x2; y2 = line.y2; } grid.line(x, y, x2, y2); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/braille/DriverNoneBraille.java000066400000000000000000000032111340005343600276370ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * */ package net.sourceforge.plantuml.braille; import net.sourceforge.plantuml.ugraphic.ColorMapper; import net.sourceforge.plantuml.ugraphic.UDriver; import net.sourceforge.plantuml.ugraphic.UParam; import net.sourceforge.plantuml.ugraphic.UShape; public class DriverNoneBraille implements UDriver { public void draw(UShape shape, double x, double y, ColorMapper mapper, UParam param, BrailleGrid object) { } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/braille/DriverPolygonBraille.java000066400000000000000000000047321340005343600304000ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * */ package net.sourceforge.plantuml.braille; import java.awt.geom.Point2D; import java.util.ArrayList; import java.util.List; import net.sourceforge.plantuml.ugraphic.ClipContainer; import net.sourceforge.plantuml.ugraphic.ColorMapper; import net.sourceforge.plantuml.ugraphic.UClip; import net.sourceforge.plantuml.ugraphic.UDriver; import net.sourceforge.plantuml.ugraphic.UParam; import net.sourceforge.plantuml.ugraphic.UPolygon; import net.sourceforge.plantuml.ugraphic.UShape; import net.sourceforge.plantuml.ugraphic.UTranslate; public class DriverPolygonBraille implements UDriver { private final ClipContainer clipContainer; public DriverPolygonBraille(ClipContainer clipContainer) { this.clipContainer = clipContainer; } public void draw(UShape ushape, double x, double y, ColorMapper mapper, UParam param, BrailleGrid grid) { final UPolygon shape = (UPolygon) ushape; final List points = new ArrayList(); int i = 0; for (Point2D pt : shape.getPoints()) { points.add(new UTranslate(x, y).getTranslated(pt)); } final UClip clip = clipContainer.getClip(); if (clip != null) { for (Point2D pt : points) { if (clip.isInside(pt) == false) { return; } } } grid.drawPolygon(points); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/braille/DriverRectangleBraille.java000066400000000000000000000063201340005343600306500ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * */ package net.sourceforge.plantuml.braille; import java.awt.geom.Rectangle2D; import net.sourceforge.plantuml.ugraphic.ClipContainer; import net.sourceforge.plantuml.ugraphic.ColorMapper; import net.sourceforge.plantuml.ugraphic.UClip; import net.sourceforge.plantuml.ugraphic.UDriver; import net.sourceforge.plantuml.ugraphic.UParam; import net.sourceforge.plantuml.ugraphic.URectangle; import net.sourceforge.plantuml.ugraphic.UShape; public class DriverRectangleBraille implements UDriver { private final ClipContainer clipContainer; public DriverRectangleBraille(ClipContainer clipContainer) { this.clipContainer = clipContainer; } public void draw(UShape ushape, double x, double y, ColorMapper mapper, UParam param, BrailleGrid grid) { final URectangle rect = (URectangle) ushape; // final double rx = rect.getRx(); // final double ry = rect.getRy(); double width = rect.getWidth(); double height = rect.getHeight(); // final String color = StringUtils.getAsSvg(mapper, param.getColor()); // final HtmlColor back = param.getBackcolor(); // if (back instanceof HtmlColorGradient) { // final HtmlColorGradient gr = (HtmlColorGradient) back; // final String id = svg.createSvgGradient(StringUtils.getAsHtml(mapper.getMappedColor(gr.getColor1())), // StringUtils.getAsHtml(mapper.getMappedColor(gr.getColor2())), gr.getPolicy()); // svg.setFillColor("url(#" + id + ")"); // svg.setStrokeColor(color); // } else { // final String backcolor = StringUtils.getAsSvg(mapper, back); // svg.setFillColor(backcolor); // svg.setStrokeColor(color); // } // // svg.setStrokeWidth(param.getStroke().getThickness(), param.getStroke().getDasharraySvg()); final UClip clip = clipContainer.getClip(); if (clip != null) { final Rectangle2D.Double r = clip.getClippedRectangle(new Rectangle2D.Double(x, y, width, height)); x = r.x; y = r.y; width = r.width; height = r.height; if (height <= 0) { return; } } grid.rectangle(x, y, width, height); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/braille/DriverTextBraille.java000066400000000000000000000036731340005343600277000ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * */ package net.sourceforge.plantuml.braille; import net.sourceforge.plantuml.ugraphic.ColorMapper; import net.sourceforge.plantuml.ugraphic.UDriver; import net.sourceforge.plantuml.ugraphic.UParam; import net.sourceforge.plantuml.ugraphic.UShape; import net.sourceforge.plantuml.ugraphic.UText; public class DriverTextBraille implements UDriver { public DriverTextBraille() { } public void draw(UShape ushape, double x, double y, ColorMapper mapper, UParam param, BrailleGrid grid) { final UText text = (UText) ushape; y -= grid.getQuanta() * 3; x += grid.getQuanta(); for (BrailleChar bchar : BrailleCharFactory.build(text.getText())) { bchar.draw(grid, x, y); x += grid.getQuanta() * 3; } } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/braille/UGraphicBraille.java000066400000000000000000000120621340005343600272720ustar00rootroot00000000000000/* ======================================================================== * PlantUML : a free UML diagram generator * ======================================================================== * * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.com * * If you like this project or if you find it useful, you can support us at: * * http://plantuml.com/patreon (only 1$ per month!) * http://plantuml.com/paypal * * This file is part of PlantUML. * * PlantUML is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PlantUML distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * * Original Author: Arnaud Roques * */ package net.sourceforge.plantuml.braille; import java.io.IOException; import java.io.OutputStream; import net.sourceforge.plantuml.FileFormat; import net.sourceforge.plantuml.FileFormatOption; import net.sourceforge.plantuml.TikzFontDistortion; import net.sourceforge.plantuml.Url; import net.sourceforge.plantuml.graphic.HtmlColorUtils; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.posimo.DotPath; import net.sourceforge.plantuml.ugraphic.AbstractCommonUGraphic; import net.sourceforge.plantuml.ugraphic.AbstractUGraphic; import net.sourceforge.plantuml.ugraphic.ClipContainer; import net.sourceforge.plantuml.ugraphic.ColorMapper; import net.sourceforge.plantuml.ugraphic.ColorMapperIdentity; import net.sourceforge.plantuml.ugraphic.ImageBuilder; import net.sourceforge.plantuml.ugraphic.UCenteredCharacter; import net.sourceforge.plantuml.ugraphic.UEllipse; import net.sourceforge.plantuml.ugraphic.UGraphic2; import net.sourceforge.plantuml.ugraphic.UImage; import net.sourceforge.plantuml.ugraphic.ULine; import net.sourceforge.plantuml.ugraphic.UPath; import net.sourceforge.plantuml.ugraphic.UPolygon; import net.sourceforge.plantuml.ugraphic.URectangle; import net.sourceforge.plantuml.ugraphic.UText; // https://www.branah.com/braille-translator public class UGraphicBraille extends AbstractUGraphic implements ClipContainer, UGraphic2 { public static final int QUANTA = 4; private final BrailleGrid grid; @Override protected AbstractCommonUGraphic copyUGraphic() { return new UGraphicBraille(this); } public UGraphicBraille(ColorMapper colorMapper, FileFormat fileFormat) { this(colorMapper, new BrailleGrid(QUANTA)); } private UGraphicBraille(UGraphicBraille other) { super(other); this.grid = other.grid; register(); } // public UGraphicBraille(ColorMapper colorMapper, String backcolor, boolean textAsPath, double scale, String // linkTarget) { // this(colorMapper, new SvgGraphics(backcolor, scale), textAsPath, linkTarget); // } // // public UGraphicBraille(ColorMapper colorMapper, boolean textAsPath, double scale, String linkTarget) { // this(colorMapper, new SvgGraphics(scale), textAsPath, linkTarget); // } // // public UGraphicBraille(ColorMapper mapper, HtmlColorGradient gr, boolean textAsPath, double scale, String // linkTarget) { // this(mapper, new SvgGraphics(scale), textAsPath, linkTarget); // // final SvgGraphics svg = getGraphicObject(); // svg.paintBackcolorGradient(mapper, gr); // } private UGraphicBraille(ColorMapper colorMapper, BrailleGrid grid) { super(colorMapper, grid); this.grid = grid; register(); } private void register() { registerDriver(URectangle.class, new DriverNoneBraille()); registerDriver(URectangle.class, new DriverRectangleBraille(this)); registerDriver(UText.class, new DriverTextBraille()); registerDriver(ULine.class, new DriverLineBraille(this)); registerDriver(UPolygon.class, new DriverPolygonBraille(this)); registerDriver(UEllipse.class, new DriverNoneBraille()); registerDriver(UImage.class, new DriverNoneBraille()); registerDriver(UPath.class, new DriverNoneBraille()); registerDriver(DotPath.class, new DriverDotPathBraille()); registerDriver(UCenteredCharacter.class, new DriverCenteredCharacterBraille()); } public StringBounder getStringBounder() { return FileFormat.BRAILLE_PNG.getDefaultStringBounder(TikzFontDistortion.getDefault()); } public void startUrl(Url url) { } public void closeAction() { } public void writeImageTOBEMOVED(OutputStream os, String metadata, int dpi) throws IOException { final ImageBuilder imageBuilder = new ImageBuilder(new ColorMapperIdentity(), 1.0, HtmlColorUtils.WHITE, metadata, null, 0, 0, null, false); imageBuilder.setUDrawable(new BrailleDrawer(getGraphicObject())); imageBuilder.writeImageTOBEMOVED(new FileFormatOption(FileFormat.PNG), 42, os); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/brotli/000077500000000000000000000000001340005343600233125ustar00rootroot00000000000000plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/brotli/BitReader.java000066400000000000000000000200401340005343600260120ustar00rootroot00000000000000/* Copyright 2015 Google Inc. All Rights Reserved. Distributed under MIT license. See file LICENSE for detail or copy at https://opensource.org/licenses/MIT */ package net.sourceforge.plantuml.brotli; /** * Bit reading helpers. */ final class BitReader { // Added by Arnaud... not very beautifull private static final boolean CHECK_UNUSED_BYTES_AFTER_END = false; // Possible values: {5, 6}. 5 corresponds to 32-bit build, 6 to 64-bit. This value is used for // conditional compilation -> produced artifacts might be binary INCOMPATIBLE (JLS 13.2). private static final int LOG_BITNESS = 6; private static final int BITNESS = 1 << LOG_BITNESS; private static final int BYTENESS = BITNESS / 8; private static final int CAPACITY = 4096; // After encountering the end of the input stream, this amount of zero bytes will be appended. private static final int SLACK = 64; private static final int BUFFER_SIZE = CAPACITY + SLACK; // Don't bother to replenish the buffer while this number of bytes is available. private static final int SAFEGUARD = 36; private static final int WATERLINE = CAPACITY - SAFEGUARD; // "Half" refers to "half of native integer type", i.e. on 64-bit machines it is 32-bit type, // on 32-bit machines it is 16-bit. private static final int HALF_BITNESS = BITNESS / 2; private static final int HALF_SIZE = BYTENESS / 2; private static final int HALVES_CAPACITY = CAPACITY / HALF_SIZE; private static final int HALF_BUFFER_SIZE = BUFFER_SIZE / HALF_SIZE; private static final int HALF_WATERLINE = WATERLINE / HALF_SIZE; private static final int LOG_HALF_SIZE = LOG_BITNESS - 4; /** * Fills up the input buffer. * *

No-op if there are at least 36 bytes present after current position. * *

After encountering the end of the input stream, 64 additional zero bytes are copied to the * buffer. */ static void readMoreInput(State s) { if (s.halfOffset > HALF_WATERLINE) { doReadMoreInput(s); } } static void doReadMoreInput(State s) { if (s.endOfStreamReached != 0) { if (halfAvailable(s) >= -2) { return; } throw new BrotliRuntimeException("No more input"); } int readOffset = s.halfOffset << LOG_HALF_SIZE; int bytesInBuffer = CAPACITY - readOffset; // Move unused bytes to the head of the buffer. Utils.copyBytesWithin(s.byteBuffer, 0, readOffset, CAPACITY); s.halfOffset = 0; while (bytesInBuffer < CAPACITY) { int spaceLeft = CAPACITY - bytesInBuffer; int len = Utils.readInput(s.input, s.byteBuffer, bytesInBuffer, spaceLeft); // EOF is -1 in Java, but 0 in C#. if (len <= 0) { s.endOfStreamReached = 1; s.tailBytes = bytesInBuffer; bytesInBuffer += HALF_SIZE - 1; break; } bytesInBuffer += len; } bytesToNibbles(s, bytesInBuffer); } static void checkHealth(State s, int endOfStream) { if (s.endOfStreamReached == 0) { return; } int byteOffset = (s.halfOffset << LOG_HALF_SIZE) + ((s.bitOffset + 7) >> 3) - BYTENESS; if (byteOffset > s.tailBytes) { throw new BrotliRuntimeException("Read after end"); } if (CHECK_UNUSED_BYTES_AFTER_END && (endOfStream != 0) && (byteOffset != s.tailBytes)) { throw new BrotliRuntimeException("Unused bytes after end"); } } static void fillBitWindow(State s) { if (s.bitOffset >= HALF_BITNESS) { // Same as doFillBitWindow. JVM fails to inline it. if (BITNESS == 64) { s.accumulator64 = ((long) s.intBuffer[s.halfOffset++] << HALF_BITNESS) | (s.accumulator64 >>> HALF_BITNESS); } else { s.accumulator32 = ((int) s.shortBuffer[s.halfOffset++] << HALF_BITNESS) | (s.accumulator32 >>> HALF_BITNESS); } s.bitOffset -= HALF_BITNESS; } } private static void doFillBitWindow(State s) { if (BITNESS == 64) { s.accumulator64 = ((long) s.intBuffer[s.halfOffset++] << HALF_BITNESS) | (s.accumulator64 >>> HALF_BITNESS); } else { s.accumulator32 = ((int) s.shortBuffer[s.halfOffset++] << HALF_BITNESS) | (s.accumulator32 >>> HALF_BITNESS); } s.bitOffset -= HALF_BITNESS; } static int peekBits(State s) { if (BITNESS == 64) { return (int) (s.accumulator64 >>> s.bitOffset); } else { return s.accumulator32 >>> s.bitOffset; } } static int readFewBits(State s, int n) { int val = peekBits(s) & ((1 << n) - 1); s.bitOffset += n; return val; } static int readBits(State s, int n) { if (HALF_BITNESS >= 24) { return readFewBits(s, n); } else { return (n <= 16) ? readFewBits(s, n) : readManyBits(s, n); } } private static int readManyBits(State s, int n) { int low = readFewBits(s, 16); doFillBitWindow(s); return low | (readFewBits(s, n - 16) << 16); } static void initBitReader(State s) { s.byteBuffer = new byte[BUFFER_SIZE]; if (BITNESS == 64) { s.accumulator64 = 0; s.intBuffer = new int[HALF_BUFFER_SIZE]; } else { s.accumulator32 = 0; s.shortBuffer = new short[HALF_BUFFER_SIZE]; } s.bitOffset = BITNESS; s.halfOffset = HALVES_CAPACITY; s.endOfStreamReached = 0; prepare(s); } private static void prepare(State s) { readMoreInput(s); checkHealth(s, 0); doFillBitWindow(s); doFillBitWindow(s); } static void reload(State s) { if (s.bitOffset == BITNESS) { prepare(s); } } static void jumpToByteBoundary(State s) { int padding = (BITNESS - s.bitOffset) & 7; if (padding != 0) { int paddingBits = readFewBits(s, padding); if (paddingBits != 0) { throw new BrotliRuntimeException("Corrupted padding bits"); } } } static int halfAvailable(State s) { int limit = HALVES_CAPACITY; if (s.endOfStreamReached != 0) { limit = (s.tailBytes + (HALF_SIZE - 1)) >> LOG_HALF_SIZE; } return limit - s.halfOffset; } static void copyBytes(State s, byte[] data, int offset, int length) { if ((s.bitOffset & 7) != 0) { throw new BrotliRuntimeException("Unaligned copyBytes"); } // Drain accumulator. while ((s.bitOffset != BITNESS) && (length != 0)) { data[offset++] = (byte) peekBits(s); s.bitOffset += 8; length--; } if (length == 0) { return; } // Get data from shadow buffer with "sizeof(int)" granularity. int copyNibbles = Math.min(halfAvailable(s), length >> LOG_HALF_SIZE); if (copyNibbles > 0) { int readOffset = s.halfOffset << LOG_HALF_SIZE; int delta = copyNibbles << LOG_HALF_SIZE; System.arraycopy(s.byteBuffer, readOffset, data, offset, delta); offset += delta; length -= delta; s.halfOffset += copyNibbles; } if (length == 0) { return; } // Read tail bytes. if (halfAvailable(s) > 0) { // length = 1..3 fillBitWindow(s); while (length != 0) { data[offset++] = (byte) peekBits(s); s.bitOffset += 8; length--; } checkHealth(s, 0); return; } // Now it is possible to copy bytes directly. while (length > 0) { int len = Utils.readInput(s.input, data, offset, length); if (len == -1) { throw new BrotliRuntimeException("Unexpected end of input"); } offset += len; length -= len; } } /** * Translates bytes to halves (int/short). */ static void bytesToNibbles(State s, int byteLen) { byte[] byteBuffer = s.byteBuffer; int halfLen = byteLen >> LOG_HALF_SIZE; if (BITNESS == 64) { int[] intBuffer = s.intBuffer; for (int i = 0; i < halfLen; ++i) { intBuffer[i] = ((byteBuffer[i * 4] & 0xFF)) | ((byteBuffer[(i * 4) + 1] & 0xFF) << 8) | ((byteBuffer[(i * 4) + 2] & 0xFF) << 16) | ((byteBuffer[(i * 4) + 3] & 0xFF) << 24); } } else { short[] shortBuffer = s.shortBuffer; for (int i = 0; i < halfLen; ++i) { shortBuffer[i] = (short) ((byteBuffer[i * 2] & 0xFF) | ((byteBuffer[(i * 2) + 1] & 0xFF) << 8)); } } } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/brotli/BrotliInputStream.java000066400000000000000000000103671340005343600276130ustar00rootroot00000000000000/* Copyright 2015 Google Inc. All Rights Reserved. Distributed under MIT license. See file LICENSE for detail or copy at https://opensource.org/licenses/MIT */ package net.sourceforge.plantuml.brotli; import java.io.IOException; import java.io.InputStream; /** * {@link InputStream} decorator that decompresses brotli data. * *

Not thread-safe. */ public class BrotliInputStream extends InputStream { public static final int DEFAULT_INTERNAL_BUFFER_SIZE = 16384; /** * Internal buffer used for efficient byte-by-byte reading. */ private byte[] buffer; /** * Number of decoded but still unused bytes in internal buffer. */ private int remainingBufferBytes; /** * Next unused byte offset. */ private int bufferOffset; /** * Decoder state. */ private final State state = new State(); /** * Creates a {@link InputStream} wrapper that decompresses brotli data. * *

For byte-by-byte reading ({@link #read()}) internal buffer with * {@link #DEFAULT_INTERNAL_BUFFER_SIZE} size is allocated and used. * *

Will block the thread until first kilobyte of data of source is available. * * @param source underlying data source * @throws IOException in case of corrupted data or source stream problems */ public BrotliInputStream(InputStream source) throws IOException { this(source, DEFAULT_INTERNAL_BUFFER_SIZE); } /** * Creates a {@link InputStream} wrapper that decompresses brotli data. * *

For byte-by-byte reading ({@link #read()}) internal buffer of specified size is * allocated and used. * *

Will block the thread until first kilobyte of data of source is available. * * @param source compressed data source * @param byteReadBufferSize size of internal buffer used in case of * byte-by-byte reading * @throws IOException in case of corrupted data or source stream problems */ public BrotliInputStream(InputStream source, int byteReadBufferSize) throws IOException { if (byteReadBufferSize <= 0) { throw new IllegalArgumentException("Bad buffer size:" + byteReadBufferSize); } else if (source == null) { throw new IllegalArgumentException("source is null"); } this.buffer = new byte[byteReadBufferSize]; this.remainingBufferBytes = 0; this.bufferOffset = 0; try { Decode.initState(state, source); } catch (BrotliRuntimeException ex) { throw new IOException("Brotli decoder initialization failed", ex); } } /** * {@inheritDoc} */ @Override public void close() throws IOException { Decode.close(state); } /** * {@inheritDoc} */ @Override public int read() throws IOException { if (bufferOffset >= remainingBufferBytes) { remainingBufferBytes = read(buffer, 0, buffer.length); bufferOffset = 0; if (remainingBufferBytes == -1) { return -1; } } return buffer[bufferOffset++] & 0xFF; } /** * {@inheritDoc} */ @Override public int read(byte[] destBuffer, int destOffset, int destLen) throws IOException { if (destOffset < 0) { throw new IllegalArgumentException("Bad offset: " + destOffset); } else if (destLen < 0) { throw new IllegalArgumentException("Bad length: " + destLen); } else if (destOffset + destLen > destBuffer.length) { throw new IllegalArgumentException( "Buffer overflow: " + (destOffset + destLen) + " > " + destBuffer.length); } else if (destLen == 0) { return 0; } int copyLen = Math.max(remainingBufferBytes - bufferOffset, 0); if (copyLen != 0) { copyLen = Math.min(copyLen, destLen); System.arraycopy(buffer, bufferOffset, destBuffer, destOffset, copyLen); bufferOffset += copyLen; destOffset += copyLen; destLen -= copyLen; if (destLen == 0) { return copyLen; } } try { state.output = destBuffer; state.outputOffset = destOffset; state.outputLength = destLen; state.outputUsed = 0; Decode.decompress(state); if (state.outputUsed == 0) { return -1; } return state.outputUsed + copyLen; } catch (BrotliRuntimeException ex) { throw new IOException("Brotli stream decoding failed", ex); } // <{[INJECTED CODE]}> } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/brotli/BrotliRuntimeException.java000066400000000000000000000007341340005343600306370ustar00rootroot00000000000000/* Copyright 2015 Google Inc. All Rights Reserved. Distributed under MIT license. See file LICENSE for detail or copy at https://opensource.org/licenses/MIT */ package net.sourceforge.plantuml.brotli; /** * Unchecked exception used internally. */ class BrotliRuntimeException extends RuntimeException { BrotliRuntimeException(String message) { super(message); } BrotliRuntimeException(String message, Throwable cause) { super(message, cause); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/brotli/Context.java000066400000000000000000000030521340005343600256010ustar00rootroot00000000000000/* Copyright 2015 Google Inc. All Rights Reserved. Distributed under MIT license. See file LICENSE for detail or copy at https://opensource.org/licenses/MIT */ package net.sourceforge.plantuml.brotli; /** * Common context lookup table for all context modes. */ final class Context { static final int[] LOOKUP = new int[2048]; private static final String UTF_MAP = " !! ! \"#$##%#$&'##(#)#+++++++++" + "+((&*'##,---,---,-----,-----,-----&#'###.///.///./////./////./////&#'# "; private static final String UTF_RLE = "A/* ': & : $ \u0081 @"; private static void unpackLookupTable(int[] lookup, String map, String rle) { // LSB6, MSB6, SIGNED for (int i = 0; i < 256; ++i) { lookup[i] = i & 0x3F; lookup[512 + i] = i >> 2; lookup[1792 + i] = 2 + (i >> 6); } // UTF8 for (int i = 0; i < 128; ++i) { lookup[1024 + i] = 4 * (map.charAt(i) - 32); } for (int i = 0; i < 64; ++i) { lookup[1152 + i] = i & 1; lookup[1216 + i] = 2 + (i & 1); } int offset = 1280; for (int k = 0; k < 19; ++k) { int value = k & 3; int rep = rle.charAt(k) - 32; for (int i = 0; i < rep; ++i) { lookup[offset++] = value; } } // SIGNED for (int i = 0; i < 16; ++i) { lookup[1792 + i] = 1; lookup[2032 + i] = 6; } lookup[1792] = 0; lookup[2047] = 7; for (int i = 0; i < 256; ++i) { lookup[1536 + i] = lookup[1792 + i] << 3; } } static { unpackLookupTable(LOOKUP, UTF_MAP, UTF_RLE); } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/brotli/Decode.java000066400000000000000000001027421340005343600253460ustar00rootroot00000000000000/* Copyright 2015 Google Inc. All Rights Reserved. Distributed under MIT license. See file LICENSE for detail or copy at https://opensource.org/licenses/MIT */ package net.sourceforge.plantuml.brotli; import java.io.IOException; import java.io.InputStream; /** * API for Brotli decompression. */ final class Decode { //---------------------------------------------------------------------------- // RunningState //---------------------------------------------------------------------------- private static final int UNINITIALIZED = 0; private static final int BLOCK_START = 1; private static final int COMPRESSED_BLOCK_START = 2; private static final int MAIN_LOOP = 3; private static final int READ_METADATA = 4; private static final int COPY_UNCOMPRESSED = 5; private static final int INSERT_LOOP = 6; private static final int COPY_LOOP = 7; private static final int COPY_WRAP_BUFFER = 8; private static final int TRANSFORM = 9; private static final int FINISHED = 10; private static final int CLOSED = 11; private static final int WRITE = 12; private static final int DEFAULT_CODE_LENGTH = 8; private static final int CODE_LENGTH_REPEAT_CODE = 16; private static final int NUM_LITERAL_CODES = 256; private static final int NUM_INSERT_AND_COPY_CODES = 704; private static final int NUM_BLOCK_LENGTH_CODES = 26; private static final int LITERAL_CONTEXT_BITS = 6; private static final int DISTANCE_CONTEXT_BITS = 2; private static final int HUFFMAN_TABLE_BITS = 8; private static final int HUFFMAN_TABLE_MASK = 0xFF; /** * Maximum possible Huffman table size for an alphabet size of 704, max code length 15 and root * table bits 8. */ static final int HUFFMAN_TABLE_SIZE = 1080; private static final int CODE_LENGTH_CODES = 18; private static final int[] CODE_LENGTH_CODE_ORDER = { 1, 2, 3, 4, 0, 5, 17, 6, 16, 7, 8, 9, 10, 11, 12, 13, 14, 15, }; private static final int NUM_DISTANCE_SHORT_CODES = 16; private static final int[] DISTANCE_SHORT_CODE_INDEX_OFFSET = { 3, 2, 1, 0, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2 }; private static final int[] DISTANCE_SHORT_CODE_VALUE_OFFSET = { 0, 0, 0, 0, -1, 1, -2, 2, -3, 3, -1, 1, -2, 2, -3, 3 }; /** * Static Huffman code for the code length code lengths. */ private static final int[] FIXED_TABLE = { 0x020000, 0x020004, 0x020003, 0x030002, 0x020000, 0x020004, 0x020003, 0x040001, 0x020000, 0x020004, 0x020003, 0x030002, 0x020000, 0x020004, 0x020003, 0x040005 }; static final int[] DICTIONARY_OFFSETS_BY_LENGTH = { 0, 0, 0, 0, 0, 4096, 9216, 21504, 35840, 44032, 53248, 63488, 74752, 87040, 93696, 100864, 104704, 106752, 108928, 113536, 115968, 118528, 119872, 121280, 122016 }; static final int[] DICTIONARY_SIZE_BITS_BY_LENGTH = { 0, 0, 0, 0, 10, 10, 11, 11, 10, 10, 10, 10, 10, 9, 9, 8, 7, 7, 8, 7, 7, 6, 6, 5, 5 }; static final int MIN_WORD_LENGTH = 4; static final int MAX_WORD_LENGTH = 24; static final int MAX_TRANSFORMED_WORD_LENGTH = 5 + MAX_WORD_LENGTH + 8; //---------------------------------------------------------------------------- // Prefix code LUT. //---------------------------------------------------------------------------- static final int[] BLOCK_LENGTH_OFFSET = { 1, 5, 9, 13, 17, 25, 33, 41, 49, 65, 81, 97, 113, 145, 177, 209, 241, 305, 369, 497, 753, 1265, 2289, 4337, 8433, 16625 }; static final int[] BLOCK_LENGTH_N_BITS = { 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 7, 8, 9, 10, 11, 12, 13, 24 }; static final int[] INSERT_LENGTH_OFFSET = { 0, 1, 2, 3, 4, 5, 6, 8, 10, 14, 18, 26, 34, 50, 66, 98, 130, 194, 322, 578, 1090, 2114, 6210, 22594 }; static final int[] INSERT_LENGTH_N_BITS = { 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 7, 8, 9, 10, 12, 14, 24 }; static final int[] COPY_LENGTH_OFFSET = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 18, 22, 30, 38, 54, 70, 102, 134, 198, 326, 582, 1094, 2118 }; static final int[] COPY_LENGTH_N_BITS = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 7, 8, 9, 10, 24 }; static final int[] INSERT_RANGE_LUT = { 0, 0, 8, 8, 0, 16, 8, 16, 16 }; static final int[] COPY_RANGE_LUT = { 0, 8, 0, 8, 16, 0, 16, 8, 16 }; private static int decodeWindowBits(State s) { BitReader.fillBitWindow(s); if (BitReader.readFewBits(s, 1) == 0) { return 16; } int n = BitReader.readFewBits(s, 3); if (n != 0) { return 17 + n; } n = BitReader.readFewBits(s, 3); if (n != 0) { return 8 + n; } return 17; } /** * Associate input with decoder state. * * @param s uninitialized state without associated input * @param input compressed data source */ static void initState(State s, InputStream input) { if (s.runningState != UNINITIALIZED) { throw new IllegalStateException("State MUST be uninitialized"); } s.blockTrees = new int[6 * HUFFMAN_TABLE_SIZE]; s.input = input; BitReader.initBitReader(s); int windowBits = decodeWindowBits(s); if (windowBits == 9) { /* Reserved case for future expansion. */ throw new BrotliRuntimeException("Invalid 'windowBits' code"); } s.maxRingBufferSize = 1 << windowBits; s.maxBackwardDistance = s.maxRingBufferSize - 16; s.runningState = BLOCK_START; } static void close(State s) throws IOException { if (s.runningState == UNINITIALIZED) { throw new IllegalStateException("State MUST be initialized"); } if (s.runningState == CLOSED) { return; } s.runningState = CLOSED; if (s.input != null) { Utils.closeInput(s.input); s.input = null; } } /** * Decodes a number in the range [0..255], by reading 1 - 11 bits. */ private static int decodeVarLenUnsignedByte(State s) { BitReader.fillBitWindow(s); if (BitReader.readFewBits(s, 1) != 0) { int n = BitReader.readFewBits(s, 3); if (n == 0) { return 1; } else { return BitReader.readFewBits(s, n) + (1 << n); } } return 0; } private static void decodeMetaBlockLength(State s) { BitReader.fillBitWindow(s); s.inputEnd = BitReader.readFewBits(s, 1); s.metaBlockLength = 0; s.isUncompressed = 0; s.isMetadata = 0; if ((s.inputEnd != 0) && BitReader.readFewBits(s, 1) != 0) { return; } int sizeNibbles = BitReader.readFewBits(s, 2) + 4; if (sizeNibbles == 7) { s.isMetadata = 1; if (BitReader.readFewBits(s, 1) != 0) { throw new BrotliRuntimeException("Corrupted reserved bit"); } int sizeBytes = BitReader.readFewBits(s, 2); if (sizeBytes == 0) { return; } for (int i = 0; i < sizeBytes; i++) { BitReader.fillBitWindow(s); int bits = BitReader.readFewBits(s, 8); if (bits == 0 && i + 1 == sizeBytes && sizeBytes > 1) { throw new BrotliRuntimeException("Exuberant nibble"); } s.metaBlockLength |= bits << (i * 8); } } else { for (int i = 0; i < sizeNibbles; i++) { BitReader.fillBitWindow(s); int bits = BitReader.readFewBits(s, 4); if (bits == 0 && i + 1 == sizeNibbles && sizeNibbles > 4) { throw new BrotliRuntimeException("Exuberant nibble"); } s.metaBlockLength |= bits << (i * 4); } } s.metaBlockLength++; if (s.inputEnd == 0) { s.isUncompressed = BitReader.readFewBits(s, 1); } } /** * Decodes the next Huffman code from bit-stream. */ private static int readSymbol(int[] table, int offset, State s) { int val = BitReader.peekBits(s); offset += val & HUFFMAN_TABLE_MASK; int bits = table[offset] >> 16; int sym = table[offset] & 0xFFFF; if (bits <= HUFFMAN_TABLE_BITS) { s.bitOffset += bits; return sym; } offset += sym; int mask = (1 << bits) - 1; offset += (val & mask) >>> HUFFMAN_TABLE_BITS; s.bitOffset += ((table[offset] >> 16) + HUFFMAN_TABLE_BITS); return table[offset] & 0xFFFF; } private static int readBlockLength(int[] table, int offset, State s) { BitReader.fillBitWindow(s); int code = readSymbol(table, offset, s); int n = BLOCK_LENGTH_N_BITS[code]; BitReader.fillBitWindow(s); return BLOCK_LENGTH_OFFSET[code] + BitReader.readBits(s, n); } private static int translateShortCodes(int code, int[] ringBuffer, int index) { if (code < NUM_DISTANCE_SHORT_CODES) { index += DISTANCE_SHORT_CODE_INDEX_OFFSET[code]; index &= 3; return ringBuffer[index] + DISTANCE_SHORT_CODE_VALUE_OFFSET[code]; } return code - NUM_DISTANCE_SHORT_CODES + 1; } private static void moveToFront(int[] v, int index) { int value = v[index]; for (; index > 0; index--) { v[index] = v[index - 1]; } v[0] = value; } private static void inverseMoveToFrontTransform(byte[] v, int vLen) { int[] mtf = new int[256]; for (int i = 0; i < 256; i++) { mtf[i] = i; } for (int i = 0; i < vLen; i++) { int index = v[i] & 0xFF; v[i] = (byte) mtf[index]; if (index != 0) { moveToFront(mtf, index); } } } private static void readHuffmanCodeLengths( int[] codeLengthCodeLengths, int numSymbols, int[] codeLengths, State s) { int symbol = 0; int prevCodeLen = DEFAULT_CODE_LENGTH; int repeat = 0; int repeatCodeLen = 0; int space = 32768; int[] table = new int[32]; Huffman.buildHuffmanTable(table, 0, 5, codeLengthCodeLengths, CODE_LENGTH_CODES); while (symbol < numSymbols && space > 0) { BitReader.readMoreInput(s); BitReader.fillBitWindow(s); int p = BitReader.peekBits(s) & 31; s.bitOffset += table[p] >> 16; int codeLen = table[p] & 0xFFFF; if (codeLen < CODE_LENGTH_REPEAT_CODE) { repeat = 0; codeLengths[symbol++] = codeLen; if (codeLen != 0) { prevCodeLen = codeLen; space -= 32768 >> codeLen; } } else { int extraBits = codeLen - 14; int newLen = 0; if (codeLen == CODE_LENGTH_REPEAT_CODE) { newLen = prevCodeLen; } if (repeatCodeLen != newLen) { repeat = 0; repeatCodeLen = newLen; } int oldRepeat = repeat; if (repeat > 0) { repeat -= 2; repeat <<= extraBits; } BitReader.fillBitWindow(s); repeat += BitReader.readFewBits(s, extraBits) + 3; int repeatDelta = repeat - oldRepeat; if (symbol + repeatDelta > numSymbols) { throw new BrotliRuntimeException("symbol + repeatDelta > numSymbols"); // COV_NF_LINE } for (int i = 0; i < repeatDelta; i++) { codeLengths[symbol++] = repeatCodeLen; } if (repeatCodeLen != 0) { space -= repeatDelta << (15 - repeatCodeLen); } } } if (space != 0) { throw new BrotliRuntimeException("Unused space"); // COV_NF_LINE } // TODO: Pass max_symbol to Huffman table builder instead? Utils.fillIntsWithZeroes(codeLengths, symbol, numSymbols); } static int checkDupes(int[] symbols, int length) { for (int i = 0; i < length - 1; ++i) { for (int j = i + 1; j < length; ++j) { if (symbols[i] == symbols[j]) { return 0; } } } return 1; } // TODO: Use specialized versions for smaller tables. static void readHuffmanCode(int alphabetSize, int[] table, int offset, State s) { int ok = 1; int simpleCodeOrSkip; BitReader.readMoreInput(s); // TODO: Avoid allocation. int[] codeLengths = new int[alphabetSize]; BitReader.fillBitWindow(s); simpleCodeOrSkip = BitReader.readFewBits(s, 2); if (simpleCodeOrSkip == 1) { // Read symbols, codes & code lengths directly. int maxBitsCounter = alphabetSize - 1; int maxBits = 0; int[] symbols = new int[4]; int numSymbols = BitReader.readFewBits(s, 2) + 1; while (maxBitsCounter != 0) { maxBitsCounter >>= 1; maxBits++; } // TODO: uncomment when codeLengths is reused. // Utils.fillWithZeroes(codeLengths, 0, alphabetSize); for (int i = 0; i < numSymbols; i++) { BitReader.fillBitWindow(s); symbols[i] = BitReader.readFewBits(s, maxBits) % alphabetSize; codeLengths[symbols[i]] = 2; } codeLengths[symbols[0]] = 1; switch (numSymbols) { case 2: codeLengths[symbols[1]] = 1; break; case 4: if (BitReader.readFewBits(s, 1) == 1) { codeLengths[symbols[2]] = 3; codeLengths[symbols[3]] = 3; } else { codeLengths[symbols[0]] = 2; } break; default: break; } ok = checkDupes(symbols, numSymbols); } else { // Decode Huffman-coded code lengths. int[] codeLengthCodeLengths = new int[CODE_LENGTH_CODES]; int space = 32; int numCodes = 0; for (int i = simpleCodeOrSkip; i < CODE_LENGTH_CODES && space > 0; i++) { int codeLenIdx = CODE_LENGTH_CODE_ORDER[i]; BitReader.fillBitWindow(s); int p = BitReader.peekBits(s) & 15; // TODO: Demultiplex FIXED_TABLE. s.bitOffset += FIXED_TABLE[p] >> 16; int v = FIXED_TABLE[p] & 0xFFFF; codeLengthCodeLengths[codeLenIdx] = v; if (v != 0) { space -= (32 >> v); numCodes++; } } if (space != 0 && numCodes != 1) { ok = 0; } readHuffmanCodeLengths(codeLengthCodeLengths, alphabetSize, codeLengths, s); } if (ok == 0) { throw new BrotliRuntimeException("Can't readHuffmanCode"); // COV_NF_LINE } Huffman.buildHuffmanTable(table, offset, HUFFMAN_TABLE_BITS, codeLengths, alphabetSize); } private static int decodeContextMap(int contextMapSize, byte[] contextMap, State s) { BitReader.readMoreInput(s); int numTrees = decodeVarLenUnsignedByte(s) + 1; if (numTrees == 1) { Utils.fillBytesWithZeroes(contextMap, 0, contextMapSize); return numTrees; } BitReader.fillBitWindow(s); int useRleForZeros = BitReader.readFewBits(s, 1); int maxRunLengthPrefix = 0; if (useRleForZeros != 0) { maxRunLengthPrefix = BitReader.readFewBits(s, 4) + 1; } int[] table = new int[HUFFMAN_TABLE_SIZE]; readHuffmanCode(numTrees + maxRunLengthPrefix, table, 0, s); for (int i = 0; i < contextMapSize; ) { BitReader.readMoreInput(s); BitReader.fillBitWindow(s); int code = readSymbol(table, 0, s); if (code == 0) { contextMap[i] = 0; i++; } else if (code <= maxRunLengthPrefix) { BitReader.fillBitWindow(s); int reps = (1 << code) + BitReader.readFewBits(s, code); while (reps != 0) { if (i >= contextMapSize) { throw new BrotliRuntimeException("Corrupted context map"); // COV_NF_LINE } contextMap[i] = 0; i++; reps--; } } else { contextMap[i] = (byte) (code - maxRunLengthPrefix); i++; } } BitReader.fillBitWindow(s); if (BitReader.readFewBits(s, 1) == 1) { inverseMoveToFrontTransform(contextMap, contextMapSize); } return numTrees; } private static int decodeBlockTypeAndLength(State s, int treeType, int numBlockTypes) { final int[] ringBuffers = s.rings; final int offset = 4 + treeType * 2; BitReader.fillBitWindow(s); int blockType = readSymbol(s.blockTrees, treeType * HUFFMAN_TABLE_SIZE, s); int result = readBlockLength(s.blockTrees, (treeType + 3) * HUFFMAN_TABLE_SIZE, s); if (blockType == 1) { blockType = ringBuffers[offset + 1] + 1; } else if (blockType == 0) { blockType = ringBuffers[offset]; } else { blockType -= 2; } if (blockType >= numBlockTypes) { blockType -= numBlockTypes; } ringBuffers[offset] = ringBuffers[offset + 1]; ringBuffers[offset + 1] = blockType; return result; } private static void decodeLiteralBlockSwitch(State s) { s.literalBlockLength = decodeBlockTypeAndLength(s, 0, s.numLiteralBlockTypes); int literalBlockType = s.rings[5]; s.contextMapSlice = literalBlockType << LITERAL_CONTEXT_BITS; s.literalTreeIndex = s.contextMap[s.contextMapSlice] & 0xFF; s.literalTree = s.hGroup0[s.literalTreeIndex]; int contextMode = s.contextModes[literalBlockType]; s.contextLookupOffset1 = contextMode << 9; s.contextLookupOffset2 = s.contextLookupOffset1 + 256; } private static void decodeCommandBlockSwitch(State s) { s.commandBlockLength = decodeBlockTypeAndLength(s, 1, s.numCommandBlockTypes); s.treeCommandOffset = s.hGroup1[s.rings[7]]; } private static void decodeDistanceBlockSwitch(State s) { s.distanceBlockLength = decodeBlockTypeAndLength(s, 2, s.numDistanceBlockTypes); s.distContextMapSlice = s.rings[9] << DISTANCE_CONTEXT_BITS; } private static void maybeReallocateRingBuffer(State s) { int newSize = s.maxRingBufferSize; if (newSize > s.expectedTotalSize) { /* TODO: Handle 2GB+ cases more gracefully. */ int minimalNewSize = s.expectedTotalSize; while ((newSize >> 1) > minimalNewSize) { newSize >>= 1; } if ((s.inputEnd == 0) && newSize < 16384 && s.maxRingBufferSize >= 16384) { newSize = 16384; } } if (newSize <= s.ringBufferSize) { return; } int ringBufferSizeWithSlack = newSize + MAX_TRANSFORMED_WORD_LENGTH; byte[] newBuffer = new byte[ringBufferSizeWithSlack]; if (s.ringBuffer.length != 0) { System.arraycopy(s.ringBuffer, 0, newBuffer, 0, s.ringBufferSize); } s.ringBuffer = newBuffer; s.ringBufferSize = newSize; } private static void readNextMetablockHeader(State s) { if (s.inputEnd != 0) { s.nextRunningState = FINISHED; s.bytesToWrite = s.pos; s.bytesWritten = 0; s.runningState = WRITE; return; } // TODO: Reset? Do we need this? s.hGroup0 = new int[0]; s.hGroup1 = new int[0]; s.hGroup2 = new int[0]; BitReader.readMoreInput(s); decodeMetaBlockLength(s); if ((s.metaBlockLength == 0) && (s.isMetadata == 0)) { return; } if ((s.isUncompressed != 0) || (s.isMetadata != 0)) { BitReader.jumpToByteBoundary(s); s.runningState = (s.isMetadata != 0) ? READ_METADATA : COPY_UNCOMPRESSED; } else { s.runningState = COMPRESSED_BLOCK_START; } if (s.isMetadata != 0) { return; } s.expectedTotalSize += s.metaBlockLength; if (s.expectedTotalSize > 1 << 30) { s.expectedTotalSize = 1 << 30; } if (s.ringBufferSize < s.maxRingBufferSize) { maybeReallocateRingBuffer(s); } } private static int readMetablockPartition(State s, int treeType, int numBlockTypes) { if (numBlockTypes <= 1) { return 1 << 28; } readHuffmanCode(numBlockTypes + 2, s.blockTrees, treeType * HUFFMAN_TABLE_SIZE, s); readHuffmanCode(NUM_BLOCK_LENGTH_CODES, s.blockTrees, (treeType + 3) * HUFFMAN_TABLE_SIZE, s); return readBlockLength(s.blockTrees, (treeType + 3) * HUFFMAN_TABLE_SIZE, s); } private static void readMetablockHuffmanCodesAndContextMaps(State s) { s.numLiteralBlockTypes = decodeVarLenUnsignedByte(s) + 1; s.literalBlockLength = readMetablockPartition(s, 0, s.numLiteralBlockTypes); s.numCommandBlockTypes = decodeVarLenUnsignedByte(s) + 1; s.commandBlockLength = readMetablockPartition(s, 1, s.numCommandBlockTypes); s.numDistanceBlockTypes = decodeVarLenUnsignedByte(s) + 1; s.distanceBlockLength = readMetablockPartition(s, 2, s.numDistanceBlockTypes); BitReader.readMoreInput(s); BitReader.fillBitWindow(s); s.distancePostfixBits = BitReader.readFewBits(s, 2); s.numDirectDistanceCodes = NUM_DISTANCE_SHORT_CODES + (BitReader.readFewBits(s, 4) << s.distancePostfixBits); s.distancePostfixMask = (1 << s.distancePostfixBits) - 1; int numDistanceCodes = s.numDirectDistanceCodes + (48 << s.distancePostfixBits); // TODO: Reuse? s.contextModes = new byte[s.numLiteralBlockTypes]; for (int i = 0; i < s.numLiteralBlockTypes;) { /* Ensure that less than 256 bits read between readMoreInput. */ int limit = Math.min(i + 96, s.numLiteralBlockTypes); for (; i < limit; ++i) { BitReader.fillBitWindow(s); s.contextModes[i] = (byte) (BitReader.readFewBits(s, 2)); } BitReader.readMoreInput(s); } // TODO: Reuse? s.contextMap = new byte[s.numLiteralBlockTypes << LITERAL_CONTEXT_BITS]; int numLiteralTrees = decodeContextMap(s.numLiteralBlockTypes << LITERAL_CONTEXT_BITS, s.contextMap, s); s.trivialLiteralContext = 1; for (int j = 0; j < s.numLiteralBlockTypes << LITERAL_CONTEXT_BITS; j++) { if (s.contextMap[j] != j >> LITERAL_CONTEXT_BITS) { s.trivialLiteralContext = 0; break; } } // TODO: Reuse? s.distContextMap = new byte[s.numDistanceBlockTypes << DISTANCE_CONTEXT_BITS]; int numDistTrees = decodeContextMap(s.numDistanceBlockTypes << DISTANCE_CONTEXT_BITS, s.distContextMap, s); s.hGroup0 = decodeHuffmanTreeGroup(NUM_LITERAL_CODES, numLiteralTrees, s); s.hGroup1 = decodeHuffmanTreeGroup(NUM_INSERT_AND_COPY_CODES, s.numCommandBlockTypes, s); s.hGroup2 = decodeHuffmanTreeGroup(numDistanceCodes, numDistTrees, s); s.contextMapSlice = 0; s.distContextMapSlice = 0; s.contextLookupOffset1 = (int) (s.contextModes[0]) << 9; s.contextLookupOffset2 = s.contextLookupOffset1 + 256; s.literalTreeIndex = 0; s.literalTree = s.hGroup0[0]; s.treeCommandOffset = s.hGroup1[0]; s.rings[4] = 1; s.rings[5] = 0; s.rings[6] = 1; s.rings[7] = 0; s.rings[8] = 1; s.rings[9] = 0; } private static void copyUncompressedData(State s) { final byte[] ringBuffer = s.ringBuffer; // Could happen if block ends at ring buffer end. if (s.metaBlockLength <= 0) { BitReader.reload(s); s.runningState = BLOCK_START; return; } int chunkLength = Math.min(s.ringBufferSize - s.pos, s.metaBlockLength); BitReader.copyBytes(s, ringBuffer, s.pos, chunkLength); s.metaBlockLength -= chunkLength; s.pos += chunkLength; if (s.pos == s.ringBufferSize) { s.nextRunningState = COPY_UNCOMPRESSED; s.bytesToWrite = s.ringBufferSize; s.bytesWritten = 0; s.runningState = WRITE; return; } BitReader.reload(s); s.runningState = BLOCK_START; } private static int writeRingBuffer(State s) { int toWrite = Math.min(s.outputLength - s.outputUsed, s.bytesToWrite - s.bytesWritten); if (toWrite != 0) { System.arraycopy(s.ringBuffer, s.bytesWritten, s.output, s.outputOffset + s.outputUsed, toWrite); s.outputUsed += toWrite; s.bytesWritten += toWrite; } if (s.outputUsed < s.outputLength) { return 1; } else { return 0; } } private static int[] decodeHuffmanTreeGroup(int alphabetSize, int n, State s) { int[] group = new int[n + (n * HUFFMAN_TABLE_SIZE)]; int next = n; for (int i = 0; i < n; i++) { group[i] = next; Decode.readHuffmanCode(alphabetSize, group, next, s); next += HUFFMAN_TABLE_SIZE; } return group; } /** * Actual decompress implementation. */ static void decompress(State s) { if (s.runningState == UNINITIALIZED) { throw new IllegalStateException("Can't decompress until initialized"); } if (s.runningState == CLOSED) { throw new IllegalStateException("Can't decompress after close"); } int ringBufferMask = s.ringBufferSize - 1; byte[] ringBuffer = s.ringBuffer; while (s.runningState != FINISHED) { // TODO: extract cases to methods for the better readability. switch (s.runningState) { case BLOCK_START: if (s.metaBlockLength < 0) { throw new BrotliRuntimeException("Invalid metablock length"); } readNextMetablockHeader(s); /* Ring-buffer would be reallocated here. */ ringBufferMask = s.ringBufferSize - 1; ringBuffer = s.ringBuffer; continue; case COMPRESSED_BLOCK_START: readMetablockHuffmanCodesAndContextMaps(s); s.runningState = MAIN_LOOP; // Fall through case MAIN_LOOP: if (s.metaBlockLength <= 0) { s.runningState = BLOCK_START; continue; } BitReader.readMoreInput(s); if (s.commandBlockLength == 0) { decodeCommandBlockSwitch(s); } s.commandBlockLength--; BitReader.fillBitWindow(s); int cmdCode = readSymbol(s.hGroup1, s.treeCommandOffset, s); int rangeIdx = cmdCode >>> 6; s.distanceCode = 0; if (rangeIdx >= 2) { rangeIdx -= 2; s.distanceCode = -1; } int insertCode = INSERT_RANGE_LUT[rangeIdx] + ((cmdCode >>> 3) & 7); BitReader.fillBitWindow(s); int insertBits = INSERT_LENGTH_N_BITS[insertCode]; int insertExtra = BitReader.readBits(s, insertBits); s.insertLength = INSERT_LENGTH_OFFSET[insertCode] + insertExtra; int copyCode = COPY_RANGE_LUT[rangeIdx] + (cmdCode & 7); BitReader.fillBitWindow(s); int copyBits = COPY_LENGTH_N_BITS[copyCode]; int copyExtra = BitReader.readBits(s, copyBits); s.copyLength = COPY_LENGTH_OFFSET[copyCode] + copyExtra; s.j = 0; s.runningState = INSERT_LOOP; // Fall through case INSERT_LOOP: if (s.trivialLiteralContext != 0) { while (s.j < s.insertLength) { BitReader.readMoreInput(s); if (s.literalBlockLength == 0) { decodeLiteralBlockSwitch(s); } s.literalBlockLength--; BitReader.fillBitWindow(s); ringBuffer[s.pos] = (byte) readSymbol(s.hGroup0, s.literalTree, s); s.j++; if (s.pos++ == ringBufferMask) { s.nextRunningState = INSERT_LOOP; s.bytesToWrite = s.ringBufferSize; s.bytesWritten = 0; s.runningState = WRITE; break; } } } else { int prevByte1 = ringBuffer[(s.pos - 1) & ringBufferMask] & 0xFF; int prevByte2 = ringBuffer[(s.pos - 2) & ringBufferMask] & 0xFF; while (s.j < s.insertLength) { BitReader.readMoreInput(s); if (s.literalBlockLength == 0) { decodeLiteralBlockSwitch(s); } int literalTreeIndex = s.contextMap[s.contextMapSlice + (Context.LOOKUP[s.contextLookupOffset1 + prevByte1] | Context.LOOKUP[s.contextLookupOffset2 + prevByte2])] & 0xFF; s.literalBlockLength--; prevByte2 = prevByte1; BitReader.fillBitWindow(s); prevByte1 = readSymbol( s.hGroup0, s.hGroup0[literalTreeIndex], s); ringBuffer[s.pos] = (byte) prevByte1; s.j++; if (s.pos++ == ringBufferMask) { s.nextRunningState = INSERT_LOOP; s.bytesToWrite = s.ringBufferSize; s.bytesWritten = 0; s.runningState = WRITE; break; } } } if (s.runningState != INSERT_LOOP) { continue; } s.metaBlockLength -= s.insertLength; if (s.metaBlockLength <= 0) { s.runningState = MAIN_LOOP; continue; } if (s.distanceCode < 0) { BitReader.readMoreInput(s); if (s.distanceBlockLength == 0) { decodeDistanceBlockSwitch(s); } s.distanceBlockLength--; BitReader.fillBitWindow(s); s.distanceCode = readSymbol(s.hGroup2, s.hGroup2[ s.distContextMap[s.distContextMapSlice + (s.copyLength > 4 ? 3 : s.copyLength - 2)] & 0xFF], s); if (s.distanceCode >= s.numDirectDistanceCodes) { s.distanceCode -= s.numDirectDistanceCodes; int postfix = s.distanceCode & s.distancePostfixMask; s.distanceCode >>>= s.distancePostfixBits; int n = (s.distanceCode >>> 1) + 1; int offset = ((2 + (s.distanceCode & 1)) << n) - 4; BitReader.fillBitWindow(s); int distanceExtra = BitReader.readBits(s, n); s.distanceCode = s.numDirectDistanceCodes + postfix + ((offset + distanceExtra) << s.distancePostfixBits); } } // Convert the distance code to the actual distance by possibly looking up past distances // from the ringBuffer. s.distance = translateShortCodes(s.distanceCode, s.rings, s.distRbIdx); if (s.distance < 0) { throw new BrotliRuntimeException("Negative distance"); // COV_NF_LINE } if (s.maxDistance != s.maxBackwardDistance && s.pos < s.maxBackwardDistance) { s.maxDistance = s.pos; } else { s.maxDistance = s.maxBackwardDistance; } s.copyDst = s.pos; if (s.distance > s.maxDistance) { s.runningState = TRANSFORM; continue; } if (s.distanceCode > 0) { s.rings[s.distRbIdx & 3] = s.distance; s.distRbIdx++; } if (s.copyLength > s.metaBlockLength) { throw new BrotliRuntimeException("Invalid backward reference"); // COV_NF_LINE } s.j = 0; s.runningState = COPY_LOOP; // fall through case COPY_LOOP: int src = (s.pos - s.distance) & ringBufferMask; int dst = s.pos; int copyLength = s.copyLength - s.j; int srcEnd = src + copyLength; int dstEnd = dst + copyLength; if ((srcEnd < ringBufferMask) && (dstEnd < ringBufferMask)) { if (copyLength < 12 || (srcEnd > dst && dstEnd > src)) { for (int k = 0; k < copyLength; ++k) { ringBuffer[dst++] = ringBuffer[src++]; } } else { Utils.copyBytesWithin(ringBuffer, dst, src, srcEnd); } s.j += copyLength; s.metaBlockLength -= copyLength; s.pos += copyLength; } else { for (; s.j < s.copyLength;) { ringBuffer[s.pos] = ringBuffer[(s.pos - s.distance) & ringBufferMask]; s.metaBlockLength--; s.j++; if (s.pos++ == ringBufferMask) { s.nextRunningState = COPY_LOOP; s.bytesToWrite = s.ringBufferSize; s.bytesWritten = 0; s.runningState = WRITE; break; } } } if (s.runningState == COPY_LOOP) { s.runningState = MAIN_LOOP; } continue; case TRANSFORM: if (s.copyLength >= MIN_WORD_LENGTH && s.copyLength <= MAX_WORD_LENGTH) { int offset = DICTIONARY_OFFSETS_BY_LENGTH[s.copyLength]; int wordId = s.distance - s.maxDistance - 1; int shift = DICTIONARY_SIZE_BITS_BY_LENGTH[s.copyLength]; int mask = (1 << shift) - 1; int wordIdx = wordId & mask; int transformIdx = wordId >>> shift; offset += wordIdx * s.copyLength; if (transformIdx < Transform.NUM_TRANSFORMS) { int len = Transform.transformDictionaryWord(ringBuffer, s.copyDst, Dictionary.getData(), offset, s.copyLength, transformIdx); s.copyDst += len; s.pos += len; s.metaBlockLength -= len; if (s.copyDst >= s.ringBufferSize) { s.nextRunningState = COPY_WRAP_BUFFER; s.bytesToWrite = s.ringBufferSize; s.bytesWritten = 0; s.runningState = WRITE; continue; } } else { throw new BrotliRuntimeException("Invalid backward reference"); // COV_NF_LINE } } else { throw new BrotliRuntimeException("Invalid backward reference"); // COV_NF_LINE } s.runningState = MAIN_LOOP; continue; case COPY_WRAP_BUFFER: Utils.copyBytesWithin(ringBuffer, 0, s.ringBufferSize, s.copyDst); s.runningState = MAIN_LOOP; continue; case READ_METADATA: while (s.metaBlockLength > 0) { BitReader.readMoreInput(s); // Optimize BitReader.fillBitWindow(s); BitReader.readFewBits(s, 8); s.metaBlockLength--; } s.runningState = BLOCK_START; continue; case COPY_UNCOMPRESSED: copyUncompressedData(s); continue; case WRITE: if (writeRingBuffer(s) == 0) { // Output buffer is full. return; } if (s.pos >= s.maxBackwardDistance) { s.maxDistance = s.maxBackwardDistance; } s.pos &= ringBufferMask; s.runningState = s.nextRunningState; continue; default: throw new BrotliRuntimeException("Unexpected state " + s.runningState); } } if (s.runningState == FINISHED) { if (s.metaBlockLength < 0) { throw new BrotliRuntimeException("Invalid metablock length"); } BitReader.jumpToByteBoundary(s); BitReader.checkHealth(s, 1); } } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/brotli/Dictionary.java000066400000000000000000000030161340005343600262620ustar00rootroot00000000000000/* Copyright 2015 Google Inc. All Rights Reserved. Distributed under MIT license. See file LICENSE for detail or copy at https://opensource.org/licenses/MIT */ package net.sourceforge.plantuml.brotli; import java.nio.ByteBuffer; /** * Collection of static dictionary words. * *

Dictionary content is loaded from binary resource when {@link #getData()} is executed for the * first time. Consequently, it saves memory and CPU in case dictionary is not required. * *

json', 'contT21: RSSloopasiamoon

soulLINEfortcartT14:

80px!--<9px;T04:mike:46ZniceinchYorkricezh:d'));puremageparatonebond:37Z_of_']);000,zh:gtankyardbowlbush:56ZJava30px\n|}\n%C3%:34ZjeffEXPIcashvisagolfsnowzh:iquer.csssickmeatmin.binddellhirepicsrent:36ZHTTP-201fotowolfEND xbox:54ZBODYdick;\n}\nexit:35Zvarsbeat'});diet999;anne}}sonyguysfuckpipe|-\n!002)ndow[1];[];\nLog salt\r\n\t\tbangtrimbath){\r\n00px\n});ko:lfeesad>\rs:// [];tollplug(){\n{\r\n .js'200pdualboat.JPG);\n}quot);\n\n');\n\r\n}\r201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037201320122011201020092008200720062005200420032002200120001999199819971996199519941993199219911990198919881987198619851984198319821981198019791978197719761975197419731972197119701969196819671966196519641963196219611960195919581957195619551954195319521951195010001024139400009999comomC!sesteestaperotodohacecadaaC1obiendC-aasC-vidacasootroforosolootracualdijosidograntipotemadebealgoquC)estonadatrespococasabajotodasinoaguapuesunosantediceluisellamayozonaamorpisoobraclicellodioshoracasiP7P0P=P0P>PP>Q\u0002P8P7P=P>P4P>Q\u0002P>P6P5P>P=P8Q\u0005P\u001DP0P5P5P1Q\u000BPP2Q\u000BP2P>P\u001DP>P>P1P\u001FP>P;P8P=P8P P$P\u001DP5P\u001CQ\u000BQ\u0002Q\u000BP\u001EP=P8Pthing.org/multiheardPowerstandtokensolid(thisbringshipsstafftriedcallsfullyfactsagentThis //-->adminegyptEvent15px;Emailtrue\"crossspentblogsbox\">notedleavechinasizesguest

robotheavytrue,sevengrandcrimesignsawaredancephase>\n\n\r\nname=diegopage swiss-->\n\n#fff;\">Log.com\"treatsheet) && 14px;sleepntentfiledja:c\u0003id=\"cName\"worseshots-box-delta\n<bears:48Z spendbakershops= \"\";php\">ction13px;brianhellosize=o=%2F joinmaybe, fjsimg\" \")[0]MTopBType\"newlyDanskczechtrailknowsfaq\">zh-cn10);\n-1\");type=bluestrulydavis.js';>\r\n\r\nform jesus100% menu.\r\n\t\r\nwalesrisksumentddingb-likteachgif\" vegasdanskeestishqipsuomisobredesdeentretodospuedeaC1osestC!tienehastaotrospartedondenuevohacerformamismomejormundoaquC-dC-assC3loayudafechatodastantomenosdatosotrassitiomuchoahoralugarmayorestoshorastenerantesfotosestaspaC-snuevasaludforosmedioquienmesespoderchileserC!vecesdecirjosC)estarventagrupohechoellostengoamigocosasnivelgentemismaairesjuliotemashaciafavorjuniolibrepuntobuenoautorabrilbuenatextomarzosaberlistaluegocC3moenerojuegoperC:haberestoynuncamujervalorfueralibrogustaigualvotoscasosguC-apuedosomosavisousteddebennochebuscafaltaeurosseriedichocursoclavecasasleC3nplazolargoobrasvistaapoyojuntotratavistocrearcampohemoscincocargopisosordenhacenC!readiscopedrocercapuedapapelmenorC:tilclarojorgecalleponertardenadiemarcasigueellassiglocochemotosmadreclaserestoniC1oquedapasarbancohijosviajepabloC)stevienereinodejarfondocanalnorteletracausatomarmanoslunesautosvillavendopesartipostengamarcollevapadreunidovamoszonasambosbandamariaabusomuchasubirriojavivirgradochicaallC-jovendichaestantalessalirsuelopesosfinesllamabuscoC)stalleganegroplazahumorpagarjuntadobleislasbolsabaC1ohablaluchaC\u0001readicenjugarnotasvalleallC!cargadolorabajoestC)gustomentemariofirmacostofichaplatahogarartesleyesaquelmuseobasespocosmitadcielochicomiedoganarsantoetapadebesplayaredessietecortecoreadudasdeseoviejodeseaaguas"domaincommonstatuseventsmastersystemactionbannerremovescrollupdateglobalmediumfilternumberchangeresultpublicscreenchoosenormaltravelissuessourcetargetspringmodulemobileswitchphotosborderregionitselfsocialactivecolumnrecordfollowtitle>eitherlengthfamilyfriendlayoutauthorcreatereviewsummerserverplayedplayerexpandpolicyformatdoublepointsseriespersonlivingdesignmonthsforcesuniqueweightpeopleenergynaturesearchfigurehavingcustomoffsetletterwindowsubmitrendergroupsuploadhealthmethodvideosschoolfutureshadowdebatevaluesObjectothersrightsleaguechromesimplenoticesharedendingseasonreportonlinesquarebuttonimagesenablemovinglatestwinterFranceperiodstrongrepeatLondondetailformeddemandsecurepassedtoggleplacesdevicestaticcitiesstreamyellowattackstreetflighthiddeninfo\">openedusefulvalleycausesleadersecretseconddamagesportsexceptratingsignedthingseffectfieldsstatesofficevisualeditorvolumeReportmuseummoviesparentaccessmostlymother\" id=\"marketgroundchancesurveybeforesymbolmomentspeechmotioninsidematterCenterobjectexistsmiddleEuropegrowthlegacymannerenoughcareeransweroriginportalclientselectrandomclosedtopicscomingfatheroptionsimplyraisedescapechosenchurchdefinereasoncorneroutputmemoryiframepolicemodelsNumberduringoffersstyleskilledlistedcalledsilvermargindeletebetterbrowselimitsGlobalsinglewidgetcenterbudgetnowrapcreditclaimsenginesafetychoicespirit-stylespreadmakingneededrussiapleaseextentScriptbrokenallowschargedividefactormember-basedtheoryconfigaroundworkedhelpedChurchimpactshouldalwayslogo\" bottomlist\">){var prefixorangeHeader.push(couplegardenbridgelaunchReviewtakingvisionlittledatingButtonbeautythemesforgotSearchanchoralmostloadedChangereturnstringreloadMobileincomesupplySourceordersviewed courseAbout island: The dialoghousesBEGIN MexicostartscentreheightaddingIslandassetsEmpireSchooleffortdirectnearlymanualSelect.\n\nOnejoinedmenu\">PhilipawardshandleimportOfficeregardskillsnationSportsdegreeweekly (e.g.behinddoctorloggedunitedbeyond-scaleacceptservedmarineFootercamera\n_form\"leavesstress\" />\r\n.gif\" onloadloaderOxfordsistersurvivlistenfemaleDesignsize=\"appealtext\">levelsthankshigherforcedanimalanyoneAfricaagreedrecentPeople
wonderpricesturned|| {};main\">inlinesundaywrap\">failedcensusminutebeaconquotes150px|estateremoteemail\"linkedright;signalformal1.htmlsignupprincefloat:.png\" forum.AccesspaperssoundsextendHeightsliderUTF-8\"& Before. WithstudioownersmanageprofitjQueryannualparamsboughtfamousgooglelongeri++) {israelsayingdecidehome\">headerensurebranchpiecesblock;statedtop\">boston.test(avatartested_countforumsschemaindex,filledsharesreaderalert(appearSubmitline\">body\">\n* TheThoughseeingjerseyNews\nSystem DavidcancertablesprovedApril reallydriveritem\">more\">boardscolorscampusfirst || [];media.guitarfinishwidth:showedOther .php\" assumelayerswilsonstoresreliefswedenCustomeasily your String\n\nWhiltaylorclear:resortfrenchthough\") + \"buyingbrandsMembername\">oppingsector5px;\">vspacepostermajor coffeemartinmaturehappenkansaslink\">Images=falsewhile hspace0& \n\nIn powerPolski-colorjordanBottomStart -count2.htmlnews\">01.jpgOnline-rightmillerseniorISBN 00,000 guidesvalue)ectionrepair.xml\" rights.html-blockregExp:hoverwithinvirginphones\rusing \n\tvar >');\n\t\n\nbahasabrasilgalegomagyarpolskisrpskiX1X/Y\u0008d8-f\u0016\u0007g.\u0000d=\u0013g9\u0001i+\u0014d?!f\u0001/d8-e\u001B=f\u0008\u0011d;,d8\u0000d8*e\u0005,e\u000F8g.!g\u0010\u0006h.:e\u001D\u001Be\u000F/d;%f\u001C\re\n!f\u00176i\u00174d8*d::d:'e\u0013\u0001h\u0007*e71d<\u0001d8\u001Af\u001F%g\u001C\u000Be7%d=\u001Ch\u0001\u0014g3;f2!f\u001C\tg=\u0011g+\u0019f\t\u0000f\u001C\th/\u0004h.:d8-e?\u0003f\u0016\u0007g+ g\u0014(f\u00087i&\u0016i!5d=\u001Ch\u0000\u0005f\n\u0000f\u001C/i\u0017.i\"\u0018g\u001B8e\u00053d8\u000Bh==f\u0010\u001Cg4\"d=?g\u0014(h=/d;6e\u001C(g:?d8;i\"\u0018h5\u0004f\u0016\u0019h'\u0006i\"\u0011e\u001B\u001Ee$\rf3(e\u0006\u000Cg=\u0011g;\u001Cf\u00146h\u0017\u000Fe\u0006\u0005e.9f\u000E(h\r\u0010e8\u0002e\u001C:f6\u0008f\u0001/g):i\u00174e\u000F\u0011e8\u0003d;\u0000d9\u0008e%=e\u000F\u000Bg\u0014\u001Ff4;e\u001B>g\t\u0007e\u000F\u0011e1\u0015e&\u0002f\u001E\u001Cf\t\u000Bf\u001C:f\u00160i\u0017;f\u001C\u0000f\u00160f\u00169e<\u000Fe\u000C\u0017d:,f\u000F\u0010d>\u001Be\u00053d:\u000Ef\u001B4e$\u001Ah?\u0019d8*g3;g;\u001Fg\u001F%i\u0001\u0013f88f\u0008\u000Fe9?e\u0011\ne\u00056d;\u0016e\u000F\u0011h!(e.\te\u0005(g,,d8\u0000d<\u001Ae\u0011\u0018h?\u001Bh!\u000Cg\u00029e\u0007;g\t\u0008f\u001D\u0003g\u00145e-\u0010d8\u0016g\u0015\u000Ch.>h.!e\u0005\rh49f\u0015\u0019h\u00022e\n e\u0005%f4;e\n(d;\u0016d;,e\u0015\u0006e\u0013\u0001e\r\u001Ae.\"g\u000E0e\u001C(d8\nf57e&\u0002d=\u0015e72g;\u000Fg\u0015\u0019h(\u0000h/&g;\u0006g$>e\u000C:g\u0019;e=\u0015f\u001C,g+\u0019i\u001C\u0000h&\u0001d;7f f\u000E%e\u001B=e.6e;:h.>f\u001C\u000Be\u000F\u000Bi\u0018\u0005h/;f3\u0015e>\u000Bd=\rg=.g;\u000Ff5\u000Ei\u0000\tf\u000B)h?\u0019f 7e=\u0013e\t\re\u0008\u0006g1;f\u000E\u0012h!\u000Ce\u001B d8:d:$f\u0018\u0013f\u001C\u0000e\u0010\u000Ei\u001F3d9\u0010d8\rh\u0003=i\u0000\u001Ah?\u0007h!\u000Cd8\u001Ag'\u0011f\n\u0000e\u000F/h\u0003=h.>e$\u0007e\u0010\u0008d=\u001Ce$'e.6g$>d<\u001Ag \u0014g)6d8\u0013d8\u001Ae\u0005(i\u0003(i!9g\u001B.h?\u0019i\u0007\u000Ch?\u0018f\u0018/e<\u0000e'\u000Bf\u0003\u0005e\u00065g\u00145h\u0004\u0011f\u0016\u0007d;6e\u0013\u0001g\t\u000Ce8.e\n)f\u0016\u0007e\u000C\u0016h5\u0004f:\u0010e$'e-&e-&d9 e\u001C0e\u001D\u0000f5\u000Fh'\u0008f\n\u0015h5\u0004e7%g(\u000Bh&\u0001f1\u0002f\u0000\u000Ed9\u0008f\u00176e\u0000\u0019e\n\u001Fh\u0003=d8;h&\u0001g\u001B.e\t\rh5\u0004h./e\u001F\u000Ee8\u0002f\u00169f3\u0015g\u00145e=1f\u000B\u001Bh\u0001\u0018e#0f\u0018\u000Ed;;d=\u0015e\u0001%e:7f\u00150f\r.g>\u000Ee\u001B=f1=h=&d;\u000Bg;\rd=\u0006f\u0018/d:$f5\u0001g\u0014\u001Fd:'f\t\u0000d;%g\u00145h/\u001Df\u0018>g$:d8\u0000d:\u001Be\r\u0015d=\rd::e\u0011\u0018e\u0008\u0006f\u001E\u0010e\u001C0e\u001B>f\u0017\u0005f88e7%e\u00057e-&g\u0014\u001Fg3;e\u0008\u0017g=\u0011e\u000F\u000Be8\u0016e-\u0010e/\u0006g \u0001i\"\u0011i\u0001\u0013f\u000E'e\u00086e\u001C0e\u000C:e\u001F:f\u001C,e\u0005(e\u001B=g=\u0011d8\ni\u0007\rh&\u0001g,,d:\u000Ce\u0016\u001Cf,\"h?\u001Be\u0005%e\u000F\u000Bf\u0003\u0005h?\u0019d:\u001Bh\u0000\u0003h/\u0015e\u000F\u0011g\u000E0e\u001F9h.-d;%d8\nf\u0014?e:\u001Cf\u0008\u0010d8:g\u000E/e\"\u0003i&\u0019f8/e\u0010\u000Cf\u00176e(1d9\u0010e\u000F\u0011i\u0000\u0001d8\u0000e.\u001Ae<\u0000e\u000F\u0011d=\u001Ce\u0013\u0001f \u0007e\u0007\u0006f,\"h?\u000Eh'#e\u00063e\u001C0f\u00169d8\u0000d8\u000Bd;%e\u000F\nh4#d;;f\u0008\u0016h\u0000\u0005e.\"f\u00087d;#h!(g'/e\u0008\u0006e%3d::f\u00150g \u0001i\u0014\u0000e\u0014.e\u0007:g\u000E0g&;g:?e:\u0014g\u0014(e\u0008\u0017h!(d8\re\u0010\u000Cg<\u0016h>\u0011g;\u001Fh.!f\u001F%h/\"d8\rh&\u0001f\u001C\te\u00053f\u001C:f\u001E\u0004e>\u0008e$\u001Af\u0012-f\u0014>g;\u0004g;\u0007f\u0014?g-\u0016g\u001B4f\u000E%h\u0003=e\n\u001Bf\u001D%f:\u0010f\u0019\u0002i\u0016\u0013g\u001C\u000Be\u00080g\u0003-i\u0017(e\u00053i\u0014.d8\u0013e\u000C:i\u001D\u001Ee88h\u000B1h/-g\u0019>e:&e8\u000Cf\u001C\u001Bg>\u000Ee%3f/\u0014h>\u0003g\u001F%h/\u0006h'\u0004e.\u001Ae;:h..i\u0003(i\u0017(f\u0004\u000Fh'\u0001g2>e=)f\u0017%f\u001C,f\u000F\u0010i+\u0018e\u000F\u0011h(\u0000f\u00169i\u001D\"e\u001F:i\u0007\u0011e$\u0004g\u0010\u0006f\u001D\u0003i\u0019\u0010e=1g\t\u0007i\u00136h!\u000Ch?\u0018f\u001C\te\u0008\u0006d:+g\t)e\u0013\u0001g;\u000Fh\u0010%f7;e\n d8\u0013e.6h?\u0019g'\rh/\u001Di\"\u0018h57f\u001D%d8\u001Ae\n!e\u0005,e\u0011\nh.0e=\u0015g.\u0000d;\u000Bh4(i\u0007\u000Fg\u00147d::e=1e\u0013\re<\u0015g\u0014(f\n%e\u0011\ni\u0003(e\u0008\u0006e?+i\u0000\u001Fe\u0012(h/\"f\u00176e0\u001Af3(f\u0004\u000Fg\u00143h/7e-&f !e:\u0014h/%e\u000E\u0006e\u000F2e\u000F*f\u0018/h?\u0014e\u001B\u001Eh4-d90e\u0010\rg'0d8:d:\u0006f\u0008\u0010e\n\u001Fh/4f\u0018\u000Ed>\u001Be:\u0014e-)e-\u0010d8\u0013i\"\u0018g(\u000Be:\u000Fd8\u0000h\u0008,f\u001C\u0003e\u0013!e\u000F*f\u001C\te\u00056e.\u0003d?\u001Df\n$h\u0000\u000Cd8\u0014d;\ne$)g*\u0017e\u000F#e\n(f\u0000\u0001g\n6f\u0000\u0001g\t9e\u0008+h.$d8:e?\u0005i!;f\u001B4f\u00160e0\u000Fh/4f\u0008\u0011e\u0000\u0011d=\u001Cd8:e*\u0012d=\u0013e\u000C\u0005f\u000B,i\u0002#d9\u0008d8\u0000f 7e\u001B=e\u0006\u0005f\u0018/e\u0010&f 9f\r.g\u00145h'\u0006e-&i\u0019\"e\u00057f\u001C\th?\u0007g(\u000Bg\u00141d:\u000Ed::f\t\re\u0007:f\u001D%d8\rh?\u0007f-#e\u001C(f\u0018\u000Ef\u0018\u001Ff\u0015\u0005d:\u000Be\u00053g3;f \u0007i\"\u0018e\u0015\u0006e\n!h>\u0013e\u0005%d8\u0000g\u001B4e\u001F:g!\u0000f\u0015\u0019e-&d:\u0006h'#e;:g-\u0011g;\u0013f\u001E\u001Ce\u0005(g\u0010\u0003i\u0000\u001Ag\u001F%h.!e\u0008\u0012e/9d:\u000Eh\t:f\u001C/g\u001B8e\u0006\u000Ce\u000F\u0011g\u0014\u001Fg\u001C\u001Fg\u001A\u0004e;:g+\u000Bg-\tg:'g1;e\u001E\u000Bg;\u000Fi*\u000Ce.\u001Eg\u000E0e\u00086d=\u001Cf\u001D%h\u0007*f \u0007g->d;%d8\u000Be\u000E\u001Fe\u0008\u001Bf\u0017 f3\u0015e\u00056d8-e\u0000\u000Bd::d8\u0000e\u0008\u0007f\u000C\u0007e\r\u0017e\u00053i\u0017-i\u001B\u0006e\u001B\"g,,d8\te\u00053f3(e\u001B f-$g\u0005'g\t\u0007f71e\u001C3e\u0015\u0006d8\u001Ae9?e7\u001Ef\u0017%f\u001C\u001Fi+\u0018g:'f\u001C\u0000h?\u0011g;\u0011h!\u000Cd8:d:$i\u0000\u001Ah/\u0004d;7h'\te>\u0017g2>e\r\u000Ee.6e:-e.\u000Cf\u0008\u0010f\u0004\u001Fh'\te.\th#\u0005e>\u0017e\u00080i\u0002.d;6e\u00086e:&i#\u001Fe\u0013\u0001h\u0019=g\u00046h=,h==f\n%d;7h.0h\u0000\u0005f\u00169f!\u0008h!\u000Cf\u0014?d::f0\u0011g\u0014(e\u0013\u0001d8\u001Ch%?f\u000F\u0010e\u0007:i\u0005\u0012e:\u0017g\u00046e\u0010\u000Ed;\u0018f,>g\u0003-g\u00029d;%e\t\re.\u000Ce\u0005(e\u000F\u0011e8\u0016h.>g=.i\"\u0006e/g%\u001Eh\u000E7e>\u0017e\u0008)g\u0014(g;'g;-d= d;,h?\u0019d9\u0008f(!e<\u000Fh/-h(\u0000h\u0003=e$\u001Fi\u001B\u0005h\u0019\u000Ef\u0013\rd=\u001Ci#\u000Ef d9&f\u001C\tf\u0015\u0008f5\u000Bh/\u0015g';e\n(f\t\rh\u0003=e\u00063e.\u001Ah\u0002!g%(d8\rf\u0016-i\u001C\u0000f1\u0002d8\re>\u0017e\n\u001Ef3\u0015d9\u000Bi\u00174i\u0007\u0007g\u0014(h\u0010%i\u0014\u0000f\n\u0015h/\tg\u001B.f \u0007g\u00081f\u0003\u0005f\u0011\u0004e=1f\u001C\td:\u001Bh$\u0007h#=f\u0016\u0007e-&f\u001C:d<\u001Af\u00150e-\u0017h#\u0005d?.h4-g\t)e\u0006\u001Cf\u001D\u0011e\u0005(i\u001D\"g2>e\u0013\u0001e\u00056e.\u001Ed:\u000Bf\u0003\u0005f04e93f\u000F\u0010g$:d8\ne8\u0002h0\"h0\"f\u0019.i\u0000\u001Af\u0015\u0019e8\u0008d8\nd< g1;e\u0008+f-\u000Cf\u001B2f\u000B%f\u001C\te\u0008\u001Bf\u00160i\u0005\rd;6e\u000F*h&\u0001f\u00176d;#h3\u0007h(\nh>>e\u00080d::g\u0014\u001Fh.\"i\u0018\u0005h\u0000\u0001e8\u0008e1\u0015g$:e?\u0003g\u0010\u0006h44e-\u0010g62g+\u0019d8;i!\u000Ch\u0007*g\u00046g:'e\u0008+g.\u0000e\r\u0015f\u00149i\u001D)i\u0002#d:\u001Bf\u001D%h/4f\t\u0013e<\u0000d;#g \u0001e\u0008 i\u0019$h/\u0001e\u00088h\n\u0002g\u001B.i\u0007\rg\u00029f,!f\u00158e$\u001Ae0\u0011h'\u0004e\u0008\u0012h5\u0004i\u0007\u0011f\t>e\u00080d;%e\u0010\u000Ee$'e\u0005(d8;i!5f\u001C\u0000d=3e\u001B\u001Eg-\u0014e$)d8\u000Bd?\u001Di\u001A\u001Cg\u000E0d;#f#\u0000f\u001F%f\n\u0015g%(e0\u000Ff\u00176f2\u0012f\u001C\tf-#e88g\u0014\u001Ah\u00073d;#g\u0010\u0006g\u001B.e=\u0015e\u0005,e<\u0000e$\re\u00086i\u0007\u0011h\u001E\re98g&\u000Fg\t\u0008f\u001C,e=\"f\u0008\u0010e\u0007\u0006e$\u0007h!\u000Cf\u0003\u0005e\u001B\u001Ee\u00080f\u0000\u001Df\u00033f\u0000\u000Ef 7e\r\u000Fh..h.$h/\u0001f\u001C\u0000e%=d:'g\u0014\u001Ff\u000C\tg\u0005'f\u001C\rh#\u0005e9?d8\u001Ce\n(f<+i\u0007\u0007h4-f\u00160f\t\u000Bg;\u0004e\u001B>i\u001D\"f\u001D?e\u000F\u0002h\u0000\u0003f\u0014?f2;e.9f\u0018\u0013e$)e\u001C0e\n*e\n\u001Bd::d;,e\r\u0007g:'i\u0000\u001Fe:&d::g\t)h0\u0003f\u00154f5\u0001h!\u000Ci\u0000 f\u0008\u0010f\u0016\u0007e-\u0017i\u001F)e\u001B=h48f\u0018\u0013e<\u0000e1\u0015g\u001B8i\u0017\u001Ch!(g\u000E0e=1h'\u0006e&\u0002f-$g>\u000Ee.9e$'e0\u000Ff\n%i\u0001\u0013f\u001D!f,>e?\u0003f\u0003\u0005h.8e$\u001Af3\u0015h'\u0004e.6e1\u0005d9&e:\u0017h?\u001Ef\u000E%g+\u000Be\r3d8>f\n%f\n\u0000e7'e%%h?\u0010g\u0019;e\u0005%d;%f\u001D%g\u0010\u0006h.:d:\u000Bd;6h\u0007*g\u00141d8-e\r\u000Ee\n\u001Ee\u0005,e&\u0008e&\u0008g\u001C\u001Ff-#d8\ri\u0014\u0019e\u0005(f\u0016\u0007e\u0010\u0008e\u0010\u000Cd;7e\u0000e7&e\u000F3h\u0002!d;=g-\u0014f!\u0008e.\u001Ei\u0019\u0005g\u00145d?!g;\u000Fg\u0010\u0006g\u0014\u001Fe\u0011=e.#d< d;;e\n!f-#e<\u000Fg\t9h\t2d8\u000Bf\u001D%e\r\u000Fd<\u001Ae\u000F*h\u0003=e=\u0013g\u00046i\u0007\rf\u00160e\u0005'e.9f\u000C\u0007e/g(\u000Be\u000C;g\u0016\u0017g;\u000Fh?\u0007h?\u0007e\u000E;d9\u000Be\t\rf\u00146e\u0005%e94e:&f\u001D\u0002e?\u0017g>\u000Ed8=f\u001C\u0000i+\u0018g\u0019;i\u0019\u0006f\u001C*f\u001D%e\n e7%e\u0005\rh4#f\u0015\u0019g(\u000Bg\t\u0008e\u001D\u0017h:+d=\u0013i\u0007\re:\u0006e\u0007:e\u0014.f\u0008\u0010f\u001C,e=\"e<\u000Fe\u001C\u001Fh1\u0006e\u0007:e\u00039d8\u001Cf\u00169i\u0002.g.1e\r\u0017d:,f1\u0002h\u0001\u000Ce\u000F\u0016e>\u0017h\u0001\u000Cd=\rg\u001B8d?!i!5i\u001D\"e\u0008\u0006i\u0012\u001Fg=\u0011i!5g!.e.\u001Ae\u001B>d>\u000Bg=\u0011e\u001D\u0000g'/f\u001E\u0001i\u0014\u0019h//g\u001B.g\u001A\u0004e.\u001Dh4\u001Df\u001C:e\u00053i#\u000Ei\u0019)f\u000E\u0008f\u001D\u0003g\u0017\u0005f/\u0012e. g\t)i\u0019$d:\u0006h)\u0015h+\u0016g\u0016>g\u0017\u0005e\u000F\nf\u00176f1\u0002h4-g+\u0019g\u00029e\u0004?g+%f/\u000Fe$)d8-e$.h.$h/\u0006f/\u000Fd8*e$)f4%e-\u0017d=\u0013e\u000F0g\u0001#g;4f\n$f\u001C,i!5d8*f\u0000'e.\u0018f\u00169e88h'\u0001g\u001B8f\u001C:f\u0008\u0018g\u0015%e:\u0014e=\u0013e>\u000Be8\u0008f\u00169d>?f !e\u001B-h\u0002!e8\u0002f\u0008?e1\u000Bf \u000Fg\u001B.e\u0011\u0018e7%e/\u000Ee\u0005\u0003e<\u0015h57f\u00149e\u000F\u0018g,,e\u001B\u001Bd<\u001Ah.!h**f\u0018\u000Ei\u001A\u0010g'\u0001e.\u001De.\u001Dh'\u0004h\u000C\u0003f6\u0008h49e\u00051e\u0010\u000Ce?\u0018h.0d=\u0013g3;e8&f\u001D%e\u0010\re-\u0017g\u0019e\n g\u001B\u001Fe\u000F\u0017e\u00080d:\u000Cf\t\u000Be$'i\u0007\u000Ff\u0008\u0010d::f\u00150i\u0007\u000Fe\u00051d:+e\u000C:e\u001F\u001Fe%3e-)e\u000E\u001Fe\u0008\u0019f\t\u0000e\u001C(g;\u0013f\u001D\u001Fi\u0000\u001Ad?!h6\u0005g:'i\u0005\rg=.e=\u0013f\u00176d<\u0018g'\u0000f\u0000'f\u0004\u001Ff\u0008?d:'i\u0001\nf\u00082e\u0007:e\u000F#f\u000F\u0010d:$e01d8\u001Ad?\u001De\u0001%g(\u000Be:&e\u000F\u0002f\u00150d:\u000Bd8\u001Af\u00154d8*e11d8\u001Cf\u0003\u0005f\u0004\u001Fg\t9f.\ne\u0008\u0006i!\u001Ef\u0010\u001Ce0\u000Be1\u001Ed:\u000Ei\u0017(f\u00087h4\"e\n!e#0i\u001F3e\u000F\ne\u00056h4\"g;\u000Fe\u001D\u001Af\u000C\u0001e92i\u0003(f\u0008\u0010g+\u000Be\u0008)g\u001B\nh\u0000\u0003h\u0019\u0011f\u0008\u0010i\u0003=e\u000C\u0005h#\u0005g\u0014(f\u00086f/\u0014h5\u001Bf\u0016\u0007f\u0018\u000Ef\u000B\u001Be\u0015\u0006e.\u000Cf\u00154g\u001C\u001Ff\u0018/g\u001Ce/\u0006g\"\u000Ei#\u001Fg;?h\t2g(3e.\u001Ag;\u0008d:\u000Eg\u0014\u001Fg\t)d>\u001Bf1\u0002f\u0010\u001Cg\u000B\u0010e\n\u001Bi\u0007\u000Fd8%i\u0007\rf08h?\u001Ce\u0006\u0019g\u001C\u001Ff\u001C\ti\u0019\u0010g+\u001Ed:\te/9h1!h49g\u0014(d8\re%=g;\u001De/9e\r\u0001e\u0008\u0006d?\u0003h?\u001Bg\u00029h/\u0004e=1i\u001F3d<\u0018e\n?d8\re0\u0011f,#h5\u000Fe96d8\u0014f\u001C\tg\u00029f\u00169e\u0010\u0011e\u0005(f\u00160d?!g\u0014(h.>f\u0016=e=\"h1!h5\u0004f \u000Ee\u0015\u0006e\u001F\u000Eg;\u001Fd8\u0000e\u0007:g\t\u0008f\t\u0013i\u0000 g\u0014\"e\u0013\u0001f&\u0002e\u00065g\u0014(d:\u000Ed?\u001Dg\u0015\u0019e\u001B g4 d8-e\u001C\u000Be-\u0018e\u0002(h44e\u001B>f\u001C\u0000f\u0004\u001Bi\u0015?f\u001C\u001Fe\u000F#d;7g\u0010\u0006h4\"e\u001F:e\u001C0e.\tf\u000E\u0012f-&f1\ti\u0007\u000Ci\u001D\"e\u0008\u001Be;:e$)g):i&\u0016e\u0005\u0008e.\u000Ce\u0016\u0004i)1e\n(d8\u000Bi\u001D\"d8\re\u0006\rh/\u001Ad?!f\u0004\u000Fd9\ti\u00183e\u0005\th\u000B1e\u001B=f<\u0002d:.e\u0006\u001Bd:\u000Bg\u000E)e.6g>$d<\u0017e\u0006\u001Cf0\u0011e\r3e\u000F/e\u0010\rg(1e.6e\u00057e\n(g\u0014;f\u00033e\u00080f3(f\u0018\u000Ee0\u000Fe-&f\u0000'h\u0003=h\u0000\u0003g \u0014g!,d;6h'\u0002g\u001C\u000Bf8\u0005f%\u001Af\u0010\u001Eg,\u0011i&\u0016i \u0001i;\u0004i\u0007\u0011i\u0000\u0002g\u0014(f1\u001Fh\u000B\u000Fg\u001C\u001Fe.\u001Ed8;g.!i\u00186f.5h(;e\u0006\ng?;h/\u0011f\u001D\u0003e\u0008)e\u0001\u001Ae%=d<P:P0P:P8P;P8Q\rQ\u0002P>P2Q\u0001P5P5P3P>P?Q\u0000P8Q\u0002P0P:P5Q\tP5Q\u0003P6P5P\u001AP0P:P1P5P7P1Q\u000BP;P>P=P8P\u0012Q\u0001P5P?P>P4P-Q\u0002P>Q\u0002P>PP=P0P3P4P5PP3P>P4P2P>Q\u0002Q\u0002P0PP2P0Q\u0001P2P0PQ\u0002Q\u0003Q\u0002P=P0P4P4P=Q\u000FP\u0012P>Q\u0002Q\u0002Q\u0000P8P=P5P9P\u0012P0Q\u0001P=P8PQ\u0002Q\u0000Q\u0003P1P\u001EP=P8PPP9P4P2P5P>P=P>Q\u0001Q\u0003P4`$\u0015`%\u0007`$9`%\u0008`$\u0015`%\u0000`$8`%\u0007`$\u0015`$>`$\u0015`%\u000B`$\u0014`$0`$*`$0`$(`%\u0007`$\u000F`$\u0015`$\u0015`$?`$-`%\u0000`$\u0007`$8`$\u0015`$0`$$`%\u000B`$9`%\u000B`$\u0006`$*`$9`%\u0000`$/`$9`$/`$>`$$`$\u0015`$%`$>jagran`$\u0006`$\u001C`$\u001C`%\u000B`$\u0005`$,`$&`%\u000B`$\u0017`$\u0008`$\u001C`$>`$\u0017`$\u000F`$9`$.`$\u0007`$(`$5`$9`$/`%\u0007`$%`%\u0007`$%`%\u0000`$\u0018`$0`$\u001C`$,`$&`%\u0000`$\u0015`$\u0008`$\u001C`%\u0000`$5`%\u0007`$(`$\u0008`$(`$\u000F`$9`$0`$\t`$8`$.`%\u0007`$\u0015`$.`$5`%\u000B`$2`%\u0007`$8`$,`$.`$\u0008`$&`%\u0007`$\u0013`$0`$\u0006`$.`$,`$8`$-`$0`$,`$(`$\u001A`$2`$.`$(`$\u0006`$\u0017`$8`%\u0000`$2`%\u0000X9Y\u0004Y\tX%Y\u0004Y\tY\u0007X0X'X\"X.X1X9X/X/X'Y\u0004Y\tY\u0007X0Y\u0007X5Y\u0008X1X:Y\nX1Y\u0003X'Y\u0006Y\u0008Y\u0004X'X(Y\nY\u0006X9X1X6X0Y\u0004Y\u0003Y\u0007Y\u0006X'Y\nY\u0008Y\u0005Y\u0002X'Y\u0004X9Y\u0004Y\nX'Y\u0006X'Y\u0004Y\u0003Y\u0006X-X*Y\tY\u0002X(Y\u0004Y\u0008X-X)X'X.X1Y\u0001Y\u0002X7X9X(X/X1Y\u0003Y\u0006X%X0X'Y\u0003Y\u0005X'X'X-X/X%Y\u0004X'Y\u0001Y\nY\u0007X(X9X6Y\u0003Y\nY\u0001X(X-X+Y\u0008Y\u0005Y\u0006Y\u0008Y\u0007Y\u0008X#Y\u0006X'X,X/X'Y\u0004Y\u0007X'X3Y\u0004Y\u0005X9Y\u0006X/Y\u0004Y\nX3X9X(X1X5Y\u0004Y\tY\u0005Y\u0006X0X(Y\u0007X'X#Y\u0006Y\u0007Y\u0005X+Y\u0004Y\u0003Y\u0006X*X'Y\u0004X'X-Y\nX+Y\u0005X5X1X4X1X-X-Y\u0008Y\u0004Y\u0008Y\u0001Y\nX'X0X'Y\u0004Y\u0003Y\u0004Y\u0005X1X)X'Y\u0006X*X'Y\u0004Y\u0001X#X(Y\u0008X.X'X5X#Y\u0006X*X'Y\u0006Y\u0007X'Y\u0004Y\nX9X6Y\u0008Y\u0008Y\u0002X/X'X(Y\u0006X.Y\nX1X(Y\u0006X*Y\u0004Y\u0003Y\u0005X4X'X!Y\u0008Y\u0007Y\nX'X(Y\u0008Y\u0002X5X5Y\u0008Y\u0005X'X1Y\u0002Y\u0005X#X-X/Y\u0006X-Y\u0006X9X/Y\u0005X1X#Y\nX'X-X)Y\u0003X*X(X/Y\u0008Y\u0006Y\nX,X(Y\u0005Y\u0006Y\u0007X*X-X*X,Y\u0007X)X3Y\u0006X)Y\nX*Y\u0005Y\u0003X1X)X:X2X)Y\u0006Y\u0001X3X(Y\nX*Y\u0004Y\u0004Y\u0007Y\u0004Y\u0006X'X*Y\u0004Y\u0003Y\u0002Y\u0004X(Y\u0004Y\u0005X'X9Y\u0006Y\u0007X#Y\u0008Y\u0004X4Y\nX!Y\u0006Y\u0008X1X#Y\u0005X'Y\u0001Y\nY\u0003X(Y\u0003Y\u0004X0X'X*X1X*X(X(X#Y\u0006Y\u0007Y\u0005X3X'Y\u0006Y\u0003X(Y\nX9Y\u0001Y\u0002X/X-X3Y\u0006Y\u0004Y\u0007Y\u0005X4X9X1X#Y\u0007Y\u0004X4Y\u0007X1Y\u0002X7X1X7Y\u0004X(profileservicedefaulthimselfdetailscontentsupportstartedmessagesuccessfashioncountryaccountcreatedstoriesresultsrunningprocesswritingobjectsvisiblewelcomearticleunknownnetworkcompanydynamicbrowserprivacyproblemServicerespectdisplayrequestreservewebsitehistoryfriendsoptionsworkingversionmillionchannelwindow.addressvisitedweathercorrectproductedirectforwardyou canremovedsubjectcontrolarchivecurrentreadinglibrarylimitedmanagerfurthersummarymachineminutesprivatecontextprogramsocietynumberswrittenenabledtriggersourcesloadingelementpartnerfinallyperfectmeaningsystemskeepingculture",journalprojectsurfaces"expiresreviewsbalanceEnglishContentthroughPlease opinioncontactaverageprimaryvillageSpanishgallerydeclinemeetingmissionpopularqualitymeasuregeneralspeciessessionsectionwriterscounterinitialreportsfiguresmembersholdingdisputeearlierexpressdigitalpictureAnothermarriedtrafficleadingchangedcentralvictoryimages/reasonsstudiesfeaturelistingmust beschoolsVersionusuallyepisodeplayinggrowingobviousoverlaypresentactions</ul>\r\nwrapperalreadycertainrealitystorageanotherdesktopofferedpatternunusualDigitalcapitalWebsitefailureconnectreducedAndroiddecadesregular & animalsreleaseAutomatgettingmethodsnothingPopularcaptionletterscapturesciencelicensechangesEngland=1&History = new CentralupdatedSpecialNetworkrequirecommentwarningCollegetoolbarremainsbecauseelectedDeutschfinanceworkersquicklybetweenexactlysettingdiseaseSocietyweaponsexhibit<!--Controlclassescoveredoutlineattacksdevices(windowpurposetitle=\"Mobile killingshowingItaliandroppedheavilyeffects-1']);\nconfirmCurrentadvancesharingopeningdrawingbillionorderedGermanyrelated</form>includewhetherdefinedSciencecatalogArticlebuttonslargestuniformjourneysidebarChicagoholidayGeneralpassage,"animatefeelingarrivedpassingnaturalroughly.\n\nThe but notdensityBritainChineselack oftributeIreland\" data-factorsreceivethat isLibraryhusbandin factaffairsCharlesradicalbroughtfindinglanding:lang=\"return leadersplannedpremiumpackageAmericaEdition]"Messageneed tovalue=\"complexlookingstationbelievesmaller-mobilerecordswant tokind ofFirefoxyou aresimilarstudiedmaximumheadingrapidlyclimatekingdomemergedamountsfoundedpioneerformuladynastyhow to SupportrevenueeconomyResultsbrothersoldierlargelycalling."AccountEdward segmentRobert effortsPacificlearnedup withheight:we haveAngelesnations_searchappliedacquiremassivegranted: falsetreatedbiggestbenefitdrivingStudiesminimumperhapsmorningsellingis usedreversevariant role=\"missingachievepromotestudentsomeoneextremerestorebottom:evolvedall thesitemapenglishway to AugustsymbolsCompanymattersmusicalagainstserving})();\r\npaymenttroubleconceptcompareparentsplayersregionsmonitor ''The winningexploreadaptedGalleryproduceabilityenhancecareers). The collectSearch ancientexistedfooter handlerprintedconsoleEasternexportswindowsChannelillegalneutralsuggest_headersigning.html\">settledwesterncausing-webkitclaimedJusticechaptervictimsThomas mozillapromisepartieseditionoutside:false,hundredOlympic_buttonauthorsreachedchronicdemandssecondsprotectadoptedprepareneithergreatlygreateroverallimprovecommandspecialsearch.worshipfundingthoughthighestinsteadutilityquarterCulturetestingclearlyexposedBrowserliberal} catchProjectexamplehide();FloridaanswersallowedEmperordefenseseriousfreedomSeveral-buttonFurtherout of != nulltrainedDenmarkvoid(0)/all.jspreventRequestStephen\n\nWhen observe</h2>\r\nModern provide\" alt=\"borders.\n\nFor \n\nMany artistspoweredperformfictiontype ofmedicalticketsopposedCouncilwitnessjusticeGeorge Belgium...</a>twitternotablywaitingwarfare Other rankingphrasesmentionsurvivescholar</p>\r\n Countryignoredloss ofjust asGeorgiastrange<head><stopped1']);\r\nislandsnotableborder:list ofcarried100,000</h3>\n severalbecomesselect wedding00.htmlmonarchoff theteacherhighly biologylife ofor evenrise of»plusonehunting(thoughDouglasjoiningcirclesFor theAncientVietnamvehiclesuch ascrystalvalue =Windowsenjoyeda smallassumed<a id=\"foreign All rihow theDisplayretiredhoweverhidden;battlesseekingcabinetwas notlook atconductget theJanuaryhappensturninga:hoverOnline French lackingtypicalextractenemieseven ifgeneratdecidedare not/searchbeliefs-image:locatedstatic.login\">convertviolententeredfirst\">circuitFinlandchemistshe was10px;\">as suchdivided</span>will beline ofa greatmystery/index.fallingdue to railwaycollegemonsterdescentit withnuclearJewish protestBritishflowerspredictreformsbutton who waslectureinstantsuicidegenericperiodsmarketsSocial fishingcombinegraphicwinners<br /><by the NaturalPrivacycookiesoutcomeresolveSwedishbrieflyPersianso muchCenturydepictscolumnshousingscriptsnext tobearingmappingrevisedjQuery(-width:title\">tooltipSectiondesignsTurkishyounger.match(})();\n\nburningoperatedegreessource=Richardcloselyplasticentries</tr>\r\ncolor:#ul id=\"possessrollingphysicsfailingexecutecontestlink toDefault<br />\n: true,chartertourismclassicproceedexplain</h1>\r\nonline.?xml vehelpingdiamonduse theairlineend -->).attr(readershosting#ffffffrealizeVincentsignals src=\"/ProductdespitediversetellingPublic held inJoseph theatreaffects<style>a largedoesn'tlater, ElementfaviconcreatorHungaryAirportsee theso thatMichaelSystemsPrograms, and width=e"tradingleft\">\npersonsGolden Affairsgrammarformingdestroyidea ofcase ofoldest this is.src = cartoonregistrCommonsMuslimsWhat isin manymarkingrevealsIndeed,equally/show_aoutdoorescape(Austriageneticsystem,In the sittingHe alsoIslandsAcademy\n\t\t<!--Daniel bindingblock\">imposedutilizeAbraham(except{width:putting).html(|| [];\nDATA[ *kitchenmountedactual dialectmainly _blank'installexpertsif(typeIt also© \">Termsborn inOptionseasterntalkingconcerngained ongoingjustifycriticsfactoryits ownassaultinvitedlastinghis ownhref=\"/\" rel=\"developconcertdiagramdollarsclusterphp?id=alcohol);})();using a><span>vesselsrevivalAddressamateurandroidallegedillnesswalkingcentersqualifymatchesunifiedextinctDefensedied in\n\t<!-- customslinkingLittle Book ofeveningmin.js?are thekontakttoday's.html\" target=wearingAll Rig;\n})();raising Also, crucialabout\">declare-->\n<scfirefoxas muchappliesindex, s, but type = \n\r\n<!--towardsRecordsPrivateForeignPremierchoicesVirtualreturnsCommentPoweredinline;povertychamberLiving volumesAnthonylogin\" RelatedEconomyreachescuttinggravitylife inChapter-shadowNotable</td>\r\n returnstadiumwidgetsvaryingtravelsheld bywho arework infacultyangularwho hadairporttown of\n\nSome 'click'chargeskeywordit willcity of(this);Andrew unique checkedor more300px; return;rsion=\"pluginswithin herselfStationFederalventurepublishsent totensionactresscome tofingersDuke ofpeople,exploitwhat isharmonya major\":\"httpin his menu\">\nmonthlyofficercouncilgainingeven inSummarydate ofloyaltyfitnessand wasemperorsupremeSecond hearingRussianlongestAlbertalateralset of small\">.appenddo withfederalbank ofbeneathDespiteCapitalgrounds), and percentit fromclosingcontainInsteadfifteenas well.yahoo.respondfighterobscurereflectorganic= Math.editingonline paddinga wholeonerroryear ofend of barrierwhen itheader home ofresumedrenamedstrong>heatingretainscloudfrway of March 1knowingin partBetweenlessonsclosestvirtuallinks\">crossedEND -->famous awardedLicenseHealth fairly wealthyminimalAfricancompetelabel\">singingfarmersBrasil)discussreplaceGregoryfont copursuedappearsmake uproundedboth ofblockedsaw theofficescoloursif(docuwhen heenforcepush(fuAugust UTF-8\">Fantasyin mostinjuredUsuallyfarmingclosureobject defenceuse of Medical<body>\nevidentbe usedkeyCodesixteenIslamic#000000entire widely active (typeofone cancolor =speakerextendsPhysicsterrain<tbody>funeralviewingmiddle cricketprophetshifteddoctorsRussell targetcompactalgebrasocial-bulk ofman and</td>\n he left).val()false);logicalbankinghome tonaming Arizonacredits);\n});\nfounderin turnCollinsbefore But thechargedTitle\">CaptainspelledgoddessTag -->Adding:but wasRecent patientback in=false&Lincolnwe knowCounterJudaismscript altered']);\n has theunclearEvent',both innot all\n\n<!-- placinghard to centersort ofclientsstreetsBernardassertstend tofantasydown inharbourFreedomjewelry/about..searchlegendsis mademodern only ononly toimage\" linear painterand notrarely acronymdelivershorter00&as manywidth=\"/* <![Ctitle =of the lowest picked escapeduses ofpeoples PublicMatthewtacticsdamagedway forlaws ofeasy to windowstrong simple}catch(seventhinfoboxwent topaintedcitizenI don'tretreat. Some ww.\");\nbombingmailto:made in. Many carries||{};wiwork ofsynonymdefeatsfavoredopticalpageTraunless sendingleft\"><comScorAll thejQuery.touristClassicfalse\" Wilhelmsuburbsgenuinebishops.split(global followsbody ofnominalContactsecularleft tochiefly-hidden-banner</li>\n\n. When in bothdismissExplorealways via thespaC1olwelfareruling arrangecaptainhis sonrule ofhe tookitself,=0&(calledsamplesto makecom/pagMartin Kennedyacceptsfull ofhandledBesides//--></able totargetsessencehim to its by common.mineralto takeways tos.org/ladvisedpenaltysimple:if theyLettersa shortHerbertstrikes groups.lengthflightsoverlapslowly lesser social </p>\n\t\tit intoranked rate oful>\r\n attemptpair ofmake itKontaktAntoniohaving ratings activestreamstrapped\").css(hostilelead tolittle groups,Picture-->\r\n\r\n rows=\" objectinverse<footerCustomV><\\/scrsolvingChamberslaverywoundedwhereas!= 'undfor allpartly -right:Arabianbacked centuryunit ofmobile-Europe,is homerisk ofdesiredClintoncost ofage of become none ofp"Middle ead')[0Criticsstudios>©group\">assemblmaking pressedwidget.ps:\" ? rebuiltby someFormer editorsdelayedCanonichad thepushingclass=\"but arepartialBabylonbottom carrierCommandits useAs withcoursesa thirddenotesalso inHouston20px;\">accuseddouble goal ofFamous ).bind(priests Onlinein Julyst + \"gconsultdecimalhelpfulrevivedis veryr'+'iptlosing femalesis alsostringsdays ofarrivalfuture <objectforcingString(\" />\n\t\there isencoded. The balloondone by/commonbgcolorlaw of Indianaavoidedbut the2px 3pxjquery.after apolicy.men andfooter-= true;for usescreen.Indian image =family,http://  driverseternalsame asnoticedviewers})();\n is moreseasonsformer the newis justconsent Searchwas thewhy theshippedbr><br>width: height=made ofcuisineis thata very Admiral fixed;normal MissionPress, ontariocharsettry to invaded=\"true\"spacingis mosta more totallyfall of});\r\n immensetime inset outsatisfyto finddown tolot of Playersin Junequantumnot thetime todistantFinnishsrc = (single help ofGerman law andlabeledforestscookingspace\">header-well asStanleybridges/globalCroatia About [0];\n it, andgroupedbeing a){throwhe madelighterethicalFFFFFF\"bottom\"like a employslive inas seenprintermost ofub-linkrejectsand useimage\">succeedfeedingNuclearinformato helpWomen'sNeitherMexicanprotein<table by manyhealthylawsuitdevised.push({sellerssimply Through.cookie Image(older\">us.js\"> Since universlarger open to!-- endlies in']);\r\n marketwho is (\"DOMComanagedone fortypeof Kingdomprofitsproposeto showcenter;made itdressedwere inmixtureprecisearisingsrc = 'make a securedBaptistvoting \n\t\tvar March 2grew upClimate.removeskilledway the</head>face ofacting right\">to workreduceshas haderectedshow();action=book ofan area== \"htt<header\n<html>conformfacing cookie.rely onhosted .customhe wentbut forspread Family a meansout theforums.footage\">MobilClements\" id=\"as highintense--><!--female is seenimpliedset thea stateand hisfastestbesidesbutton_bounded\"><img Infoboxevents,a youngand areNative cheaperTimeoutand hasengineswon the(mostlyright: find a -bottomPrince area ofmore ofsearch_nature,legallyperiod,land ofor withinducedprovingmissilelocallyAgainstthe wayk"px;\">\r\npushed abandonnumeralCertainIn thismore inor somename isand, incrownedISBN 0-createsOctobermay notcenter late inDefenceenactedwish tobroadlycoolingonload=it. TherecoverMembersheight assumes<html>\npeople.in one =windowfooter_a good reklamaothers,to this_cookiepanel\">London,definescrushedbaptismcoastalstatus title\" move tolost inbetter impliesrivalryservers SystemPerhapses and contendflowinglasted rise inGenesisview ofrising seem tobut in backinghe willgiven agiving cities.flow of Later all butHighwayonly bysign ofhe doesdiffersbattery&lasinglesthreatsintegertake onrefusedcalled =US&See thenativesby thissystem.head of:hover,lesbiansurnameand allcommon/header__paramsHarvard/pixel.removalso longrole ofjointlyskyscraUnicodebr />\r\nAtlantanucleusCounty,purely count\">easily build aonclicka givenpointerh"events else {\nditionsnow the, with man whoorg/Webone andcavalryHe diedseattle00,000 {windowhave toif(windand itssolely m"renewedDetroitamongsteither them inSenatorUs</a><King ofFrancis-produche usedart andhim andused byscoringat hometo haverelatesibilityfactionBuffalolink\"><what hefree toCity ofcome insectorscountedone daynervoussquare };if(goin whatimg\" alis onlysearch/tuesdaylooselySolomonsexual - <a hrmedium\"DO NOT France,with a war andsecond take a >\r\n\r\n\r\nmarket.highwaydone inctivity\"last\">obligedrise to\"undefimade to Early praisedin its for hisathleteJupiterYahoo! termed so manyreally s. The a woman?value=direct right\" bicycleacing=\"day andstatingRather,higher Office are nowtimes, when a pay foron this-link\">;borderaround annual the Newput the.com\" takin toa brief(in thegroups.; widthenzymessimple in late{returntherapya pointbanninginks\">\n();\" rea place\\u003Caabout atr>\r\n\t\tccount gives a<SCRIPTRailwaythemes/toolboxById(\"xhumans,watchesin some if (wicoming formats Under but hashanded made bythan infear ofdenoted/iframeleft involtagein eacha"base ofIn manyundergoregimesaction </p>\r\n<ustomVa;></importsor thatmostly &re size=\"</a></ha classpassiveHost = WhetherfertileVarious=[];(fucameras/></td>acts asIn some>\r\n\r\n<!organis <br />BeijingcatalC deutscheuropeueuskaragaeilgesvenskaespaC1amensajeusuariotrabajomC)xicopC!ginasiempresistemaoctubreduranteaC1adirempresamomentonuestroprimeratravC)sgraciasnuestraprocesoestadoscalidadpersonanC:meroacuerdomC:sicamiembroofertasalgunospaC-sesejemploderechoademC!sprivadoagregarenlacesposiblehotelessevillaprimeroC:ltimoeventosarchivoculturamujeresentradaanuncioembargomercadograndesestudiomejoresfebrerodiseC1oturismocC3digoportadaespaciofamiliaantoniopermiteguardaralgunaspreciosalguiensentidovisitastC-tuloconocersegundoconsejofranciaminutossegundatenemosefectosmC!lagasesiC3nrevistagranadacompraringresogarcC-aacciC3necuadorquienesinclusodeberC!materiahombresmuestrapodrC-amaC1anaC:ltimaestamosoficialtambienningC:nsaludospodemosmejorarpositionbusinesshomepagesecuritylanguagestandardcampaignfeaturescategoryexternalchildrenreservedresearchexchangefavoritetemplatemilitaryindustryservicesmaterialproductsz-index:commentssoftwarecompletecalendarplatformarticlesrequiredmovementquestionbuildingpoliticspossiblereligionphysicalfeedbackregisterpicturesdisabledprotocolaudiencesettingsactivityelementslearninganythingabstractprogressoverviewmagazineeconomictrainingpressurevarious <strong>propertyshoppingtogetheradvancedbehaviordownloadfeaturedfootballselectedLanguagedistanceremembertrackingpasswordmodifiedstudentsdirectlyfightingnortherndatabasefestivalbreakinglocationinternetdropdownpracticeevidencefunctionmarriageresponseproblemsnegativeprogramsanalysisreleasedbanner\">purchasepoliciesregionalcreativeargumentbookmarkreferrerchemicaldivisioncallbackseparateprojectsconflicthardwareinterestdeliverymountainobtained= false;for(var acceptedcapacitycomputeridentityaircraftemployedproposeddomesticincludesprovidedhospitalverticalcollapseapproachpartnerslogo\"><adaughterauthor\" culturalfamilies/images/assemblypowerfulteachingfinisheddistrictcriticalcgi-bin/purposesrequireselectionbecomingprovidesacademicexerciseactuallymedicineconstantaccidentMagazinedocumentstartingbottom\">observed: "extendedpreviousSoftwarecustomerdecisionstrengthdetailedslightlyplanningtextareacurrencyeveryonestraighttransferpositiveproducedheritageshippingabsolutereceivedrelevantbutton\" violenceanywherebenefitslaunchedrecentlyalliancefollowedmultiplebulletinincludedoccurredinternal$(this).republic><tr><tdcongressrecordedultimatesolution<ul id=\"discoverHome</a>websitesnetworksalthoughentirelymemorialmessagescontinueactive\">somewhatvictoriaWestern title=\"LocationcontractvisitorsDownloadwithout right\">\nmeasureswidth = variableinvolvedvirginianormallyhappenedaccountsstandingnationalRegisterpreparedcontrolsaccuratebirthdaystrategyofficialgraphicscriminalpossiblyconsumerPersonalspeakingvalidateachieved.jpg\" />machines</h2>\n keywordsfriendlybrotherscombinedoriginalcomposedexpectedadequatepakistanfollow\" valuable</label>relativebringingincreasegovernorplugins/List of Header\">\" name=\" ("graduate</head>\ncommercemalaysiadirectormaintain;height:schedulechangingback to catholicpatternscolor: #greatestsuppliesreliable</ul>\n\t\t<select citizensclothingwatching<li id=\"specificcarryingsentence<center>contrastthinkingcatch(e)southernMichael merchantcarouselpadding:interior.split(\"lizationOctober ){returnimproved-->\n\ncoveragechairman.png\" />subjectsRichard whateverprobablyrecoverybaseballjudgmentconnect..css\" /> websitereporteddefault\"/></a>\r\nelectricscotlandcreationquantity. ISBN 0did not instance-search-\" lang=\"speakersComputercontainsarchivesministerreactiondiscountItalianocriteriastrongly: 'http:'script'coveringofferingappearedBritish identifyFacebooknumerousvehiclesconcernsAmericanhandlingdiv id=\"William provider_contentaccuracysection andersonflexibleCategorylawrence<script>layout=\"approved maximumheader\"></table>Serviceshamiltoncurrent canadianchannels/themes//articleoptionalportugalvalue=\"\"intervalwirelessentitledagenciesSearch\" measuredthousandspending…new Date\" size=\"pageNamemiddle\" \" /></a>hidden\">sequencepersonaloverflowopinionsillinoislinks\">\n\t<title>versionssaturdayterminalitempropengineersectionsdesignerproposal=\"false\"EspaC1olreleasessubmit\" er"additionsymptomsorientedresourceright\"><pleasurestationshistory.leaving border=contentscenter\">.\n\nSome directedsuitablebulgaria.show();designedGeneral conceptsExampleswilliamsOriginal\"><span>search\">operatorrequestsa "allowingDocumentrevision. \n\nThe yourselfContact michiganEnglish columbiapriorityprintingdrinkingfacilityreturnedContent officersRussian generate-8859-1\"indicatefamiliar qualitymargin:0 contentviewportcontacts-title\">portable.length eligibleinvolvesatlanticonload=\"default.suppliedpaymentsglossary\n\nAfter guidance</td><tdencodingmiddle\">came to displaysscottishjonathanmajoritywidgets.clinicalthailandteachers<head>\n\taffectedsupportspointer;toString</small>oklahomawill be investor0\" alt=\"holidaysResourcelicensed (which . After considervisitingexplorerprimary search\" android\"quickly meetingsestimate;return ;color:# height=approval, " checked.min.js\"magnetic></a></hforecast. While thursdaydvertiseéhasClassevaluateorderingexistingpatients Online coloradoOptions\"campbell<!-- end</span><<br />\r\n_popups|sciences," quality Windows assignedheight: <b classle" value=\" Companyexamples<iframe believespresentsmarshallpart of properly).\n\nThe taxonomymuch of </span>\n\" data-srtuguC*sscrollTo project<head>\r\nattorneyemphasissponsorsfancyboxworld's wildlifechecked=sessionsprogrammpx;font- Projectjournalsbelievedvacationthompsonlightingand the special border=0checking</tbody><button Completeclearfix\n<head>\narticle <sectionfindingsrole in popular Octoberwebsite exposureused to changesoperatedclickingenteringcommandsinformed numbers </div>creatingonSubmitmarylandcollegesanalyticlistingscontact.loggedInadvisorysiblingscontent\"s")s. This packagescheckboxsuggestspregnanttomorrowspacing=icon.pngjapanesecodebasebutton\">gamblingsuch as , while </span> missourisportingtop:1px .</span>tensionswidth=\"2lazyloadnovemberused in height=\"cript\">\n </<tr><td height:2/productcountry include footer\" <!-- title\"></jquery.</form>\n(g.\u0000d=\u0013)(g9\u0001i+\u0014)hrvatskiitalianoromC\"nD\u0003tC<rkC'eX'X1X/Y\u0008tambiC)nnoticiasmensajespersonasderechosnacionalserviciocontactousuariosprogramagobiernoempresasanunciosvalenciacolombiadespuC)sdeportesproyectoproductopC:bliconosotroshistoriapresentemillonesmediantepreguntaanteriorrecursosproblemasantiagonuestrosopiniC3nimprimirmientrasamC)ricavendedorsociedadrespectorealizarregistropalabrasinterC)sentoncesespecialmiembrosrealidadcC3rdobazaragozapC!ginassocialesbloqueargestiC3nalquilersistemascienciascompletoversiC3ncompletaestudiospC:blicaobjetivoalicantebuscadorcantidadentradasaccionesarchivossuperiormayorC-aalemaniafunciC3nC:ltimoshaciendoaquellosediciC3nfernandoambientefacebooknuestrasclientesprocesosbastantepresentareportarcongresopublicarcomerciocontratojC3venesdistritotC)cnicaconjuntoenergC-atrabajarasturiasrecienteutilizarboletC-nsalvadorcorrectatrabajosprimerosnegocioslibertaddetallespantallaprC3ximoalmerC-aanimalesquiC)nescorazC3nsecciC3nbuscandoopcionesexteriorconceptotodavC-agalerC-aescribirmedicinalicenciaconsultaaspectoscrC-ticadC3laresjusticiadeberC!nperC-odonecesitamantenerpequeC1orecibidatribunaltenerifecanciC3ncanariasdescargadiversosmallorcarequieretC)cnicodeberC-aviviendafinanzasadelantefuncionaconsejosdifC-cilciudadesantiguasavanzadatC)rminounidadessC!nchezcampaC1asoftonicrevistascontienesectoresmomentosfacultadcrC)ditodiversassupuestofactoressegundospequeC1aP3P>P4P0P5Q\u0001P;P8P5Q\u0001Q\u0002Q\u000CP1Q\u000BP;P>P1Q\u000BQ\u0002Q\u000CQ\rQ\u0002P>P<P\u0015Q\u0001P;P8Q\u0002P>P3P>P<P5P=Q\u000FP2Q\u0001P5Q\u0005Q\rQ\u0002P>P9P4P0P6P5P1Q\u000BP;P8P3P>P4Q\u0003P4P5P=Q\u000CQ\rQ\u0002P>Q\u0002P1Q\u000BP;P0Q\u0001P5P1Q\u000FP>P4P8P=Q\u0001P5P1P5P=P0P4P>Q\u0001P0P9Q\u0002Q\u0004P>Q\u0002P>P=P5P3P>Q\u0001P2P>P8Q\u0001P2P>P9P8P3Q\u0000Q\u000BQ\u0002P>P6P5P2Q\u0001P5P<Q\u0001P2P>Q\u000EP;P8Q\u0008Q\u000CQ\rQ\u0002P8Q\u0005P?P>P:P0P4P=P5P9P4P>P<P0P<P8Q\u0000P0P;P8P1P>Q\u0002P5P<Q\u0003Q\u0005P>Q\u0002Q\u000FP4P2Q\u0003Q\u0005Q\u0001P5Q\u0002P8P;Q\u000EP4P8P4P5P;P>P<P8Q\u0000P5Q\u0002P5P1Q\u000FQ\u0001P2P>P5P2P8P4P5Q\u0007P5P3P>Q\rQ\u0002P8P<Q\u0001Q\u0007P5Q\u0002Q\u0002P5P<Q\u000BQ\u0006P5P=Q\u000BQ\u0001Q\u0002P0P;P2P5P4Q\u000CQ\u0002P5P<P5P2P>P4Q\u000BQ\u0002P5P1P5P2Q\u000BQ\u0008P5P=P0P<P8Q\u0002P8P?P0Q\u0002P>P<Q\u0003P?Q\u0000P0P2P;P8Q\u0006P0P>P4P=P0P3P>P4Q\u000BP7P=P0Q\u000EP<P>P3Q\u0003P4Q\u0000Q\u0003P3P2Q\u0001P5P9P8P4P5Q\u0002P:P8P=P>P>P4P=P>P4P5P;P0P4P5P;P5Q\u0001Q\u0000P>P:P8Q\u000EP=Q\u000FP2P5Q\u0001Q\u000CP\u0015Q\u0001Q\u0002Q\u000CQ\u0000P0P7P0P=P0Q\u0008P8X'Y\u0004Y\u0004Y\u0007X'Y\u0004X*Y\nX,Y\u0005Y\nX9X.X'X5X)X'Y\u0004X0Y\nX9Y\u0004Y\nY\u0007X,X/Y\nX/X'Y\u0004X\"Y\u0006X'Y\u0004X1X/X*X-Y\u0003Y\u0005X5Y\u0001X-X)Y\u0003X'Y\u0006X*X'Y\u0004Y\u0004Y\nY\nY\u0003Y\u0008Y\u0006X4X(Y\u0003X)Y\u0001Y\nY\u0007X'X(Y\u0006X'X*X-Y\u0008X'X!X#Y\u0003X+X1X.Y\u0004X'Y\u0004X'Y\u0004X-X(X/Y\u0004Y\nY\u0004X/X1Y\u0008X3X'X6X:X7X*Y\u0003Y\u0008Y\u0006Y\u0007Y\u0006X'Y\u0003X3X'X-X)Y\u0006X'X/Y\nX'Y\u0004X7X(X9Y\u0004Y\nY\u0003X4Y\u0003X1X'Y\nY\u0005Y\u0003Y\u0006Y\u0005Y\u0006Y\u0007X'X4X1Y\u0003X)X1X&Y\nX3Y\u0006X4Y\nX7Y\u0005X'X0X'X'Y\u0004Y\u0001Y\u0006X4X(X'X(X*X9X(X1X1X-Y\u0005X)Y\u0003X'Y\u0001X)Y\nY\u0002Y\u0008Y\u0004Y\u0005X1Y\u0003X2Y\u0003Y\u0004Y\u0005X)X#X-Y\u0005X/Y\u0002Y\u0004X(Y\nY\nX9Y\u0006Y\nX5Y\u0008X1X)X7X1Y\nY\u0002X4X'X1Y\u0003X,Y\u0008X'Y\u0004X#X.X1Y\tY\u0005X9Y\u0006X'X'X(X-X+X9X1Y\u0008X6X(X4Y\u0003Y\u0004Y\u0005X3X,Y\u0004X(Y\u0006X'Y\u0006X.X'Y\u0004X/Y\u0003X*X'X(Y\u0003Y\u0004Y\nX)X(X/Y\u0008Y\u0006X#Y\nX6X'Y\nY\u0008X,X/Y\u0001X1Y\nY\u0002Y\u0003X*X(X*X#Y\u0001X6Y\u0004Y\u0005X7X(X.X'Y\u0003X+X1X(X'X1Y\u0003X'Y\u0001X6Y\u0004X'X-Y\u0004Y\tY\u0006Y\u0001X3Y\u0007X#Y\nX'Y\u0005X1X/Y\u0008X/X#Y\u0006Y\u0007X'X/Y\nY\u0006X'X'Y\u0004X'Y\u0006Y\u0005X9X1X6X*X9Y\u0004Y\u0005X/X'X.Y\u0004Y\u0005Y\u0005Y\u0003Y\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0004\u0000\u0004\u0000\u0004\u0000\u0004\u0000\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0007\u0006\u0005\u0004\u0003\u0002\u0001\u0000\u0008\t\n\u000B\u000C\r\u000E\u000F\u000F\u000E\r\u000C\u000B\n\t\u0008\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0017\u0016\u0015\u0014\u0013\u0012\u0011\u0010\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F\u001F\u001E\u001D\u001C\u001B\u001A\u0019\u0018\u007F\u007F\u007F\u007F\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u007F\u007F\u007F\u007F\u0001\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0003\u0000\u0000\u0000\u007F\u007F\u0000\u0001\u0000\u0000\u0000\u0001\u0000\u0000\u007F\u007F\u0000\u0001\u0000\u0000\u0000\u0008\u0000\u0008\u0000\u0008\u0000\u0008\u0000\u0000\u0000\u0001\u0000\u0002\u0000\u0003\u0000\u0004\u0000\u0005\u0000\u0006\u0000\u0007resourcescountriesquestionsequipmentcommunityavailablehighlightDTD/xhtmlmarketingknowledgesomethingcontainerdirectionsubscribeadvertisecharacter\" value=\"</select>Australia\" class=\"situationauthorityfollowingprimarilyoperationchallengedevelopedanonymousfunction functionscompaniesstructureagreement\" title=\"potentialeducationargumentssecondarycopyrightlanguagesexclusivecondition</form>\r\nstatementattentionBiography} else {\nsolutionswhen the Analyticstemplatesdangeroussatellitedocumentspublisherimportantprototypeinfluence»</effectivegenerallytransformbeautifultransportorganizedpublishedprominentuntil thethumbnailNational .focus();over the migrationannouncedfooter\">\nexceptionless thanexpensiveformationframeworkterritoryndicationcurrentlyclassNamecriticismtraditionelsewhereAlexanderappointedmaterialsbroadcastmentionedaffiliate</option>treatmentdifferent/default.Presidentonclick=\"biographyotherwisepermanentFranC'aisHollywoodexpansionstandards</style>\nreductionDecember preferredCambridgeopponentsBusiness confusion>\n<title>presentedexplaineddoes not worldwideinterfacepositionsnewspaper</table>\nmountainslike the essentialfinancialselectionaction=\"/abandonedEducationparseInt(stabilityunable to\nrelationsNote thatefficientperformedtwo yearsSince thethereforewrapper\">alternateincreasedBattle ofperceivedtrying tonecessaryportrayedelectionsElizabethdiscoveryinsurances.length;legendaryGeographycandidatecorporatesometimesservices.inheritedCommunityreligiouslocationsCommitteebuildingsthe worldno longerbeginningreferencecannot befrequencytypicallyinto the relative;recordingpresidentinitiallytechniquethe otherit can beexistenceunderlinethis timetelephoneitemscopepracticesadvantage);return For otherprovidingdemocracyboth the extensivesufferingsupportedcomputers functionpracticalsaid thatit may beEnglish\nsuspectedmargin: 0spiritual\n\nmicrosoftgraduallydiscussedhe becameexecutivejquery.jshouseholdconfirmedpurchasedliterallydestroyedup to thevariationremainingit is notcenturiesJapanese among thecompletedalgorithminterestsrebellionundefinedencourageresizableinvolvingsensitiveuniversalprovision(althoughfeaturingconducted), which continued-header\">February numerous overflow:componentfragmentsexcellentcolspan=\"technicalnear the Advanced source ofexpressedHong Kong Facebookmultiple mechanismelevationoffensive\n\tsponsoreddocument.or "there arethose whomovementsprocessesdifficultsubmittedrecommendconvincedpromoting\" width=\".replace(classicalcoalitionhis firstdecisionsassistantindicatedevolution-wrapper\"enough toalong thedelivered-->\r\n\n\r\n
Archbishop class=\"nobeing usedapproachesprivilegesnoscript>\nresults inmay be theEaster eggmechanismsreasonablePopulationCollectionselected\">noscript>\r/index.phparrival of-jssdk'));managed toincompletecasualtiescompletionChristiansSeptember arithmeticproceduresmight haveProductionit appearsPhilosophyfriendshipleading togiving thetoward theguaranteeddocumentedcolor:#000video gamecommissionreflectingchange theassociatedsans-serifonkeypress; padding:He was theunderlyingtypically , and the srcElementsuccessivesince the should be networkingaccountinguse of thelower thanshows that\n\t\tcomplaintscontinuousquantitiesastronomerhe did notdue to itsapplied toan averageefforts tothe futureattempt toTherefore,capabilityRepublicanwas formedElectronickilometerschallengespublishingthe formerindigenousdirectionssubsidiaryconspiracydetails ofand in theaffordablesubstancesreason forconventionitemtype=\"absolutelysupposedlyremained aattractivetravellingseparatelyfocuses onelementaryapplicablefound thatstylesheetmanuscriptstands for no-repeat(sometimesCommercialin Americaundertakenquarter ofan examplepersonallyindex.php?\npercentagebest-knowncreating a\" dir=\"ltrLieutenant\n
is said tostructuralreferendummost oftena separate->\n
soundtracksearchFormtend to beinput id=\"opening ofrestrictedadopted byaddressingtheologianmethods ofvariant ofChristian very largeautomotiveby far therange frompursuit offollow thebrought toin Englandagree thataccused ofcomes frompreventingdiv style=his or hertremendousfreedom ofconcerning0 1em 1em;Basketball/style.cssan earliereven after/\" title=\".com/indextaking thepittsburghcontent\">\rimplementedcan be seenthere was ademonstratecontainer\">connectionsthe Britishwas written!important;px; margin-followed byability to complicatedduring the immigrationalso called

\n

acquisitioncalled the persecutiondesignation{font-size:appeared ininvestigateexperiencedmost likelywidely useddiscussionspresence of (document.extensivelyIt has beenit does notcontrary toinhabitantsimprovementscholarshipconsumptioninstructionfor exampleone or morepx; paddingthe currenta series ofare usuallyrole in thepreviously derivativesevidence ofexperiencescolorschemestated thatcertificate
\n selected=\"high schoolresponse tocomfortableadoption ofthree yearsthe countryin Februaryso that thepeople who provided by\nhaving been\r\n\r\n< "The compilationhe had beenproduced byphilosopherconstructedintended toamong othercompared toto say thatEngineeringa differentreferred todifferencesbelief thatphotographsidentifyingHistory of Republic ofnecessarilyprobabilitytechnicallyleaving thespectacularfraction ofelectricityhead of therestaurantspartnershipemphasis onmost recentshare with saying thatfilled withdesigned toit is often\">as follows:merged withthrough thecommercial pointed outopportunityview of therequirementdivision ofprogramminghe receivedsetInterval\">maintainingChristopherMuch of thewritings of\" height=\"2size of theversion of mixture of between theExamples ofeducationalcompetitive onsubmit=\"director ofdistinctive/DTD XHTML relating totendency toprovince ofwhich woulddespite thescientific legislature.innerHTML allegationsAgriculturewas used inapproach tointelligentyears later,sans-serifdeterminingPerformanceappearances, which is foundationsabbreviatedhigher thans from the individual composed ofsupposed toclaims thatattributionfont-size:1elements ofHistorical his brotherat the timeanniversarygoverned byrelated to ultimately innovationsit is stillcan only bedefinitionstoGMTStringA number ofimg class=\"Eventually,was changedoccurred inneighboringdistinguishwhen he wasintroducingterrestrialMany of theargues thatan Americanconquest ofwidespread were killedscreen and In order toexpected todescendantsare locatedlegislativegenerations backgroundmost peopleyears afterthere is nothe highestfrequently they do notargued thatshowed thatpredominanttheologicalby the timeconsideringshort-livedcan be usedvery littleone of the had alreadyinterpretedcommunicatefeatures ofgovernment,entered the\" height=\"3Independentpopulationslarge-scale. Although used in thedestructionpossibilitystarting intwo or moreexpressionssubordinatelarger thanhistory and\r\nContinentaleliminatingwill not bepractice ofin front ofsite of theensure thatto create amississippipotentiallyoutstandingbetter thanwhat is nowsituated inmeta name=\"TraditionalsuggestionsTranslationthe form ofatmosphericideologicalenterprisescalculatingeast of theremnants ofpluginspage/index.php?remained intransformedHe was alsowas alreadystatisticalin favor ofMinistry ofmovement offormulationis required\nquestion ofwas electedto become abecause of some peopleinspired bysuccessful a time whenmore commonamongst thean officialwidth:100%;technology,was adoptedto keep thesettlementslive birthsindex.html\"Connecticutassigned to&times;account foralign=rightthe companyalways beenreturned toinvolvementBecause thethis period\" name=\"q\" confined toa result ofvalue=\"\" />is actuallyEnvironment\r\n\r\nConversely,>\n
this is notthe presentif they areand finallya matter of\r\n\t
\r\n\r\nfaster thanmajority ofafter whichcomparativeto maintainimprove theawarded theer\" class=\"frameborderrestorationin the sameanalysis oftheir firstDuring the continentalsequence offunction(){font-size: work on the\nadopted theproperty ofdirected byeffectivelywas broughtchildren ofProgramminglonger thanmanuscriptswar againstby means ofand most ofsimilar to proprietaryoriginatingprestigiousgrammaticalexperience.to make theIt was alsois found incompetitorsin the U.S.replace thebrought thecalculationfall of thethe generalpracticallyin honor ofreleased inresidentialand some ofking of thereaction to1st Earl ofculture andprincipally\n they can beback to thesome of hisexposure toare similarform of theaddFavoritecitizenshippart in thepeople within practiceto continue&minus;approved by the first allowed theand for thefunctioningplaying thesolution toheight=\"0\" in his bookmore than afollows thecreated thepresence in nationalistthe idea ofa characterwere forced class=\"btndays of thefeatured inshowing theinterest inin place ofturn of thethe head ofLord of thepoliticallyhas its ownEducationalapproval ofsome of theeach other,behavior ofand becauseand anotherappeared onrecorded inblack"may includethe world'scan lead torefers to aborder=\"0\" government winning theresulted in while the Washington,the subjectcity in the>\r\n\t\treflect theto completebecame moreradioactiverejected bywithout anyhis father,which couldcopy of theto indicatea politicalaccounts ofconstitutesworked wither
of his lifeaccompaniedclientWidthprevent theLegislativedifferentlytogether inhas severalfor anothertext of thefounded thee with the is used forchanged theusually theplace wherewhereas the> \nHowever thelead to the\tThe currentthe site ofsubstantialexperience,in the Westthey shouldslovenD\rinacomentariosuniversidadcondicionesactividadesexperienciatecnologC-aproducciC3npuntuaciC3naplicaciC3ncontraseC1acategorC-asregistrarseprofesionaltratamientoregC-stratesecretarC-aprincipalesprotecciC3nimportantesimportanciaposibilidadinteresantecrecimientonecesidadessuscribirseasociaciC3ndisponiblesevaluaciC3nestudiantesresponsableresoluciC3nguadalajararegistradosoportunidadcomercialesfotografC-aautoridadesingenierC-atelevisiC3ncompetenciaoperacionesestablecidosimplementeactualmentenavegaciC3nconformidadline-height:font-family:\" : \"http://applicationslink\" href=\"specifically//\n/index.html\"window.open( !important;application/independence//www.googleorganizationautocompleterequirementsconservative
most notably/>notification'undefined')Furthermore,believe thatinnerHTML = prior to thedramaticallyreferring tonegotiationsheadquartersSouth AfricaunsuccessfulPennsylvaniaAs a result,\npadding-top:experimentalgetAttributeinstructionstechnologiespart of the =function(){subscriptionl.dtd\">\r\nEnglish (US)appendChild(transmissions. However, intelligence\" tabindex=\"float:right;Commonwealthranging fromin which theat least onereproductionencyclopedia;font-size:1jurisdictionat that time\">compensationchampionshipmedia=\"all\" violation ofreference toreturn true;Strict//EN\" transactionsinterventionverificationInformation difficultiesChampionshipcapabilities}\n\nChristianityfor example,Professionalrestrictionssuggest thatwas released(such as theremoveClass(unemploymentthe Americanstructure of/index.html published inspan class=\"\">\n\nf (document.border: 1px {font-size:1treatment of0\" height=\"1modificationIndependencedivided intogreater thanachievementsestablishingJavaScript\" neverthelesssignificanceBroadcasting> container\">\nsuch as the influence ofa particularsrc='http://navigation\" half of the substantial  advantage ofdiscovery offundamental metropolitanthe opposite\" xml:lang=\"deliberatelyalign=centerevolution ofpreservationimprovementsbeginning inJesus ChristPublicationsdisagreementtext-align:r, function()similaritiesbody>is currentlyalphabeticalis sometimestype=\"image/many of the flow:hidden;available indescribe theexistence ofall over thethe Internet\t

One possible drawback is that multiple threads that need dictionary data may be blocked (only * once in each classworld). To avoid this, it is enough to call {@link #getData()} proactively. */ public final class Dictionary { private static volatile ByteBuffer data; private static class DataLoader { static final boolean OK; static { boolean ok = true; try { Class.forName(Dictionary.class.getPackage().getName() + ".DictionaryData"); } catch (Throwable ex) { ok = false; } OK = ok; } } public static void setData(ByteBuffer data) { if (!data.isDirect() || !data.isReadOnly()) { throw new BrotliRuntimeException("data must be a direct read-only byte buffer"); } Dictionary.data = data; } public static ByteBuffer getData() { if (data != null) { return data; } if (!DataLoader.OK) { throw new BrotliRuntimeException("brotli dictionary is not set"); } /* Might have been set when {@link DictionaryData} was loaded.*/ return data; } } plantuml-1.2018.13+ds/src/net/sourceforge/plantuml/brotli/DictionaryData.java000066400000000000000000004447211340005343600270700ustar00rootroot00000000000000/* Copyright 2015 Google Inc. All Rights Reserved. Distributed under MIT license. See file LICENSE for detail or copy at https://opensource.org/licenses/MIT */ package net.sourceforge.plantuml.brotli; import java.nio.ByteBuffer; /** * Built-in dictionary data. * * When this class is loaded, it sets its data: {@link Dictionary#setData(ByteBuffer)}. */ final class DictionaryData { private static final String DATA0 = "timedownlifeleftbackcodedatashowonlysitecityopenjustlikefreeworktextyearoverbodyloveformbookplaylivelinehelphomesidemorewordlongthemviewfindpagedaysfullheadtermeachareafromtruemarkableuponhighdatelandnewsevennextcasebothpostusedmadehandherewhatnameLinkblogsizebaseheldmakemainuser') +holdendswithNewsreadweresigntakehavegameseencallpathwellplusmenufilmpartjointhislistgoodneedwayswestjobsmindalsologorichuseslastteamarmyfoodkingwilleastwardbestfirePageknowaway.pngmovethanloadgiveselfnotemuchfeedmanyrockicononcelookhidediedHomerulehostajaxinfoclublawslesshalfsomesuchzone100%onescareTimeracebluefourweekfacehopegavehardlostwhenparkkeptpassshiproomHTMLplanTypedonesavekeepflaglinksoldfivetookratetownjumpthusdarkcardfilefearstaykillthatfallautoever.comtalkshopvotedeepmoderestturnbornbandfellroseurl(skinrolecomeactsagesmeetgold.jpgitemvaryfeltthensenddropViewcopy1.0\"stopelseliestourpack.gifpastcss?graymean>rideshotlatesaidroadvar feeljohnrickportfast'UA-deadpoorbilltypeU.S.woodmust2px;Inforankwidewantwalllead[0];paulwavesure$('#waitmassarmsgoesgainlangpaid!-- lockunitrootwalkfirmwifexml\"songtest20pxkindrowstoolfontmailsafestarmapscorerainflowbabyspansays4px;6px;artsfootrealwikiheatsteptriporg/lakeweaktoldFormcastfansbankveryrunsjulytask1px;goalgrewslowedgeid=\"sets5px;.js?40pxif (soonseatnonetubezerosentreedfactintogiftharm18pxcamehillboldzoomvoideasyringfillpeakinitcost3px;jacktagsbitsrolleditknewnearironfreddiskwentsoilputs/js/holyT22:ISBNT20:adamsees