// File: /workspace/github_cpp_makefile_star2_O3/tomfunkhouser[P]gaps/pkgs/R3Shapes/R3PointSet.cpp
// Function: gaps::R3PointSet::RemovePoint(int)
void R3PointSet::
RemovePoint(int index)
{
  // Remove point at given index
  if (index < (int) positions.size()) positions.erase(positions.begin()+index);
  if (index < (int) normals.size()) normals.erase(normals.begin()+index);
  if (index < (int) colors.size()) colors.erase(colors.begin()+index);
  if (index < (int) timestamps.size()) timestamps.erase(timestamps.begin()+index);
  if (index < (int) category_identifiers.size()) category_identifiers.erase(category_identifiers.begin()+index);
  if (index < (int) instance_identifiers.size()) instance_identifiers.erase(instance_identifiers.begin()+index);
  if (index < (int) weights.size()) values.erase(weights.begin()+index);
  if (index < (int) values.size()) values.erase(values.begin()+index);
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movl %esi, %ebp
movq %rdi, %rbx
movq (%rdi), %rax
movq 0x8(%rdi), %rcx
subq %rax, %rcx
shrq $0x3, %rcx
imull $0xaaaaaaab, %ecx, %ecx # imm = 0xAAAAAAAB
movslq %esi, %r14
cmpl %esi, %ecx
jle 0x7eca0
leaq (%r14,%r14,2), %rcx
leaq (%rax,%rcx,8), %rsi
movq %rbx, %rdi
callq 0x80fde
movq 0x18(%rbx), %rax
movq 0x20(%rbx), %rcx
subq %rax, %rcx
shrq $0x3, %rcx
imull $0xaaaaaaab, %ecx, %ecx # imm = 0xAAAAAAAB
cmpl %ebp, %ecx
jle 0x7ecca
leaq 0x18(%rbx), %rdi
leaq (%r14,%r14,2), %rcx
leaq (%rax,%rcx,8), %rsi
callq 0x81052
movq 0x78(%rbx), %rax
movq 0x80(%rbx), %rcx
subq %rax, %rcx
shrq $0x3, %rcx
imull $0xaaaaaaab, %ecx, %ecx # imm = 0xAAAAAAAB
cmpl %ebp, %ecx
jle 0x7ecf7
leaq 0x78(%rbx), %rdi
leaq (%r14,%r14,2), %rcx
leaq (%rax,%rcx,8), %rsi
callq 0x810c6
movq 0x90(%rbx), %rax
movq 0x98(%rbx), %rdx
movq %rdx, %rcx
subq %rax, %rcx
shrq $0x3, %rcx
cmpl %ebp, %ecx
jle 0x7ed3e
leaq (%rax,%r14,8), %rsi
addq $0x8, %rsi
cmpq %rdx, %rsi
je 0x7ed33
leaq (%rax,%r14,8), %rdi
subq %rsi, %rdx
callq 0x22fc0
movq 0x98(%rbx), %rdx
addq $-0x8, %rdx
movq %rdx, 0x98(%rbx)
movq 0xa8(%rbx), %rax
movq 0xb0(%rbx), %rdx
movq %rdx, %rcx
subq %rax, %rcx
shrq $0x2, %rcx
cmpl %ebp, %ecx
jle 0x7ed85
leaq (%rax,%r14,4), %rsi
addq $0x4, %rsi
cmpq %rdx, %rsi
je 0x7ed7a
leaq (%rax,%r14,4), %rdi
subq %rsi, %rdx
callq 0x22fc0
movq 0xb0(%rbx), %rdx
addq $-0x4, %rdx
movq %rdx, 0xb0(%rbx)
movq 0xc0(%rbx), %rax
movq 0xc8(%rbx), %rdx
movq %rdx, %rcx
subq %rax, %rcx
shrq $0x2, %rcx
cmpl %ebp, %ecx
jle 0x7edcc
leaq (%rax,%r14,4), %rsi
addq $0x4, %rsi
cmpq %rdx, %rsi
je 0x7edc1
leaq (%rax,%r14,4), %rdi
subq %rsi, %rdx
callq 0x22fc0
movq 0xc8(%rbx), %rdx
addq $-0x4, %rdx
movq %rdx, 0xc8(%rbx)
movq 0xd8(%rbx), %rax
movq 0xe0(%rbx), %rcx
subq %rax, %rcx
shrq $0x3, %rcx
cmpl %ebp, %ecx
jle 0x7ee19
leaq (%rax,%r14,8), %rsi
addq $0x8, %rsi
movq 0xf8(%rbx), %rdx
cmpq %rdx, %rsi
je 0x7ee0c
leaq (%rax,%r14,8), %rdi
subq %rsi, %rdx
callq 0x22fc0
movq 0xf8(%rbx), %rdx
addq $-0x8, %rdx
movq %rdx, 0xf8(%rbx)
jmp 0x7ee20
movq 0xf8(%rbx), %rdx
movq 0xf0(%rbx), %rax
movq %rdx, %rcx
subq %rax, %rcx
shrq $0x3, %rcx
cmpl %ebp, %ecx
jle 0x7ee60
leaq (%rax,%r14,8), %rsi
addq $0x8, %rsi
cmpq %rdx, %rsi
je 0x7ee55
leaq (%rax,%r14,8), %rdi
subq %rsi, %rdx
callq 0x22fc0
movq 0xf8(%rbx), %rdx
addq $-0x8, %rdx
movq %rdx, 0xf8(%rbx)
popq %rbx
popq %r14
popq %rbp
retq
nop