Bojian Wu | 3 Jun 11:40 2016
Picon

Suggestions about recent works on plate mode NURBS

Hi everyone,

    Recently, I try to design a tool for generating plate mode NURBS, which is named as 'brep_surf' cause it is used to create a single surface in plate mode. As we discussed previously, I use the openNURBS built-in variables to store the thickness value, and it works well.

    By the way, I change the 'export' and 'import' routines a little bit in brep primitive in order to export and import the thickness value in a more proper way. Besides, I also try to modify the output information about brep when using 'l' command in MGED to show details about current model.

    I have submitted a patch(https://sourceforge.net/p/brlcad/patches/445/) here and more details will be illustrated on my blog. Please check it and give me some suggestions, so I can refine it and make it better suited for our requirement. :) Thanks.


Best,
Bojian
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@...
https://lists.sourceforge.net/lists/listinfo/brlcad-devel
Rakshika Bagavathy | 2 Jun 08:26 2016
Picon

Conversion files for mesh healing

Hello,

I have completed and completed the mesh conversion files for BRL-CAD and OpenSCAD. These include functions that will be required while converting the native structure to the doubly-connected edge list. The user-interface is left to be done. I don't have an idea on how to go about the TCL command binding for mged. Would like some information on that. Also on the UI for OpenSCAD.

Regards,
Rakshika.
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@...
https://lists.sourceforge.net/lists/listinfo/brlcad-devel
Picon

Re: Dynamic Linker in OS X 10.11.4

On Wed, Jun 1, 2016 at 5:04 PM, Param Hanji <param.catchchaos-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
Hello,

I successfully got BRL-CAD working, with all its applications and in the X11 window system too. As I mentioned earlier, even the dynamic linking is fixed.

OpenCL mode fails with compilation errors. The errors tell me that vector data types like double3 are not supported. But, running clinfo confirms that OpenCL version 1.2 is used currently by my GPU. I was under the impression that OpenCL 1.2 inherently supports vector types. Is this assumption false? On another test program, I got this error.

<program source>:6:11: error: variable has incomplete type 'double2' (aka 'struct __Unsupported_Type__Do_not_use_double2_on_this_device')

  double2 x;

          ^

/System/Library/Frameworks/OpenCL.framework/Versions/A/lib/clang/3.2/include/cl_kernel.h:160:16: note: forward declaration of 'struct __Unsupported_Type__Do_not_use_double2_on_this_device'

typedef struct __Unsupported_Type__Do_not_use_double2_on_this_device      double2;


Double precision floating point support is optional under OpenCL. You should check (e.g. with clinfo) if your hardware/driver supports double precision.

You can force OpenCL librt to use single precision (float), that must be hardware supported as part of the basic OpenCL specification, by enabling the #define CLT_SINGLE_PRECISION e.g. -DCLT_SINGLE_PRECISION=1.
 
OpenCL docs state that version 1.2 provides vector data type support even if the underlying GPU doesn't support them. It says so here


I'll post this issue on the Apple OpenCL forum as well to see what can be done.

On a personal note, I understand that this is getting in the way of my work for BRL-CAD. How long do you recon it's okay to take time off for setting up my laptop? I really wanted to finish up all of this during the bonding period, but I couldn't.

Well it was interesting to try to get OpenCL librt to work on MacOS X.

But if it is getting in your way from coding just use Linux with the AMD APP SDK. That is known to work and you have prior experience with that platform as well.
 
P.S. I've been working on PART on my old laptop and have finished its acceleration. I'll submit a patch very soon, preferably tonight.

Nice! I should have applied your ETO patch to SVN this week.

Regards,

---
PhD in Computer Engineering (Computer Graphics)
Instituto Superior Técnico/University of Lisbon, Portugal
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@...
https://lists.sourceforge.net/lists/listinfo/brlcad-devel
Bojian Wu | 31 May 17:11 2016
Picon

Drafting a demo for generating plate mode NURBS

Hi Sean,
Since we have discussed how to integrate the *thickness* value into brep primitives by using openNURBS built-in application specified variable, and it is operable for both whole brep model and each face. So I will follow this to continue my work.
Then, this week, I am going to drafting a rough demo for generating plate mode brep primitives, which I want to name as 'brep_surf' because it will only contain one single face, and its purpose is for generating both regular brep and plate mode brep by passing different parameters to this demo. For example, we can generate one surface by just using 'brep_surf', and make plate mode brep by using 'brep_surf -H 2' where '-H 2' means assign thickness to the model with its value equaling to 2mm.
I want to say, is there a similar demo for this purpose? Maybe 'brep_surf' is a little bit duplicated with 'brep_cobb' or 'brep_cube, but I think they all have different targets, so we can do it, right? Because this demo is closely related to brep import and export, so any suggestions or attentions are welcome. Thanks.
Besides, in MGED, we can use 'l' command to output details of each solid/region, and if I want to use 'l' to show details about brep primitive like thickness value etc, which piece of code should I need to work on?

Best,Bojian
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@...
https://lists.sourceforge.net/lists/listinfo/brlcad-devel
Param Hanji | 30 May 16:56 2016
Picon

Dynamic Linker in OS X 10.11.4

Hello all,

My laptop was overheating a little. and was also having some issues with driver support for the GPU. So, I decided to change it. However, I'm having some trouble getting BRL-CAD working.

Compilation and installation using 'make' happen as expected. All the tests pass too. However when I run an application (like mged or rt), an error is produced. Here's an example - 

dyld: Library not loaded: <at> rpath/libtclcad.20.dylib

  Referenced from: /usr/brlcad/dev-7.25.0/bin/mged

  Reason: image not found

Trace/BPT trap: 5


I have verified that all the .dylib files (or appropriate links) exist in the lib folder. I guess the dynamic linker isn't working for some reason. This is a new OS and a new development environment for me, and I hence any guidance would be welcome.


I really don't want this to hinder my GSoC work for too long. This is the main reason why I'm asking on this list. I want to find a way around as soon as possible. I'll try to figure what's wrong too.


If all else fails, I'll dual boot the laptop with Ubuntu and continue work.


Thank you for your time.


Best,


Param

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@...
https://lists.sourceforge.net/lists/listinfo/brlcad-devel
Gauravjeet Singh | 24 May 20:34 2016
Picon
Gravatar

Regarding repository permission

Hello!

I don't have permission to OGV repository on Github.
As per my first milestone, I am working on Code Cleanup, and the first
step in it is to clean the github repo, by merging reqiured branches
and PRs and also removing irrelevant branches and PRs.

I was wondering if I can get permission to OGV repo, so that I can
start my work.

--

-- 
Fear is wisdom in the face of danger. It’s nothing to be ashamed of

Gauravjeet Singh
http://github.com/gauravjeetsingh

------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-devel
Rakshika Bagavathy | 24 May 19:00 2016
Picon

Portable module conversion design

Daniel,

So i'm just outlining everything here so that we're on the same page. 

We have a class polygonal_mesh which is the intermediate mesh structure. It has vertex and face attributes in an indexed format. I don't see how we can just use the virtual methods' implementation to access the native structure, each time we need something, if we need to accommodate OpenSCAD's non-indexed format.

Now, say we look at:

BRL-CAD's side of operation:

First the user enters the mged command. Now this as you said will be a TCL command which will link to the mesh conversion file specific to BRL-CAD. We now store the elements (vertex and face info) from the rt_bot_internal type object in the intermediate type - polygonal_mesh. 


OpenSCAD side:

We invoke the heal function from the GUI. This links up to the mesh conversion file for OpenSCAD. Implementing the virtual methods here is not trivial, since the PolySet class is not an indexed structure. So we cache the data in the PolySet class in the intermediate polygonal_mesh class. The data will include the vertices and faces information. 


Now, for each of the heal functions, we pass the polygonal_mesh object and first create a doubly-connected edge list. This will aid us in all the healing operations. Now, do we create and delete the DCEL for each of the heal functionalities (gaps, overlaps, T-joints, holes)? Or will it just be done once? Can you tell me where exactly we draw the line between the two?

Is what i have outlined fine?
I'm lacking clarity on the matter, so I want to perfectly understand the process before i code it out.

Regards,
Rakshika.
------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@...
https://lists.sourceforge.net/lists/listinfo/brlcad-devel
Bojian Wu | 24 May 18:20 2016
Picon

Designing data structure for B-rep primitives

Hi all, I want to seek some suggestions for designing the basic data structure for B-rep primitives. 

If we want to integrate 'plate mode' into NURBS, the first step is about how to store these data, like thickness value array etc implemented in BoT primitives, into the internal NURBS data structure. Presently, the already defined data structure is *rt_brep_internal* (about line 298 in geom.h), which includes a magic number and brep pointer defined with openNURBS built-in class. Similar to BoT (*rt_bot_internal*), I want to add some extra information like BoT mode(unsigned char mode), thickness value array(fastf_t *thickness), face mode flag(struct bu_bitv *face_mode) into *rt_brep_internal* as follows:

/* modes for brep */
#define RT_BREP_SURFACE        1
#define RT_BREP_SOLID          2
#define RT_BREP_PLATE          3
#define RT_BREP_PLATE_NOCOS    4

/* flags for bot_flags: reusing similar definitions for BoT */

/* ID_BREP */
struct rt_brep_internal
{
uint32_t magic;
//////////////////////////////////////////////////
/* additional information I want to add here! */
unsigned char mode;
unsigned char bot_flags;
fastf_t *thickness;
struct bu_bitv *face_mode;
//////////////////////////////////////////////////
ON_Brep *brep;
};

Besides, another data structure related to BoT is *bot_specific*(about line 57 in bot.h), similarly, there is a *brep_specific* (about line 32 in brep_local.h), what I think is to map all the extra information defined in the *rt_brep_internal* directly into this category specific data structure. Is this acceptable?

What I want to know is that, if my solution is reasonable? Do I miss something important or need to make some changes to my basic design? It would be much appreciated if someone could give any suggestions? Cause this is the very first step to dive into my project further, so I want to make sure it works well at the very beginning. Thank you very much. :)


Best,
Bojian
------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@...
https://lists.sourceforge.net/lists/listinfo/brlcad-devel
Param Hanji | 24 May 12:40 2016
Picon

Re: Understanding Data Structures

I was trying to compare and contrast the existing ANSI C and OpenCL code. I noticed that these are starkly different. The ANSI C has extensive documentation (as it has probably been the for a long time). The OpenCL code I'm finding rather difficult to understand in its current state.

Specifically, boolweave() and boolfinal() are called in function shootray(). There is an implementation of shootray() in the OpenCL kernel code as well. However the 2 versions have no similarities. I can't seem to figure out if and how weaving and evaluation happen currently in OpenCL. My guess is that complex objects can't be rendered in OpenCL mode as of now. Please help me gain a better understanding.

You had also mentioned that it was a good idea to generate the segments using OpenCL and then process the same using the existing ANSI C functions. If I understood right, this would mean converting output from clt_frame() into a suitable form to call the generic do_run() function, instead of the OpenCL specific clt_run(). I'll start working on this.

Best,

Param

On Mon, May 9, 2016 at 8:00 PM Vasco Alexandre da Silva Costa <vasco.costa <at> gmail.com> wrote:
On Mon, May 9, 2016 at 10:28 AM, Param Hanji <param.catchchaos-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:

There is a survey article about these techniques you could look into as well:

Jansen, Frederik W. "Depth-order point classification techniques for CSG display algorithms." ACM Transactions on Graphics (TOG) 10.1 (1991): 40-70.
 
I've also requested access to this paper. I'll have a look if and when I'm granted access. Thank you.

I had a local copy of the paper here. I'm sending it to you attached to this e-mail.

--
Vasco Alexandre da Silva Costa
PhD in Computer Engineering (Computer Graphics)
Instituto Superior Técnico/University of Lisbon, Portugal
------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@...
https://lists.sourceforge.net/lists/listinfo/brlcad-devel
Christopher Sean Morrison | 19 May 23:40 2016
Picon
Gravatar

Re: Logo discussion



On May 19, 2016, at 10:54 AM, Oleksandr Dubenko <odybenko-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:

I looked through different 3D models of logo and found this version from GCI 2014 which has good shape and form. I compared it to my vector version and they match. So I propose using this shape.

How did you do the comparison?   At a glance, I would have guessed the pin sizes were slightly different.  Our pixdiff and pixcmp utilities will tell exactly how close they are.
 
Next thing I want to discuss is color of the left link. As Sean previously mentioned he inclined to use mid-tone gray ( #888 ). My proposal is to use more dark gray tone ( #212121 ) because I think it looks better and closer to black and red version that is mostly used. For dark background I suggest using white circle. I made a little comparison of logo on different backgrounds for you to checkout.

I don't find it necessary to strictly define the color for the left-side link other than it use grayscale color(s) between 0 and 255. ;)

That said and at risk of getting into a bikeshed discussion, I'm not at all a fan of the circle as part of the logo; feels like a design element crutch without other context.  A circle can be fine as an integrated design element on the page, like the current landing page, but shouldn't be simply to accommodate color choices.

Of the comparisons  you provided, they are all essentially equivalent when you take the color of the left link out of the equation, except for the two in the bottom right.  I don't think the link holes should be empty -- pins belong in there or it wouldn't functionally work.  Fill them with white pins and I think the middle-right-on-black and top-left-on-white work best.

The main landing page should still use a rendered version instead of flat-shaded as the lighting subtleties tie in strongly with our application domain.  The flattened versions will work well elsewhere throughout the site.

Cheers!
Sean

------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@...
https://lists.sourceforge.net/lists/listinfo/brlcad-devel
Hitesh Sofat | 19 May 22:27 2016
Picon
Gravatar

New Web theme

Hello

I need new WordPress theme source code. Please tell me where it is?

------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@...
https://lists.sourceforge.net/lists/listinfo/brlcad-devel

Gmane