コード例 #1
0
ファイル: BoidState.java プロジェクト: 244xiao/blender-java
 public void read(ByteBuffer buffer) {
   next = DNATools.link(DNATools.ptr(buffer), BoidState.class); // get ptr
   prev = DNATools.link(DNATools.ptr(buffer), BoidState.class); // get ptr
   rules.read(buffer);
   conditions.read(buffer);
   actions.read(buffer);
   buffer.get(name);
   id = buffer.getInt();
   flag = buffer.getInt();
   ruleset_type = buffer.getInt();
   rule_fuzziness = buffer.getFloat();
   signal_id = buffer.getInt();
   channels = buffer.getInt();
   volume = buffer.getFloat();
   falloff = buffer.getFloat();
 }
コード例 #2
0
ファイル: Brush.java プロジェクト: 244xiao/blender-java
 public void read(ByteBuffer buffer) {
   super.read(buffer);
   clone.read(buffer);
   curve = DNATools.link(DNATools.ptr(buffer), CurveMapping.class); // get ptr
   mtex.read(buffer);
   icon_imbuf = DNATools.ptr(buffer); // get ptr
   preview = DNATools.link(DNATools.ptr(buffer), PreviewImage.class); // get ptr
   buffer.get(icon_filepath);
   normal_weight = buffer.getFloat();
   blend = buffer.getShort();
   ob_mode = buffer.getShort();
   size = buffer.getInt();
   flag = buffer.getInt();
   jitter = buffer.getFloat();
   spacing = buffer.getInt();
   smooth_stroke_radius = buffer.getInt();
   smooth_stroke_factor = buffer.getFloat();
   rate = buffer.getFloat();
   for (int i = 0; i < rgb.length; i++) rgb[i] = buffer.getFloat();
   alpha = buffer.getFloat();
   sculpt_plane = buffer.getInt();
   plane_offset = buffer.getFloat();
   sculpt_tool = buffer.get();
   vertexpaint_tool = buffer.get();
   imagepaint_tool = buffer.get();
   buffer.get(pad3);
   autosmooth_factor = buffer.getFloat();
   crease_pinch_factor = buffer.getFloat();
   plane_trim = buffer.getFloat();
   height = buffer.getFloat();
   texture_sample_bias = buffer.getFloat();
   texture_overlay_alpha = buffer.getInt();
   unprojected_radius = buffer.getFloat();
   for (int i = 0; i < add_col.length; i++) add_col[i] = buffer.getFloat();
   for (int i = 0; i < sub_col.length; i++) sub_col[i] = buffer.getFloat();
 }
コード例 #3
0
ファイル: SequenceHandler.java プロジェクト: rnugraha/dazzle
  private void dnaCommand(HttpServletRequest req, DazzleResponse resp, DazzleDataSource dds)
      throws IOException, DataSourceException, ServletException, DazzleException {

    DazzleReferenceSource drs = (DazzleReferenceSource) dds;

    List segments = DazzleTools.getSegments(dds, req, resp);
    if (segments.size() == 0) {
      throw new DazzleException(
          DASStatus.STATUS_BAD_COMMAND_ARGUMENTS, "No segments specified for dna command");
    }

    // Fetch and validate the requests.

    Map segmentResults = new HashMap();
    for (Iterator i = segments.iterator(); i.hasNext(); ) {
      Segment seg = (Segment) i.next();

      try {
        Sequence seq = drs.getSequence(seg.getReference());
        if (seq.getAlphabet() != DNATools.getDNA()) {
          throw new DazzleException(
              DASStatus.STATUS_SERVER_ERROR,
              "Sequence " + seg.toString() + " is not in the DNA alphabet");
        }
        if (seg.isBounded()) {
          if (seg.getMin() < 1 || seg.getMax() > seq.length()) {
            throw new DazzleException(
                DASStatus.STATUS_BAD_COORDS,
                "Segment " + seg.toString() + " doesn't fit sequence of length " + seq.length());
          }
        }
        segmentResults.put(seg, seq);
      } catch (NoSuchElementException ex) {
        throw new DazzleException(DASStatus.STATUS_BAD_REFERENCE, ex);
      } catch (DataSourceException ex) {
        throw new DazzleException(DASStatus.STATUS_SERVER_ERROR, ex);
      }
    }

    //
    // Looks okay -- generate the response document
    //

    XMLWriter xw = resp.startDasXML("DASDNA", "dasdna.dtd");

    try {
      xw.openTag("DASDNA");
      for (Iterator i = segmentResults.entrySet().iterator(); i.hasNext(); ) {
        Map.Entry me = (Map.Entry) i.next();
        Segment seg = (Segment) me.getKey();
        Sequence seq = (Sequence) me.getValue();

        xw.openTag("SEQUENCE");
        xw.attribute("id", seg.getReference());
        xw.attribute("version", drs.getLandmarkVersion(seg.getReference()));
        if (seg.isBounded()) {
          xw.attribute("start", "" + seg.getStart());
          xw.attribute("stop", "" + seg.getStop());
        } else {
          xw.attribute("start", "" + 1);
          xw.attribute("stop", "" + seq.length());
        }

        SymbolList syms = seq;
        if (seg.isBounded()) {
          syms = syms.subList(seg.getMin(), seg.getMax());
        }
        if (seg.isInverted()) {
          syms = DNATools.reverseComplement(syms);
        }

        xw.openTag("DNA");
        xw.attribute("length", "" + syms.length());

        for (int pos = 1; pos <= syms.length(); pos += 60) {
          int maxPos = Math.min(syms.length(), pos + 59);
          xw.println(syms.subStr(pos, maxPos));
        }

        xw.closeTag("DNA");
        xw.closeTag("SEQUENCE");
      }
      xw.closeTag("DASDNA");
      xw.close();
    } catch (Exception ex) {
      throw new DazzleException(ex, "Error writing DNA document");
    }
  }