Category Archives: 3D Charting

Phil 7/14/15

7:30 – 5:00

  • Write up a description of Dong’s skillset.
  • Call Arhouse.
  • Continue on ComponentNetwork
    • Chain -> History
    • ‘Relevance to Search’ dialog for keywords, etc.
    • Accumulate search terms in some way. Possibly weight them?
    • Rebuilding the network construction so that it’s handled by its own class. The basics are working, need to add connections based on pending requests next. Overall it’s better than using addEnvironment, which really wasn’t all that appropriate. It should be easy to add in textures too. Fingers crossed.
  • Looks like my workstation should be in next week
  • Pluto flyby!

Phil 7.13.15

8:00 – 2:30 SR

  • Everything is running smoothly on the production machine. Clearly a disaster of epic proportions is looming.
  • Setting up a VizTool account on the laptop so that Dong can set up and verify his code base.
  • Either work on attaching the database or building the recursive chain class. Leaning towards the class.
    • One root at a time? Yes, but allow the root to be reset to any point in the network.

Phil 7.10.15

8:00 – 4:00 SR

  1. Sent Steve F. some background on Visibility and equipment requests
  2. Continue working on integrating dynamic data provider into charts. First pass is done, but kind of crappy. I think there needs to be a recursive way of adding the data. Something like an tree object that recurses through itself to create the data provider which is then rendered. Ponder it over the weekend.
  3. Need to make a self-contained example of the flexbox/ng-repeat interaction.
  4. Redid my tuition reimbursement because Novetta changed it after I submitted it before.
  5. Uploaded the current app and it still works!

Phil 7.9.15

8:00 – 5:00 SR

  • Asked Dong to make sure that all projects were standalone, and didn”t depend on Maven, etc. that was outside the repository.
  • Fixed one of the names in the PM database list
  • Trustworthiness –
    • Need to change the queries around so that the kind of data is listed (Url:, Keyword:, etc. This can be parsed as needed by the submitting methods – done
    • Get the initial interactions beween the webGL and the search. Set up the dataFormat to handle the types.
      • Working on the resetDataProvider and resetDataFormat.
    • Add new search buttons (Google News, Fact Checked, Alchemy News, etc) – done
    • Start adding in the DB
      • In the link table, types can be ‘relation’ ‘supports’ ‘disputes’, others(?)
  • Meeting with Brad and Steve
    • Send software and hardware configuration to Steve Filippi (scfilip)

Phil 7.8.15

8:00 – 4:30 SR

  • Re-ordered my dev machine
  • Had a good discussion with Lenny about future directions for the project and how to effectively use my time while we wait for someone to come on board.
  • Working on figuring out how to put an absolute div in a dynamic page. Ok, here’s how I got it to work.
  • This is the style
    <style>
        .wrapperPanel {
            display: flex;
            justify-content: center;
            background-color: lightgray;
            margin-bottom: 10px;
            margin-top: 10px;
            width: 98vw;
            height: 30vh;
        }
    
        .mainWindow {
            position: relative;
            width: 100%;
            height: 100%;
            background: linear-gradient(darkblue, black);
        }
    
        .glDiv {
            position: absolute;
            width: 100%;
            height: 100%;
        }
    </style>
  • and this is the HTML
    <div class="wrapperPanel">
        <div class="mainWindow">
            <ng-network-webgl class="glDiv" config-obj="glc.configObj"></ng-network-webgl>
        </div>
    </div>
  • The mainWindow css is needed so that the div with the ‘glDiv’ css has something to reference to. Otherwise the overlays won’t work.
  • Lunch thoughts
    • Confirm/Dispute
    • URL chain (or, just chain)
  • Handoff meeting from Brad to Steve tomorrow at 2:00 or later.
  • Added webgl network canvas using inheritance for the controller. Aside from forgetting the stylesheet, everything worked as hoped for!

Phil 7.6.15

8:00 – 4:00

  • Told Lenny about Dong’s resignation.
  • More dynamic chart data.
  • Set the meta information about the kind of data into each item so that the directive knows what to draw.
  • In the main app, set it so that the data was returned in one object and meta information about the query was returned in the other
  • Connect the data provider to the initial pull
  • Add additional defined strings for query types to support different flavors of queries (DRILL_DOWN, etc)
  • Add defined strings for response type (NEW, REPLACE, APPEND, UPDATE, etc) UPDATE should keep current data and only add new.
  • Need to be able to add and delete (lines? lighting?) between nodes without adjusting the behavior of the nodes. It’s be nice to be able to do this as part of the mouseover
    • AddRelation(target) – creates an entry in a hashmap
    • DeleteRelation(target) – deletes the entry
    • CustomMouseoverBehavior(c:WglComponentBase){} – add to CanvasBase

Phil 7.2.15

7:30 – 4:30SR

  • Rain.
  • Updated the funding requests DB with a new support project
  • Working my way through Khan Academy inferential statistics
  • Workstation install set for Monday at 9:00 am
  • Added depth setting to charts
  • More dynamic chart data.
    • Had to add angular-sanitize and  ngSanitize to handle redering injected HTML
    • Got the rss data rendering in angular
    • For some reason, the ‘+’ symbol doesn’t travel well. It gets changed to a space on the way to the server. Re-rigged the server side code to combine queries.
    • Bundled up all the processing code in GoogleNewsRss.php.
    • In the main app, set it so that the data was returned in one object and meta information about the query was returned in the other
    • Connect the data provider to the initial pull
    • Add additional defined strings for query types to support different flavors of queries (DRILL_DOWN, etc)
    • Add defined strings for response type (NEW, REPLACE, APPEND, UPDATE, etc) UPDATE should keep current data and only add new.
    • Need to be able to add and delete (lines? lighting?) between nodes without adjusting the behavior of the nodes. It’s be nice to be able to do this as part of the mouseover
      • AddRelation(target) – creates an entry in a hashmap
      • DeleteRelation(target) – deletes the entry
      • CustomMouseoverBehavior(c:WglComponentBase){} – add to CanvasBase

Phil 6.25.15

7:30 – 4:30 SR

  • Deploying new webgl chart tests
  • Looks like we have a new version of Angular. Update today?
  • Prepare slides for Monday’s presentation
    • Need (Spreadsheets -> Cloud)
      • Much faster – near real time
      • Database/Query approach
      • Integration of multiple data sources (FACTS, PM actuals, planned vs. actuals, etc)
      • Visual reports, based on current data
    • History
    • Roles
      • Phil – Architecture, UX, browser and server development
      • Phil – DB, browser and server development
      • Testing – unfilled
      • Documentation – unfilled
      • Graphic assets – unfilled
    • Current Capabilities (screenshots)
      • Back-end DB and server code
      • FA
      • RA
      • RQ
      • Vis
      • Scripting
      • Auto Ingest
    • The Flex Problem (Google trends Flex/Actionscript/Angular/typescript)
    • Upgrade path
      • Separate, smaller, report-driven apps
      • FR
      • Charting
      • Scripting
      • RQ
      • FA query builder
      • FA other?
      • RA port
      • User manager
    • Upgrade Schedule (1.5 man-years to get back to stable, tested code with periodic updates)
      • Charts coming online
      • Scripting
      • Query Builder
      • RA port.

Phil 6.24.15

9:30 – 5:00 SR

  • For a break, I’m going to build a directive that pops up in response to a NovettaUtils.ATSMessenger event. Also going to look into using flex containers for the WebGl
  • Took a much-needed detour into handling resize events so more advanced CSS can be supported. . It works like this:
    • First, set up the callback. Not that it is attached to the window, not an element in the scope.
      window.addEventListener('resize', this.handleResizeEvent, false);
    • Then we have the event handler
      private handleResizeEvent(ev:Event):void{
          console.log(ev.type);
          var parent = this.getTopNode();
          if(parent){
              this.setAdjWidth(parent.clientWidth);
              this.setAdjHeight(parent.clientHeight);
              this.renderer.setSize(this.adjWidth, this.adjHeight);
              if(this.getUse3D()) {
                  var pcam:THREE.PerspectiveCamera = <THREE.PerspectiveCamera>(this.camera);
                  pcam.aspect = this.getAdjWidth() / this.getAdjHeight();
                  pcam.updateProjectionMatrix();
              }else{
                  var ocam:THREE.OrthographicCamera = <THREE.OrthographicCamera>(this.camera);
                  ocam.right = this.getAdjWidth();
                  ocam.top = this.getAdjHeight();
                  ocam.updateProjectionMatrix();
              }
          }
      }
    • How to center a absolute div
    • Ok, got the basics of the pop-up directive working in a dynamic viewport!

Phil 6.23.15

8:00 – 4:00 SR

  • Looks like demo for charts and VISIBILITY review will be 9:30 on Monday
  • New texture map works. Need to re-jigger base classes to generalize
  • Clicking on a selected anchor node in the network does not de-select it. Fixed
  • Lenny’s going to send locations of labs over, the task will be to draw the budget at the lat/long specified by the zip code.
  • Added imageLoc to item data so that associated images can be mapped to data.
  • Had a discussion with Dond about how to structure the data so that the pulls from the DB are consistent and requiring minimum translation. No good answer though.
  • In a bit late tomorrow. Dentist.

Phil 6.19.15

8:00 – 3:30 SR

  • Biked into work today 🙂
  • Set up the JAVA_HOME on the debug server and verified that keytool works for Ronda.
  • Integrate format. Maybe use the stage size to scale?
  • Set shapes from format
  • Set label from format? (if not null?)
  • Set data object.
  • See if the shapeDict can be pulled out, since it’s the same as the canvas modelArray?

TodaysWork

Phil 6.18.15

8:00 – 5:30 SR

  • DB backups
  • Work on fake data provider and the chart creator.
  • Need to add ‘change password’ to FR
  • Migrating the creation of the NetworkChart from the controller to WebGl3dCharts. Surprisingly slow going.