|
@@ -152,7 +152,7 @@ void la_PopulateSelectDataPrimitives(MSelectData* sd, tnsMeshObject* mo, tnsCame
|
|
glClearColor(0,0,0,0); glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
|
|
glClearColor(0,0,0,0); glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
|
|
glEnable(GL_DEPTH_TEST);
|
|
glEnable(GL_DEPTH_TEST);
|
|
tnsPushMatrix(); tnsApplyObjectMatrix(mo);
|
|
tnsPushMatrix(); tnsApplyObjectMatrix(mo);
|
|
- if(Knife){ glPointSize(10); }
|
|
|
|
|
|
+ if(Knife){ glPointSize(5); }
|
|
if(DoEdges || Knife){ tnsDrawBatch(mo->Batch, "edges_select",0,0); }
|
|
if(DoEdges || Knife){ tnsDrawBatch(mo->Batch, "edges_select",0,0); }
|
|
if(DoVerts || Knife){ tnsDrawBatch(mo->Batch, "verts_select",0,0); }
|
|
if(DoVerts || Knife){ tnsDrawBatch(mo->Batch, "verts_select",0,0); }
|
|
if(Knife){ glPointSize(1); }
|
|
if(Knife){ glPointSize(1); }
|
|
@@ -1073,8 +1073,9 @@ tnsMFace* la_MakeFacesFrom2Verts(tnsMeshObject* mo, tnsMVert* mv1, tnsMVert* mv2
|
|
if(!oe1||!oe2) return 0;
|
|
if(!oe1||!oe2) return 0;
|
|
ov1=tnsMMeshEdgeAnotherVert(oe1,mv1); ov2=tnsMMeshEdgeAnotherVert(oe2,mv2);
|
|
ov1=tnsMMeshEdgeAnotherVert(oe1,mv1); ov2=tnsMMeshEdgeAnotherVert(oe2,mv2);
|
|
ov1->flags|=TNS_MESH_FLAG_SELECTED;ov2->flags|=TNS_MESH_FLAG_SELECTED; mv1->flags&=(~TNS_MESH_FLAG_SELECTED);mv2->flags&=(~TNS_MESH_FLAG_SELECTED);
|
|
ov1->flags|=TNS_MESH_FLAG_SELECTED;ov2->flags|=TNS_MESH_FLAG_SELECTED; mv1->flags&=(~TNS_MESH_FLAG_SELECTED);mv2->flags&=(~TNS_MESH_FLAG_SELECTED);
|
|
- laListHandle vl={0}; lstAppendPointer(&vl,ov1); lstAppendPointer(&vl,mv1); lstAppendPointer(&vl,mv2); lstAppendPointer(&vl,ov2);
|
|
|
|
- tnsMFace* f=tnsMMeshMakeFaceN(mo, 4, &vl, 0); tnsMMeshEnsureSelectionFromVerts(mo);
|
|
|
|
|
|
+ laListHandle vl={0}; int vcount=3;
|
|
|
|
+ lstAppendPointer(&vl,ov1); lstAppendPointer(&vl,mv1); lstAppendPointer(&vl,mv2); if(ov2!=ov1){ lstAppendPointer(&vl,ov2); vcount=4; }
|
|
|
|
+ tnsMFace* f=tnsMMeshMakeFaceN(mo, vcount, &vl, 0); tnsMMeshEnsureSelectionFromVerts(mo);
|
|
while(lstPopPointer(&vl)); return f;
|
|
while(lstPopPointer(&vl)); return f;
|
|
}
|
|
}
|
|
int la_IsEndingVert(tnsMVert* mv){
|
|
int la_IsEndingVert(tnsMVert* mv){
|
|
@@ -1323,8 +1324,10 @@ void la_KnifeUpdateToolBatch(MSelectExtra* se,tnsObject* o){
|
|
if(count){
|
|
if(count){
|
|
c=tnsCreateCommand(batch, "edges", count+1, 3, GL_LINE_STRIP, 0, 0);
|
|
c=tnsCreateCommand(batch, "edges", count+1, 3, GL_LINE_STRIP, 0, 0);
|
|
tnsCommandUseUniformColor(c,laAccentColor(LA_BT_NORMAL));
|
|
tnsCommandUseUniformColor(c,laAccentColor(LA_BT_NORMAL));
|
|
|
|
+ tnsCommandUseWidth(c, 2);
|
|
c=tnsCreateCommand(batch, "points", count+1, 3, GL_POINTS, 0, 0);
|
|
c=tnsCreateCommand(batch, "points", count+1, 3, GL_POINTS, 0, 0);
|
|
tnsCommandUseUniformColor(c,laAccentColor(LA_BT_NORMAL));
|
|
tnsCommandUseUniformColor(c,laAccentColor(LA_BT_NORMAL));
|
|
|
|
+ tnsCommandUseWidth(c, 6);
|
|
}
|
|
}
|
|
se->root->ExtraBatch=batch;
|
|
se->root->ExtraBatch=batch;
|
|
free(points);
|
|
free(points);
|