ati3d

ati3d

About Me

Connect

LOCATION
Not Specified
WEBSITE

Houdini Skills

Availability

Not Specified

Recent Forum Posts

Houdini on Kubuntu 15.10 Nov. 23, 2015, 6:44 a.m.

I also submitted this problem as a bug just now. Maybe they will look into it again if more people having this.

edge loop selection tool July 21, 2014, 6:56 p.m.

Hi there! I just finished recently my edge loop selection tool. It could find and group the edgeloops on the geometry. Like when you select an edge an press SHIFT+L.

Here is the vimeo demonstration: https://vimeo.com/100791252 [vimeo.com]

HDK GA_Edge question July 9, 2013, 3:41 p.m.

Oh, this example code is really usefull. As my next step I also wanted to get an easier way to find out which primitives sharing that edge.

Now it is looking like this, and works perfect.

GA_OffsetArray fpPrims;
GA_OffsetArray spPrims;
GA_OffsetArray intersectedPrims;
GA_OffsetArray::const_iterator prim_it;

gdp->getPrimitivesReferencingPoint(fpPrims,*_firstPoint);
gdp->getPrimitivesReferencingPoint(spPrims,*_secondPoint);

fpPrims.sortedIntersection(spPrims,intersectedPrims);

//std::cout<<“Neighbour primitives:”<<std::endl;

GA_Edge edge(*_firstPoint,*_secondPoint);
int validEdge = 0;

if (intersectedPrims.entries() == 2)
{
for (prim_it = intersectedPrims.begin(); !prim_it.atEnd(); ++prim_it)
{
std::cout<<“PrimNum : ”<<gdp->primitiveIndex(*prim_it)<<std::endl;
if (gdp->getPrimitiveList().get(gdp->primitiveIndex(*prim_it))->hasEdge(edge) == 1)
{
validEdge++;
}
}
}



I was also looking into how to get the neighbourpoints of any of my selected point. It works fine, however I am getting the warning that GU_Detail::buildRingZeroPoints(…) are deprected, and so far I couldn't find anything to replace it.



UT_PtrArray<UT_PtrArray<GEO_Point*>*> ringzero;
UT_IntArray ringvalence;

gdp->buildRingZeroPoints(ringzero, &ringvalence);

UT_Array<int> neighbourPointsArray;

int entries;
entries = ringzero->entries();

for (int i = 0; i<entries; i++)
{
if (gdp->pointIndex(*_secondPoint) != (*ringzero)->getNum())
{
neighbourPointsArray.append((*ringzero)->getNum());
std::cout<<“NeighbourPoint: ”<<(*ringzero)->getNum()<<std::endl;
}
}